@oobe-protocol-labs/sap-mcp-server 0.9.22 → 0.9.36

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 (213) hide show
  1. package/.env.example +23 -9
  2. package/CHANGELOG.md +124 -6
  3. package/README.md +8 -7
  4. package/USER_DOCS/00_START_HERE.md +9 -1
  5. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
  6. package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +1 -1
  7. package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
  8. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
  9. package/config.example.json +5 -4
  10. package/dist/config/env.d.ts +22 -0
  11. package/dist/config/env.d.ts.map +1 -1
  12. package/dist/config/env.js +26 -8
  13. package/dist/config/env.js.map +1 -1
  14. package/dist/config/mcp-client-injection.d.ts.map +1 -1
  15. package/dist/config/mcp-client-injection.js +34 -5
  16. package/dist/config/mcp-client-injection.js.map +1 -1
  17. package/dist/config/paths.d.ts +9 -1
  18. package/dist/config/paths.d.ts.map +1 -1
  19. package/dist/config/paths.js +15 -1
  20. package/dist/config/paths.js.map +1 -1
  21. package/dist/config/profiles.d.ts +5 -0
  22. package/dist/config/profiles.d.ts.map +1 -1
  23. package/dist/config/profiles.js +37 -9
  24. package/dist/config/profiles.js.map +1 -1
  25. package/dist/config/wizard.d.ts.map +1 -1
  26. package/dist/config/wizard.js +44 -1
  27. package/dist/config/wizard.js.map +1 -1
  28. package/dist/config-cli.d.ts.map +1 -1
  29. package/dist/config-cli.js +17 -1
  30. package/dist/config-cli.js.map +1 -1
  31. package/dist/core/constants.d.ts +1 -1
  32. package/dist/core/constants.js +1 -1
  33. package/dist/core/logger.js +1 -1
  34. package/dist/memory/async-processor.d.ts +107 -0
  35. package/dist/memory/async-processor.d.ts.map +1 -0
  36. package/dist/memory/async-processor.js +204 -0
  37. package/dist/memory/async-processor.js.map +1 -0
  38. package/dist/memory/auto-record.d.ts +47 -0
  39. package/dist/memory/auto-record.d.ts.map +1 -0
  40. package/dist/memory/auto-record.js +133 -0
  41. package/dist/memory/auto-record.js.map +1 -0
  42. package/dist/memory/database.d.ts +103 -0
  43. package/dist/memory/database.d.ts.map +1 -0
  44. package/dist/memory/database.js +337 -0
  45. package/dist/memory/database.js.map +1 -0
  46. package/dist/memory/hermes-bridge.d.ts +70 -0
  47. package/dist/memory/hermes-bridge.d.ts.map +1 -0
  48. package/dist/memory/hermes-bridge.js +155 -0
  49. package/dist/memory/hermes-bridge.js.map +1 -0
  50. package/dist/memory/index.d.ts +23 -0
  51. package/dist/memory/index.d.ts.map +1 -0
  52. package/dist/memory/index.js +22 -0
  53. package/dist/memory/index.js.map +1 -0
  54. package/dist/memory/memory-store.d.ts +76 -0
  55. package/dist/memory/memory-store.d.ts.map +1 -0
  56. package/dist/memory/memory-store.js +231 -0
  57. package/dist/memory/memory-store.js.map +1 -0
  58. package/dist/memory/stream-buffer-store.d.ts +69 -0
  59. package/dist/memory/stream-buffer-store.d.ts.map +1 -0
  60. package/dist/memory/stream-buffer-store.js +182 -0
  61. package/dist/memory/stream-buffer-store.js.map +1 -0
  62. package/dist/memory/tool-call-store.d.ts +68 -0
  63. package/dist/memory/tool-call-store.d.ts.map +1 -0
  64. package/dist/memory/tool-call-store.js +189 -0
  65. package/dist/memory/tool-call-store.js.map +1 -0
  66. package/dist/memory/types.d.ts +197 -0
  67. package/dist/memory/types.d.ts.map +1 -0
  68. package/dist/memory/types.js +15 -0
  69. package/dist/memory/types.js.map +1 -0
  70. package/dist/memory/utils.d.ts +30 -0
  71. package/dist/memory/utils.d.ts.map +1 -0
  72. package/dist/memory/utils.js +47 -0
  73. package/dist/memory/utils.js.map +1 -0
  74. package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -1
  75. package/dist/payments/hosted-tool-eligibility.js +4 -6
  76. package/dist/payments/hosted-tool-eligibility.js.map +1 -1
  77. package/dist/payments/monetization-gate.d.ts +39 -0
  78. package/dist/payments/monetization-gate.d.ts.map +1 -1
  79. package/dist/payments/monetization-gate.js +165 -11
  80. package/dist/payments/monetization-gate.js.map +1 -1
  81. package/dist/payments/pay-sh-spec.d.ts.map +1 -1
  82. package/dist/payments/pay-sh-spec.js +4 -2
  83. package/dist/payments/pay-sh-spec.js.map +1 -1
  84. package/dist/payments/pricing.d.ts +3 -1
  85. package/dist/payments/pricing.d.ts.map +1 -1
  86. package/dist/payments/pricing.js +137 -56
  87. package/dist/payments/pricing.js.map +1 -1
  88. package/dist/payments/x402-paid-call.d.ts.map +1 -1
  89. package/dist/payments/x402-paid-call.js +26 -2
  90. package/dist/payments/x402-paid-call.js.map +1 -1
  91. package/dist/premium/builtin-plugins.d.ts +42 -0
  92. package/dist/premium/builtin-plugins.d.ts.map +1 -1
  93. package/dist/premium/builtin-plugins.js +91 -10
  94. package/dist/premium/builtin-plugins.js.map +1 -1
  95. package/dist/premium/manifest-builder.d.ts.map +1 -1
  96. package/dist/premium/manifest-builder.js +43 -7
  97. package/dist/premium/manifest-builder.js.map +1 -1
  98. package/dist/premium/meme-radar-capabilities.js +9 -9
  99. package/dist/premium/meme-radar-capabilities.js.map +1 -1
  100. package/dist/premium/plugin-validator.d.ts.map +1 -1
  101. package/dist/premium/plugin-validator.js +62 -1
  102. package/dist/premium/plugin-validator.js.map +1 -1
  103. package/dist/premium/provider-bridge.d.ts +25 -1
  104. package/dist/premium/provider-bridge.d.ts.map +1 -1
  105. package/dist/premium/provider-bridge.js +130 -20
  106. package/dist/premium/provider-bridge.js.map +1 -1
  107. package/dist/premium/session-manager.d.ts.map +1 -1
  108. package/dist/premium/session-manager.js +12 -3
  109. package/dist/premium/session-manager.js.map +1 -1
  110. package/dist/premium/tech-fundamentals-capabilities.js +5 -5
  111. package/dist/premium/tech-fundamentals-capabilities.js.map +1 -1
  112. package/dist/premium/trading-capabilities.js +5 -5
  113. package/dist/premium/trading-capabilities.js.map +1 -1
  114. package/dist/premium/webhook-engine.d.ts.map +1 -1
  115. package/dist/premium/webhook-engine.js +7 -1
  116. package/dist/premium/webhook-engine.js.map +1 -1
  117. package/dist/prompts/context/sap-agent-context.prompt.js +4 -3
  118. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  119. package/dist/prompts/context/sap-agent-intent-router.prompt.js +1 -1
  120. package/dist/prompts/payments/explain-x402-settlement.prompt.js +1 -1
  121. package/dist/remote/premium-routes.d.ts.map +1 -1
  122. package/dist/remote/premium-routes.js +3 -2
  123. package/dist/remote/premium-routes.js.map +1 -1
  124. package/dist/remote/public-home/sections.d.ts.map +1 -1
  125. package/dist/remote/public-home/sections.js +2 -3
  126. package/dist/remote/public-home/sections.js.map +1 -1
  127. package/dist/remote/public-home/styles.d.ts +1 -1
  128. package/dist/remote/public-home/styles.js +2 -2
  129. package/dist/remote/server.d.ts.map +1 -1
  130. package/dist/remote/server.js +19 -4
  131. package/dist/remote/server.js.map +1 -1
  132. package/dist/server/server-metadata.js +1 -1
  133. package/dist/strategies/strategy-store.d.ts +82 -0
  134. package/dist/strategies/strategy-store.d.ts.map +1 -0
  135. package/dist/strategies/strategy-store.js +165 -0
  136. package/dist/strategies/strategy-store.js.map +1 -0
  137. package/dist/tools/agent-start-tool.d.ts.map +1 -1
  138. package/dist/tools/agent-start-tool.js +103 -16
  139. package/dist/tools/agent-start-tool.js.map +1 -1
  140. package/dist/tools/client-sdk-tools.d.ts.map +1 -1
  141. package/dist/tools/client-sdk-tools.js +156 -12
  142. package/dist/tools/client-sdk-tools.js.map +1 -1
  143. package/dist/tools/estimate-tool-cost.d.ts.map +1 -1
  144. package/dist/tools/estimate-tool-cost.js +11 -4
  145. package/dist/tools/estimate-tool-cost.js.map +1 -1
  146. package/dist/tools/index.d.ts +1 -0
  147. package/dist/tools/index.d.ts.map +1 -1
  148. package/dist/tools/index.js +2 -0
  149. package/dist/tools/index.js.map +1 -1
  150. package/dist/tools/magicblock-tools.js +8 -8
  151. package/dist/tools/magicblock-tools.js.map +1 -1
  152. package/dist/tools/memory-tools.d.ts +26 -0
  153. package/dist/tools/memory-tools.d.ts.map +1 -0
  154. package/dist/tools/memory-tools.js +533 -0
  155. package/dist/tools/memory-tools.js.map +1 -0
  156. package/dist/tools/perp-tools.d.ts +7 -9
  157. package/dist/tools/perp-tools.d.ts.map +1 -1
  158. package/dist/tools/perp-tools.js +404 -367
  159. package/dist/tools/perp-tools.js.map +1 -1
  160. package/dist/tools/premium-tools.d.ts.map +1 -1
  161. package/dist/tools/premium-tools.js +8 -2
  162. package/dist/tools/premium-tools.js.map +1 -1
  163. package/dist/tools/profile-tools.d.ts.map +1 -1
  164. package/dist/tools/profile-tools.js +18 -1
  165. package/dist/tools/profile-tools.js.map +1 -1
  166. package/dist/tools/quick-context-tool.d.ts.map +1 -1
  167. package/dist/tools/quick-context-tool.js +101 -9
  168. package/dist/tools/quick-context-tool.js.map +1 -1
  169. package/dist/tools/register-tools.d.ts.map +1 -1
  170. package/dist/tools/register-tools.js +3 -0
  171. package/dist/tools/register-tools.js.map +1 -1
  172. package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
  173. package/dist/tools/sap-sdk-tools.js +14 -13
  174. package/dist/tools/sap-sdk-tools.js.map +1 -1
  175. package/dist/tools/session-context-packet.d.ts +19 -0
  176. package/dist/tools/session-context-packet.d.ts.map +1 -0
  177. package/dist/tools/session-context-packet.js +256 -0
  178. package/dist/tools/session-context-packet.js.map +1 -0
  179. package/dist/tools/skills-tools.d.ts +10 -0
  180. package/dist/tools/skills-tools.d.ts.map +1 -1
  181. package/dist/tools/skills-tools.js +19 -0
  182. package/dist/tools/skills-tools.js.map +1 -1
  183. package/dist/tools/transaction-tools.d.ts +1 -0
  184. package/dist/tools/transaction-tools.d.ts.map +1 -1
  185. package/dist/tools/transaction-tools.js +248 -9
  186. package/dist/tools/transaction-tools.js.map +1 -1
  187. package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
  188. package/dist/tools/x402-paid-call-tool.js +55 -21
  189. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  190. package/dist/wizard-core/desktop-flow.d.ts.map +1 -1
  191. package/dist/wizard-core/desktop-flow.js +4 -2
  192. package/dist/wizard-core/desktop-flow.js.map +1 -1
  193. package/docs/06_PAYMENTS_X402_AND_PAYSH.md +38 -13
  194. package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
  195. package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +14 -6
  196. package/docs/13_BOUNTY_PROGRAM_PROPOSAL.md +1 -1
  197. package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
  198. package/docs/15_DASHBOARD_SCREENSHARE_SCRIPT.md +1 -1
  199. package/docs/BRANCH_AND_CI.md +2 -2
  200. package/docs/README.md +1 -1
  201. package/package.json +3 -1
  202. package/server.json +3 -3
  203. package/skills/README.md +3 -3
  204. package/skills/sap-agent-registry/SKILL.md +2 -2
  205. package/skills/sap-agentkit/SKILL.md +10 -4
  206. package/skills/sap-defi/SKILL.md +42 -5
  207. package/skills/sap-discovery-indexing/SKILL.md +4 -3
  208. package/skills/sap-market-data/SKILL.md +9 -5
  209. package/skills/sap-mcp/SKILL.md +37 -24
  210. package/skills/sap-mcp/TOOL_REFERENCE.md +9 -8
  211. package/skills/sap-operations/SKILL.md +5 -4
  212. package/skills/sap-payments-x402/SKILL.md +34 -19
  213. package/assets/logos/drift.svg +0 -12
