@mysten-incubation/suipay-mcp 0.3.0-dev.3 → 0.3.0-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,7 +5,7 @@ buyer-funded spend account. The buyer owns the account. The agent holds the
5
5
  delegate key and can spend only under the on-chain grant (recipient bind,
6
6
  per-payment cap, budget).
7
7
 
8
- Pin `@mysten-incubation/suipay-mcp@0.3.0-dev.3` in MCP config for the `latest` dist-tag.
8
+ Pin `@mysten-incubation/suipay-mcp@0.3.0-dev.4` in MCP config for the `latest` dist-tag.
9
9
  `npx -y @mysten-incubation/suipay-mcp@dev` tracks the `dev` prerelease line.
10
10
  `1.0.1` remains on the registry as a historical release; do not install it
11
11
  for new agents.
@@ -13,7 +13,7 @@ for new agents.
13
13
  ## Install
14
14
 
15
15
  ```bash
16
- claude mcp add --scope user suipay -- npx -y @mysten-incubation/suipay-mcp@0.3.0-dev.3
16
+ claude mcp add --scope user suipay -- npx -y @mysten-incubation/suipay-mcp@0.3.0-dev.4
17
17
  ```
18
18
 
19
19
  `@dev` installs the Railway-dev gateway/console defaults. A workspace
@@ -155,10 +155,10 @@ Default is Railway **suipay-dev**. `--local` / `target: "local"` is laptop-only.
155
155
 
156
156
  ```bash
157
157
  # Railway suipay-dev (default)
158
- npx @mysten-incubation/suipay-mcp@0.3.0-dev.3
158
+ npx @mysten-incubation/suipay-mcp@0.3.0-dev.4
159
159
 
160
160
  # Laptop stack
161
- npx @mysten-incubation/suipay-mcp@0.3.0-dev.3 --local
161
+ npx @mysten-incubation/suipay-mcp@0.3.0-dev.4 --local
162
162
  ```
163
163
 
164
164
  `SUIPAY_MCP_TARGET=local|dev` selects the same preset. Explicit
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "../chunk-OAHWW4H7.js";
4
+ } from "../chunk-IVHVB3IY.js";
5
5
  import {
6
6
  logError
7
- } from "../chunk-HIBLRYTW.js";
7
+ } from "../chunk-7S4TYZJM.js";
8
8
 
9
9
  // src/bin/suipay.ts
