@trusty-squire/mcp 1.1.13-rc.9 → 1.1.13

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.
Files changed (162) hide show
  1. package/README.md +136 -64
  2. package/assets/login/vnc-input.js +9 -0
  3. package/assets/login/vnc.html +214 -202
  4. package/assets/screencaps/connect-walkthrough.png +0 -0
  5. package/assets/screencaps/connect-walkthrough.svg +1 -1
  6. package/dist/api-client.d.ts +26 -3
  7. package/dist/api-client.d.ts.map +1 -1
  8. package/dist/api-client.js +19 -31
  9. package/dist/api-client.js.map +1 -1
  10. package/dist/bin.js +2 -3
  11. package/dist/bin.js.map +1 -1
  12. package/dist/bot/browser.d.ts +85 -80
  13. package/dist/bot/browser.d.ts.map +1 -1
  14. package/dist/bot/browser.js +1314 -1570
  15. package/dist/bot/browser.js.map +1 -1
  16. package/dist/bot/compact-observation-v2.d.ts +167 -0
  17. package/dist/bot/compact-observation-v2.d.ts.map +1 -0
  18. package/dist/bot/compact-observation-v2.js +1038 -0
  19. package/dist/bot/compact-observation-v2.js.map +1 -0
  20. package/dist/bot/credential-shape.d.ts +2 -0
  21. package/dist/bot/credential-shape.d.ts.map +1 -1
  22. package/dist/bot/credential-shape.js +21 -8
  23. package/dist/bot/credential-shape.js.map +1 -1
  24. package/dist/bot/element-fingerprint.d.ts +9 -0
  25. package/dist/bot/element-fingerprint.d.ts.map +1 -0
  26. package/dist/bot/element-fingerprint.js +147 -0
  27. package/dist/bot/element-fingerprint.js.map +1 -0
  28. package/dist/bot/email-verification.d.ts +7 -1
  29. package/dist/bot/email-verification.d.ts.map +1 -1
  30. package/dist/bot/email-verification.js +48 -14
  31. package/dist/bot/email-verification.js.map +1 -1
  32. package/dist/bot/google-login.d.ts +28 -52
  33. package/dist/bot/google-login.d.ts.map +1 -1
  34. package/dist/bot/google-login.js +246 -1119
  35. package/dist/bot/google-login.js.map +1 -1
  36. package/dist/bot/install-completion.d.ts +1 -2
  37. package/dist/bot/install-completion.d.ts.map +1 -1
  38. package/dist/bot/install-completion.js +1 -2
  39. package/dist/bot/install-completion.js.map +1 -1
  40. package/dist/bot/login-state.d.ts +13 -7
  41. package/dist/bot/login-state.d.ts.map +1 -1
  42. package/dist/bot/login-state.js +50 -114
  43. package/dist/bot/login-state.js.map +1 -1
  44. package/dist/bot/oauth-providers.d.ts +1 -1
  45. package/dist/bot/oauth-providers.d.ts.map +1 -1
  46. package/dist/bot/oauth-providers.js +3 -3
  47. package/dist/bot/oauth-providers.js.map +1 -1
  48. package/dist/bot/oauth-scope.d.ts +4 -0
  49. package/dist/bot/oauth-scope.d.ts.map +1 -0
  50. package/dist/bot/oauth-scope.js +58 -0
  51. package/dist/bot/oauth-scope.js.map +1 -0
  52. package/dist/bot/operator-browser-watchdog.d.ts +18 -6
  53. package/dist/bot/operator-browser-watchdog.d.ts.map +1 -1
  54. package/dist/bot/operator-browser-watchdog.js +91 -37
  55. package/dist/bot/operator-browser-watchdog.js.map +1 -1
  56. package/dist/bot/owner-process-reaper-worker.d.ts +2 -0
  57. package/dist/bot/owner-process-reaper-worker.d.ts.map +1 -0
  58. package/dist/bot/owner-process-reaper-worker.js +17 -0
  59. package/dist/bot/owner-process-reaper-worker.js.map +1 -0
  60. package/dist/bot/owner-process-reaper.d.ts +103 -0
  61. package/dist/bot/owner-process-reaper.d.ts.map +1 -0
  62. package/dist/bot/owner-process-reaper.js +1058 -0
  63. package/dist/bot/owner-process-reaper.js.map +1 -0
  64. package/dist/bot/pay-operator.d.ts +7 -1
  65. package/dist/bot/pay-operator.d.ts.map +1 -1
  66. package/dist/bot/pay-operator.js +269 -103
  67. package/dist/bot/pay-operator.js.map +1 -1
  68. package/dist/bot/profile.d.ts +10 -1
  69. package/dist/bot/profile.d.ts.map +1 -1
  70. package/dist/bot/profile.js +137 -11
  71. package/dist/bot/profile.js.map +1 -1
  72. package/dist/bot/promote-to-skill.js +1 -1
  73. package/dist/bot/promote-to-skill.js.map +1 -1
  74. package/dist/bot/provision-session.d.ts +57 -186
  75. package/dist/bot/provision-session.d.ts.map +1 -1
  76. package/dist/bot/provision-session.js +1976 -1812
  77. package/dist/bot/provision-session.js.map +1 -1
  78. package/dist/bot/remote-login-display.d.ts +61 -0
  79. package/dist/bot/remote-login-display.d.ts.map +1 -0
  80. package/dist/bot/remote-login-display.js +765 -0
  81. package/dist/bot/remote-login-display.js.map +1 -0
  82. package/dist/bot/session/hosts.d.ts +8 -0
  83. package/dist/bot/session/hosts.d.ts.map +1 -0
  84. package/dist/bot/session/hosts.js +36 -0
  85. package/dist/bot/session/hosts.js.map +1 -0
  86. package/dist/bot/session/lifecycle.d.ts +56 -0
  87. package/dist/bot/session/lifecycle.d.ts.map +1 -0
  88. package/dist/bot/session/lifecycle.js +962 -0
  89. package/dist/bot/session/lifecycle.js.map +1 -0
  90. package/dist/bot/session/model.d.ts +175 -0
  91. package/dist/bot/session/model.d.ts.map +1 -0
  92. package/dist/bot/session/model.js +77 -0
  93. package/dist/bot/session/model.js.map +1 -0
  94. package/dist/install/cli.d.ts +29 -9
  95. package/dist/install/cli.d.ts.map +1 -1
  96. package/dist/install/cli.js +243 -322
  97. package/dist/install/cli.js.map +1 -1
  98. package/dist/install/interactive.d.ts +1 -0
  99. package/dist/install/interactive.d.ts.map +1 -1
  100. package/dist/install/interactive.js +19 -5
  101. package/dist/install/interactive.js.map +1 -1
  102. package/dist/install/ui.d.ts.map +1 -1
  103. package/dist/install/ui.js +3 -15
  104. package/dist/install/ui.js.map +1 -1
  105. package/dist/operator-env.js +1 -1
  106. package/dist/operator-env.js.map +1 -1
  107. package/dist/server-instance-registry.d.ts +103 -0
  108. package/dist/server-instance-registry.d.ts.map +1 -0
  109. package/dist/server-instance-registry.js +392 -0
  110. package/dist/server-instance-registry.js.map +1 -0
  111. package/dist/server.d.ts +15 -1
  112. package/dist/server.d.ts.map +1 -1
  113. package/dist/server.js +164 -62
  114. package/dist/server.js.map +1 -1
  115. package/dist/session-guard.d.ts +28 -0
  116. package/dist/session-guard.d.ts.map +1 -0
  117. package/dist/session-guard.js +84 -0
  118. package/dist/session-guard.js.map +1 -0
  119. package/dist/session.d.ts +57 -13
  120. package/dist/session.d.ts.map +1 -1
  121. package/dist/session.js +246 -127
  122. package/dist/session.js.map +1 -1
  123. package/dist/tools/audit-log.d.ts +16 -2
  124. package/dist/tools/audit-log.d.ts.map +1 -1
  125. package/dist/tools/audit-log.js +223 -13
  126. package/dist/tools/audit-log.js.map +1 -1
  127. package/dist/tools/audit-rollup.d.ts +80 -0
  128. package/dist/tools/audit-rollup.d.ts.map +1 -0
  129. package/dist/tools/audit-rollup.js +0 -0
  130. package/dist/tools/audit-rollup.js.map +1 -0
  131. package/dist/tools/fetch-credential.d.ts +37 -0
  132. package/dist/tools/fetch-credential.d.ts.map +1 -0
  133. package/dist/tools/fetch-credential.js +153 -0
  134. package/dist/tools/fetch-credential.js.map +1 -0
  135. package/dist/tools/index.d.ts +3 -1
  136. package/dist/tools/index.d.ts.map +1 -1
  137. package/dist/tools/index.js +7 -3
  138. package/dist/tools/index.js.map +1 -1
  139. package/dist/tools/operate-pay.d.ts +4 -4
  140. package/dist/tools/operate-pay.d.ts.map +1 -1
  141. package/dist/tools/operate-pay.js +151 -96
  142. package/dist/tools/operate-pay.js.map +1 -1
  143. package/dist/tools/provision-drive.d.ts +47 -39
  144. package/dist/tools/provision-drive.d.ts.map +1 -1
  145. package/dist/tools/provision-drive.js +268 -164
  146. package/dist/tools/provision-drive.js.map +1 -1
  147. package/dist/tools/use-credential.d.ts.map +1 -1
  148. package/dist/tools/use-credential.js +3 -2
  149. package/dist/tools/use-credential.js.map +1 -1
  150. package/package.json +4 -6
  151. package/dist/bot/operator-direct-identity.d.ts +0 -26
  152. package/dist/bot/operator-direct-identity.d.ts.map +0 -1
  153. package/dist/bot/operator-direct-identity.js +0 -120
  154. package/dist/bot/operator-direct-identity.js.map +0 -1
  155. package/dist/bot/operator-profile-pool.d.ts +0 -97
  156. package/dist/bot/operator-profile-pool.d.ts.map +0 -1
  157. package/dist/bot/operator-profile-pool.js +0 -855
  158. package/dist/bot/operator-profile-pool.js.map +0 -1
  159. package/dist/bot/xvfb.d.ts +0 -13
  160. package/dist/bot/xvfb.d.ts.map +0 -1
  161. package/dist/bot/xvfb.js +0 -146
  162. package/dist/bot/xvfb.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAErF,MAAM,WAAW,IAAI,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGzC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAItC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG/B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,QAAQ,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvF,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1F;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF;AAID,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMpD,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAMzE;AAaD,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,EAAE,CAwB9E;AAID,eAAO,MAAM,KAAK,EAAE,IAAI,EAA0B,CAAC;AAEnD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,IAAI,EAAU,GAAG,IAAI,GAAG,IAAI,CAElF;AAGD,OAAO,EAAE,CAAC,EAAE,CAAC;AAIb,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,GACzB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,IAAI,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGzC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAItC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG/B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,QAAQ,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvF,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1F;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG/E,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAID,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMpD,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAMzE;AAaD,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,EAAE,CA2B9E;AAID,eAAO,MAAM,KAAK,EAAE,IAAI,EAA0B,CAAC;AAEnD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,IAAI,EAAU,GAAG,IAAI,GAAG,IAAI,CAElF;AAGD,OAAO,EAAE,CAAC,EAAE,CAAC;AAIb,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,GACzB,CAAC"}