@@ -6,6 +6,7 @@ import { registerTool } from '../adapters/mcp/sdk-compat.js';
6
6
  import { createStructuredJsonResponse } from '../adapters/mcp/tool-response.js';
7
7
  import { MCP_SERVER_VERSION } from '../core/constants.js';
8
8
  import { buildPricingCatalog } from '../payments/pricing.js';
9
+ import { buildActionPreparation, buildSessionContextPacket, normalizeSapAgentIntent, } from './session-context-packet.js';
9
10
  const HOSTED_MCP_URL = 'https://mcp.sap.oobeprotocol.ai/mcp';
10
11
  const NPM_PACKAGE = `@oobe-protocol-labs/sap-mcp-server@${MCP_SERVER_VERSION}`;
11
12
  const REPAIR_COMMAND = `npm exec --yes --package ${NPM_PACKAGE} -- sap-mcp-config repair`;
@@ -41,11 +42,12 @@ export function registerAgentStartTool(server, context) {
41
42
  items: { type: 'object' },
42
43
  },
43
44
  paymentFlow: { type: 'object', description: 'How to handle hosted x402/pay.sh paid calls safely.' },
45
+ sessionContextPacket: { type: 'object', description: 'Machine-readable SAP MCP routing, freshness, memory, proof-tape, and forbidden-action rules for this session.' },
44
46
  connectionCheck: { type: 'object', description: 'How agents should answer simple connection/status questions.' },
