@oobe-protocol-labs/synapse-client-sdk 1.2.2 → 2.0.0

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 (763) hide show
  1. package/CHANGELOG.md +176 -0
  2. package/README.md +230 -17
  3. package/dist/cjs/ai/actions/blinks.d.ts +158 -0
  4. package/dist/cjs/ai/actions/blinks.d.ts.map +1 -0
  5. package/dist/cjs/ai/actions/blinks.js +232 -0
  6. package/dist/cjs/ai/actions/blinks.js.map +1 -0
  7. package/dist/cjs/ai/actions/index.d.ts +51 -0
  8. package/dist/cjs/ai/actions/index.d.ts.map +1 -0
  9. package/dist/cjs/ai/actions/index.js +61 -0
  10. package/dist/cjs/ai/actions/index.js.map +1 -0
  11. package/dist/cjs/ai/actions/server.d.ts +188 -0
  12. package/dist/cjs/ai/actions/server.d.ts.map +1 -0
  13. package/dist/cjs/ai/actions/server.js +404 -0
  14. package/dist/cjs/ai/actions/server.js.map +1 -0
  15. package/dist/cjs/ai/actions/types.d.ts +251 -0
  16. package/dist/cjs/ai/actions/types.d.ts.map +1 -0
  17. package/dist/cjs/ai/actions/types.js +16 -0
  18. package/dist/cjs/ai/actions/types.js.map +1 -0
  19. package/dist/cjs/ai/gateway/index.d.ts +1 -0
  20. package/dist/cjs/ai/gateway/index.d.ts.map +1 -1
  21. package/dist/cjs/ai/gateway/index.js +6 -1
  22. package/dist/cjs/ai/gateway/index.js.map +1 -1
  23. package/dist/cjs/ai/gateway/monetize.d.ts +222 -0
  24. package/dist/cjs/ai/gateway/monetize.d.ts.map +1 -0
  25. package/dist/cjs/ai/gateway/monetize.js +316 -0
  26. package/dist/cjs/ai/gateway/monetize.js.map +1 -0
  27. package/dist/cjs/ai/index.d.ts +7 -2
  28. package/dist/cjs/ai/index.d.ts.map +1 -1
  29. package/dist/cjs/ai/index.js +78 -2
  30. package/dist/cjs/ai/index.js.map +1 -1
  31. package/dist/cjs/ai/intents/executor.d.ts +102 -0
  32. package/dist/cjs/ai/intents/executor.d.ts.map +1 -0
  33. package/dist/cjs/ai/intents/executor.js +335 -0
  34. package/dist/cjs/ai/intents/executor.js.map +1 -0
  35. package/dist/cjs/ai/intents/index.d.ts +52 -0
  36. package/dist/cjs/ai/intents/index.d.ts.map +1 -0
  37. package/dist/cjs/ai/intents/index.js +60 -0
  38. package/dist/cjs/ai/intents/index.js.map +1 -0
  39. package/dist/cjs/ai/intents/parser.d.ts +106 -0
  40. package/dist/cjs/ai/intents/parser.d.ts.map +1 -0
  41. package/dist/cjs/ai/intents/parser.js +189 -0
  42. package/dist/cjs/ai/intents/parser.js.map +1 -0
  43. package/dist/cjs/ai/intents/planner.d.ts +96 -0
  44. package/dist/cjs/ai/intents/planner.d.ts.map +1 -0
  45. package/dist/cjs/ai/intents/planner.js +270 -0
  46. package/dist/cjs/ai/intents/planner.js.map +1 -0
  47. package/dist/cjs/ai/intents/types.d.ts +281 -0
  48. package/dist/cjs/ai/intents/types.d.ts.map +1 -0
  49. package/dist/cjs/ai/intents/types.js +70 -0
  50. package/dist/cjs/ai/intents/types.js.map +1 -0
  51. package/dist/cjs/ai/mcp/client.d.ts +71 -0
  52. package/dist/cjs/ai/mcp/client.d.ts.map +1 -0
  53. package/dist/cjs/ai/mcp/client.js +675 -0
  54. package/dist/cjs/ai/mcp/client.js.map +1 -0
  55. package/dist/cjs/ai/mcp/index.d.ts +16 -0
  56. package/dist/cjs/ai/mcp/index.d.ts.map +1 -0
  57. package/dist/cjs/ai/mcp/index.js +27 -0
  58. package/dist/cjs/ai/mcp/index.js.map +1 -0
  59. package/dist/cjs/ai/mcp/server.d.ts +115 -0
  60. package/dist/cjs/ai/mcp/server.d.ts.map +1 -0
  61. package/dist/cjs/ai/mcp/server.js +624 -0
  62. package/dist/cjs/ai/mcp/server.js.map +1 -0
  63. package/dist/cjs/ai/mcp/types.d.ts +215 -0
  64. package/dist/cjs/ai/mcp/types.d.ts.map +1 -0
  65. package/dist/cjs/ai/mcp/types.js +17 -0
  66. package/dist/cjs/ai/mcp/types.js.map +1 -0
  67. package/dist/cjs/ai/plugins/blinks/index.d.ts +22 -0
  68. package/dist/cjs/ai/plugins/blinks/index.d.ts.map +1 -0
  69. package/dist/cjs/ai/plugins/blinks/index.js +202 -0
  70. package/dist/cjs/ai/plugins/blinks/index.js.map +1 -0
  71. package/dist/cjs/ai/plugins/blinks/schemas.d.ts +4 -0
  72. package/dist/cjs/ai/plugins/blinks/schemas.d.ts.map +1 -0
  73. package/dist/cjs/ai/plugins/blinks/schemas.js +103 -0
  74. package/dist/cjs/ai/plugins/blinks/schemas.js.map +1 -0
  75. package/dist/cjs/ai/plugins/defi/index.d.ts +44 -0
  76. package/dist/cjs/ai/plugins/defi/index.d.ts.map +1 -0
  77. package/dist/cjs/ai/plugins/defi/index.js +490 -0
  78. package/dist/cjs/ai/plugins/defi/index.js.map +1 -0
  79. package/dist/cjs/ai/plugins/defi/schemas.d.ts +13 -0
  80. package/dist/cjs/ai/plugins/defi/schemas.d.ts.map +1 -0
  81. package/dist/cjs/ai/plugins/defi/schemas.js +573 -0
  82. package/dist/cjs/ai/plugins/defi/schemas.js.map +1 -0
  83. package/dist/cjs/ai/plugins/index.d.ts +30 -0
  84. package/dist/cjs/ai/plugins/index.d.ts.map +1 -0
  85. package/dist/cjs/ai/plugins/index.js +40 -0
  86. package/dist/cjs/ai/plugins/index.js.map +1 -0
  87. package/dist/cjs/ai/plugins/misc/index.d.ts +28 -0
  88. package/dist/cjs/ai/plugins/misc/index.d.ts.map +1 -0
  89. package/dist/cjs/ai/plugins/misc/index.js +445 -0
  90. package/dist/cjs/ai/plugins/misc/index.js.map +1 -0
  91. package/dist/cjs/ai/plugins/misc/schemas.d.ts +9 -0
  92. package/dist/cjs/ai/plugins/misc/schemas.d.ts.map +1 -0
  93. package/dist/cjs/ai/plugins/misc/schemas.js +318 -0
  94. package/dist/cjs/ai/plugins/misc/schemas.js.map +1 -0
  95. package/dist/cjs/ai/plugins/nft/index.d.ts +24 -0
  96. package/dist/cjs/ai/plugins/nft/index.d.ts.map +1 -0
  97. package/dist/cjs/ai/plugins/nft/index.js +70 -0
  98. package/dist/cjs/ai/plugins/nft/index.js.map +1 -0
  99. package/dist/cjs/ai/plugins/nft/schemas.d.ts +6 -0
  100. package/dist/cjs/ai/plugins/nft/schemas.d.ts.map +1 -0
  101. package/dist/cjs/ai/plugins/nft/schemas.js +272 -0
  102. package/dist/cjs/ai/plugins/nft/schemas.js.map +1 -0
  103. package/dist/cjs/ai/plugins/registry.d.ts +157 -0
  104. package/dist/cjs/ai/plugins/registry.d.ts.map +1 -0
  105. package/dist/cjs/ai/plugins/registry.js +369 -0
  106. package/dist/cjs/ai/plugins/registry.js.map +1 -0
  107. package/dist/cjs/ai/plugins/token/index.d.ts +35 -0
  108. package/dist/cjs/ai/plugins/token/index.d.ts.map +1 -0
  109. package/dist/cjs/ai/plugins/token/index.js +187 -0
  110. package/dist/cjs/ai/plugins/token/index.js.map +1 -0
  111. package/dist/cjs/ai/plugins/token/schemas.d.ts +5 -0
  112. package/dist/cjs/ai/plugins/token/schemas.d.ts.map +1 -0
  113. package/dist/cjs/ai/plugins/token/schemas.js +268 -0
  114. package/dist/cjs/ai/plugins/token/schemas.js.map +1 -0
  115. package/dist/cjs/ai/plugins/types.d.ts +176 -0
  116. package/dist/cjs/ai/plugins/types.d.ts.map +1 -0
  117. package/dist/cjs/ai/plugins/types.js +3 -0
  118. package/dist/cjs/ai/plugins/types.js.map +1 -0
  119. package/dist/cjs/ai/sap/adapter.d.ts +140 -0
  120. package/dist/cjs/ai/sap/adapter.d.ts.map +1 -0
  121. package/dist/cjs/ai/sap/adapter.js +181 -0
  122. package/dist/cjs/ai/sap/adapter.js.map +1 -0
  123. package/dist/cjs/ai/sap/discovery.d.ts +165 -0
  124. package/dist/cjs/ai/sap/discovery.d.ts.map +1 -0
  125. package/dist/cjs/ai/sap/discovery.js +316 -0
  126. package/dist/cjs/ai/sap/discovery.js.map +1 -0
  127. package/dist/cjs/ai/sap/index.d.ts +61 -0
  128. package/dist/cjs/ai/sap/index.d.ts.map +1 -0
  129. package/dist/cjs/ai/sap/index.js +89 -0
  130. package/dist/cjs/ai/sap/index.js.map +1 -0
  131. package/dist/cjs/ai/sap/pda.d.ts +205 -0
  132. package/dist/cjs/ai/sap/pda.d.ts.map +1 -0
  133. package/dist/cjs/ai/sap/pda.js +547 -0
  134. package/dist/cjs/ai/sap/pda.js.map +1 -0
  135. package/dist/cjs/ai/sap/program.d.ts +153 -0
  136. package/dist/cjs/ai/sap/program.d.ts.map +1 -0
  137. package/dist/cjs/ai/sap/program.js +227 -0
  138. package/dist/cjs/ai/sap/program.js.map +1 -0
  139. package/dist/cjs/ai/sap/registry.d.ts +218 -0
  140. package/dist/cjs/ai/sap/registry.d.ts.map +1 -0
  141. package/dist/cjs/ai/sap/registry.js +519 -0
  142. package/dist/cjs/ai/sap/registry.js.map +1 -0
  143. package/dist/cjs/ai/sap/scoring.d.ts +138 -0
  144. package/dist/cjs/ai/sap/scoring.d.ts.map +1 -0
  145. package/dist/cjs/ai/sap/scoring.js +266 -0
  146. package/dist/cjs/ai/sap/scoring.js.map +1 -0
  147. package/dist/cjs/ai/sap/subnetwork.d.ts +201 -0
  148. package/dist/cjs/ai/sap/subnetwork.d.ts.map +1 -0
  149. package/dist/cjs/ai/sap/subnetwork.js +365 -0
  150. package/dist/cjs/ai/sap/subnetwork.js.map +1 -0
  151. package/dist/cjs/ai/sap/types.d.ts +418 -0
  152. package/dist/cjs/ai/sap/types.d.ts.map +1 -0
  153. package/dist/cjs/ai/sap/types.js +217 -0
  154. package/dist/cjs/ai/sap/types.js.map +1 -0
  155. package/dist/cjs/ai/sap/validator.d.ts +160 -0
  156. package/dist/cjs/ai/sap/validator.d.ts.map +1 -0
  157. package/dist/cjs/ai/sap/validator.js +619 -0
  158. package/dist/cjs/ai/sap/validator.js.map +1 -0
  159. package/dist/docs/assets/highlight.css +13 -6
  160. package/dist/docs/classes/AccountReader.html +18 -18
  161. package/dist/docs/classes/AccountsClient.html +10 -10
  162. package/dist/docs/classes/AsyncProviderError.html +4 -4
  163. package/dist/docs/classes/CircularDependencyError.html +4 -4
  164. package/dist/docs/classes/DasClient.html +13 -13
  165. package/dist/docs/classes/GeyserParser.html +17 -17
  166. package/dist/docs/classes/GrpcTransport.html +6 -6
  167. package/dist/docs/classes/HttpTransport.html +4 -4
  168. package/dist/docs/classes/InstructionWriter.html +11 -11
  169. package/dist/docs/classes/MemoryGuard.html +9 -9
  170. package/dist/docs/classes/NetworkError.html +5 -5
  171. package/dist/docs/classes/RefRegistry.html +11 -11
  172. package/dist/docs/classes/RefReleasedError.html +4 -4
  173. package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
  174. package/dist/docs/classes/ServiceNotFoundError.html +4 -4
  175. package/dist/docs/classes/ServiceRef.html +13 -13
  176. package/dist/docs/classes/SolanaRpc.html +55 -55
  177. package/dist/docs/classes/SynapseClient.html +16 -16
  178. package/dist/docs/classes/SynapseContext.html +27 -27
  179. package/dist/docs/classes/SynapseError.html +4 -4
  180. package/dist/docs/classes/TimeoutError.html +4 -4
  181. package/dist/docs/classes/UpstreamError.html +6 -6
  182. package/dist/docs/classes/WeakServiceRef.html +4 -4
  183. package/dist/docs/classes/WsClient.html +10 -10
  184. package/dist/docs/enums/SynapseNetwork.html +2 -2
  185. package/dist/docs/enums/SynapseRegion.html +2 -2
  186. package/dist/docs/enums/TokenExtensionType.html +2 -2
  187. package/dist/docs/functions/Epoch-1.html +1 -1
  188. package/dist/docs/functions/Lamports-2.html +1 -1
  189. package/dist/docs/functions/Pubkey-1.html +1 -1
  190. package/dist/docs/functions/Sig.html +1 -1
  191. package/dist/docs/functions/Slot-1.html +1 -1
  192. package/dist/docs/functions/UnixTs.html +1 -1
  193. package/dist/docs/functions/autoSelectRegion.html +1 -1
  194. package/dist/docs/functions/autoWire.html +1 -1
  195. package/dist/docs/functions/base58Encode.html +1 -1
  196. package/dist/docs/functions/base64ToBytes.html +1 -1
  197. package/dist/docs/functions/bigIntReplacer.html +1 -1
  198. package/dist/docs/functions/chunk.html +1 -1
  199. package/dist/docs/functions/computeBalanceChanges.html +1 -1
  200. package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
  201. package/dist/docs/functions/createBareContext.html +1 -1
  202. package/dist/docs/functions/createBinding.html +1 -1
  203. package/dist/docs/functions/createBoundHook.html +1 -1
  204. package/dist/docs/functions/createReactAdapter.html +1 -1
  205. package/dist/docs/functions/createRefHook.html +1 -1
  206. package/dist/docs/functions/createServerMiddleware.html +1 -1
  207. package/dist/docs/functions/createServiceHook.html +1 -1
  208. package/dist/docs/functions/createSingleton.html +1 -1
  209. package/dist/docs/functions/createSynapse.html +1 -1
  210. package/dist/docs/functions/createSynapseContext.html +1 -1
  211. package/dist/docs/functions/createToken.html +1 -1
  212. package/dist/docs/functions/decodeBase58.html +1 -1
  213. package/dist/docs/functions/decodeLookupTable.html +1 -1
  214. package/dist/docs/functions/decodeMint.html +1 -1
  215. package/dist/docs/functions/decodeMultisig.html +1 -1
  216. package/dist/docs/functions/decodeNonceAccount.html +1 -1
  217. package/dist/docs/functions/decodeStakeAccount.html +1 -1
  218. package/dist/docs/functions/decodeToken2022Account.html +1 -1
  219. package/dist/docs/functions/decodeToken2022Mint.html +1 -1
  220. package/dist/docs/functions/decodeTokenAccount.html +1 -1
  221. package/dist/docs/functions/encodeBase58.html +1 -1
  222. package/dist/docs/functions/fetchLookupTable.html +2 -2
  223. package/dist/docs/functions/fetchMint.html +2 -2
  224. package/dist/docs/functions/fetchNonceAccount.html +2 -2
  225. package/dist/docs/functions/fetchStakeAccount.html +2 -2
  226. package/dist/docs/functions/fetchTokenAccount.html +2 -2
  227. package/dist/docs/functions/fetchTokenAccountsByOwner.html +2 -2
  228. package/dist/docs/functions/fromKitAddress.html +1 -1
  229. package/dist/docs/functions/getAccountInfo.html +2 -2
  230. package/dist/docs/functions/getAsset.html +1 -1
  231. package/dist/docs/functions/getAssetBatch.html +1 -1
  232. package/dist/docs/functions/getAssetProof.html +1 -1
  233. package/dist/docs/functions/getAssetProofBatch.html +1 -1
  234. package/dist/docs/functions/getAssetsByAuthority.html +1 -1
  235. package/dist/docs/functions/getAssetsByCreator.html +1 -1
  236. package/dist/docs/functions/getAssetsByGroup.html +1 -1
  237. package/dist/docs/functions/getAssetsByOwner.html +1 -1
  238. package/dist/docs/functions/getBalance.html +1 -1
  239. package/dist/docs/functions/getBlock.html +2 -2
  240. package/dist/docs/functions/getBlockCommitment.html +1 -1
  241. package/dist/docs/functions/getBlockHeight.html +1 -1
  242. package/dist/docs/functions/getBlockProduction.html +1 -1
  243. package/dist/docs/functions/getBlockTime.html +1 -1
  244. package/dist/docs/functions/getBlocks.html +1 -1
  245. package/dist/docs/functions/getBlocksWithLimit.html +2 -2
  246. package/dist/docs/functions/getClusterNodes.html +2 -2
  247. package/dist/docs/functions/getContext.html +1 -1
  248. package/dist/docs/functions/getDecodedAccount.html +2 -2
  249. package/dist/docs/functions/getDecodedAccounts.html +1 -1
  250. package/dist/docs/functions/getEnvironment.html +1 -1
  251. package/dist/docs/functions/getEpochInfo.html +2 -2
  252. package/dist/docs/functions/getEpochSchedule.html +2 -2
  253. package/dist/docs/functions/getFeeForMessage.html +1 -1
  254. package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
  255. package/dist/docs/functions/getGenesisHash.html +1 -1
  256. package/dist/docs/functions/getHealth.html +1 -1
  257. package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
  258. package/dist/docs/functions/getIdentity.html +1 -1
  259. package/dist/docs/functions/getInflationGovernor.html +2 -2
  260. package/dist/docs/functions/getInflationRate.html +2 -2
  261. package/dist/docs/functions/getInflationReward.html +2 -2
  262. package/dist/docs/functions/getLargestAccounts.html +2 -2
  263. package/dist/docs/functions/getLatestBlockhash.html +2 -2
  264. package/dist/docs/functions/getLeaderSchedule.html +1 -1
  265. package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
  266. package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
  267. package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
  268. package/dist/docs/functions/getMultipleAccounts.html +1 -1
  269. package/dist/docs/functions/getProgramAccounts.html +1 -1
  270. package/dist/docs/functions/getProgramCategory.html +1 -1
  271. package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
  272. package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
  273. package/dist/docs/functions/getSignatureStatuses.html +1 -1
  274. package/dist/docs/functions/getSignaturesForAddress.html +1 -1
  275. package/dist/docs/functions/getSignaturesForAsset.html +1 -1
  276. package/dist/docs/functions/getSlot.html +1 -1
  277. package/dist/docs/functions/getSlotLeader.html +1 -1
  278. package/dist/docs/functions/getSlotLeaders.html +1 -1
  279. package/dist/docs/functions/getStakeActivation.html +1 -1
  280. package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
  281. package/dist/docs/functions/getSupply.html +1 -1
  282. package/dist/docs/functions/getTokenAccountBalance.html +1 -1
  283. package/dist/docs/functions/getTokenAccounts.html +1 -1
  284. package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
  285. package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
  286. package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
  287. package/dist/docs/functions/getTokenSupply.html +1 -1
  288. package/dist/docs/functions/getTransaction.html +1 -1
  289. package/dist/docs/functions/getTransactionCount.html +1 -1
  290. package/dist/docs/functions/getVersion.html +1 -1
  291. package/dist/docs/functions/getVoteAccounts.html +1 -1
  292. package/dist/docs/functions/isBlockhashValid.html +1 -1
  293. package/dist/docs/functions/isBrowser.html +1 -1
  294. package/dist/docs/functions/isDisposable.html +1 -1
  295. package/dist/docs/functions/isProgramInCategory.html +1 -1
  296. package/dist/docs/functions/isServer.html +1 -1
  297. package/dist/docs/functions/isValidPubkey.html +1 -1
  298. package/dist/docs/functions/isValidSignature.html +1 -1
  299. package/dist/docs/functions/lamportsToSol.html +1 -1
  300. package/dist/docs/functions/listEndpoints.html +1 -1
  301. package/dist/docs/functions/listNetworks.html +1 -1
  302. package/dist/docs/functions/listRegions.html +1 -1
  303. package/dist/docs/functions/minimumLedgerSlot.html +1 -1
  304. package/dist/docs/functions/parseAccountUpdate.html +1 -1
  305. package/dist/docs/functions/parseBlockMeta.html +1 -1
  306. package/dist/docs/functions/parseEntry.html +1 -1
  307. package/dist/docs/functions/parseGeyserUpdate.html +1 -1
  308. package/dist/docs/functions/parseSlotUpdate.html +1 -1
  309. package/dist/docs/functions/parseTimestamp.html +1 -1
  310. package/dist/docs/functions/parseTransaction.html +1 -1
  311. package/dist/docs/functions/probeLatency.html +1 -1
  312. package/dist/docs/functions/rawBufferToBase58.html +1 -1
  313. package/dist/docs/functions/rawBufferToBase64.html +1 -1
  314. package/dist/docs/functions/rawBufferToBytes.html +1 -1
  315. package/dist/docs/functions/rawBufferToHex.html +1 -1
  316. package/dist/docs/functions/readonly.html +1 -1
  317. package/dist/docs/functions/readonlySigner.html +1 -1
  318. package/dist/docs/functions/requestAirdrop.html +1 -1
  319. package/dist/docs/functions/resolveEndpoint.html +1 -1
  320. package/dist/docs/functions/resolveProgram.html +1 -1
  321. package/dist/docs/functions/resolveProgramBatch.html +1 -1
  322. package/dist/docs/functions/retry.html +1 -1
  323. package/dist/docs/functions/searchAssets.html +1 -1
  324. package/dist/docs/functions/sendAndConfirmDurableNonceTransactionFactory.html +1 -1
  325. package/dist/docs/functions/sendTransaction.html +1 -1
  326. package/dist/docs/functions/setGlobalContext.html +1 -1
  327. package/dist/docs/functions/simulateTransaction.html +1 -1
  328. package/dist/docs/functions/sleep.html +1 -1
  329. package/dist/docs/functions/solToLamports.html +1 -1
  330. package/dist/docs/functions/toClientConfig.html +1 -1
  331. package/dist/docs/functions/toJsonSafe.html +1 -1
  332. package/dist/docs/functions/toKitAddress.html +1 -1
  333. package/dist/docs/functions/toKitInstruction.html +1 -1
  334. package/dist/docs/functions/toKitLamports.html +1 -1
  335. package/dist/docs/functions/toKitSignatureString.html +1 -1
  336. package/dist/docs/functions/tryGetContext.html +1 -1
  337. package/dist/docs/functions/tryUseService.html +1 -1
  338. package/dist/docs/functions/useBoundServices.html +1 -1
  339. package/dist/docs/functions/useService.html +1 -1
  340. package/dist/docs/functions/useSharedRef.html +1 -1
  341. package/dist/docs/functions/withRef.html +1 -1
  342. package/dist/docs/functions/withRefAsync.html +1 -1
  343. package/dist/docs/functions/writable.html +1 -1
  344. package/dist/docs/functions/writableSigner.html +1 -1
  345. package/dist/docs/index.html +174 -8
  346. package/dist/docs/interfaces/AccountInfo.html +7 -7
  347. package/dist/docs/interfaces/AccountMeta.html +4 -4
  348. package/dist/docs/interfaces/AccountNotification.html +2 -2
  349. package/dist/docs/interfaces/AccountSubParams.html +2 -2
  350. package/dist/docs/interfaces/AddMemoParams.html +5 -5
  351. package/dist/docs/interfaces/AdvanceNonceParams.html +3 -3
  352. package/dist/docs/interfaces/AliasProvider.html +2 -2
  353. package/dist/docs/interfaces/AllocateParams.html +3 -3
  354. package/dist/docs/interfaces/ApproveCheckedParams.html +9 -9
  355. package/dist/docs/interfaces/ApproveParams.html +7 -7
  356. package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
  357. package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
  358. package/dist/docs/interfaces/AssignParams.html +3 -3
  359. package/dist/docs/interfaces/AsyncFactoryProvider.html +2 -2
  360. package/dist/docs/interfaces/AuthorizeNonceParams.html +4 -4
  361. package/dist/docs/interfaces/BalanceChange.html +6 -6
  362. package/dist/docs/interfaces/BlockProduction.html +3 -3
  363. package/dist/docs/interfaces/BlockResult.html +2 -2
  364. package/dist/docs/interfaces/BlockReward.html +2 -2
  365. package/dist/docs/interfaces/BlockhashResult.html +2 -2
  366. package/dist/docs/interfaces/BurnCheckedParams.html +8 -8
  367. package/dist/docs/interfaces/BurnParams.html +7 -7
  368. package/dist/docs/interfaces/CallOptions.html +6 -6
  369. package/dist/docs/interfaces/ClassProvider.html +2 -2
  370. package/dist/docs/interfaces/CloseAccountParams.html +6 -6
  371. package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
  372. package/dist/docs/interfaces/ContactInfo.html +2 -2
  373. package/dist/docs/interfaces/ContextAdapter.html +5 -5
  374. package/dist/docs/interfaces/ContextEvents.html +6 -6
  375. package/dist/docs/interfaces/ContextModule.html +3 -3
  376. package/dist/docs/interfaces/CreateATAParams.html +6 -6
  377. package/dist/docs/interfaces/CreateAccountParams.html +6 -6
  378. package/dist/docs/interfaces/CreateAccountWithSeedParams.html +8 -8
  379. package/dist/docs/interfaces/CreateSynapseContextOpts.html +4 -4
  380. package/dist/docs/interfaces/DasAsset.html +2 -2
  381. package/dist/docs/interfaces/DasAssetProof.html +2 -2
  382. package/dist/docs/interfaces/DasAuthority.html +2 -2
  383. package/dist/docs/interfaces/DasCompression.html +2 -2
  384. package/dist/docs/interfaces/DasContent.html +2 -2
  385. package/dist/docs/interfaces/DasCreator.html +2 -2
  386. package/dist/docs/interfaces/DasFile.html +2 -2
  387. package/dist/docs/interfaces/DasGrouping.html +2 -2
  388. package/dist/docs/interfaces/DasOpts.html +2 -2
  389. package/dist/docs/interfaces/DasOwnership.html +2 -2
  390. package/dist/docs/interfaces/DasPage.html +2 -2
  391. package/dist/docs/interfaces/DasRoyalty.html +2 -2
  392. package/dist/docs/interfaces/DasSearchParams.html +2 -2
  393. package/dist/docs/interfaces/DasSupply.html +2 -2
  394. package/dist/docs/interfaces/DataSlice.html +3 -3
  395. package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
  396. package/dist/docs/interfaces/DecodedLookupTable.html +9 -9
  397. package/dist/docs/interfaces/DecodedMint.html +7 -7
  398. package/dist/docs/interfaces/DecodedMultisig.html +6 -6
  399. package/dist/docs/interfaces/DecodedNonceAccount.html +7 -7
  400. package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
  401. package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
  402. package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
  403. package/dist/docs/interfaces/DecodedTokenAccount.html +10 -10
  404. package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
  405. package/dist/docs/interfaces/Disposable.html +2 -2
  406. package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
  407. package/dist/docs/interfaces/EpochInfo.html +7 -7
  408. package/dist/docs/interfaces/EpochSchedule.html +2 -2
  409. package/dist/docs/interfaces/FactoryProvider.html +2 -2
  410. package/dist/docs/interfaces/FetchedMint.html +6 -6
  411. package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
  412. package/dist/docs/interfaces/FreezeThawParams.html +6 -6
  413. package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
  414. package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
  415. package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
  416. package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
  417. package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
  418. package/dist/docs/interfaces/GetBlockOpts.html +6 -6
  419. package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
  420. package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
  421. package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
  422. package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
  423. package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
  424. package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
  425. package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
  426. package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
  427. package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
  428. package/dist/docs/interfaces/GeyserParserStats.html +2 -2
  429. package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
  430. package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
  431. package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
  432. package/dist/docs/interfaces/InflationGovernor.html +2 -2
  433. package/dist/docs/interfaces/InflationRate.html +2 -2
  434. package/dist/docs/interfaces/InflationReward.html +2 -2
  435. package/dist/docs/interfaces/InitializeAccountParams.html +5 -5
  436. package/dist/docs/interfaces/InitializeMintParams.html +6 -6
  437. package/dist/docs/interfaces/InitializeNonceParams.html +3 -3
  438. package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
  439. package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
  440. package/dist/docs/interfaces/LeakReport.html +5 -5
  441. package/dist/docs/interfaces/LogsNotification.html +2 -2
  442. package/dist/docs/interfaces/LogsSubParams.html +2 -2
  443. package/dist/docs/interfaces/MemoTransferExt.html +2 -2
  444. package/dist/docs/interfaces/MemoryGuardConfig.html +4 -4
  445. package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
  446. package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
  447. package/dist/docs/interfaces/MintToCheckedParams.html +8 -8
  448. package/dist/docs/interfaces/MintToParams.html +7 -7
  449. package/dist/docs/interfaces/NonTransferableExt.html +2 -2
  450. package/dist/docs/interfaces/PaginationOpts.html +2 -2
  451. package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
  452. package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
  453. package/dist/docs/interfaces/ParsedEntry.html +2 -2
  454. package/dist/docs/interfaces/ParsedInstruction.html +9 -9
  455. package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
  456. package/dist/docs/interfaces/ParsedTransaction.html +19 -19
  457. package/dist/docs/interfaces/PerfSample.html +2 -2
  458. package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
  459. package/dist/docs/interfaces/ProgramAccount.html +2 -2
  460. package/dist/docs/interfaces/ProgramNotification.html +2 -2
  461. package/dist/docs/interfaces/ProgramSubParams.html +2 -2
  462. package/dist/docs/interfaces/ProgramsBundle.html +33 -33
  463. package/dist/docs/interfaces/RawAccountInfo.html +2 -2
  464. package/dist/docs/interfaces/RawBlockMeta.html +2 -2
  465. package/dist/docs/interfaces/RawBuffer.html +2 -2
  466. package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
  467. package/dist/docs/interfaces/RawEntry.html +2 -2
  468. package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
  469. package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
  470. package/dist/docs/interfaces/RawSlotInfo.html +2 -2
  471. package/dist/docs/interfaces/RawTimestamp.html +2 -2
  472. package/dist/docs/interfaces/RawTokenBalance.html +2 -2
  473. package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
  474. package/dist/docs/interfaces/ReactAdapterConfig.html +2 -2
  475. package/dist/docs/interfaces/RecoverNestedParams.html +7 -7
  476. package/dist/docs/interfaces/RefRegistryConfig.html +2 -2
  477. package/dist/docs/interfaces/RefStats.html +7 -7
  478. package/dist/docs/interfaces/RequestHeapFrameParams.html +2 -2
  479. package/dist/docs/interfaces/ResolveMiddleware.html +1 -1
  480. package/dist/docs/interfaces/RevokeParams.html +5 -5
  481. package/dist/docs/interfaces/RootNotification.html +2 -2
  482. package/dist/docs/interfaces/RootSubParams.html +1 -1
  483. package/dist/docs/interfaces/RpcContext.html +2 -2
  484. package/dist/docs/interfaces/RpcError.html +4 -4
  485. package/dist/docs/interfaces/RpcRequest.html +3 -3
  486. package/dist/docs/interfaces/RpcResponse.html +2 -2
  487. package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
  488. package/dist/docs/interfaces/ServerAdapterConfig.html +3 -3
  489. package/dist/docs/interfaces/ServiceBinding.html +6 -6
  490. package/dist/docs/interfaces/ServiceRegistration.html +3 -3
  491. package/dist/docs/interfaces/ServiceResolver.html +6 -6
  492. package/dist/docs/interfaces/ServiceToken.html +4 -4
  493. package/dist/docs/interfaces/SetComputeUnitLimitParams.html +2 -2
  494. package/dist/docs/interfaces/SetComputeUnitPriceParams.html +2 -2
  495. package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +2 -2
  496. package/dist/docs/interfaces/SignatureInfo.html +7 -7
  497. package/dist/docs/interfaces/SignatureNotification.html +2 -2
  498. package/dist/docs/interfaces/SignatureStatus.html +5 -5
  499. package/dist/docs/interfaces/SignatureSubParams.html +2 -2
  500. package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
  501. package/dist/docs/interfaces/SimulateResult.html +2 -2
  502. package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
  503. package/dist/docs/interfaces/SingletonOptions.html +2 -2
  504. package/dist/docs/interfaces/SlotNotification.html +2 -2
  505. package/dist/docs/interfaces/SlotSubParams.html +1 -1
  506. package/dist/docs/interfaces/SortOpts.html +2 -2
  507. package/dist/docs/interfaces/StakeAuthorized.html +2 -2
  508. package/dist/docs/interfaces/StakeDelegation.html +3 -3
  509. package/dist/docs/interfaces/StakeLockup.html +4 -4
  510. package/dist/docs/interfaces/StakeMeta.html +2 -2
  511. package/dist/docs/interfaces/Supply.html +5 -5
  512. package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
  513. package/dist/docs/interfaces/SynapseClientLike.html +2 -2
  514. package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
  515. package/dist/docs/interfaces/SyncNativeParams.html +3 -3
  516. package/dist/docs/interfaces/SystemTransferParams.html +4 -4
  517. package/dist/docs/interfaces/TokenAccount.html +3 -3
  518. package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
  519. package/dist/docs/interfaces/TokenAmount.html +5 -5
  520. package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
  521. package/dist/docs/interfaces/TokenTransferParams.html +7 -7
  522. package/dist/docs/interfaces/TransactionInstruction.html +4 -4
  523. package/dist/docs/interfaces/TransactionMeta.html +11 -11
  524. package/dist/docs/interfaces/TransferCheckedParams.html +9 -9
  525. package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
  526. package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
  527. package/dist/docs/interfaces/TransportConfig.html +7 -7
  528. package/dist/docs/interfaces/UnknownExtension.html +2 -2
  529. package/dist/docs/interfaces/ValueProvider.html +2 -2
  530. package/dist/docs/interfaces/VoteAccount.html +9 -9
  531. package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
  532. package/dist/docs/interfaces/WithdrawNonceParams.html +5 -5
  533. package/dist/docs/interfaces/WsConfig.html +6 -6
  534. package/dist/docs/media/10_PLUGINS.md +454 -0
  535. package/dist/docs/media/11_MCP.md +459 -0
  536. package/dist/docs/media/CHANGELOG.md +176 -0
  537. package/dist/docs/types/AccountFetchOpts.html +1 -1
  538. package/dist/docs/types/AccountFilter.html +1 -1
  539. package/dist/docs/types/Base58.html +1 -1
  540. package/dist/docs/types/Brand.html +1 -1
  541. package/dist/docs/types/Commitment.html +1 -1
  542. package/dist/docs/types/DasSortBy.html +1 -1
  543. package/dist/docs/types/DasSortDirection.html +1 -1
  544. package/dist/docs/types/DataSizeFilter.html +1 -1
  545. package/dist/docs/types/DecodedExtension.html +1 -1
  546. package/dist/docs/types/Encoding.html +1 -1
  547. package/dist/docs/types/Epoch.html +1 -1
  548. package/dist/docs/types/Lamports.html +1 -1
  549. package/dist/docs/types/LogsFilter.html +1 -1
  550. package/dist/docs/types/MemcmpFilter.html +1 -1
  551. package/dist/docs/types/NonceState.html +1 -1
  552. package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
  553. package/dist/docs/types/Pubkey.html +1 -1
  554. package/dist/docs/types/RuntimeEnv.html +1 -1
  555. package/dist/docs/types/ServiceLifecycle.html +1 -1
  556. package/dist/docs/types/ServiceProvider.html +1 -1
  557. package/dist/docs/types/Signature.html +1 -1
  558. package/dist/docs/types/Slot.html +1 -1
  559. package/dist/docs/types/StakeAccountType.html +1 -1
  560. package/dist/docs/types/SubscriptionId.html +1 -1
  561. package/dist/docs/types/TokenAccountState.html +1 -1
  562. package/dist/docs/types/TransactionDetail.html +1 -1
  563. package/dist/docs/types/UnaryMethod.html +1 -1
  564. package/dist/docs/types/UnixTimestamp.html +1 -1
  565. package/dist/docs/types/WsNotification.html +1 -1
  566. package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +1 -1
  567. package/dist/docs/variables/AssociatedToken.html +4 -4
  568. package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +1 -1
  569. package/dist/docs/variables/ComputeBudget.html +5 -5
  570. package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
  571. package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
  572. package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
  573. package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
  574. package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
  575. package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
  576. package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
  577. package/dist/docs/variables/MEMO_PROGRAM_V1.html +1 -1
  578. package/dist/docs/variables/MEMO_PROGRAM_V2.html +1 -1
  579. package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
  580. package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
  581. package/dist/docs/variables/MINT_SIZE.html +1 -1
  582. package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
  583. package/dist/docs/variables/Memo.html +2 -2
  584. package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
  585. package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
  586. package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
  587. package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
  588. package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
  589. package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
  590. package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
  591. package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
  592. package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
  593. package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
  594. package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
  595. package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
  596. package/dist/docs/variables/SYSTEM_PROGRAM.html +1 -1
  597. package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
  598. package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
  599. package/dist/docs/variables/SplToken.html +16 -16
  600. package/dist/docs/variables/SystemProgram.html +10 -10
  601. package/dist/docs/variables/TOKEN_2022_PROGRAM.html +1 -1
  602. package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
  603. package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
  604. package/dist/docs/variables/TOKEN_PROGRAM.html +1 -1
  605. package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
  606. package/dist/docs/variables/Tokens.html +1 -1
  607. package/dist/esm/ai/actions/blinks.d.ts +158 -0
  608. package/dist/esm/ai/actions/blinks.d.ts.map +1 -0
  609. package/dist/esm/ai/actions/blinks.js +227 -0
  610. package/dist/esm/ai/actions/blinks.js.map +1 -0
  611. package/dist/esm/ai/actions/index.d.ts +51 -0
  612. package/dist/esm/ai/actions/index.d.ts.map +1 -0
  613. package/dist/esm/ai/actions/index.js +52 -0
  614. package/dist/esm/ai/actions/index.js.map +1 -0
  615. package/dist/esm/ai/actions/server.d.ts +188 -0
  616. package/dist/esm/ai/actions/server.d.ts.map +1 -0
  617. package/dist/esm/ai/actions/server.js +399 -0
  618. package/dist/esm/ai/actions/server.js.map +1 -0
  619. package/dist/esm/ai/actions/types.d.ts +251 -0
  620. package/dist/esm/ai/actions/types.d.ts.map +1 -0
  621. package/dist/esm/ai/actions/types.js +15 -0
  622. package/dist/esm/ai/actions/types.js.map +1 -0
  623. package/dist/esm/ai/gateway/index.d.ts +1 -0
  624. package/dist/esm/ai/gateway/index.d.ts.map +1 -1
  625. package/dist/esm/ai/gateway/index.js +2 -0
  626. package/dist/esm/ai/gateway/index.js.map +1 -1
  627. package/dist/esm/ai/gateway/monetize.d.ts +222 -0
  628. package/dist/esm/ai/gateway/monetize.d.ts.map +1 -0
  629. package/dist/esm/ai/gateway/monetize.js +277 -0
  630. package/dist/esm/ai/gateway/monetize.js.map +1 -0
  631. package/dist/esm/ai/index.d.ts +7 -2
  632. package/dist/esm/ai/index.d.ts.map +1 -1
  633. package/dist/esm/ai/index.js +41 -1
  634. package/dist/esm/ai/index.js.map +1 -1
  635. package/dist/esm/ai/intents/executor.d.ts +102 -0
  636. package/dist/esm/ai/intents/executor.d.ts.map +1 -0
  637. package/dist/esm/ai/intents/executor.js +331 -0
  638. package/dist/esm/ai/intents/executor.js.map +1 -0
  639. package/dist/esm/ai/intents/index.d.ts +52 -0
  640. package/dist/esm/ai/intents/index.d.ts.map +1 -0
  641. package/dist/esm/ai/intents/index.js +50 -0
  642. package/dist/esm/ai/intents/index.js.map +1 -0
  643. package/dist/esm/ai/intents/parser.d.ts +106 -0
  644. package/dist/esm/ai/intents/parser.d.ts.map +1 -0
  645. package/dist/esm/ai/intents/parser.js +185 -0
  646. package/dist/esm/ai/intents/parser.js.map +1 -0
  647. package/dist/esm/ai/intents/planner.d.ts +96 -0
  648. package/dist/esm/ai/intents/planner.d.ts.map +1 -0
  649. package/dist/esm/ai/intents/planner.js +266 -0
  650. package/dist/esm/ai/intents/planner.js.map +1 -0
  651. package/dist/esm/ai/intents/types.d.ts +281 -0
  652. package/dist/esm/ai/intents/types.d.ts.map +1 -0
  653. package/dist/esm/ai/intents/types.js +63 -0
  654. package/dist/esm/ai/intents/types.js.map +1 -0
  655. package/dist/esm/ai/mcp/client.d.ts +71 -0
  656. package/dist/esm/ai/mcp/client.d.ts.map +1 -0
  657. package/dist/esm/ai/mcp/client.js +638 -0
  658. package/dist/esm/ai/mcp/client.js.map +1 -0
  659. package/dist/esm/ai/mcp/index.d.ts +16 -0
  660. package/dist/esm/ai/mcp/index.d.ts.map +1 -0
  661. package/dist/esm/ai/mcp/index.js +19 -0
  662. package/dist/esm/ai/mcp/index.js.map +1 -0
  663. package/dist/esm/ai/mcp/server.d.ts +115 -0
  664. package/dist/esm/ai/mcp/server.d.ts.map +1 -0
  665. package/dist/esm/ai/mcp/server.js +586 -0
  666. package/dist/esm/ai/mcp/server.js.map +1 -0
  667. package/dist/esm/ai/mcp/types.d.ts +215 -0
  668. package/dist/esm/ai/mcp/types.d.ts.map +1 -0
  669. package/dist/esm/ai/mcp/types.js +14 -0
  670. package/dist/esm/ai/mcp/types.js.map +1 -0
  671. package/dist/esm/ai/plugins/blinks/index.d.ts +22 -0
  672. package/dist/esm/ai/plugins/blinks/index.d.ts.map +1 -0
  673. package/dist/esm/ai/plugins/blinks/index.js +197 -0
  674. package/dist/esm/ai/plugins/blinks/index.js.map +1 -0
  675. package/dist/esm/ai/plugins/blinks/schemas.d.ts +4 -0
  676. package/dist/esm/ai/plugins/blinks/schemas.d.ts.map +1 -0
  677. package/dist/esm/ai/plugins/blinks/schemas.js +103 -0
  678. package/dist/esm/ai/plugins/blinks/schemas.js.map +1 -0
  679. package/dist/esm/ai/plugins/defi/index.d.ts +44 -0
  680. package/dist/esm/ai/plugins/defi/index.d.ts.map +1 -0
  681. package/dist/esm/ai/plugins/defi/index.js +476 -0
  682. package/dist/esm/ai/plugins/defi/index.js.map +1 -0
  683. package/dist/esm/ai/plugins/defi/schemas.d.ts +13 -0
  684. package/dist/esm/ai/plugins/defi/schemas.d.ts.map +1 -0
  685. package/dist/esm/ai/plugins/defi/schemas.js +564 -0
  686. package/dist/esm/ai/plugins/defi/schemas.js.map +1 -0
  687. package/dist/esm/ai/plugins/index.d.ts +30 -0
  688. package/dist/esm/ai/plugins/index.d.ts.map +1 -0
  689. package/dist/esm/ai/plugins/index.js +31 -0
  690. package/dist/esm/ai/plugins/index.js.map +1 -0
  691. package/dist/esm/ai/plugins/misc/index.d.ts +28 -0
  692. package/dist/esm/ai/plugins/misc/index.d.ts.map +1 -0
  693. package/dist/esm/ai/plugins/misc/index.js +435 -0
  694. package/dist/esm/ai/plugins/misc/index.js.map +1 -0
  695. package/dist/esm/ai/plugins/misc/schemas.d.ts +9 -0
  696. package/dist/esm/ai/plugins/misc/schemas.d.ts.map +1 -0
  697. package/dist/esm/ai/plugins/misc/schemas.js +313 -0
  698. package/dist/esm/ai/plugins/misc/schemas.js.map +1 -0
  699. package/dist/esm/ai/plugins/nft/index.d.ts +24 -0
  700. package/dist/esm/ai/plugins/nft/index.d.ts.map +1 -0
  701. package/dist/esm/ai/plugins/nft/index.js +63 -0
  702. package/dist/esm/ai/plugins/nft/index.js.map +1 -0
  703. package/dist/esm/ai/plugins/nft/schemas.d.ts +6 -0
  704. package/dist/esm/ai/plugins/nft/schemas.d.ts.map +1 -0
  705. package/dist/esm/ai/plugins/nft/schemas.js +270 -0
  706. package/dist/esm/ai/plugins/nft/schemas.js.map +1 -0
  707. package/dist/esm/ai/plugins/registry.d.ts +157 -0
  708. package/dist/esm/ai/plugins/registry.d.ts.map +1 -0
  709. package/dist/esm/ai/plugins/registry.js +365 -0
  710. package/dist/esm/ai/plugins/registry.js.map +1 -0
  711. package/dist/esm/ai/plugins/token/index.d.ts +35 -0
  712. package/dist/esm/ai/plugins/token/index.d.ts.map +1 -0
  713. package/dist/esm/ai/plugins/token/index.js +180 -0
  714. package/dist/esm/ai/plugins/token/index.js.map +1 -0
  715. package/dist/esm/ai/plugins/token/schemas.d.ts +5 -0
  716. package/dist/esm/ai/plugins/token/schemas.d.ts.map +1 -0
  717. package/dist/esm/ai/plugins/token/schemas.js +265 -0
  718. package/dist/esm/ai/plugins/token/schemas.js.map +1 -0
  719. package/dist/esm/ai/plugins/types.d.ts +176 -0
  720. package/dist/esm/ai/plugins/types.d.ts.map +1 -0
  721. package/dist/esm/ai/plugins/types.js +2 -0
  722. package/dist/esm/ai/plugins/types.js.map +1 -0
  723. package/dist/esm/ai/sap/adapter.d.ts +140 -0
  724. package/dist/esm/ai/sap/adapter.d.ts.map +1 -0
  725. package/dist/esm/ai/sap/adapter.js +177 -0
  726. package/dist/esm/ai/sap/adapter.js.map +1 -0
  727. package/dist/esm/ai/sap/discovery.d.ts +165 -0
  728. package/dist/esm/ai/sap/discovery.d.ts.map +1 -0
  729. package/dist/esm/ai/sap/discovery.js +311 -0
  730. package/dist/esm/ai/sap/discovery.js.map +1 -0
  731. package/dist/esm/ai/sap/index.d.ts +61 -0
  732. package/dist/esm/ai/sap/index.d.ts.map +1 -0
  733. package/dist/esm/ai/sap/index.js +58 -0
  734. package/dist/esm/ai/sap/index.js.map +1 -0
  735. package/dist/esm/ai/sap/pda.d.ts +205 -0
  736. package/dist/esm/ai/sap/pda.d.ts.map +1 -0
  737. package/dist/esm/ai/sap/pda.js +535 -0
  738. package/dist/esm/ai/sap/pda.js.map +1 -0
  739. package/dist/esm/ai/sap/program.d.ts +153 -0
  740. package/dist/esm/ai/sap/program.d.ts.map +1 -0
  741. package/dist/esm/ai/sap/program.js +222 -0
  742. package/dist/esm/ai/sap/program.js.map +1 -0
  743. package/dist/esm/ai/sap/registry.d.ts +218 -0
  744. package/dist/esm/ai/sap/registry.d.ts.map +1 -0
  745. package/dist/esm/ai/sap/registry.js +515 -0
  746. package/dist/esm/ai/sap/registry.js.map +1 -0
  747. package/dist/esm/ai/sap/scoring.d.ts +138 -0
  748. package/dist/esm/ai/sap/scoring.d.ts.map +1 -0
  749. package/dist/esm/ai/sap/scoring.js +262 -0
  750. package/dist/esm/ai/sap/scoring.js.map +1 -0
  751. package/dist/esm/ai/sap/subnetwork.d.ts +201 -0
  752. package/dist/esm/ai/sap/subnetwork.d.ts.map +1 -0
  753. package/dist/esm/ai/sap/subnetwork.js +361 -0
  754. package/dist/esm/ai/sap/subnetwork.js.map +1 -0
  755. package/dist/esm/ai/sap/types.d.ts +418 -0
  756. package/dist/esm/ai/sap/types.d.ts.map +1 -0
  757. package/dist/esm/ai/sap/types.js +210 -0
  758. package/dist/esm/ai/sap/types.js.map +1 -0
  759. package/dist/esm/ai/sap/validator.d.ts +160 -0
  760. package/dist/esm/ai/sap/validator.d.ts.map +1 -0
  761. package/dist/esm/ai/sap/validator.js +614 -0
  762. package/dist/esm/ai/sap/validator.js.map +1 -0
  763. package/package.json +67 -2
