Commit Graph

128 Commits

Author SHA1 Message Date
github-actions[bot] d540389e03 Version Packages (#247)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-13 14:36:54 -04:00
sylwang-stripe 9dc8c650e8 Handle spend request requires_action state across create/retrieve/approval flows (#248) 2026-08-13 14:16:21 -04:00
kreese-stripe 1675a70648 feat: Handle duplicate spend request rate limit response (#246)
* Handle duplicate spend request rate limit response

* Some formatting improvements

* CI

* Changest
2026-08-13 12:47:35 -04:00
github-actions[bot] 69c2089b00 Version Packages (#241)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 09:59:30 -04:00
Selina Feng c3e70e1225 Expose financial insights CLI commands and skill file (#240) 2026-08-12 09:57:19 -04:00
kreese-stripe e9a8f69b74 security: Sanitize output of decodeStripeChallenge call (#244)
* security improvements for mpp commands

* rm comment

* Add changeset
2026-08-12 08:39:23 -04:00
nvp-stripe 9103637d63 Bind Link Pay Tokens to the checkout merchant (#243)
* lpt merchant binding

* readme updates

* approve link_pay_token
2026-08-11 15:22:10 -04:00
Steve Kaliski 9612d71d97 update npm deps (#238)
* update npm deps

* fix ci
2026-08-10 14:04:29 -04:00
Selina Feng 5ab1f96ca3 Update table styling for balances and sources commands (#228)
* update table styling for balances and sources commands

* test

* fix: rename Account name column to Source name for consistency

Committed-By-Agent: claude
2026-08-07 13:37:08 -04:00
jlau-stripe b3493d202b fix: prevent [object Object] in API error messages across all resources (#234)
- Handle nested `{ error: { message } }` error shape in auth resources
  (both CLI and SDK implementations) by replacing the cast-only
  `err?.error` interpolation with `extractOAuthErrorMessage`, which
  does a runtime typeof check before descending into the object
- Fix `switch (err.error)` in `pollDeviceAuth` to switch on
  `extractOAuthErrorCode(err)` so polling continues correctly when a
  non-string error arrives (object would never match a string case)
- Fix `error_description` truthy guard to a nullish check so an empty
  string from the server is preserved rather than falling back to the
  error code
- Replace inline cast-only error extraction in payment-methods,
  shipping-address, user-info, and web-bot-auth resources with
  `extractErrorMessage` from base.ts, which already handles both
  string and nested-object error shapes
- Replace `String(err)` in `useAsyncAction` with `JSON.stringify(err)`
  so thrown plain objects produce readable output instead of
  [object Object]
- Add tests covering all of the above


Committed-By-Agent: claude

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-07 10:11:42 -04:00
dknudsen-stripe b3b37731ee feat: add auth upgrade command to widen access to a superset (#229)
Committed-By-Agent: claude
2026-08-06 12:39:11 -07:00
sylwang-stripe f89efad09e open verification URL in browser on spend request step-up failure (#227) 2026-08-06 10:27:40 -04:00
kreese-stripe 06587fa405 Surface card_brand and card_last4 on spend-request retrieve (#225)
The link-api PR (mint#2412595, LINK_AI_WALLET-365) added top-level
`card_brand` and `card_last4` to the RetrieveSpendRequest response so
integrators can identify a card for debugging without expanding the full
`card` object via `include=card`.

Add both fields to the SDK `SpendRequest` type and display them in the
interactive `retrieve` view when the full card is not expanded. The SDK
already passed these through to `--format json` output via its
pass-through cast; this closes the typing and interactive-display gap.

Docs (README, SKILL.md, CLAUDE.md) updated to match.


Committed-By-Agent: claude

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-04 16:55:00 -04:00
kreese-stripe a20a948aec fix: Add metadata to SpendRequest type + add some test cases (#222)
* Add  to type + add some test cases

* fmt
2026-07-31 09:58:24 -04:00
github-actions[bot] e0bf195daf Version Packages (#220)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-27 16:48:12 -04:00
kreese-stripe 1c2fd6e603 feat: Support metadata in spend-request create command (#219)
* Support metadata in spend-request create command

* Changeset
2026-07-27 16:44:41 -04:00
dknudsen-stripe b87f7d5a9d feat: persist and display oauth scope + auth details (#217)
Committed-By-Agent: claude
2026-07-24 13:43:59 -07:00
github-actions[bot] df13387255 Version Packages (#216)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-23 10:02:43 -04:00
kreese-stripe b097a579e0 fix: Improve security posture of mpp pay command + skillfile (#215)
* Improve security posture of mpp pay command + skillfile

* rn addition

* commit changeset
2026-07-23 09:58:49 -04:00
sylwang-stripe f64d2a1c45 add activity_url and transaction_id to SpendRequest (#214)
* add transaction_id and activity_url to SpendRequest

* scope to only finalized succeeded state

* fix formatting
2026-07-22 10:43:25 -04:00
bensandler-stripe 45d2839fe8 Auto-install skill files on npm install (#212)
Add a postinstall script that copies the SKILL.md into
~/.claude/skills/ and ~/.codex/skills/ so the skill is
available globally without being inside the repo. Updated
prepack to bundle the skills directory into dist/.


Committed-By-Agent: claude

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-07-21 12:42:40 -04:00
kreese-stripe 384b5b2d23 Update README and some test data references (#210)
* Replace testmode card number

* Update readme for testmode
2026-07-21 11:01:06 -04:00
sylwang-stripe 62ada5e6ac surface support_url on identity_verification_failed errors (#204)
Committed-By-Agent: claude
2026-07-21 10:05:20 -04:00
github-actions[bot] c2b63db596 Version Packages (#206)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-21 09:02:47 -04:00
Ryan Aubrey eaf0b32269 Improve mpp pay command (#202)
* Add MPP inspect command

* feat: rework mpp pay to handle full end-to-end 402 flow

mpp pay now probes the URL for a 402 challenge, parses the
WWW-Authenticate header to extract network_id and amount, creates a
spend request, yields the approval URL for the agent to present, and
completes payment with the SPT after approval.

- Remove mpp inspect (subsumed into pay flow)
- Add --context, --amount, --payment-method-id, --test flags
- Make --spend-request-id optional (backward compat)
- Agent mode yields approval URL immediately with _next hints
- Interactive mode handles full flow inline with polling
- Update SKILL.md and CLAUDE.md with new flow docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude

* fix: update mpp pay tests to handle generator array output

The mpp pay command now uses an async generator (`async *run`) which
wraps yielded values in an array in JSON output mode. Update three
tests to extract [0] from the output array.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude

* refactor: remove auto-generated context and step translation layer in mpp pay

Context is now required (min 100 chars) for the full MPP flow — agents must
provide a meaningful description. Also refactors onStep to emit typed Step
values directly, removing the string-to-enum mapping in the component.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude

* revert version bump in SKILL.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude

* fix: remove extra blank line to pass biome format check

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-07-20 16:49:09 -04:00
kreese-stripe 4b5f5be4b0 Harden the security of the serve command (#205)
* Harden the security of the serve command

* fmt

* fix version
2026-07-20 16:00:05 -04:00
Ryan Aubrey 4343245afc feat(mpp): support decoding session challenges alongside charge (#203)
* feat(mpp): support stripe session challenges alongside charge

Add intent="session" support to the MPP flow. Session challenges use an
open/grantedToken credential shape instead of the bare SPT payload.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude

* chore: retrigger CI

Committed-By-Agent: claude

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-07-20 12:43:00 -04:00
Selina Feng 573b541b19 Add support for the --source filter flag in the balances command (#199) 2026-07-16 14:33:56 -04:00
jlau-stripe 543ea36ce0 bump version to 0.9.0 (#201) 2026-07-16 12:55:54 -04:00
dknudsen-stripe 3cfe555915 feat(financial-insights): Add auth support for Financial Insights (#200)
* feat(financial-insights): add specifying authorization_details for financial insights resources
2026-07-16 08:47:58 -07:00
jlau-stripe ced5e47490 introduce approval_details to spend request creation (#198)
* introduce approval_details to spend request creation

* fix: biome formatting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Committed-By-Agent: claude

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-15 14:36:45 -04:00
Selina Feng e3629cc943 Add support for balances list CLI command (#194) 2026-07-15 12:21:29 -04:00
Selina Feng c7a4a3169b Add support for sources list CLI command (#193) 2026-07-15 11:37:39 -04:00
Selina Feng 83b7d41916 Extract shared HTTP transport layer into BaseResource (#192) 2026-07-15 10:29:54 -04:00
jlau-stripe 7dadfcd1ef patch version (#187) 2026-07-07 10:34:46 -04:00
jlau-stripe b3b25946c9 feat: surface verification_url in spend-request error output (#186)
* feat: surface verification_url in spend-request error output

When the API returns additional_verification_required, surface the
verification_url so users know where to complete stepup verification.
Also fixes interactive mode hanging on error by calling useApp().exit().

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Committed-By-Agent: claude

* fix: resolve biome lint and format errors in spend-request commands

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Committed-By-Agent: claude

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 10:20:27 -04:00
dmillerjunk-stripe 85084247f8 feat: Add Origin Filter to Transactions Endpoint, fix date filters (#185) 2026-06-30 11:27:54 -04:00
dmillerjunk-stripe c62c4fe22b feat: add transactions command (#175)
Committed-By-Agent: codex

Committed-By-Agent: codex

Co-authored-by: codex <noreply@openai.com>
2026-06-26 15:03:32 -04:00
github-actions[bot] 1ac34e94a9 Version Packages (#179)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 14:17:06 -04:00
sylwang-stripe 6f34471086 make payment method id optional for spend-request create (#172)
* make payment method id optional in schema for spend request create

* update payment details type to optional
2026-06-24 15:16:04 -04:00
github-actions[bot] acf04687f0 Version Packages (#173)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-24 08:42:45 -07:00
github-actions[bot] d65a4ce616 Version Packages (#168)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-23 15:11:26 -04:00
sylwang7 9386082c24 Add --include-history flag to surface all spend request history in spend request list (#165)
* add --include-history flag to spend request list

* conditionally display empty state message

* conditionally display text
2026-06-22 18:28:49 -04:00
sylwang7 bab4bb2b14 surface user eligibility in auth login and payment-methods list (#162)
* surface user eligibility in link cli

* fix biome formatting
2026-06-22 17:28:13 -04:00
drapeau-stripe d34ebd0053 [Link Agent Wallet] Add report command for agent observability (#149)
* feat: add report command for agent observability

Add `link-cli report` command for reporting purchase outcomes (success,
blocked, abandoned) after every agent purchase attempt.

- packages/cli/src/commands/report/schema.ts — Zod schema using SDK constants
- packages/cli/src/commands/report/index.tsx — Command definition
- packages/cli/src/utils/resource-factory.ts — Add createReportResource()
- packages/cli/src/cli.tsx — Register the command

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude

* fix: register report as a leaf command so CLI flags parse

The report command was registered with cli.command('', {...}) under a
router Cli. The empty-string subcommand name broke flag parsing
(`link-cli report --domain ...` treated --domain as a subcommand) and
produced the MCP tool name `report_`. Switch to the leaf-command form
used by demo/onboard — pass options/run directly to Cli.create — and
gate auth with requireAuthGuard inside run, matching spend-request.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Committed-By-Agent: claude

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-18 09:11:12 -07:00
sylwang7 fc9547dff2 Skip re-auth if a usable session already exists (#161)
* skip re-auth if a usable session already exists

* fix formatting

* update tests

* format tests

* clean up
2026-06-17 14:03:09 -04:00
github-actions[bot] f70d1fc375 Version Packages (#160)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-15 12:37:31 -04:00
nvp-stripe d5044ed5e8 Add link_pay_token field to SpendRequest type (#158)
* add field

* retrieve.tsx updat
2026-06-12 14:12:08 -04:00
kreese-stripe 78f0200ad7 --approve flag for calling delegated endpoint (#154) 2026-06-12 11:47:38 -04:00
github-actions[bot] 67da9a4522 Version Packages (#152)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-10 14:51:20 -04:00