Commit Graph

17 Commits

Author SHA1 Message Date
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
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
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
Dan Hill fe45662873 HTTP mcp (#121)
* feat: add serve command to expose MCP endpoint over HTTP

Committed-By-Agent: claude

* fix: cleanup and readme

* Potential fix for pull request finding 'CodeQL / Information exposure through a stack trace'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-05-28 15:45:53 -04:00
Dan Hill 0783323004 WIP: auth from env (#107)
* feat: add noRefresh option to createAccessTokenProvider

Committed-By-Agent: claude

* feat: add env-based token provider to ResourceFactory

Committed-By-Agent: claude

* feat: read LINK_ACCESS_TOKEN, LINK_REFRESH_TOKEN, LINK_NO_REFRESH from env

Committed-By-Agent: claude

* docs: add LINK_ACCESS_TOKEN, LINK_REFRESH_TOKEN, LINK_NO_REFRESH to env vars docs

Committed-By-Agent: claude

* fix: auth status shows LINK_ACCESS_TOKEN state instead of stored credentials

Committed-By-Agent: claude

* refactor: extract resolveAuthInfo helper, simplify auth status component

Committed-By-Agent: claude

* fix: formatting
2026-05-27 10:04:43 -04:00
kreese-stripe 27b3de936a feat: support polling straight from auth login (#78)
* support polling straight from auth login

* improvements

* sanitize output; make the polling into a shared helper and share across the auth login polling and the auth status polling
2026-05-21 13:24:55 -04:00
bendavis-stripe 0387b25ee6 fix: sanitize server-returned text to prevent ANSI escape injection (#85)
Server-returned string fields (merchant_name, line_items[].name,
billing_address.*, payment method brand/nickname) are now sanitized
before rendering in Ink components using strip-ansi plus control
character stripping. This prevents terminal escape sequence injection
that could spoof the approval UI.


Committed-By-Agent: claude

Co-authored-by: Ben Davis <ben@bencdavis.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 15:38:29 -04:00
Dan Hill 281b61c38b Specify credential file (#81)
* feat: allow specifying a credential file

* copy cleanup

* fix: make flag clearer
2026-05-08 12:33:40 -04:00
Ryan Aubrey 20c59dc6ab feat: shipping addresses (#79)
* Basic command, readme, skill file

* Skill update

* Better formatting

* Formatting

* Simplify skill file
2026-05-07 18:02:29 -04:00
kreese-stripe 6e1e9d2f66 (feat): Commands to cancel a spend request (#77)
* commands to cancel a spend request

* document

* nit: remove unneeded status text

* code improvements

* Fix typecheck

* Just go back to old promise approach
2026-05-07 14:43:35 -04:00
Dan Hill 8cc93e9906 feat: allow writing payment credentials to file to avoid context (#67) 2026-05-04 17:50:34 -04:00
Pejman Pour-Moezzi 21bc584091 fix: fail spend request polling timeout (#56) 2026-04-29 19:53:25 -04:00
Dan Hill cd84685f22 Onboarding Experience (#15)
Add a new user onboarding command
2026-04-28 19:17:44 -04:00
Steve Kaliski 6b1079be96 update claude file for spend-intent -> spend-request (#26) 2026-04-27 19:00:15 -04:00
Steve Kaliski eb2115d658 migrate commander -> incur enabling mcp server (#18)
* migrate commander -> incur enabling mcp server

* save

* use incur skill handling and clarify to use mcp if running

* add changeset

* fix type error

* fix fmt

* fix tests

* fmt
2026-04-27 13:37:10 -04:00
qaisjp 3b372f2209 Initial commit
Co-authored-by: ben-davis <2607068+ben-davis@users.noreply.github.com>
Co-authored-by: bensnell-stripe <47830399+bensnell-stripe@users.noreply.github.com>
Co-authored-by: danhilltech <876990+danhilltech@users.noreply.github.com>
Co-authored-by: kreese-stripe <215516483+kreese-stripe@users.noreply.github.com>
Co-authored-by: qaisjp <923242+qaisjp@users.noreply.github.com>
Co-authored-by: raubrey-stripe <185865758+raubrey-stripe@users.noreply.github.com>
Co-authored-by: shirleyz-stripe <264516373+shirleyz-stripe@users.noreply.github.com>
Co-authored-by: sjkaliski <602845+sjkaliski@users.noreply.github.com>
2026-04-23 17:22:09 -04:00