@@ -0,0 +1,586 @@
1
+ import { MCP_PROTOCOL_VERSION, MCP_JSONRPC_VERSION } from './types.js';
2
+ /* ═══════════════════════════════════════════════════════════════
3
+ * MCP Errors
4
+ * ═══════════════════════════════════════════════════════════════ */
5
+ const MCP_ERRORS = {
6
+ PARSE_ERROR: { code: -32700, message: 'Parse error' },
7
+ INVALID_REQUEST: { code: -32600, message: 'Invalid Request' },
8
+ METHOD_NOT_FOUND: { code: -32601, message: 'Method not found' },
9
+ INVALID_PARAMS: { code: -32602, message: 'Invalid params' },
10
+ INTERNAL_ERROR: { code: -32603, message: 'Internal error' },
11
+ };
12
+ export class McpServerError extends Error {
13
+ code;
14
+ data;
15
+ constructor(message, code = -32603, data) {
16
+ super(message);
17
+ this.code = code;
18
+ this.data = data;
19
+ this.name = 'McpServerError';
20
+ }
21
+ }
22
+ /* ═══════════════════════════════════════════════════════════════
23
+ * Zod → JSON Schema (deep conversion)
24
+ * ═══════════════════════════════════════════════════════════════ */
25
+ function zodToMcpSchema(schema) {
26
+ const result = convertZod(schema);
27
+ if (result.type === 'object')
28
+ return result;
29
+ return { type: 'object', properties: { value: result } };
30
+ }
31
+ function convertZod(z) {
32
+ if (!z || typeof z !== 'object')
33
+ return { type: 'string' };
34
+ const def = z?._def ?? z?.def;
35
+ if (!def)
36
+ return { type: 'string' };
37
+ const typeName = def.typeName ?? def.type;
38
+ const description = z?.description ?? def?.description;
39
+ switch (typeName) {
40
+ case 'ZodString': {
41
+ const base = { type: 'string' };
42
+ if (description)
43
+ base.description = description;
44
+ if (def.checks) {
45
+ for (const check of def.checks) {
46
+ if (check.kind === 'min')
47
+ base.minLength = check.value;
48
+ if (check.kind === 'max')
49
+ base.maxLength = check.value;
50
+ if (check.kind === 'url')
51
+ base.format = 'uri';
52
+ if (check.kind === 'email')
53
+ base.format = 'email';
54
+ }
55
+ }
56
+ return base;
57
+ }
58
+ case 'ZodNumber': {
59
+ const base = { type: 'number' };
60
+ if (description)
61
+ base.description = description;
62
+ if (def.checks) {
63
+ for (const check of def.checks) {
64
+ if (check.kind === 'min')
65
+ base.minimum = check.value;
66
+ if (check.kind === 'max')
67
+ base.maximum = check.value;
68
+ if (check.kind === 'int')
69
+ base.type = 'integer';
70
+ }
71
+ }
72
+ return base;
73
+ }
74
+ case 'ZodBoolean': {
75
+ const base = { type: 'boolean' };
76
+ if (description)
77
+ base.description = description;
78
+ return base;
79
+ }
80
+ case 'ZodArray': {
81
+ const base = {
82
+ type: 'array',
83
+ items: convertZod(def.type),
84
+ };
85
+ if (description)
86
+ base.description = description;
87
+ return base;
88
+ }
89
+ case 'ZodObject': {
90
+ const shape = z.shape ?? def.shape?.();
91
+ const properties = {};
92
+ const required = [];
93
+ if (shape) {
94
+ for (const [key, val] of Object.entries(shape)) {
95
+ properties[key] = convertZod(val);
96
+ const v = val;
97
+ const isOpt = v?._def?.typeName === 'ZodOptional' ||
98
+ v?._def?.typeName === 'ZodDefault' ||
99
+ v?.isOptional?.() === true;
100
+ if (!isOpt)
101
+ required.push(key);
102
+ }
103
+ }
104
+ const base = { type: 'object', properties };
105
+ if (required.length > 0)
106
+ base.required = required;
107
+ if (description)
108
+ base.description = description;
109
+ return base;
110
+ }
111
+ case 'ZodEnum': {
112
+ const values = def.values ?? def.entries;
113
+ const base = { type: 'string' };
114
+ if (Array.isArray(values))
115
+ base.enum = values;
116
+ if (description)
117
+ base.description = description;
118
+ return base;
119
+ }
120
+ case 'ZodOptional':
121
+ return convertZod(def.innerType);
122
+ case 'ZodDefault':
123
+ return { ...convertZod(def.innerType), default: def.defaultValue?.() };
124
+ case 'ZodNullable': {
125
+ const inner = convertZod(def.innerType);
126
+ return { ...inner, nullable: true };
127
+ }
128
+ case 'ZodRecord': {
129
+ const base = {
130
+ type: 'object',
131
+ additionalProperties: convertZod(def.valueType),
132
+ };
133
+ if (description)
134
+ base.description = description;
135
+ return base;
136
+ }
137
+ case 'ZodTuple': {
138
+ const items = (def.items ?? []).map((i) => convertZod(i));
139
+ const base = { type: 'array', items, minItems: items.length, maxItems: items.length };
140
+ if (description)
141
+ base.description = description;
142
+ return base;
143
+ }
144
+ case 'ZodLiteral': {
145
+ return { type: typeof def.value === 'number' ? 'number' : 'string', const: def.value };
146
+ }
147
+ case 'ZodUnion': {
148
+ const options = (def.options ?? []).map((o) => convertZod(o));
149
+ return { oneOf: options };
150
+ }
151
+ default: {
152
+ const base = { type: 'string' };
153
+ if (description)
154
+ base.description = description;
155
+ return base;
156
+ }
157
+ }
158
+ }
159
+ /* ═══════════════════════════════════════════════════════════════
160
+ * SynapseMcpServer
161
+ * ═══════════════════════════════════════════════════════════════ */
162
+ export class SynapseMcpServer {
163
+ kit;
164
+ config;
165
+ toolDefs;
166
+ resourceDefs;
167
+ resourceTemplates;
168
+ _initialized = false;
169
+ _running = false;
170
+ _stdinBuffer = '';
171
+ // SSE state
172
+ _httpServer = null;
173
+ _sseClients = new Map();
174
+ constructor(kit, config = {}) {
175
+ this.kit = kit;
176
+ this.config = {
177
+ name: config.name ?? 'synapse-solana-mcp',
178
+ version: config.version ?? '2.0.0',
179
+ ...config,
180
+ };
181
+ // Pre-build tool definitions from kit
182
+ this.toolDefs = this.buildToolDefinitions();
183
+ this.resourceDefs = this.buildResourceDefinitions();
184
+ this.resourceTemplates = this.buildResourceTemplates();
185
+ }
186
+ /* ── Lifecycle ────────────────────────────────────────────── */
187
+ /**
188
+ * Start the MCP server on the configured transport.
189
+ */
190
+ async start() {
191
+ if (this._running)
192
+ return;
193
+ this._running = true;
194
+ const transport = this.config.transport ?? 'stdio';
195
+ if (transport === 'stdio') {
196
+ await this.startStdio();
197
+ }
198
+ else if (transport === 'sse') {
199
+ await this.startSse();
200
+ }
201
+ else {
202
+ throw new McpServerError(`Unknown transport: ${transport}`);
203
+ }
204
+ }
205
+ /**
206
+ * Stop the MCP server.
207
+ */
208
+ async stop() {
209
+ this._running = false;
210
+ if (this._httpServer) {
211
+ await new Promise((resolve) => {
212
+ this._httpServer.close(() => resolve());
213
+ });
214
+ this._httpServer = null;
215
+ }
216
+ // Cleanup SSE clients
217
+ for (const [, client] of this._sseClients) {
218
+ try {
219
+ client.res.end();
220
+ }
221
+ catch { /* noop */ }
222
+ }
223
+ this._sseClients.clear();
224
+ }
225
+ /* ── stdio Transport ──────────────────────────────────────── */
226
+ async startStdio() {
227
+ const stdin = process.stdin;
228
+ const stdout = process.stdout;
229
+ stdin.setEncoding('utf8');
230
+ stdin.resume();
231
+ stdin.on('data', (chunk) => {
232
+ this._stdinBuffer += chunk;
233
+ this.processStdinBuffer(stdout);
234
+ });
235
+ stdin.on('end', () => {
236
+ this._running = false;
237
+ });
238
+ if (this.config.debug) {
239
+ process.stderr.write(`[MCP] ${this.config.name} listening on stdio\n`);
240
+ }
241
+ }
242
+ processStdinBuffer(stdout) {
243
+ // MCP uses newline-delimited JSON
244
+ while (true) {
245
+ const newlineIdx = this._stdinBuffer.indexOf('\n');
246
+ if (newlineIdx === -1)
247
+ break;
248
+ const line = this._stdinBuffer.slice(0, newlineIdx).trim();
249
+ this._stdinBuffer = this._stdinBuffer.slice(newlineIdx + 1);
250
+ if (!line)
251
+ continue;
252
+ this.handleMessage(line)
253
+ .then((response) => {
254
+ if (response) {
255
+ stdout.write(JSON.stringify(response) + '\n');
256
+ }
257
+ })
258
+ .catch((err) => {
259
+ if (this.config.debug) {
260
+ process.stderr.write(`[MCP] Error: ${err}\n`);
261
+ }
262
+ });
263
+ }
264
+ }
265
+ /* ── SSE Transport ────────────────────────────────────────── */
266
+ async startSse() {
267
+ const http = await import('http');
268
+ const port = this.config.ssePort ?? 3001;
269
+ const basePath = (this.config.ssePath ?? '/mcp').replace(/\/$/, '');
270
+ this._httpServer = http.createServer(async (req, res) => {
271
+ const url = new URL(req.url ?? '/', `http://localhost:${port}`);
272
+ const path = url.pathname;
273
+ // CORS headers
274
+ res.setHeader('Access-Control-Allow-Origin', '*');
275
+ res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
276
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
277
+ if (req.method === 'OPTIONS') {
278
+ res.writeHead(204);
279
+ res.end();
280
+ return;
281
+ }
282
+ // SSE endpoint — client subscribes here
283
+ if (path === `${basePath}/sse` && req.method === 'GET') {
284
+ const clientId = crypto.randomUUID();
285
+ res.writeHead(200, {
286
+ 'Content-Type': 'text/event-stream',
287
+ 'Cache-Control': 'no-cache',
288
+ Connection: 'keep-alive',
289
+ });
290
+ // Send the endpoint URL for posting messages
291
+ const messageUrl = `${basePath}/message?sessionId=${clientId}`;
292
+ res.write(`event: endpoint\ndata: ${messageUrl}\n\n`);
293
+ this._sseClients.set(clientId, { res, id: clientId });
294
+ req.on('close', () => {
295
+ this._sseClients.delete(clientId);
296
+ });
297
+ if (this.config.debug) {
298
+ process.stderr.write(`[MCP] SSE client connected: ${clientId}\n`);
299
+ }
300
+ return;
301
+ }
302
+ // Message endpoint — client sends JSON-RPC messages here
303
+ if (path === `${basePath}/message` && req.method === 'POST') {
304
+ const sessionId = url.searchParams.get('sessionId');
305
+ const client = sessionId ? this._sseClients.get(sessionId) : undefined;
306
+ if (!client) {
307
+ res.writeHead(404, { 'Content-Type': 'application/json' });
308
+ res.end(JSON.stringify({ error: 'Session not found' }));
309
+ return;
310
+ }
311
+ let body = '';
312
+ for await (const chunk of req) {
313
+ body += chunk;
314
+ }
315
+ try {
316
+ const response = await this.handleMessage(body);
317
+ if (response) {
318
+ // Send response via SSE
319
+ client.res.write(`event: message\ndata: ${JSON.stringify(response)}\n\n`);
320
+ }
321
+ res.writeHead(202, { 'Content-Type': 'application/json' });
322
+ res.end(JSON.stringify({ ok: true }));
323
+ }
324
+ catch (err) {
325
+ res.writeHead(400, { 'Content-Type': 'application/json' });
326
+ res.end(JSON.stringify({ error: String(err) }));
327
+ }
328
+ return;
329
+ }
330
+ // Health check
331
+ if (path === `${basePath}/health`) {
332
+ res.writeHead(200, { 'Content-Type': 'application/json' });
333
+ res.end(JSON.stringify({
334
+ status: 'ok',
335
+ server: this.config.name,
336
+ version: this.config.version,
337
+ tools: this.toolDefs.length,
338
+ resources: this.resourceDefs.length,
339
+ connectedClients: this._sseClients.size,
340
+ }));
341
+ return;
342
+ }
343
+ res.writeHead(404);
344
+ res.end('Not found');
345
+ });
346
+ await new Promise((resolve) => {
347
+ this._httpServer.listen(port, () => {
348
+ if (this.config.debug) {
349
+ process.stderr.write(`[MCP] ${this.config.name} SSE server on http://localhost:${port}${basePath}\n`);
350
+ }
351
+ resolve();
352
+ });
353
+ });
354
+ }
355
+ /* ── Message Handling ─────────────────────────────────────── */
356
+ async handleMessage(raw) {
357
+ let parsed;
358
+ try {
359
+ parsed = JSON.parse(raw);
360
+ }
361
+ catch {
362
+ return this.errorResponse(null, MCP_ERRORS.PARSE_ERROR.code, MCP_ERRORS.PARSE_ERROR.message);
363
+ }
364
+ if (!parsed.jsonrpc || parsed.jsonrpc !== '2.0') {
365
+ return this.errorResponse(parsed.id ?? null, MCP_ERRORS.INVALID_REQUEST.code, MCP_ERRORS.INVALID_REQUEST.message);
366
+ }
367
+ // Notifications (no id) — don't respond
368
+ if (parsed.id === undefined || parsed.id === null) {
369
+ await this.handleNotification(parsed);
370
+ return null;
371
+ }
372
+ if (this.config.debug) {
373
+ process.stderr.write(`[MCP] ← ${parsed.method}\n`);
374
+ }
375
+ try {
376
+ const result = await this.dispatch(parsed);
377
+ return {
378
+ jsonrpc: MCP_JSONRPC_VERSION,
379
+ id: parsed.id,
380
+ result,
381
+ };
382
+ }
383
+ catch (err) {
384
+ const mcpErr = err instanceof McpServerError ? err : new McpServerError(String(err));
385
+ return this.errorResponse(parsed.id, mcpErr.code, mcpErr.message, mcpErr.data);
386
+ }
387
+ }
388
+ async dispatch(req) {
389
+ switch (req.method) {
390
+ case 'initialize':
391
+ return this.handleInitialize(req.params);
392
+ case 'initialized':
393
+ return {}; // acknowledgment
394
+ case 'ping':
395
+ return {}; // pong
396
+ case 'tools/list':
397
+ return this.handleToolsList(req.params);
398
+ case 'tools/call':
399
+ return this.handleToolsCall(req.params);
400
+ case 'resources/list':
401
+ return this.handleResourcesList(req.params);
402
+ case 'resources/read':
403
+ return this.handleResourcesRead(req.params);
404
+ case 'resources/templates/list':
405
+ return this.handleResourceTemplatesList();
406
+ case 'prompts/list':
407
+ return { prompts: [] }; // No prompts for now
408
+ case 'prompts/get':
409
+ throw new McpServerError('Prompt not found', MCP_ERRORS.INVALID_PARAMS.code);
410
+ case 'completion/complete':
411
+ return { completion: { values: [], hasMore: false, total: 0 } };
412
+ case 'logging/setLevel':
413
+ return {};
414
+ default:
415
+ throw new McpServerError(`Unknown method: ${req.method}`, MCP_ERRORS.METHOD_NOT_FOUND.code);
416
+ }
417
+ }
418
+ async handleNotification(notif) {
419
+ switch (notif.method) {
420
+ case 'notifications/initialized':
421
+ this._initialized = true;
422
+ break;
423
+ case 'notifications/cancelled':
424
+ // Handle cancellation if needed
425
+ break;
426
+ default:
427
+ if (this.config.debug) {
428
+ process.stderr.write(`[MCP] Unhandled notification: ${notif.method}\n`);
429
+ }
430
+ }
431
+ }
432
+ /* ── MCP Method Handlers ──────────────────────────────────── */
433
+ handleInitialize(params) {
434
+ this._initialized = true;
435
+ const capabilities = {
436
+ tools: { listChanged: false },
437
+ resources: { subscribe: false, listChanged: false },
438
+ ...this.config.capabilities,
439
+ };
440
+ const summary = this.kit.summary();
441
+ return {
442
+ protocolVersion: MCP_PROTOCOL_VERSION,
443
+ capabilities,
444
+ serverInfo: {
445
+ name: this.config.name,
446
+ version: this.config.version,
447
+ },
448
+ instructions: this.config.instructions ??
449
+ `Synapse Solana MCP Server — ${summary.totalTools} tools across ${summary.totalProtocols} protocols. ` +
450
+ `Plugins: ${summary.plugins.map((p) => p.name).join(', ')}. ` +
451
+ `Provides full Solana blockchain access: tokens, NFTs, DeFi, staking, domains, oracles, and more.`,
452
+ };
453
+ }
454
+ handleToolsList(_params) {
455
+ return { tools: this.toolDefs };
456
+ }
457
+ async handleToolsCall(params) {
458
+ const { name, arguments: args } = params;
459
+ if (!name) {
460
+ throw new McpServerError('Tool name is required', MCP_ERRORS.INVALID_PARAMS.code);
461
+ }
462
+ // Find the tool in the kit
463
+ const toolMap = this.kit.getToolMap();
464
+ const tool = toolMap[name];
465
+ if (!tool) {
466
+ throw new McpServerError(`Tool not found: "${name}". Available: ${Object.keys(toolMap).slice(0, 10).join(', ')}...`, MCP_ERRORS.INVALID_PARAMS.code);
467
+ }
468
+ try {
469
+ // Invoke the LangChain tool
470
+ const result = await tool.invoke(args ?? {});
471
+ const text = typeof result === 'string' ? result : JSON.stringify(result, null, 2);
472
+ return {
473
+ content: [{ type: 'text', text }],
474
+ isError: false,
475
+ };
476
+ }
477
+ catch (err) {
478
+ const errMsg = err instanceof Error ? err.message : String(err);
479
+ return {
480
+ content: [{ type: 'text', text: `Error executing ${name}: ${errMsg}` }],
481
+ isError: true,
482
+ };
483
+ }
484
+ }
485
+ handleResourcesList(_params) {
486
+ return { resources: this.resourceDefs };
487
+ }
488
+ async handleResourcesRead(params) {
489
+ const { uri } = params;
490
+ // Try to match resource templates and execute
491
+ // For now, return a description of the resource
492
+ return {
493
+ contents: [{
494
+ uri,
495
+ mimeType: 'application/json',
496
+ text: JSON.stringify({
497
+ uri,
498
+ message: `Resource ${uri} — use the corresponding tool to fetch actual data.`,
499
+ availableTools: Object.keys(this.kit.getToolMap()).slice(0, 20),
500
+ }, null, 2),
501
+ }],
502
+ };
503
+ }
504
+ handleResourceTemplatesList() {
505
+ return { resourceTemplates: this.resourceTemplates };
506
+ }
507
+ /* ── Builders ─────────────────────────────────────────────── */
508
+ buildToolDefinitions() {
509
+ const defs = [];
510
+ const descriptors = this.kit.getMcpToolDescriptors();
511
+ for (const desc of descriptors) {
512
+ // Find the matching protocol method for deep schema conversion
513
+ const pluginTools = this.kit.getPluginTools(desc.plugin);
514
+ const method = pluginTools
515
+ ? this.findMethodByName(desc.plugin, desc.name)
516
+ : undefined;
517
+ defs.push({
518
+ name: desc.name,
519
+ description: desc.description,
520
+ inputSchema: method
521
+ ? zodToMcpSchema(method.input)
522
+ : desc.inputSchema,
523
+ });
524
+ }
525
+ return defs;
526
+ }
527
+ buildResourceDefinitions() {
528
+ return this.kit.getMcpResourceDescriptors().map((r) => ({
529
+ uri: r.uri,
530
+ name: r.name,
531
+ description: r.description,
532
+ mimeType: r.mimeType,
533
+ }));
534
+ }
535
+ buildResourceTemplates() {
536
+ // Convert resource URIs with {param} into templates
537
+ return this.kit.getMcpResourceDescriptors()
538
+ .filter((r) => r.uri.includes('{'))
539
+ .map((r) => ({
540
+ uriTemplate: r.uri,
541
+ name: r.name,
542
+ description: r.description,
543
+ mimeType: r.mimeType,
544
+ }));
545
+ }
546
+ findMethodByName(pluginId, toolName) {
547
+ const summary = this.kit.summary();
548
+ const pluginInfo = summary.plugins.find((p) => p.id === pluginId);
549
+ if (!pluginInfo)
550
+ return undefined;
551
+ for (const protoId of pluginInfo.protocols) {
552
+ const toolkit = this.kit.getProtocolToolkit(pluginId, protoId);
553
+ if (toolkit) {
554
+ const method = toolkit.methods.find((m) => `${protoId}_${m.name}` === toolName);
555
+ if (method)
556
+ return method;
557
+ }
558
+ }
559
+ return undefined;
560
+ }
561
+ /* ── Response Helpers ─────────────────────────────────────── */
562
+ errorResponse(id, code, message, data) {
563
+ return {
564
+ jsonrpc: MCP_JSONRPC_VERSION,
565
+ id: id ?? 0,
566
+ error: { code, message, ...(data !== undefined ? { data } : {}) },
567
+ };
568
+ }
569
+ /* ── Introspection ────────────────────────────────────────── */
570
+ /**
571
+ * Get server info and stats.
572
+ */
573
+ info() {
574
+ return {
575
+ name: this.config.name,
576
+ version: this.config.version,
577
+ transport: this.config.transport ?? 'stdio',
578
+ tools: this.toolDefs.length,
579
+ resources: this.resourceDefs.length,
580
+ resourceTemplates: this.resourceTemplates.length,
581
+ running: this._running,
582
+ initialized: this._initialized,
583
+ };
584
+ }
585
+ }
586
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/ai/mcp/server.ts"],"names":[],"mappings":"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"}