@@ -18,6 +18,7 @@ import { auditLogTool } from "./audit-log.js";
18
18
  import { OPERATE_TOOLS } from "./provision-drive.js";
19
19
  import { listPaymentCardsTool, operatePayTool, operatePaymentStatusTool } from "./operate-pay.js";
20
20
  import { deleteCredentialTool, editCredentialTool } from "./credential-mutations.js";
21
+ import { fetchCredentialTool } from "./fetch-credential.js";
21
22
  // Re-exported for convenience; defined in its own module to avoid a
22
23
  // circular import (tool files import it; index imports the tool files).
23
24
  export { ALWAYS_LOAD_META } from "./always-load.js";
@@ -47,6 +48,9 @@ export function buildToolRegistry(env = process.env) {
47
48
  editCredentialTool,
48
49
  deleteCredentialTool,
49
50
  useCredentialTool,
51
+ // The one approval-gated raw-value path. Listed AFTER use_credential so
52
+ // the cheaper, never-exposed route is the one the model reads first.
53
+ fetchCredentialTool,
50
54
  // Egress grants: a deployed app uses a vaulted credential via the proxy.
51
55
  grantAppAccessTool,
52
56
  listAppAccessTool,
@@ -56,8 +60,8 @@ export function buildToolRegistry(env = process.env) {
56
60
  ...(diagnosticsProfileEnabled(env) ? diagnosticsTools : []),
57
61
  listPaymentCardsTool,
58
62
  operatePayTool,
59
- // [P0] Non-blocking payment approval: read-only status + a bounded wait,
60
- // so a host never has to block an RPC on the human's phone tap.
63
+ // Non-charging bounded status for pre-charge approval and post-submit
64
+ // outcomes; operate_pay owns approval continuation and charge execution.
61
65
  operatePaymentStatusTool,
62
66
  // Interactive host-driven provisioning (operate_start/observe/act/finish
63
67
  // plus recipe save/run; workflow kinds are consolidated under operate_act).
@@ -74,5 +78,5 @@ export function findTool(name, tools = TOOLS) {
74
78
  export { z };
75
79
  // Per-tool re-exports so callers (tests, custom integrations) can
76
80
  // import a single tool without going through the TOOLS array.
77
- export { listCredentialsTool, storeCredentialTool, editCredentialTool, deleteCredentialTool, useCredentialTool, grantAppAccessTool, listAppAccessTool, revokeAppAccessTool, auditLogTool, listExtractFailuresTool, getExtractFailureTool, listPaymentCardsTool, operatePayTool, operatePaymentStatusTool, };
81
+ export { listCredentialsTool, storeCredentialTool, editCredentialTool, deleteCredentialTool, useCredentialTool, fetchCredentialTool, grantAppAccessTool, listAppAccessTool, revokeAppAccessTool, auditLogTool, listExtractFailuresTool, getExtractFailureTool, listPaymentCardsTool, operatePayTool, operatePaymentStatusTool, };
78
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ declare const inputSchema: z.ZodEffects<z.ZodObject<{
18
18
  amount_cents?: number | undefined;
19
19
  merchant?: string | undefined;
20
20
  card_ref?: string | undefined;
21
- phase?: "single" | "fill_card" | "confirm" | undefined;
21
+ phase?: "single" | "confirm" | "fill_card" | undefined;
22
22
  three_ds_wait_seconds?: number | undefined;
23
23
  session_id?: string | undefined;
24
24
  card_label?: string | undefined;
@@ -29,7 +29,7 @@ declare const inputSchema: z.ZodEffects<z.ZodObject<{
29
29
  amount_cents?: number | undefined;
30
30
  merchant?: string | undefined;
31
31
  card_ref?: string | undefined;
32
- phase?: "single" | "fill_card" | "confirm" | undefined;
32
+ phase?: "single" | "confirm" | "fill_card" | undefined;
33
33
  three_ds_wait_seconds?: number | undefined;
34
34
  session_id?: string | undefined;
35
35
  card_label?: string | undefined;
@@ -40,7 +40,7 @@ declare const inputSchema: z.ZodEffects<z.ZodObject<{
40
40
  amount_cents?: number | undefined;
41
41
  merchant?: string | undefined;
42
42
  card_ref?: string | undefined;
43
- phase?: "single" | "fill_card" | "confirm" | undefined;
43
+ phase?: "single" | "confirm" | "fill_card" | undefined;
44
44
  three_ds_wait_seconds?: number | undefined;
45
45
  session_id?: string | undefined;
46
46
  card_label?: string | undefined;
@@ -51,7 +51,7 @@ declare const inputSchema: z.ZodEffects<z.ZodObject<{
51
51
  amount_cents?: number | undefined;
52
52
  merchant?: string | undefined;
53
53
  card_ref?: string | undefined;
54
- phase?: "single" | "fill_card" | "confirm" | undefined;
54
+ phase?: "single" | "confirm" | "fill_card" | undefined;
55
55
  three_ds_wait_seconds?: number | undefined;
56
56
  session_id?: string | undefined;
57
57
  card_label?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"operate-pay.d.ts","sourceRoot":"","sources":["../../src/tools/operate-pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgCxB,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAElD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Bb,CAAC;AAiDL,eAAO,MAAM,oBAAoB,EAAE,IAYlC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAqW5D,CAAC;AA+OF,QAAA,MAAM,wBAAwB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CA2CnF,CAAC"}
1
+ {"version":3,"file":"operate-pay.d.ts","sourceRoot":"","sources":["../../src/tools/operate-pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoCxB,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AASlD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Bb,CAAC;AAiDL,eAAO,MAAM,oBAAoB,EAAE,IAYlC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAqX5D,CAAC;AAsSF,QAAA,MAAM,wBAAwB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAiCnF,CAAC"}
@@ -1,7 +1,14 @@
1
1
  import { z } from "zod";
2
- import { armPaymentDispatchHandoff, activeCartCheckoutForOrigin, activeProvisionBrowserForPayment, claimActivePaymentForOperatePay, clearActivePendingCardFill, clearActivePendingThreeDsIfCurrent, completeActivePaymentLeaseWithPendingApproval, completeActivePaymentLeaseWithPendingFill, coordinatePaymentDispatchAudit, finishPaymentDispatchHandoff, getActivePendingApproval, getActivePendingThreeDs, recordActivePaymentProvenance, releaseActivePaymentLease, retainActivePaymentFieldSeal, restoreActivePendingCardFillAfterConfirmThrow, setActivePendingThreeDs, withPaymentSessionCall, } from "../bot/provision-session.js";
2
+ import { armPaymentDispatchHandoff, activeCartCheckoutForOrigin, activeProvisionBrowserForPayment, claimActivePaymentForOperatePay, clearActivePendingCardFill, clearActivePendingThreeDsIfCurrent, completeActivePendingApprovalWithTerminalStatus, completeActivePaymentLeaseWithPendingApproval, completeActivePaymentLeaseWithPendingFill, completeActivePaymentLeaseWithTerminalApproval, coordinatePaymentDispatchAudit, finishPaymentDispatchHandoff, getActivePendingApproval, getActivePendingThreeDs, getTerminalPaymentApproval, recordActivePaymentProvenance, releaseActivePaymentLease, retainActivePaymentFieldSeal, restoreActivePendingCardFillAfterConfirmThrow, setActivePendingThreeDs, withPaymentSessionCall, } from "../bot/provision-session.js";
3
3
  import { classifyApprovalCandidate, executeOperatePay, executeOperatePayConfirm, } from "../bot/pay-operator.js";
4
+ import { isPaymentApprovalTransportTimeout } from "../api-client.js";
4
5
  import { assertApi } from "./index.js";
6
+ // Long enough for a ready human to approve without making the MCP request as
7
+ // long-lived as the approval itself (five minutes for saved-card ceremonies,
8
+ // longer for JIT). If this bound expires, session state retains the same
9
+ // approval and the next operate_pay call continues waiting on it.
10
+ const OPERATE_PAY_APPROVAL_WAIT_MS = 60_000;
11
+ const PAYMENT_APPROVAL_RESPONSE_RESERVE_MS = 500;
5
12
  const inputSchema = z
6
13
  .object({
7
14
  session_id: z.string().uuid().optional(),
@@ -78,38 +85,18 @@ export const listPaymentCardsTool = {
78
85
  };
79
86
  export const operatePayTool = {
80
87
  name: "operate_pay",
81
- description: "Pay the checkout in the addressed operate_start browser session. session_id is required " +
82
- "when multiple operator sessions are active (and optional only for a sole local session). " +
83
- 'phase="single" (the default, also implied by omitting phase) is an ordinary one-step checkout. ' +
84
- "Reads the live merchant and checkout total independently of informational checkout_state. " +
85
- "When the live total cannot be machine-read, caller-supplied amount_cents and currency become " +
86
- "the authoritative approval amount and take precedence over a prior cart observation. " +
87
- "creates a phone approval link, waits for approval, " +
88
- "verifies the passkey-signed purchase mandate, opens the card only in this process, " +
89
- "fills common checkout fields, submits, and audits only the last four digits. Never " +
90
- "solves 3-D Secure; waits for user completion, then returns a needs_user handoff if unresolved " +
91
- "— including a decoupled/out-of-band app-push challenge that had not resolved yet, in which " +
92
- "case call operate_payment_status (not operate_pay again) to keep checking the same already-" +
93
- "submitted charge. If the issuer/app challenge shows issuer, network, or last-four evidence " +
94
- "for a different card, returns a structured payment_instrument_mismatch warning without " +
95
- "altering or cancelling the challenge; the cardholder retains the decision. " +
96
- "With no card_ref/card_label and no card on file, the approval link becomes a first-time " +
97
- "add-card ceremony and the card is bound server-side before the mandate is signed. " +
98
- "On approval resume, an unreadable live checkout reuses the original mandate-bound checkout; " +
99
- "a successfully-read checkout with a different amount, currency, merchant, or origin returns " +
100
- "payment_amount_mismatch without filling the card. " +
101
- "For a SPLIT checkout (a card-entry step with no visible total, e.g. Rakuten): call with " +
102
- 'phase="fill_card" on that step — the approval amount is sourced from the most recent real ' +
103
- "total this session observed (e.g. the cart page) only when the card-entry page itself shows " +
104
- "none and amount_cents plus currency were not supplied, and releases the card into recognized " +
105
- "payment-provider fields without charging. Then drive the checkout to the order-confirmation " +
106
- "step, VERIFY the live final total there matches the returned approved amount_cents and " +
107
- "currency, and place the order yourself via operate_act, handling any 3-D Secure challenge " +
108
- "directly — Trusty Squire never re-reads the total or clicks the pay/place-order control. Call " +
109
- 'phase="confirm" any time after the fill to close out the approval; it is not a prerequisite ' +
110
- "to placing the order. Exactly one human approval per purchase. If the payment gets stuck or " +
111
- "the card is declined, recover with operate_finish and start a fresh session — operate_pay " +
112
- "does not support refilling a different card mid-session.",
88
+ description: "Pay the live checkout in an operate_start session (session_id is required when more than one " +
89
+ "session exists). The default single phase reads the merchant and total, surfaces one phone " +
90
+ "approval, and waits server-side for up to one minute; re-calling after a pending result resumes " +
91
+ "that same approval. It verifies the signed mandate, opens the card only in this process, " +
92
+ "rechecks approval immediately before the charge click, and reports submitted, 3-D Secure, or " +
93
+ "unknown outcomes truthfully. Use operate_payment_status for an unresolved submitted charge. " +
94
+ "Without a stored card, the approval link performs first-time card binding. A resumed approval " +
95
+ "keeps its original terms and fails closed if a readable live checkout differs. For split " +
96
+ 'checkouts, phase="fill_card" fills recognized provider fields without charging; verify the ' +
97
+ 'final total and place the order with operate_act, then phase="confirm" closes the approval. ' +
98
+ "Exactly one human approval is valid per purchase attempt; finish the session before retrying " +
99
+ "a stuck, denied, expired, or ambiguous attempt.",
113
100
  inputSchema,
114
101
  jsonInputSchema: {
115
102
  type: "object",
@@ -161,6 +148,24 @@ export const operatePayTool = {
161
148
  const phase = args.phase === "single" ? undefined : args.phase;
162
149
  return await withPaymentSessionCall(args.session_id, async (session) => {
163
150
  const paymentClaim = claimActivePaymentForOperatePay(phase, session);
151
+ if (paymentClaim.kind === "terminal") {
152
+ const state = paymentClaim.state;
153
+ return paymentResult(session, {
154
+ status: paymentClaim.terminalStatus === "denied"
155
+ ? "payment_approval_denied"
156
+ : paymentClaim.terminalStatus === "expired"
157
+ ? "payment_approval_timeout"
158
+ : "payment_confirmation_failed",
159
+ approval_id: state.approval_id,
160
+ approval_url: state.approval_url,
161
+ merchant: state.checkout.merchant,
162
+ amount_cents: state.checkout.amount_cents,
163
+ currency: state.checkout.currency,
164
+ ...(paymentClaim.terminalStatus === "expired" && state.jit && state.boundCardRef !== null
165
+ ? { card_persisted: true }
166
+ : {}),
167
+ });
168
+ }
164
169
  // Confirm step of a split checkout: the card is already filled (and the
165
170
  // mandate already signed), so no card resolution and no PayPal gate.
166
171
  // confirm no longer touches the browser or charges anything — it only
@@ -325,6 +330,10 @@ export const operatePayTool = {
325
330
  onApprovalPending: (state) => {
326
331
  approvalPending = state;
327
332
  },
333
+ onApprovalTerminal: (state, terminalStatus) => {
334
+ completeActivePaymentLeaseWithTerminalApproval(paymentLease, state, terminalStatus, session);
335
+ paymentLeaseCompleted = true;
336
+ },
328
337
  onThreeDsHandoffArmed: (state) => {
329
338
  paymentDispatchHandoff = state;
330
339
  armPaymentDispatchHandoff(state, session);
@@ -340,11 +349,18 @@ export const operatePayTool = {
340
349
  ...(paymentClaim.resumeApproval !== undefined
341
350
  ? { resumeFrom: paymentClaim.resumeApproval }
342
351
  : {}),
343
- // [P0] Never block the RPC waiting on the human — one live check,
344
- // then hand back approval_pending. operate_payment_status (or
345
- // simply calling operate_pay again, which resumes this SAME
346
- // approval) is how the host finds out when the phone responds.
347
- pollBudgetMs: 0,
352
+ // Approval detection belongs here, not in an agent polling loop.
353
+ // The URL is surfaced before executeOperatePay enters this bounded
354
+ // wait. On exhaustion, onApprovalPending persists the SAME approval
355
+ // so a later operate_pay call continues without another passkey gate.
356
+ // A client without progress notifications must receive the newly
357
+ // minted URL before it can ask a human to act. Its first call may
358
+ // therefore return immediately; the resumed call already has the
359
+ // URL and uses the normal system-owned wait.
360
+ pollBudgetMs: context?.paymentApprovalWaitMs ??
361
+ (context?.notifyUser !== undefined || paymentClaim.resumeApproval !== undefined
362
+ ? OPERATE_PAY_APPROVAL_WAIT_MS
363
+ : 0),
348
364
  });
349
365
  if (result.payment_fields_cleared === false)
350
366
  paymentFieldsCleared = false;
@@ -405,17 +421,20 @@ export const operatePayTool = {
405
421
  // [P0] Used by operate_payment_status: maps the LIVE server record
406
422
  // (never the locally-cached approval terms) to a status the host can act on.
407
423
  // Never opens the sealed card or calls confirm — read-only, no side effects.
408
- // `boundMs`, when given, races the server call so this can never outlast the
409
- // caller's own bound even though the server's wait_for_submission window is
410
- // a fixed ~15s.
411
- async function readApprovalStatus(api, state, sessionId, waitForSubmission, boundMs) {
412
- const fetchApproval = api.getPaymentApproval(state.approval_id, waitForSubmission ? "wait-peek" : "peek");
413
- const approval = boundMs === undefined
414
- ? await fetchApproval
415
- : await Promise.race([
416
- fetchApproval,
417
- new Promise((resolve) => setTimeout(() => resolve(null), boundMs)),
418
- ]);
424
+ // `serverWaitMs`, when given, uses one server wait plus one transport grace.
425
+ async function readApprovalStatus(api, state, sessionId, waitForSubmission, serverWaitMs) {
426
+ const fetchApproval = waitForSubmission
427
+ ? api
428
+ .getPaymentApproval(state.approval_id, "wait-peek", serverWaitMs, serverWaitMs === undefined
429
+ ? undefined
430
+ : serverWaitMs + PAYMENT_APPROVAL_RESPONSE_RESERVE_MS)
431
+ .catch((error) => {
432
+ if (isPaymentApprovalTransportTimeout(error))
433
+ return null;
434
+ throw error;
435
+ })
436
+ : api.getPaymentApproval(state.approval_id, "peek");
437
+ const approval = await fetchApproval;
419
438
  if (approval === null) {
420
439
  return {
421
440
  status: "pending",
@@ -428,7 +447,13 @@ async function readApprovalStatus(api, state, sessionId, waitForSubmission, boun
428
447
  candidate_submitted: false,
429
448
  candidate_kind: state.reviewVerified === true ? "review" : "none",
430
449
  ready_to_charge: false,
431
- next: { tool: "operate_payment_status", session_id: sessionId, wait_seconds: 15 },
450
+ next: {
451
+ tool: "operate_pay",
452
+ session_id: sessionId,
453
+ hint: "The bounded status wait ended before the human responded. Call operate_pay again " +
454
+ "with the same arguments; it resumes this approval, waits server-side, and proceeds " +
455
+ "to charge after approval.",
456
+ },
432
457
  };
433
458
  }
434
459
  const candidateSubmitted = typeof approval.jws === "string" && typeof approval.sealed_card === "string";
@@ -438,6 +463,7 @@ async function readApprovalStatus(api, state, sessionId, waitForSubmission, boun
438
463
  : observedCandidateKind;
439
464
  const readyToCharge = observedCandidateKind === "approval";
440
465
  const expired = approval.status === "expired";
466
+ const terminalWithoutCharge = expired || approval.status === "denied";
441
467
  return {
442
468
  status: expired ? "expired" : approval.status,
443
469
  approval_id: state.approval_id,
@@ -450,7 +476,7 @@ async function readApprovalStatus(api, state, sessionId, waitForSubmission, boun
450
476
  candidate_submitted: candidateSubmitted,
451
477
  candidate_kind: candidateKind,
452
478
  ready_to_charge: readyToCharge,
453
- ...(expired
479
+ ...(terminalWithoutCharge
454
480
  ? {}
455
481
  : readyToCharge
456
482
  ? {
@@ -476,11 +502,11 @@ async function readApprovalStatus(api, state, sessionId, waitForSubmission, boun
476
502
  : candidateKind === "review"
477
503
  ? {
478
504
  next: {
479
- tool: "operate_payment_status",
505
+ tool: "operate_pay",
480
506
  session_id: sessionId,
481
- wait_seconds: 15,
482
507
  hint: "The review signature was verified. Final payment approval is still required; " +
483
- "refresh the approval page if the final prompt is not visible.",
508
+ "refresh the approval page if the final prompt is not visible, then call " +
509
+ "operate_pay once to wait and continue this same approval.",
484
510
  },
485
511
  }
486
512
  : candidateKind === "invalid"
@@ -493,9 +519,10 @@ async function readApprovalStatus(api, state, sessionId, waitForSubmission, boun
493
519
  }
494
520
  : {
495
521
  next: {
496
- tool: "operate_payment_status",
522
+ tool: "operate_pay",
497
523
  session_id: sessionId,
498
- wait_seconds: 15,
524
+ hint: "Call operate_pay again with the same arguments. It resumes this approval " +
525
+ "and waits server-side instead of requiring an agent polling loop.",
499
526
  },
500
527
  }),
501
528
  };
@@ -519,6 +546,8 @@ async function threeDsStatusResult(api, session, state, waitSeconds) {
519
546
  const expiredAtEntry = Date.now() >= state.deadline;
520
547
  const boundMs = expiredAtEntry || waitSeconds <= 0 ? 0 : Math.min(Math.max(waitSeconds * 1000, 1_000), 15_000);
521
548
  const resolution = await browser.waitForThreeDsResolution(boundMs);
549
+ if (resolution === "challenge_pending")
550
+ state.outcome = "three_ds";
522
551
  const mismatch = browser.paymentInstrumentMismatch?.();
523
552
  if (mismatch !== undefined)
524
553
  state.payment_instrument_mismatch ??= mismatch;
@@ -526,7 +555,7 @@ async function threeDsStatusResult(api, session, state, waitSeconds) {
526
555
  const unresolvedPastDeadline = terminalStatus === null && (expiredAtEntry || Date.now() >= state.deadline);
527
556
  if (terminalStatus === null && !unresolvedPastDeadline) {
528
557
  return {
529
- status: "payment_3ds_pending",
558
+ status: state.outcome === "three_ds" ? "payment_3ds_pending" : "payment_outcome_unknown",
530
559
  approval_url: state.approval_url,
531
560
  merchant: state.checkout.merchant,
532
561
  amount_cents: state.checkout.amount_cents,
@@ -537,16 +566,24 @@ async function threeDsStatusResult(api, session, state, waitSeconds) {
537
566
  next: { tool: "operate_payment_status", session_id: session.id, wait_seconds: 15 },
538
567
  };
539
568
  }
540
- const finalStatus = terminalStatus ?? "payment_3ds_unresolved";
569
+ const finalStatus = terminalStatus ??
570
+ (state.outcome === "three_ds" ? "payment_3ds_unresolved" : "payment_outcome_unknown");
541
571
  let auditRecorded = true;
542
572
  if (terminalStatus === null) {
543
- await api.auditPayment({
544
- ...state.checkout,
545
- last4: state.last4,
546
- status: finalStatus,
547
- approval_id: state.approval_id,
548
- ...(state.mandate_id !== undefined ? { mandate_id: state.mandate_id } : {}),
549
- });
573
+ try {
574
+ await api.auditPayment({
575
+ ...state.checkout,
576
+ last4: state.last4,
577
+ status: finalStatus,
578
+ approval_id: state.approval_id,
579
+ ...(state.mandate_id !== undefined ? { mandate_id: state.mandate_id } : {}),
580
+ });
581
+ }
582
+ catch (error) {
583
+ if (state.outcome === "three_ds")
584
+ throw error;
585
+ auditRecorded = false;
586
+ }
550
587
  }
551
588
  else {
552
589
  try {
@@ -562,7 +599,10 @@ async function threeDsStatusResult(api, session, state, waitSeconds) {
562
599
  auditRecorded = false;
563
600
  }
564
601
  }
565
- clearActivePendingThreeDsIfCurrent(state, session);
602
+ const merchantReconciliationRequired = terminalStatus === null && state.outcome === "unknown";
603
+ if (!merchantReconciliationRequired) {
604
+ clearActivePendingThreeDsIfCurrent(state, session);
605
+ }
566
606
  return {
567
607
  status: finalStatus,
568
608
  audit_recorded: auditRecorded,
@@ -576,29 +616,54 @@ async function threeDsStatusResult(api, session, state, waitSeconds) {
576
616
  ...(terminalStatus === null
577
617
  ? {
578
618
  needs_user: {
579
- wall: "3ds",
580
- message: "The 3-D Secure challenge never reached a confirmed outcome within the resumable " +
581
- "window. Check the merchant account directly for whether the order was placed " +
582
- "before retrying — Trusty Squire will not re-release this card without a fresh " +
583
- "approval.",
619
+ wall: state.outcome === "three_ds" ? "3ds" : "merchant_reconciliation",
620
+ message: state.outcome === "three_ds"
621
+ ? "The 3-D Secure challenge never reached a confirmed outcome within the resumable " +
622
+ "window. Check the merchant account directly for whether the order was placed " +
623
+ "before retrying — Trusty Squire will not re-release this card without a fresh " +
624
+ "approval."
625
+ : "The merchant outcome remains unknown. Check the merchant account directly for " +
626
+ "whether the order was placed before retrying; this payment attempt remains " +
627
+ "reserved until the session is closed.",
584
628
  resume: "checkout",
585
629
  },
586
630
  }
587
631
  : {}),
588
632
  };
589
633
  }
590
- // Backs operate_payment_status: an immediate peek (waitSeconds <= 0) never
591
- // blocks, a positive waitSeconds bound-waits (clamped to [1s, 15s] — the
592
- // server's wait-peek window is a fixed ~15s regardless of what's requested,
593
- // and threeDsStatusResult clamps to the same shape for its own live check).
634
+ // Backs operate_payment_status with an immediate peek or one server wait.
594
635
  async function paymentStatusResult(api, session, waitSeconds) {
595
636
  const state = getActivePendingApproval(session);
596
637
  if (state !== null) {
597
638
  if (waitSeconds <= 0) {
598
- return paymentResult(session, await readApprovalStatus(api, state, session.id, false));
639
+ const result = await readApprovalStatus(api, state, session.id, false);
640
+ if (result.status === "denied" || result.status === "expired") {
641
+ completeActivePendingApprovalWithTerminalStatus(state, result.status, session);
642
+ }
643
+ return paymentResult(session, result);
599
644
  }
600
- const boundMs = Math.min(Math.max(waitSeconds * 1000, 1_000), 15_000);
601
- return paymentResult(session, await readApprovalStatus(api, state, session.id, true, boundMs));
645
+ const result = await readApprovalStatus(api, state, session.id, true, Math.min(Math.max(waitSeconds * 1000, 1_000), 15_000));
646
+ if (result.status === "denied" || result.status === "expired") {
647
+ completeActivePendingApprovalWithTerminalStatus(state, result.status, session);
648
+ }
649
+ return paymentResult(session, result);
650
+ }
651
+ const terminalApproval = getTerminalPaymentApproval(session);
652
+ if (terminalApproval !== null) {
653
+ const state = terminalApproval.state;
654
+ return paymentResult(session, {
655
+ status: terminalApproval.terminalStatus,
656
+ approval_id: state.approval_id,
657
+ approval_url: state.approval_url,
658
+ expires_at: new Date(state.deadline).toISOString(),
659
+ phase: state.phase ?? null,
660
+ merchant: state.checkout.merchant,
661
+ amount_cents: state.checkout.amount_cents,
662
+ currency: state.checkout.currency,
663
+ candidate_submitted: false,
664
+ candidate_kind: state.reviewVerified === true ? "review" : "none",
665
+ ready_to_charge: false,
666
+ });
602
667
  }
603
668
  const threeDsState = getActivePendingThreeDs(session);
604
669
  if (threeDsState !== null) {
@@ -608,25 +673,15 @@ async function paymentStatusResult(api, session, waitSeconds) {
608
673
  }
609
674
  const paymentStatusInputSchema = z.object({
610
675
  session_id: z.string().uuid().optional(),
611
- wait_seconds: z.number().int().min(0).max(15).optional(),
676
+ wait_seconds: z.number().int().min(0).max(60).optional(),
612
677
  });
613
678
  export const operatePaymentStatusTool = {
614
679
  name: "operate_payment_status",
615
- description: "Report the status of the addressed session's payment approval currently awaiting " +
616
- "the human's phone tap, if any — started by an operate_pay call that returned approval_pending. " +
617
- "Also covers an already-submitted charge whose 3-D Secure challenge (including a decoupled/" +
618
- "out-of-band app-push) had not resolved when a prior operate_pay call's own wait ended (that " +
619
- 'call returns payment_3ds_required or payment_outcome_unknown with needs_user.wall="3ds" and ' +
620
- "a next hint pointing here) — call this again to keep checking rather than re-calling " +
621
- "operate_pay, which does not resume a post-submit 3DS wait; reports payment_3ds_pending while " +
622
- "still unresolved. Never re-releases the card or creates a new approval. Pass `wait_seconds` " +
623
- "(0-15, default 0) to bound-wait for a change instead of an instant peek; never blocks longer " +
624
- "than that. Never verifies a mandate or opens a card. Only candidate_kind=approval with " +
625
- "ready_to_charge=true is a final authorization; a review candidate still requires final " +
626
- "approval. Preserves any passively observed payment_instrument_mismatch warning from issuer/" +
627
- "app evidence without altering the challenge. When a pending 3-D Secure outcome resolves or " +
628
- "reaches its deadline, this records " +
629
- "a terminal payment audit and clears that session's pending tracking.",
680
+ description: "Read the addressed session's pending approval or already-submitted outcome without opening a " +
681
+ "card, confirming a mandate, or creating another approval. Prefer re-calling operate_pay for a " +
682
+ "pending approval; this tool performs only one server wait. Use it repeatedly only for a " +
683
+ "submitted 3-D Secure or unknown outcome. It reports 3DS only from observed evidence, preserves " +
684
+ "instrument-mismatch warnings, and retains custody until a terminal audit or reconciliation.",
630
685
  inputSchema: paymentStatusInputSchema,
631
686
  jsonInputSchema: {
632
687
  type: "object",
@@ -639,8 +694,8 @@ export const operatePaymentStatusTool = {
639
694
  wait_seconds: {
640
695
  type: "integer",
641
696
  minimum: 0,
642
- maximum: 15,
643
- description: "Upper bound on this call's wait. 0 (default) is an instant peek; 1-15 bound-waits for a change.",
697
+ maximum: 60,
698
+ description: "Upper bound in seconds. Approval status uses one wait of at most 15 seconds; 0 is an instant peek.",
644
699
  },
645
700
  },
646
701
  },
@@ -1 +1 @@
1
- {"version":3,"file":"operate-pay.js","sourceRoot":"","sources":["../../src/tools/operate-pay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operate-pay.js","sourceRoot":"","sources":["../../src/tools/operate-pay.ts"],"names":[],"mappings":"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"}