10
10
  main().catch((err) => {
@@ -448,6 +448,14 @@ var SERVICE_STATE_TRANSITIONS = Object.freeze([
448
448
  to: "payout_change",
449
449
  actors: ["system"],
450
450
  requires: ["reason_code"]
451
+ },
452
+ {
453
+ id: "T25",
454
+ dimension: "suspension",
455
+ from: ["binding_changed"],
456
+ to: "none",
457
+ actors: ["system"],
458
+ requires: ["reason_code"]
451
459
  }
452
460
  ]);
453
461
 
@@ -4460,6 +4468,55 @@ var REQUEST_CODES = {
4460
4468
  nextAction: "fix_request",
4461
4469
  user: { title: "Address not found", message: "That web address doesn't exist. Check the spelling and try again." }
4462
4470
  },
4471
+ "request.recipient_changed": {
4472
+ surfaces: ["gateway"],
4473
+ status: 409,
4474
+ title: "Pay-to address changed while its registry was being checked",
4475
+ paymentState: "not_charged",
4476
+ retry: "never",
4477
+ nextAction: "fix_request",
4478
+ user: {
4479
+ title: "Retry this publish",
4480
+ message: "The payout address changed while its payment registry was being checked. Retry so the current address is checked."
4481
+ }
4482
+ },
4483
+ "request.recipient_registry_invalid": {
4484
+ surfaces: ["gateway"],
4485
+ status: 409,
4486
+ title: "Payment registry does not verify for this deployment",
4487
+ paymentState: "not_charged",
4488
+ retry: "never",
4489
+ nextAction: "fix_request",
4490
+ user: {
4491
+ title: "Registry does not match",
4492
+ message: "The payout address's payment registry does not match this deployment. Fix it, then publish again."
4493
+ }
4494
+ },
4495
+ "request.recipient_registry_missing": {
4496
+ surfaces: ["gateway"],
4497
+ status: 409,
4498
+ title: "Pay-to address has no payment registry",
4499
+ paymentState: "not_charged",
4500
+ retry: "never",
4501
+ nextAction: "fix_request",
4502
+ user: {
4503
+ title: "Create a payment registry",
4504
+ message: "This payout address has no payment registry on this network yet. Create it in the seller console, then publish again."
4505
+ }
4506
+ },
4507
+ "request.recipient_registry_unreadable": {
4508
+ surfaces: ["gateway"],
4509
+ status: 503,
4510
+ title: "Payment registry could not be read",
4511
+ paymentState: "not_charged",
4512
+ retry: "after_delay",
4513
+ retryAfterSeconds: 5,
4514
+ nextAction: "retry_later",
4515
+ user: {
4516
+ title: "Registry unread",
4517
+ message: "The payment registry could not be read just now. Wait a moment and try again."
4518
+ }
4519
+ },
4463
4520
  "request.redirect_refused": {
4464
4521
  surfaces: ["console_server", "sdk"],
4465
4522
  status: 422,
@@ -5764,6 +5821,11 @@ var CONTEXT_ALLOWLIST = /* @__PURE__ */ new Set([
5764
5821
  "rails",
5765
5822
  "shard",
5766
5823
  "metric",
5824
+ // Gateway readiness gauge. Fixed marks only: 0 or 1, and up, down, skipped, unknown.
5825
+ "ready",
5826
+ "grpc",
5827
+ "enoki",
5828
+ "postgres",
5767
5829
  "alarm",
5768
5830
  "alert",
5769
5831
  "from",
@@ -5,7 +5,7 @@ import {
5
5
  loadMcpConfig,
6
6
  loadPaymentProfile,
7
7
  logError
8
- } from "./chunk-HIBLRYTW.js";
8
+ } from "./chunk-7S4TYZJM.js";
9
9
 
10
10
  // src/index.ts
11
11
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
@@ -3514,6 +3514,55 @@ declare const ERRORS: {
3514
3514
  readonly message: "That web address doesn't exist. Check the spelling and try again.";
3515
3515
  };
3516
3516
  };
3517
+ readonly 'request.recipient_changed': {
3518
+ readonly surfaces: readonly ["gateway"];
3519
+ readonly status: 409;
3520
+ readonly title: "Pay-to address changed while its registry was being checked";
3521
+ readonly paymentState: "not_charged";
3522
+ readonly retry: "never";
3523
+ readonly nextAction: "fix_request";
3524
+ readonly user: {
3525
+ readonly title: "Retry this publish";
3526
+ readonly message: "The payout address changed while its payment registry was being checked. Retry so the current address is checked.";
3527
+ };
3528
+ };
3529
+ readonly 'request.recipient_registry_invalid': {
3530
+ readonly surfaces: readonly ["gateway"];
3531
+ readonly status: 409;
3532
+ readonly title: "Payment registry does not verify for this deployment";
3533
+ readonly paymentState: "not_charged";
3534
+ readonly retry: "never";
3535
+ readonly nextAction: "fix_request";
3536
+ readonly user: {
3537
+ readonly title: "Registry does not match";
3538
+ readonly message: "The payout address's payment registry does not match this deployment. Fix it, then publish again.";
3539
+ };
3540
+ };
3541
+ readonly 'request.recipient_registry_missing': {
3542
+ readonly surfaces: readonly ["gateway"];
3543
+ readonly status: 409;
3544
+ readonly title: "Pay-to address has no payment registry";
3545
+ readonly paymentState: "not_charged";
3546
+ readonly retry: "never";
3547
+ readonly nextAction: "fix_request";
3548
+ readonly user: {
3549
+ readonly title: "Create a payment registry";
3550
+ readonly message: "This payout address has no payment registry on this network yet. Create it in the seller console, then publish again.";
3551
+ };
3552
+ };
3553
+ readonly 'request.recipient_registry_unreadable': {
3554
+ readonly surfaces: readonly ["gateway"];
3555
+ readonly status: 503;
3556
+ readonly title: "Payment registry could not be read";
3557
+ readonly paymentState: "not_charged";
3558
+ readonly retry: "after_delay";
3559
+ readonly retryAfterSeconds: 5;
3560
+ readonly nextAction: "retry_later";
3561
+ readonly user: {
3562
+ readonly title: "Registry unread";
3563
+ readonly message: "The payment registry could not be read just now. Wait a moment and try again.";
3564
+ };
3565
+ };
3517
3566
  readonly 'request.redirect_refused': {
3518
3567
  readonly surfaces: readonly ["console_server", "sdk"];
3519
3568
  readonly status: 422;
package/dist/http.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { I as handleSuipayMcpHttpRequest } from './http-BUaEV9I3.js';
1
+ export { I as handleSuipayMcpHttpRequest } from './http-Du_v0e8E.js';
2
2
  import '@modelcontextprotocol/sdk/server/index.js';
3
3
  import '@mysten/sui/keypairs/ed25519';
4
4
  import 'node:crypto';
package/dist/http.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  handleSuipayMcpHttpRequest
3
- } from "./chunk-HIBLRYTW.js";
3
+ } from "./chunk-7S4TYZJM.js";
4
4
  export {
5
5
  handleSuipayMcpHttpRequest
6
6
  };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { S as SpendAccountSigningRequest, P as PaidHttpRequest, D as DelegatedKeySigner, G as GetObjectJson, a as DelegatedPayerSession, b as DelegatedPayerConfig, c as DelegatedPayerDeps, d as SpendIntent, e as DelegatedPayResult, f as DelegationScope, C as CodeFor, N as NextAction, g as GrantPolicyBinding, h as PaymentAttemptLedger, O as OfferPublicKeySource, i as DelegatedPayerLog, j as PreparedSettlementTerms, X as X402PayProgress, k as Offer, M as McpConfig, l as McpAuthContext, m as McpTraceHooks, n as SpendAccountPayDeps, o as createReader } from './http-BUaEV9I3.js';
2
- export { A as AgentHeldResolver, p as AgentHeldSettlement, q as MCP_TARGET_PRESETS, r as McpEnvelope, s as McpEnvelopeEntry, t as McpServerOptions, u as McpTarget, v as McpTraceContext, w as McpTraceRuntime, x as PACKAGE_NAME, y as PreparedPayment, z as SpendAccountPrepareResult, B as SpendAccountPrepareSession, T as TOOLS, E as buildSpendAccountPayKind, F as canonicalMcpRequestId, H as createServer, I as handleSuipayMcpHttpRequest, J as inspectMcpEnvelope, K as loadMcpConfig, L as parseMcpTargetFlag, Q as prepareSpendAccountPayment, R as resetAgentHeldProcessLedger, U as resolveAgentHeldSettlement, V as resolveGrantTarget, W as resolveMcpTarget, Y as sameMcpGateway, Z as traceMcpHttpRequest, _ as verifySpendAccountPayReconstructs } from './http-BUaEV9I3.js';
1
+ import { S as SpendAccountSigningRequest, P as PaidHttpRequest, D as DelegatedKeySigner, G as GetObjectJson, a as DelegatedPayerSession, b as DelegatedPayerConfig, c as DelegatedPayerDeps, d as SpendIntent, e as DelegatedPayResult, f as DelegationScope, C as CodeFor, N as NextAction, g as GrantPolicyBinding, h as PaymentAttemptLedger, O as OfferPublicKeySource, i as DelegatedPayerLog, j as PreparedSettlementTerms, X as X402PayProgress, k as Offer, M as McpConfig, l as McpAuthContext, m as McpTraceHooks, n as SpendAccountPayDeps, o as createReader } from './http-Du_v0e8E.js';
2
+ export { A as AgentHeldResolver, p as AgentHeldSettlement, q as MCP_TARGET_PRESETS, r as McpEnvelope, s as McpEnvelopeEntry, t as McpServerOptions, u as McpTarget, v as McpTraceContext, w as McpTraceRuntime, x as PACKAGE_NAME, y as PreparedPayment, z as SpendAccountPrepareResult, B as SpendAccountPrepareSession, T as TOOLS, E as buildSpendAccountPayKind, F as canonicalMcpRequestId, H as createServer, I as handleSuipayMcpHttpRequest, J as inspectMcpEnvelope, K as loadMcpConfig, L as parseMcpTargetFlag, Q as prepareSpendAccountPayment, R as resetAgentHeldProcessLedger, U as resolveAgentHeldSettlement, V as resolveGrantTarget, W as resolveMcpTarget, Y as sameMcpGateway, Z as traceMcpHttpRequest, _ as verifySpendAccountPayReconstructs } from './http-Du_v0e8E.js';
3
3
  import { SuiGrpcClient } from '@mysten/sui/grpc';
4
4
  import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
5
5
  import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  loadBootProfile,
3
3
  main
4
- } from "./chunk-OAHWW4H7.js";
4
+ } from "./chunk-IVHVB3IY.js";
5
5
  import {
6
6
  MCP_TARGET_PRESETS,
7
7
  PACKAGE_NAME,
@@ -26,7 +26,7 @@ import {
26
26
  settlePreparedMcpPayment,
27
27
  traceMcpHttpRequest,
28
28
  verifySpendAccountPayReconstructs
29
- } from "./chunk-HIBLRYTW.js";
29
+ } from "./chunk-7S4TYZJM.js";
30
30
  export {
31
31
  MCP_TARGET_PRESETS,
32
32
  PACKAGE_NAME,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mysten-incubation/suipay-mcp",
3
- "version": "0.3.0-dev.3",
3
+ "version": "0.3.0-dev.4",
4
4
  "type": "module",
5
5
  "description": "SuiPay MCP — pay MPP-gated APIs from a spend-account grant with an agent-held delegate key.",
6
6
  "repository": {
@@ -42,8 +42,8 @@
42
42
  "tsup": "^8.0.0",
43
43
  "typescript": "^6.0.3",
44
44
  "vitest": "^4.1.10",
45
- "@cmdoss/suipay-sdk": "0.1.0",
46
- "@cmdoss/suipay-core": "0.1.0"
45
+ "@cmdoss/suipay-core": "0.1.0",
46
+ "@cmdoss/suipay-sdk": "0.1.0"
47
47
  },
48
48
  "scripts": {
49
49
  "build": "tsup",