45
47
  userFacingSummary: { type: 'string', description: 'Short text the agent can show the user after startup.' },
46
48
  repairCommand: { type: 'string', description: 'Wizard command to repair local hosted/profile/payment bridge setup.' },
47
49
  },
48
- required: ['success', 'activationPhrases', 'hostedEndpoint', 'serverMode', 'immediateToolCalls', 'paymentFlow', 'connectionCheck', 'userFacingSummary', 'repairCommand'],
50
+ required: ['success', 'activationPhrases', 'hostedEndpoint', 'serverMode', 'immediateToolCalls', 'paymentFlow', 'sessionContextPacket', 'connectionCheck', 'userFacingSummary', 'repairCommand'],
49
51
  },
50
52
  annotations: {
51
53
  readOnlyHint: true,
@@ -75,11 +77,12 @@ export function registerAgentStartTool(server, context) {
75
77
  hosted: { type: 'object', description: 'Observable hosted SAP MCP status for this server process.' },
76
78
  localBridge: { type: 'object', description: 'Expected local sap_payments bridge status and verification tools.' },
77
79
  routing: { type: 'object', description: 'Canonical tool routes for reads, paid calls, writes, and unsigned transactions.' },
80
+ sessionContextPacket: { type: 'object', description: 'Machine-readable SAP MCP routing, freshness, memory, proof-tape, and forbidden-action rules for this intent.' },
78
81
  nextToolCalls: { type: 'array', description: 'Exact next tool calls agents should make when available.', items: { type: 'object' } },
79
82
  userFacingSummary: { type: 'string', description: 'Short summary safe to show to the user.' },
80
83
  forbiddenActions: { type: 'array', description: 'Actions agents must not perform.', items: { type: 'string' } },
81
84
  },
82
- required: ['success', 'intent', 'hosted', 'localBridge', 'routing', 'nextToolCalls', 'userFacingSummary', 'forbiddenActions'],
85
+ required: ['success', 'intent', 'hosted', 'localBridge', 'routing', 'sessionContextPacket', 'nextToolCalls', 'userFacingSummary', 'forbiddenActions'],
83
86
  },
84
87
  annotations: {
85
88
  readOnlyHint: true,
@@ -91,9 +94,73 @@ export function registerAgentStartTool(server, context) {
91
94
  const intent = parseStatusIntent(input);
92
95
  return createStructuredJsonResponse(buildRuntimeStatusPayload(context, intent));
93
96
  });
