Repository navigation
Add Kernel-managed wallet and card flows with outcome reporting - #238
Open
hiroTamada wants to merge 6 commits into
Open
hiroTamada wants to merge 6 commits into
hiroTamada wants to merge 6 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
hiroTamada
marked this pull request as ready for review
October 12, 2026 19:09
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3a78d08. Configure here.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
manage_vault_cards authorizeor the equivalentmanage_vault_items invoke authorize. Hosted enrollment and spend approval remain private cardholder actions.number/expiration(MM/YY) /cvcbindings, no stored billing fields, merchant submission, then exactly oneconfirm_transactionreport of the observed outcome with the required input contract. Unknown outcomes require reconciliation, not retry or guessed reporting.restart_verificationonly as advertised, user-approved, no-input recovery of a proven no-dispatch initial attestation failure; all otherrecovery_requiredstates still require stopping and reconciliation. Both new operations use the existing advertised-operation passthrough.field_unavailablewrote no fields; remove unsupported billing bindings and enter billing details on the merchant page. This never permits replaying authorization, checkout, or transaction reporting; the tool does not retry automatically.merchant_country; neither new operation requires a generated SDK update.Validation
bun test: 973 passed, 0 failed across 73 files. All API calls were mocked.bunx prettier --check "**/*.{ts,js,json,md}" "!AGENTS.md": passed. The unchangedAGENTS.mdretains its pre-existing formatting warning.bun run lint: fails with "Invalid project directory" because Next.js 16 removednext lint. This is pre-existing on main; the lint script is unchanged from main.bunx tsc --noEmit: passed.bun install --frozen-lockfile: passed after resolving the merge and regenerating the lockfile with Bun.git diff main...HEAD --check: passed; full diff deslop and self-review completed.bun run format:checkstill reports only the pre-existingAGENTS.mdformatting warning; that file was not changed.Dependency / release note
restart_verificationdepends on kernel/kernel#4760, currently staging-only until merged and released. The MCP tool always re-fetchesavailable_operationsbefore submitting it, so unreleased or otherwise unavailable recovery is refused. Do not retry other recovery states or assume operation availability from SDK version.Note
High Risk
Introduces real payment authorization, fill, and outcome-reporting paths with secret-bearing URLs; incorrect retry or error handling could affect live card transactions or leak capabilities.
Overview
Adds Kernel-hosted vault wallets and cards as a third provider (
kernel) alongside Link and AgentCard, with MCP tools, schemas, per-item guidance, and expanded README/docs/vault-payments.md.Wallets:
manage_vault_walletsacceptsprovider: "kernel"andspec: {}, returning a privatecard_enrollmentURL;payment_methodscan surface advisory single-use eligibility. Org-levelmanage_vault_provider_configsexcludeskernel(Kernel-managed, not customer config).Cards:
manage_vault_cardsgainsauthorize(kernel-only, no spec) after checking advertisedauthorize; create uses a new spec (HTTPSmerchant_url, optional ISOmerchant_countryfor Visa, amount caps); update is rejected for kernel cards. Card PAN/CVC/expiry and hosted action URLs stay out of tool inputs.Post-checkout: Tool copy and item guidance document
confirm_transaction(exact-once reporting when advertised) and gatedrestart_verificationfor a narrow recovery case; both pass through existingmanage_vault_items invokewhen the API advertises them.Errors:
throwToolErroraccepts an optionalsafeMessage;throwKernelVaultErrorredacts upstream text (e.g. bearer approval URLs) while keeping HTTP status, validated API codes, and analytics error names. Guidance differs for fill (field-write retry only), 4xx rejection, and uncertain authorize/5xx/network.Tests: Large
vault-kernel.test.tsplus updates to response and vault error tests cover authorize gates, fill/report/recovery, redaction, and schema rejection.Reviewed by Cursor Bugbot for commit 6db04be. Bugbot is set up for automated code reviews on this repo. Configure here.