Commit Graph

148 Commits

Author SHA1 Message Date
github-actions[bot] df13387255 Version Packages (#216)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@stripe/link-cli@0.10.1
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>
@stripe/link-cli@0.10.0
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) @stripe/link-cli@0.9.0 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
nvp-stripe 4434cd11c6 docs(create-payment-credential): make Link Pay Token flow autonomous-safe (#195)
* docs(create-payment-credential): make Link Pay Token flow autonomous-safe

The Link Pay Token section covered token retrieval and injection but
omitted the pieces that make the flow complete unattended, so an agent
following it would fail detection/injection and retry in a loop:

- the "I am an AI agent" checkbox that gates the hidden
  input[name="link_pay_token"] (and must be set via the native setter,
  not .click());
- that the checkbox and input live in the Stripe accessory iframe;
- the ~5-minute token TTL (retrieve just before injecting);
- the exchange/lookup success signal to wait on;
- a bounded stop/fallback instead of endless retries.

Changes (docs only, merchant-agnostic; no internal flags/accounts):
- Step 2 detection now keys on the checkbox, not only the initially
  absent token input.
- Step 5 Link Pay Token: fresh context -> reveal via checkbox -> retrieve
  token -> inject -> wait for go-signal -> pay, plus "stop, don't loop".

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

* docs(create-payment-credential): gate LPT flow on the input, not the component

Review feedback (raubrey): lean on the AiAgentPaymentSteering block as the
anchor and instruction source instead of duplicating mechanics, and account
for surfaces that render the block but disable the inline token input.

The same component renders on Payment Elements (input on by default) and on
hosted Checkout (input gated by checkout_hosted_link_pay_token_enabled, off
today). So "found the component" cannot mean "do the token flow": on hosted
Checkout the checkbox and instructions show with no input, which would loop.

- Step 2 detection now confirms the token path by checking whether
  input[name="link_pay_token"] appears after ticking the checkbox; if it does
  not, follow the block's instructions and fall back to card.
- Step 5 delegates the flow narrative to the block's rendered steps, reveals
  the checkbox with a DOM-level click() (matching the e2e deploy spec) instead
  of a native-setter dance, and keeps the bounded stop/fallback so an
  input-disabled surface never loops.

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

* update skill.md

* LPT to card fallback can reuse the same spend request

* udpate payment element and browser session detail

* drop references to elements

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 10:17:58 -04:00
nvp-stripe 9799b0ff7e Re-add Link Pay Token flow to create-payment-credential skill (#188) 2026-07-10 12:48:53 -04:00
jlau-stripe 7dadfcd1ef patch version (#187) @stripe/link-cli@0.8.3 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>
@stripe/link-cli@0.8.2
2026-06-26 14:17:06 -04:00
sylwang-stripe 1a0bf3099d update readme (#178) 2026-06-26 12:02:56 -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>
@stripe/link-cli@0.8.1
2026-06-24 08:42:45 -07:00
drapeau-stripe dd0e30329b chore: add changeset for report command docs (#170)
#150 added the report-outcomes docs to the README (which ships in the npm
package) and the create-payment-credential skill, but merged without a
changeset. Add a patch changeset so the next release publishes the updated
README.


Committed-By-Agent: claude

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 08:34:41 -07:00
drapeau-stripe f56968cd2c [Link Agent Wallet] Add reporting instructions to SKILL.md and README (#150)
* docs: add report command instructions to SKILL.md and README

- SKILL.md: reporting instructions (when to report, tag reference, examples)
- README.md: report outcomes section with usage examples

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

* docs: make outcome reporting opt-in and add tag guidance

Address review feedback on the reporting docs:
- Soften the "REQUIRED" / "always report" language to encouraged-but-optional
  in both SKILL.md and README, so reporting is suggested rather than mandated
  for now.
- Add guidance to prefer the most specific tag and use `other` only when none
  apply (describing details in --freeform-context).

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

* docs: reword report rationale to "improve checkout for agents"

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

* docs: align SKILL.md report rationale wording with README

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-23 15:29:37 -07:00
github-actions[bot] d65a4ce616 Version Packages (#168)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@stripe/link-cli@0.8.0
2026-06-23 15:11:26 -04:00
sylwang7 5827e02f6c v0.8.0 changeset (#167) 2026-06-23 13:11:21 -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
nvp-stripe 1bbc891209 Revert "Add Link Pay Token flow to create-payment-credential skill (#163)" (#166)
This reverts commit f13696a29b.
2026-06-22 17:06:58 -04:00
nvp-stripe f13696a29b Add Link Pay Token flow to create-payment-credential skill (#163)
* update SKILL.md

* update skill.md
2026-06-22 16:47:40 -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>
@stripe/link-cli@0.7.4
2026-06-15 12:37:31 -04:00
jlau-stripe c2fc0659ee v0.7.4 changeset (#159) 2026-06-15 12:00:14 -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>
@stripe/link-cli@0.7.3
2026-06-10 14:51:20 -04:00
kreese-stripe f83d5cc332 v0.7.3 changeset (#151) 2026-06-10 14:42:14 -04:00
kreese-stripe a87ff0cbe4 feat: update SR max amount (#147)
* update SR max amount

* fmt

* trigger ci

* trigger ci
2026-06-10 12:31:40 -04:00
drapeau-stripe 5521060e19 sdk: add report resource for agent observability (#114)
Add IReportResource interface and ReportResource implementation that
POSTs to /agent_observations. Supports reporting purchase outcomes
(success, blocked, abandoned) with domain, tags, and context.
2026-06-10 09:02:28 -07:00
kreese-stripe e09d499424 Update documented limits (#146) 2026-06-10 10:30:59 -04:00
github-actions[bot] a34aaf9f1c Version Packages (#145)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@stripe/link-cli@0.7.2
2026-06-08 14:06:09 -04:00
kreese-stripe a30d70bef0 feat: changeset for v0.7.2 (#144)
* pnpm changeset for v0.7.2

* update changeset

* rm old changeset
2026-06-08 14:02:57 -04:00
kreese-stripe 06cc528175 fix: Align on minimum node version requirements across configs (#142)
* Align on minimum node version requirements across configs

* fmt
2026-06-08 13:03:09 -04:00
kreese-stripe 51b0251cd7 feat: Upload SEAs to release artifacts as well (#143)
* Upload SEAs to release artifacts as well

* Updates to SEA Build config

* Fixes to get the SEA builds working

* SEA-specific build config

* revert unneeded changes
2026-06-08 12:50:25 -04:00