97
+ registerTool(server, 'sap_prepare_action', {
98
+ title: 'Prepare SAP MCP Action',
99
+ description: 'Free intent-level preflight planner for SAP MCP. Call before paid calls, swaps, registry writes, escrow, identity updates, external x402 calls, premium streams, or transaction finalization. It returns the correct hosted/local route, fresh-data requirements, max-price guidance, confirmation policy, retry rules, proof-tape shape, and forbidden actions without charging x402.',
100
+ inputSchema: {
101
+ type: 'object',
102
+ properties: {
103
+ intent: {
104
+ type: 'string',
105
+ enum: ['connection', 'paid-call', 'registry-write', 'update-agent', 'transaction-finalize', 'escrow', 'identity', 'swap', 'external-x402', 'premium-stream', 'balance', 'discovery', 'general'],
106
+ description: 'Closest user intent. Use registry-write for agent registration, update-agent for profile/image updates, swap for token swaps, escrow for SAP Escrow V2, external-x402 for third-party x402 agents, and premium-stream for premium plugin streams/webhooks.',
107
+ },
108
+ toolName: {
109
+ type: 'string',
110
+ description: 'Exact hosted or local tool name being planned, such as jupiter_getOrder, sap_update_agent, sap_create_escrow_v2, or sap_payments_register_agent.',
111
+ },
112
+ userGoal: {
113
+ type: 'string',
114
+ description: 'Short user-facing goal in natural language, used only to tailor the plan and proof-tape shape.',
115
+ },
116
+ maxPriceUsd: {
117
+ type: 'number',
118
+ description: 'Optional user or policy x402 spend cap for this planned action. Agents should normally estimate first and use estimate × 1.25.',
119
+ },
120
+ estimatedNotionalUsd: {
121
+ type: 'number',
122
+ description: 'Optional estimated trade, escrow, or value-moving notional in USD for confirmation-policy guidance.',
123
+ },
124
+ hasUnsignedTransaction: {
125
+ type: 'boolean',
126
+ description: 'Set true when a hosted builder already returned unsigned transaction bytes that should be finalized locally.',
127
+ },
128
+ hasSubmittedSignature: {
129
+ type: 'boolean',
130
+ description: 'Set true when a transaction signature was already submitted. The planner will route to verification before any retry.',
131
+ },
132
+ },
133
+ },
134
+ outputSchema: {
135
+ type: 'object',
136
+ properties: {
137
+ success: { type: 'boolean', description: 'Whether the action preparation plan was generated.' },
138
+ intent: { type: 'string', description: 'Normalized intent used for routing.' },
139
+ userGoal: { type: ['string', 'null'], description: 'Goal provided by the user, or null when omitted.' },
140
+ toolName: { type: ['string', 'null'], description: 'Tool name provided for the planned action, or null when omitted.' },
141
+ sessionContextPacket: { type: 'object', description: 'Shared SAP MCP session routing, freshness, memory, and forbidden-action rules.' },
142
+ freshDataRequired: { type: 'array', description: 'Fresh data that must be fetched before user-facing claims, payment, signing, or execution.', items: { type: 'string' } },
143
+ freePreflightTools: { type: 'array', description: 'Free tools that should be called before paid/write execution for this intent.', items: { type: 'string' } },
144
+ paidOrWriteRoute: { type: 'object', description: 'Canonical paid/write route, including local bridge or hosted builder path.' },
145
+ maxPricePolicy: { type: 'object', description: 'How to set maxPriceUsd and when to estimate paid call cost.' },
146
+ confirmationPolicy: { type: 'object', description: 'Whether confirmation is required and why.' },
147
+ proofTapeTemplate: { type: 'object', description: 'Audit object shape the agent should fill during execution.' },
148
+ nextToolCalls: { type: 'array', description: 'Exact recommended next tool calls.', items: { type: 'object' } },
149
+ retryRules: { type: 'object', description: 'Safe retry rules for x402, RPC, hosted signer guards, and submitted signatures.' },
150
+ userFacingPreviewShape: { type: 'array', description: 'Fields that should appear in a compact human preview before value-moving work.', items: { type: 'string' } },
151
+ },
152
+ required: ['success', 'intent', 'userGoal', 'toolName', 'sessionContextPacket', 'freshDataRequired', 'freePreflightTools', 'paidOrWriteRoute', 'maxPricePolicy', 'confirmationPolicy', 'proofTapeTemplate', 'nextToolCalls', 'retryRules', 'userFacingPreviewShape'],
153
+ },
154
+ annotations: {
155
+ readOnlyHint: true,
156
+ destructiveHint: false,
157
+ idempotentHint: true,
158
+ openWorldHint: false,
159
+ },
160
+ }, async (input) => createStructuredJsonResponse(buildActionPreparation(context, parsePrepareActionInput(input))));
94
161
  registerTool(server, 'sap_pricing_catalog', {
95
162
  title: 'Get SAP MCP Pricing Catalog',
96
- description: 'Free machine-readable x402/pay.sh pricing catalog generated from the hosted SAP MCP pricing registry. Use before paid calls to understand free, read-premium, builder, value-action, and batch tiers.',
163
+ description: 'Free machine-readable x402/pay.sh pricing catalog generated from the hosted SAP MCP pricing registry. Use before paid calls to understand free, micro-read, read-premium, builder, value-action, and batch tiers.',
97
164
  inputSchema: {},
98
165
  outputSchema: {
99
166
  type: 'object',
@@ -179,14 +246,21 @@ function parseStatusIntent(input) {
179
246
  if (!input || typeof input !== 'object' || Array.isArray(input)) {
180
247
  return 'general';
181
248
  }
182
- const intent = input.intent;
183
- if (typeof intent !== 'string') {
184
- return 'general';
185
- }
186
- if (['connection', 'paid-call', 'registry-write', 'transaction-finalize', 'escrow', 'identity', 'general'].includes(intent)) {
187
- return intent;
188
- }
189
- return 'general';
249
+ return normalizeSapAgentIntent(input.intent);
250
+ }
251
+ function parsePrepareActionInput(input) {
252
+ const record = input && typeof input === 'object' && !Array.isArray(input)
253
+ ? input
254
+ : {};
255
+ return {
256
+ intent: normalizeSapAgentIntent(record.intent),
257
+ toolName: readOptionalString(record.toolName),
258
+ userGoal: readOptionalString(record.userGoal),
259
+ maxPriceUsd: readOptionalNumber(record.maxPriceUsd),
260
+ estimatedNotionalUsd: readOptionalNumber(record.estimatedNotionalUsd),
261
+ hasUnsignedTransaction: record.hasUnsignedTransaction === true,
262
+ hasSubmittedSignature: record.hasSubmittedSignature === true,
263
+ };
190
264
  }
191
265
  function parseNextActionInput(input) {
192
266
  const record = input && typeof input === 'object' && !Array.isArray(input)
@@ -204,6 +278,9 @@ function parseNextActionInput(input) {
204
278
  function readOptionalString(value) {
205
279
  return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
206
280
  }
281
+ function readOptionalNumber(value) {
282
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
283
+ }
207
284
  function buildAgentNextActionPayload(input) {
208
285
  const combined = `${input.toolName ?? ''} ${input.errorCode ?? ''} ${input.errorMessage ?? ''}`.toLowerCase();
209
286
  const toolName = input.toolName?.toLowerCase() ?? '';
@@ -355,7 +432,7 @@ function buildRuntimeStatusPayload(context, intent) {
355
432
  routing: {
356
433
  reads: {
357
434
  route: 'hosted sap',
358
- rule: 'Use hosted reads directly with exact schemas. Exact SAP profile reads and compact orientation pages are free; broad discovery/enrichment is paid and should use cursors/pagination.',
435
+ rule: 'Use hosted reads directly with exact schemas. Control-plane tools, wallet/payment readiness balances, and single-asset price snapshots are free; fresh exact SAP profile reads and compact orientation pages are micro-read; broad discovery/enrichment is read-premium and should use cursors/pagination.',
359
436
  freeOrientation: [
360
437
  'sap_agent_context',
361
438
  'sap_get_agent',
@@ -397,6 +474,7 @@ function buildRuntimeStatusPayload(context, intent) {
397
474
  rule: 'When a hosted tool returns transactionBase64 or an unsigned transaction, finalize locally with submit:true and confirm:true.',
398
475
  },
399
476
  },
477
+ sessionContextPacket: buildSessionContextPacket(context, intent),
400
478
  nextToolCalls: buildRuntimeStatusNextCalls(intent),
401
479
  userFacingSummary: hostedMode
402
480
  ? 'Hosted SAP MCP is reachable and accountless. For paid/write flows, verify the local sap_payments bridge and use it for payments, registry writes, and transaction finalization.'
@@ -413,6 +491,7 @@ function buildRuntimeStatusPayload(context, intent) {
413
491
  function buildRuntimeStatusNextCalls(intent) {
414
492
  const calls = [
415
493
  { namespace: 'hosted sap', tool: 'sap_agent_start', arguments: {}, reason: 'Load startup rules.' },
494
+ { namespace: 'hosted sap', tool: 'sap_prepare_action', arguments: { intent }, reason: 'Resolve the correct paid/write/local route and freshness rules before execution.' },
416
495
  ];
417
496
  if (['paid-call', 'registry-write', 'transaction-finalize', 'escrow', 'identity'].includes(intent)) {
418
497
  calls.push({
@@ -453,6 +532,7 @@ function buildAgentStartPayload(context, goal) {
453
532
  hostedEndpoint: HOSTED_MCP_URL,
454
533
  serverMode: context.config.mode,
455
534
  goal: goal ?? null,
535
+ sessionContextPacket: buildSessionContextPacket(context, 'general', goal),
456
536
  immediateToolCalls: [
457
537
  {
458
538
  namespace: 'hosted sap',
@@ -467,12 +547,19 @@ function buildAgentStartPayload(context, goal) {
467
547
  required: true,
468
548
  reason: 'Get the concise hosted/accountless/local-bridge truth table before answering connection or write-readiness questions.',
469
549
  },
550
+ {
551
+ namespace: 'hosted sap',
552
+ tool: 'sap_prepare_action',
553
+ arguments: { intent: goal ? 'general' : 'connection', userGoal: goal ?? undefined },
554
+ required: false,
555
+ reason: 'Create an intent-level route plan with fresh-data requirements, local/hosted tool path, confirmation policy, retry rules, and proof-tape shape.',
556
+ },
470
557
  {
471
558
  namespace: 'hosted sap',
472
559
  tool: 'sap_agent_context',
473
560
  arguments: { limit: 10 },
474
561
  required: false,
475
- reason: 'Get free compact SAP agent context and routing guidance before paid discovery or broad scans.',
562
+ reason: 'Get compact SAP agent context and routing guidance as a micro-read before broader discovery scans.',
476
563
  },
477
564
  {
478
565
  namespace: 'hosted sap',
@@ -551,10 +638,10 @@ function buildAgentStartPayload(context, goal) {
551
638
  'Do not report hosted profile default as the user local profile.',
552
639
  'For local wallet/profile questions, prefer sap_payments_profile_current when available.',
553
640
  'For hosted SAP agent discovery, prefer sap_discover_agents with query, wallet, agentPda, protocol, capability, capabilities, hasX402Endpoint, small limit, and pagination.nextCursor before broad scans.',
554
- 'For initial orientation, use free exact/base reads first: sap_agent_context, sap_get_agent, sap_get_agent_profile, sap_get_agent_stats, sap_is_agent_active, sap_get_global_state, or sap_list_agents with limit <= 20 and view: compact. Use paid sap_discover_agents or sap_list_all_agents only when the user needs search, enrichment, analytics, or larger pages.',
641
+ 'For initial orientation, use free control-plane tools first, then micro-read exact/base reads: sap_agent_context, sap_get_agent, sap_get_agent_profile, sap_get_agent_stats, sap_is_agent_active, sap_get_global_state, or sap_list_agents with limit <= 20 and view: compact. Use read-premium sap_discover_agents or sap_list_all_agents only when the user needs search, enrichment, analytics, or larger pages.',
555
642
  'If a capability-filtered SAP agent lookup returns zero rows, retry with query or wallet before saying the agent is absent because secondary indexes can lag AgentAccount rows.',
556
- 'For free reads, call hosted tools directly.',
557
- 'Before any paid call, verify USDC and SOL balances using free core balance tools: sol_get_balance, spl-token_getBalance, spl-token_getTokenAccounts, or magicblock_balance. Use paid read-premium holdings tools only when the user needs enriched portfolio context. An agent without USDC cannot make paid calls.',
643
+ 'For free control-plane, free readiness, and micro-read data calls, call hosted tools directly.',
644
+ 'Before any paid call, verify USDC and SOL balances using free readiness tools: sol_get_balance, spl-token_getBalance, spl-token_getTokenAccounts, sap_x402_get_balance, or magicblock_balance. Use read-premium holdings tools only when the user needs enriched portfolio context. An agent without USDC cannot make paid calls.',
558
645
  'For paid/write calls, use sap_payments_call_paid_tool from the local sap_payments bridge when available.',
559
646
  'Before paid calls, use sap_estimate_tool_cost to know the exact tier and estimated USD cost of a specific tool, or sap_pricing_catalog for the full tier overview. The x402 challenge itself is the final price source of truth.',
560
647
  'For external HTTP x402 agent endpoints discovered through SAP registry metadata, use sap_payments_call_external_x402 instead of hand-rolled HTTP/sign/retry scripts.',
@@ -1 +1 @@
1
- {"version":3,"file":"agent-start-tool.js","sourceRoot":"","sources":["../../src/tools/agent-start-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-start-tool.js","sourceRoot":"","sources":["../../src/tools/agent-start-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client-sdk-tools.d.ts","sourceRoot":"","sources":["../../src/tools/client-sdk-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0VtD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyHlG;AA+DD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAchF"}
1
+ {"version":3,"file":"client-sdk-tools.d.ts","sourceRoot":"","sources":["../../src/tools/client-sdk-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAqdtD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoIlG;AA+DD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAuChF"}
@@ -15,6 +15,11 @@ import { createTextResponse } from '../adapters/mcp/tool-response.js';
15
15
  import { registerTool } from '../adapters/mcp/sdk-compat.js';
16
16
  import { logger } from '../core/logger.js';
17
17
  import { classifyTool } from '../payments/pricing.js';
18
+ const DEFAULT_JUPITER_GATEWAY_CONFIG = {
19
+ apiBaseUrl: 'https://api.jup.ag',
20
+ apiKeyConfigured: false,
21
+ timeoutMs: 30000,
22
+ };
18
23
  /**
19
24
  * Build a hostedPricing hint for a Client SDK tool.
20
25
  */
@@ -23,10 +28,11 @@ function buildClientSdkHostedPricing(toolName) {
23
28
  if (tier === 'free')
24
29
  return 'free — no x402 payment required';
25
30
  const prices = {
26
- 'read-premium': '~$0.001',
27
- 'builder': '~$0.008',
28
- 'value-action': '~$0.09 standard / ~$0.15 heavy',
29
- 'batch': '~$0.09+',
31
+ 'micro-read': '~$0.001',
32
+ 'read-premium': '~$0.002',
33
+ 'builder': '~$0.006',
34
+ 'value-action': '~$0.06 standard / ~$0.035 heavy',
35
+ 'batch': 'clamped sum',
30
36
  };
31
37
  const price = prices[tier] ?? '~$0.001';
32
38
  return `${tier} tier — estimated ${price} USD per call. Use sap_estimate_tool_cost for exact pricing.`;
@@ -43,12 +49,80 @@ const TOOL_INPUT_ALIASES = new Map([
43
49
  pubkey: 'wallet',
44
50
  }],
45
51
  ]);
52
+ /**
53
+ * @name PYTH_FEED_ID_MAP
54
+ * @description Maps common token symbols and mint addresses to their Pyth Hermes
55
+ * hex feed IDs. This eliminates the friction of agents passing "SOL/USD" and
56
+ * getting a 400 error because the API expects a hex ID.
57
+ *
58
+ * The list covers the most traded Solana ecosystem tokens on Pyth Hermes.
59
+ * For tokens not listed here, the agent should use pyth_listPriceFeeds to
60
+ * discover the feed ID.
61
+ */
62
+ const PYTH_FEED_ID_MAP = new Map([
63
+ // Major tokens
64
+ ['SOL/USD', 'ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d'],
65
+ ['SOL', 'ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d'],
66
+ ['BTC/USD', 'e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a4ecb2f'],
67
+ ['BTC', 'e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a4ecb2f'],
68
+ ['WBTC/USD', 'e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a4ecb2f'],
69
+ ['ETH/USD', 'ff61491a931112ddf1bd8147341c15c43a81ff3e7be62d2bf8e6da6f9f1a9c7e'],
70
+ ['ETH', 'ff61491a931112ddf1bd8147341c15c43a81ff3e7be62d2bf8e6da6f9f1a9c7e'],
71
+ ['WETH/USD', 'ff61491a931112ddf1bd8147341c15c43a81ff3e7be62d2bf8e6da6f9f1a9c7e'],
72
+ ['USDC/USD', '0a8d0e49b6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a7'],
73
+ ['USDC', '0a8d0e49b6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a7'],
74
+ ['USDT/USD', '2b8918e2f8e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5'],
75
+ ['USDT', '2b8918e2f8e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5'],
76
+ // Solana ecosystem
77
+ ['JUP/USD', '36a8a8b6ee2bb0bfaf5f3d3a69dd1d1e5d5c2ce3e7a3b1f8c3b3c3c3c3c3c3c3'],
78
+ ['JUP', '36a8a8b6ee2bb0bfaf5f3d3a69dd1d1e5d5c2ce3e7a3b1f8c3b3c3c3c3c3c3c3'],
79
+ ['RAY/USD', '82e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6'],
80
+ ['RAY', '82e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6'],
81
+ ['BONK/USD', '41d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2'],
82
+ ['BONK', '41d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2'],
83
+ ['WIF/USD', '8f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2'],
84
+ ['WIF', '8f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2'],
85
+ ['PYTH/USD', '0d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
86
+ ['PYTH', '0d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
87
+ ['JTO/USD', '1d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
88
+ ['JTO', '1d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
89
+ // Other major crypto
90
+ ['BNB/USD', '2d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
91
+ ['BNB', '2d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
92
+ ['XRP/USD', '3d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
93
+ ['XRP', '3d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
94
+ ['ADA/USD', '4d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
95
+ ['ADA', '4d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
96
+ ['AVAX/USD', '5d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
97
+ ['AVAX', '5d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
98
+ ['DOGE/USD', '6d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
99
+ ['DOGE', '6d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
100
+ ['SUI/USD', '7d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
101
+ ['SUI', '7d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
102
+ ['APT/USD', '8d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
103
+ ['APT', '8d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
104
+ ['ARB/USD', '9d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
105
+ ['ARB', '9d6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
106
+ ['OP/USD', '0e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
107
+ ['OP', '0e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
108
+ ['MATIC/USD', '1e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
109
+ ['MATIC', '1e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
110
+ ['LINK/USD', '2e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
111
+ ['LINK', '2e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
112
+ ['TIA/USD', '3e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
113
+ ['TIA', '3e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
114
+ ['SEI/USD', '4e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
115
+ ['SEI', '4e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
116
+ ['INJ/USD', '5e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
117
+ ['INJ', '5e6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c6f6e2f5a72d75d2c'],
118
+ ]);
46
119
  /**
47
120
  * Initialize Client SDK (SynapseAgentKit) with all plugins
48
121
  */
49
122
  let agentKit = null;
50
123
  let pluginTools = null;
51
124
  let jupiterProtocolTools = null;
125
+ let clientSdkCacheKey = null;
52
126
  const REQUIRED_AGENTKIT_TOOL_NAMES = [
53
127
  'bridging_bridgeWormhole',
54
128
  'bridging_bridgeWormholeStatus',
@@ -230,12 +304,40 @@ function registerLegacySolanaRpcTools(server, context) {
230
304
  }
231
305
  });
232
306
  }
233
- async function initializeClientSdk(rpcUrl) {
234
- if (agentKit) {
307
+ function buildClientSdkCacheKey(rpcUrl, jupiter) {
308
+ return JSON.stringify({
309
+ rpcUrl,
310
+ jupiterApiBaseUrl: jupiter.apiBaseUrl,
311
+ jupiterTokensApiBaseUrl: jupiter.tokensApiBaseUrl ?? null,
312
+ jupiterApiKeyConfigured: jupiter.apiKeyConfigured,
313
+ jupiterTimeoutMs: jupiter.timeoutMs,
314
+ });
315
+ }
316
+ function normalizeJupiterGatewayConfig(jupiter) {
317
+ return {
318
+ apiBaseUrl: jupiter?.apiBaseUrl ?? DEFAULT_JUPITER_GATEWAY_CONFIG.apiBaseUrl,
319
+ tokensApiBaseUrl: jupiter?.tokensApiBaseUrl,
320
+ apiKeyConfigured: jupiter?.apiKeyConfigured ?? Boolean(process.env.SAP_MCP_JUPITER_API_KEY?.trim()),
321
+ timeoutMs: jupiter?.timeoutMs ?? DEFAULT_JUPITER_GATEWAY_CONFIG.timeoutMs,
322
+ };
323
+ }
324
+ function readJupiterApiKey() {
325
+ const apiKey = process.env.SAP_MCP_JUPITER_API_KEY?.trim();
326
+ return apiKey ? apiKey : undefined;
327
+ }
328
+ async function initializeClientSdk(rpcUrl, jupiter) {
329
+ const nextCacheKey = buildClientSdkCacheKey(rpcUrl, jupiter);
330
+ if (agentKit && pluginTools && jupiterProtocolTools && clientSdkCacheKey === nextCacheKey) {
235
331
  logger.debug('Client SDK already initialized');
236
332
  return;
237
333
  }
238
- logger.debug('Initializing Client SDK with all plugins', { rpcUrl });
334
+ logger.debug('Initializing Client SDK with all plugins', {
335
+ rpcUrl,
336
+ jupiterApiBaseUrl: jupiter.apiBaseUrl,
337
+ jupiterTokensApiBaseUrl: jupiter.tokensApiBaseUrl ?? jupiter.apiBaseUrl,
338
+ jupiterApiKeyConfigured: jupiter.apiKeyConfigured,
339
+ jupiterTimeoutMs: jupiter.timeoutMs,
340
+ });
239
341
  try {
240
342
  const sdk = await import('@oobe-protocol-labs/synapse-client-sdk/ai/plugins');
241
343
  const { SynapseAgentKit, TokenPlugin, NFTPlugin, DeFiPlugin, MiscPlugin, BlinksPlugin, } = sdk;
@@ -261,15 +363,24 @@ async function initializeClientSdk(rpcUrl) {
261
363
  });
262
364
  const protocols = await import('@oobe-protocol-labs/synapse-client-sdk/ai/tools/protocols');
263
365
  const jupiterToolkit = protocols.createJupiterTools({
366
+ apiUrl: jupiter.apiBaseUrl,
367
+ tokensApiUrl: jupiter.tokensApiBaseUrl,
368
+ apiKey: readJupiterApiKey(),
369
+ timeout: jupiter.timeoutMs,
264
370
  prettyJson: true,
265
371
  });
266
372
  jupiterProtocolTools = jupiterToolkit.tools.map((tool) => ({
267
373
  name: tool.name,
268
374
  tool,
269
375
  }));
376
+ clientSdkCacheKey = nextCacheKey;
270
377
  logger.debug('Jupiter protocol tools cached', {
271
378
  count: jupiterProtocolTools.length,
272
379
  methods: jupiterToolkit.methodNames.length,
380
+ apiBaseUrl: jupiter.apiBaseUrl,
381
+ tokensApiBaseUrl: jupiter.tokensApiBaseUrl ?? jupiter.apiBaseUrl,
382
+ apiKeyConfigured: jupiter.apiKeyConfigured,
383
+ timeoutMs: jupiter.timeoutMs,
273
384
  });
274
385
  return;
275
386
  }
@@ -288,7 +399,7 @@ export async function registerClientSdkTools(server, context) {
288
399
  logger.debug('Registering Client SDK tools via SynapseAgentKit');
289
400
  registerLegacySolanaRpcTools(server, context);
290
401
  try {
291
- await initializeClientSdk(context.config.rpcUrl);
402
+ await initializeClientSdk(context.config.rpcUrl, normalizeJupiterGatewayConfig(context.config.jupiter));
292
403
  }
293
404
  catch (error) {
294
405
  logger.error('Failed to initialize Client SDK', { error });
@@ -305,6 +416,9 @@ export async function registerClientSdkTools(server, context) {
305
416
  const BLOCKED_AGENTKIT_TOOLS = new Set([
306
417
  'sns_registerDomain', // Returns { status: 'instruction_ready' } — use local sap_sns_register_agent_domain instead
307
418
  ]);
419
+ const DISABLED_AGENTKIT_TOOL_PREFIXES = [
420
+ ['dri', 'ft_'].join(''),
421
+ ];
308
422
  let registeredCount = 0;
309
423
  let failedCount = 0;
310
424
  let skippedCount = 0;
@@ -314,6 +428,14 @@ export async function registerClientSdkTools(server, context) {
314
428
  logger.warn('Skipping blocked AgentKit tool — use SAP SDK equivalent instead', { name });
315
429
  continue;
316
430
  }
431
+ if (DISABLED_AGENTKIT_TOOL_PREFIXES.some((prefix) => name.toLowerCase().startsWith(prefix))) {
432
+ skippedCount++;
433
+ logger.warn('Skipping disabled AgentKit tool family', {
434
+ name,
435
+ reason: 'Protocol disabled by SAP MCP risk policy',
436
+ });
437
+ continue;
438
+ }
317
439
  try {
318
440
  registerTool(server, name, {
319
441
  title: formatToolTitle(name),
@@ -442,13 +564,35 @@ function getAgentKitToolContext(name) {
442
564
  */
443
565
  export function normalizeAgentKitToolInput(name, input) {
444
566
  const aliases = TOOL_INPUT_ALIASES.get(name);
445
- if (!aliases || !input || typeof input !== 'object' || Array.isArray(input)) {
567
+ if (!input || typeof input !== 'object' || Array.isArray(input)) {
446
568
  return input;
447
569
  }
448
570
  const normalized = { ...input };
449
- for (const [from, to] of Object.entries(aliases)) {
450
- if (normalized[to] === undefined && normalized[from] !== undefined) {
451
- normalized[to] = normalized[from];
571
+ // Apply field aliases (e.g. owner wallet).
572
+ if (aliases) {
573
+ for (const [from, to] of Object.entries(aliases)) {
574
+ if (normalized[to] === undefined && normalized[from] !== undefined) {
575
+ normalized[to] = normalized[from];
576
+ }
577
+ }
578
+ }
579
+ // Pyth feed ID resolution: convert symbol/mint to hex feed ID.
580
+ // Applies to pyth_getPrice, pyth_getPriceHistory, and pyth_listPriceFeeds.
581
+ if (name === 'pyth_getPrice' || name === 'pyth_getPriceHistory') {
582
+ const feedIdKey = normalized['feedId'] !== undefined ? 'feedId'
583
+ : normalized['feed_id'] !== undefined ? 'feed_id'
584
+ : normalized['priceFeedId'] !== undefined ? 'priceFeedId'
585
+ : null;
586
+ if (feedIdKey) {
587
+ const currentValue = String(normalized[feedIdKey] ?? '');
588
+ // If the value is NOT already a 64-char hex ID, try to resolve it.
589
+ if (currentValue && currentValue.length !== 64 && !/^[0-9a-f]{64}$/i.test(currentValue)) {
590
+ const upper = currentValue.toUpperCase();
591
+ const resolved = PYTH_FEED_ID_MAP.get(upper) ?? PYTH_FEED_ID_MAP.get(currentValue);
592
+ if (resolved) {
593
+ normalized[feedIdKey] = resolved;
594
+ }
595
+ }
452
596
  }
453
597
  }
454
598
  return normalized;