@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,177 @@
1
+ /**
2
+ * @module ai/sap/adapter
3
+ * @description SAP — On-chain persistence adapter for {@link AgentRegistry}.
4
+ *
5
+ * Implements the {@link PersistenceAdapter} interface using SAP on-chain
6
+ * data, enabling the `AgentRegistry` to persist and discover agents
7
+ * directly on the Solana blockchain.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { AgentRegistry, OnChainPersistenceAdapter } from '@oobe-protocol-labs/synapse-client-sdk/ai';
12
+ *
13
+ * const adapter = new OnChainPersistenceAdapter(client, { programId: 'SAPAgnt1...' });
14
+ * const registry = new AgentRegistry({ adapter });
15
+ *
16
+ * // Agents registered via the registry are now backed by on-chain data
17
+ * ```
18
+ *
19
+ * @since 1.3.0
20
+ */
21
+ import { SAP_DEFAULT_PROGRAM_ID, pdaToIdentity } from './types.js';
22
+ import { SAPDiscovery } from './discovery.js';
23
+ /* ═══════════════════════════════════════════════════════════════
24
+ * OnChainPersistenceAdapter
25
+ * ═══════════════════════════════════════════════════════════════ */
26
+ /**
27
+ * @description Persistence adapter backed by SAP on-chain data.
28
+ *
29
+ * **Read operations** (`load`, `loadAll`) query the blockchain via
30
+ * {@link SAPDiscovery}. **Write operations** (`save`, `remove`) are
31
+ * cached locally — the actual on-chain write must be done by the user
32
+ * via {@link SAPInstructionBuilder} + transaction signing.
33
+ *
34
+ * This design separates read (automatic) from write (user-driven)
35
+ * because on-chain writes require a signature from the agent's wallet.
36
+ *
37
+ * @implements {PersistenceAdapterLike}
38
+ * @since 1.3.0
39
+ */
40
+ export class OnChainPersistenceAdapter {
41
+ discovery;
42
+ pendingWrites = new Map();
43
+ removed = new Set();
44
+ /**
45
+ * @param {RpcClient} client - Client providing RPC transport
46
+ * @param {Partial<SAPConfig>} [config] - SAP configuration
47
+ */
48
+ constructor(client, config) {
49
+ this.discovery = new SAPDiscovery(client, {
50
+ programId: config?.programId ?? SAP_DEFAULT_PROGRAM_ID,
51
+ commitment: config?.commitment ?? 'confirmed',
52
+ maxAccounts: config?.maxAccounts ?? 100,
53
+ });
54
+ }
55
+ /**
56
+ * @description Get the underlying discovery instance for direct queries.
57
+ * @returns {SAPDiscovery} Discovery engine
58
+ * @since 1.3.0
59
+ */
60
+ getDiscovery() {
61
+ return this.discovery;
62
+ }
63
+ /**
64
+ * @description Stage agent data for persistence.
65
+ *
66
+ * This caches the data locally. To actually write on-chain, build and
67
+ * send a transaction using {@link SAPInstructionBuilder}.
68
+ *
69
+ * @param {string} id - Agent wallet pubkey or DID
70
+ * @param {unknown} data - Agent data to persist
71
+ * @returns {Promise<void>}
72
+ * @since 1.3.0
73
+ */
74
+ async save(id, data) {
75
+ this.removed.delete(id);
76
+ this.pendingWrites.set(id, data);
77
+ }
78
+ /**
79
+ * @description Load agent data from on-chain PDA.
80
+ *
81
+ * First checks pending writes (local cache), then queries the blockchain.
82
+ *
83
+ * @param {string} id - Agent wallet pubkey
84
+ * @returns {Promise<AgentPDAAccount | unknown | null>} Agent data or null
85
+ * @since 1.3.0
86
+ */
87
+ async load(id) {
88
+ if (this.removed.has(id))
89
+ return null;
90
+ if (this.pendingWrites.has(id))
91
+ return this.pendingWrites.get(id);
92
+ const agent = await this.discovery.findAgent(id);
93
+ if (!agent)
94
+ return null;
95
+ return {
96
+ identity: pdaToIdentity(agent),
97
+ pda: agent,
98
+ };
99
+ }
100
+ /**
101
+ * @description Load all agents from the blockchain.
102
+ *
103
+ * Merges on-chain data with pending local writes, excluding removed entries.
104
+ *
105
+ * @returns {Promise<Array<{ id: string; data: unknown }>>} All agent records
106
+ * @since 1.3.0
107
+ */
108
+ async loadAll() {
109
+ const onChain = await this.discovery.findActive();
110
+ const results = [];
111
+ const seen = new Set();
112
+ // On-chain agents
113
+ for (const agent of onChain) {
114
+ if (this.removed.has(agent.walletPubkey))
115
+ continue;
116
+ seen.add(agent.walletPubkey);
117
+ // Prefer pending write if available
118
+ if (this.pendingWrites.has(agent.walletPubkey)) {
119
+ results.push({ id: agent.walletPubkey, data: this.pendingWrites.get(agent.walletPubkey) });
120
+ }
121
+ else {
122
+ results.push({
123
+ id: agent.walletPubkey,
124
+ data: { identity: pdaToIdentity(agent), pda: agent },
125
+ });
126
+ }
127
+ }
128
+ // Pending writes not yet on-chain
129
+ for (const [id, data] of this.pendingWrites) {
130
+ if (!seen.has(id) && !this.removed.has(id)) {
131
+ results.push({ id, data });
132
+ }
133
+ }
134
+ return results;
135
+ }
136
+ /**
137
+ * @description Mark an agent for removal (locally cached).
138
+ *
139
+ * On-chain removal requires sending a `deactivate` instruction
140
+ * via {@link SAPInstructionBuilder}.
141
+ *
142
+ * @param {string} id - Agent wallet pubkey
143
+ * @returns {Promise<void>}
144
+ * @since 1.3.0
145
+ */
146
+ async remove(id) {
147
+ this.pendingWrites.delete(id);
148
+ this.removed.add(id);
149
+ }
150
+ /**
151
+ * @description Get pending writes that need to be committed on-chain.
152
+ * @returns {Map<string, unknown>} Map of agent ID → staged data
153
+ * @since 1.3.0
154
+ */
155
+ getPendingWrites() {
156
+ return this.pendingWrites;
157
+ }
158
+ /**
159
+ * @description Get IDs of agents marked for removal.
160
+ * @returns {ReadonlySet<string>} Set of removed agent IDs
161
+ * @since 1.3.0
162
+ */
163
+ getRemovedIds() {
164
+ return this.removed;
165
+ }
166
+ /**
167
+ * @description Clear all pending local writes and removals.
168
+ * Call after successfully committing transactions on-chain.
169
+ * @returns {void}
170
+ * @since 1.3.0
171
+ */
172
+ clearPending() {
173
+ this.pendingWrites.clear();
174
+ this.removed.clear();
175
+ }
176
+ }
177
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/ai/sap/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * @module ai/sap/discovery
3
+ * @description SAP — On-chain agent discovery via `getProgramAccounts`.
4
+ *
5
+ * Queries the Solana blockchain for registered agents, applying filters
6
+ * like capability, protocol, reputation, price range, and uptime.
7
+ *
8
+ * Uses the SDK's native {@link HttpTransport} — no external dependencies.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { SynapseClient } from '@oobe-protocol-labs/synapse-client-sdk';
13
+ * import { SAPDiscovery } from '@oobe-protocol-labs/synapse-client-sdk/ai';
14
+ *
15
+ * const client = new SynapseClient({ endpoint: 'https://api.mainnet-beta.solana.com' });
16
+ * const discovery = new SAPDiscovery(client, { programId: 'SAPAgnt1...' });
17
+ *
18
+ * // Find agents that support Jupiter swaps
19
+ * const result = await discovery.find({ capability: 'jupiter:swap', minReputation: 700 });
20
+ * for (const agent of result.agents) {
21
+ * console.log(agent.name, agent.reputation.score, agent.x402Endpoint);
22
+ * }
23
+ * ```
24
+ *
25
+ * @since 1.3.0
26
+ */
27
+ import type { SAPConfig, AgentPDAAccount, AgentDiscoveryFilter, DiscoveryResult, SAPAggregateMetrics } from './types';
28
+ /**
29
+ * @description Minimal transport interface for RPC calls.
30
+ * @since 1.3.0
31
+ */
32
+ interface RpcTransport {
33
+ request<T = unknown>(method: string, params: unknown[]): Promise<T>;
34
+ }
35
+ /**
36
+ * @description Minimal client interface providing transport access.
37
+ * Satisfied by {@link SynapseClient} and any object with a `transport` property.
38
+ * @since 1.3.0
39
+ */
40
+ interface RpcClient {
41
+ transport: RpcTransport;
42
+ }
43
+ /**
44
+ * @description Error class for SAP discovery failures.
45
+ * @since 1.3.0
46
+ */
47
+ export declare class SAPDiscoveryError extends Error {
48
+ readonly code: string;
49
+ constructor(message: string, code: string);
50
+ }
51
+ /**
52
+ * @description On-chain agent discovery engine.
53
+ *
54
+ * Queries the Solana blockchain for SAP-registered agents using
55
+ * `getProgramAccounts` with memcmp filters for efficient querying.
56
+ *
57
+ * @since 1.3.0
58
+ */
59
+ export declare class SAPDiscovery {
60
+ private readonly transport;
61
+ private readonly config;
62
+ /**
63
+ * @param {RpcClient} client - Client providing RPC transport
64
+ * @param {Partial<SAPConfig>} [config] - Discovery configuration
65
+ */
66
+ constructor(client: RpcClient, config?: Partial<SAPConfig>);
67
+ /**
68
+ * @description Find a single agent by wallet public key.
69
+ *
70
+ * Derives the PDA and fetches the account data directly.
71
+ *
72
+ * @param {string} walletPubkey - Agent's wallet (base58)
73
+ * @returns {Promise<AgentPDAAccount | null>} Agent account or null
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const agent = await discovery.findAgent('7xKXwJ...');
78
+ * if (agent) console.log(agent.name, agent.capabilities);
79
+ * ```
80
+ *
81
+ * @since 1.3.0
82
+ */
83
+ findAgent(walletPubkey: string): Promise<AgentPDAAccount | null>;
84
+ /**
85
+ * @description Find agents matching the given filters.
86
+ *
87
+ * Uses `getProgramAccounts` with a memcmp filter on the discriminator
88
+ * to fetch all SAP accounts, then applies client-side filters.
89
+ *
90
+ * @param {AgentDiscoveryFilter} [filter] - Query filters
91
+ * @returns {Promise<DiscoveryResult>} Discovery results with matching agents
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * const result = await discovery.find({
96
+ * capability: 'jupiter:swap',
97
+ * minReputation: 600,
98
+ * maxPricePerCall: 5000n,
99
+ * sortBy: 'reputation',
100
+ * limit: 20,
101
+ * });
102
+ * ```
103
+ *
104
+ * @since 1.3.0
105
+ */
106
+ find(filter?: AgentDiscoveryFilter): Promise<DiscoveryResult>;
107
+ /**
108
+ * @description Find all active agents (shortcut for `find({ activeOnly: true })`).
109
+ * @returns {Promise<AgentPDAAccount[]>} Active agent accounts
110
+ * @since 1.3.0
111
+ */
112
+ findActive(): Promise<AgentPDAAccount[]>;
113
+ /**
114
+ * @description Find agents by capability ID.
115
+ * @param {string} capabilityId - Capability to search for (e.g. `"jupiter:swap"`)
116
+ * @returns {Promise<AgentPDAAccount[]>} Agents with the given capability
117
+ * @since 1.3.0
118
+ */
119
+ findByCapability(capabilityId: string): Promise<AgentPDAAccount[]>;
120
+ /**
121
+ * @description Find agents by protocol name.
122
+ * @param {string} protocol - Protocol name (e.g. `"jupiter"`, `"raydium"`)
123
+ * @returns {Promise<AgentPDAAccount[]>} Agents offering tools for the given protocol
124
+ * @since 1.3.0
125
+ */
126
+ findByProtocol(protocol: string): Promise<AgentPDAAccount[]>;
127
+ /**
128
+ * @description Find the cheapest agent for a given capability.
129
+ * @param {string} capabilityId - Capability to search for
130
+ * @returns {Promise<AgentPDAAccount | null>} Cheapest agent or null
131
+ * @since 1.3.0
132
+ */
133
+ findCheapest(capabilityId: string): Promise<AgentPDAAccount | null>;
134
+ /**
135
+ * @description Find the most reputable agent for a given capability.
136
+ * @param {string} capabilityId - Capability to search for
137
+ * @returns {Promise<AgentPDAAccount | null>} Most reputable agent or null
138
+ * @since 1.3.0
139
+ */
140
+ findMostReputable(capabilityId: string): Promise<AgentPDAAccount | null>;
141
+ /**
142
+ * @description Compute aggregate metrics across all registered agents.
143
+ *
144
+ * @returns {Promise<SAPAggregateMetrics>} Network-wide agent statistics
145
+ *
146
+ * @example
147
+ * ```ts
148
+ * const metrics = await discovery.getAggregateMetrics();
149
+ * console.log(`${metrics.activeAgents} active agents`);
150
+ * console.log(`${metrics.totalCallsServed} total calls served`);
151
+ * console.log(`Protocols: ${metrics.protocols.join(', ')}`);
152
+ * ```
153
+ *
154
+ * @since 1.3.0
155
+ */
156
+ getAggregateMetrics(): Promise<SAPAggregateMetrics>;
157
+ /**
158
+ * @description Fetch all SAP accounts from the blockchain using getProgramAccounts.
159
+ * @returns {Promise<AgentPDAAccount[]>} All deserialized agent accounts
160
+ * @internal
161
+ */
162
+ private fetchAllAccounts;
163
+ }
164
+ export {};
165
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/ai/sap/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAQjB;;;GAGG;AACH,UAAU,YAAY;IACpB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACrE;AAED;;;;GAIG;AACH,UAAU,SAAS;IACjB,SAAS,EAAE,YAAY,CAAC;CACzB;AAMD;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;aACG,IAAI,EAAE,MAAM;gBAA7C,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM;CAI1D;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C;;;OAGG;gBACS,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAS1D;;;;;;;;;;;;;;;OAeG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAiBtE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,IAAI,CAAC,MAAM,GAAE,oBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAqEvE;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAK9C;;;;;OAKG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAKxE;;;;;OAKG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAKlE;;;;;OAKG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAUzE;;;;;OAKG;IACG,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAU9E;;;;;;;;;;;;;;OAcG;IACG,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAmCzD;;;;OAIG;YACW,gBAAgB;CAgC/B"}
@@ -0,0 +1,311 @@
1
+ /**
2
+ * @module ai/sap/discovery
3
+ * @description SAP — On-chain agent discovery via `getProgramAccounts`.
4
+ *
5
+ * Queries the Solana blockchain for registered agents, applying filters
6
+ * like capability, protocol, reputation, price range, and uptime.
7
+ *
8
+ * Uses the SDK's native {@link HttpTransport} — no external dependencies.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { SynapseClient } from '@oobe-protocol-labs/synapse-client-sdk';
13
+ * import { SAPDiscovery } from '@oobe-protocol-labs/synapse-client-sdk/ai';
14
+ *
15
+ * const client = new SynapseClient({ endpoint: 'https://api.mainnet-beta.solana.com' });
16
+ * const discovery = new SAPDiscovery(client, { programId: 'SAPAgnt1...' });
17
+ *
18
+ * // Find agents that support Jupiter swaps
19
+ * const result = await discovery.find({ capability: 'jupiter:swap', minReputation: 700 });
20
+ * for (const agent of result.agents) {
21
+ * console.log(agent.name, agent.reputation.score, agent.x402Endpoint);
22
+ * }
23
+ * ```
24
+ *
25
+ * @since 1.3.0
26
+ */
27
+ import { SAP_DEFAULT_PROGRAM_ID, SAP_ACCOUNT_DISCRIMINATOR } from './types.js';
28
+ import { deserializeAgentAccount, deriveAgentPDA } from './pda.js';
29
+ /* ═══════════════════════════════════════════════════════════════
30
+ * SAPDiscovery
31
+ * ═══════════════════════════════════════════════════════════════ */
32
+ /**
33
+ * @description Error class for SAP discovery failures.
34
+ * @since 1.3.0
35
+ */
36
+ export class SAPDiscoveryError extends Error {
37
+ code;
38
+ constructor(message, code) {
39
+ super(message);
40
+ this.code = code;
41
+ this.name = 'SAPDiscoveryError';
42
+ }
43
+ }
44
+ /**
45
+ * @description On-chain agent discovery engine.
46
+ *
47
+ * Queries the Solana blockchain for SAP-registered agents using
48
+ * `getProgramAccounts` with memcmp filters for efficient querying.
49
+ *
50
+ * @since 1.3.0
51
+ */
52
+ export class SAPDiscovery {
53
+ transport;
54
+ config;
55
+ /**
56
+ * @param {RpcClient} client - Client providing RPC transport
57
+ * @param {Partial<SAPConfig>} [config] - Discovery configuration
58
+ */
59
+ constructor(client, config) {
60
+ this.transport = client.transport;
61
+ this.config = {
62
+ programId: config?.programId ?? SAP_DEFAULT_PROGRAM_ID,
63
+ commitment: config?.commitment ?? 'confirmed',
64
+ maxAccounts: config?.maxAccounts ?? 100,
65
+ };
66
+ }
67
+ /**
68
+ * @description Find a single agent by wallet public key.
69
+ *
70
+ * Derives the PDA and fetches the account data directly.
71
+ *
72
+ * @param {string} walletPubkey - Agent's wallet (base58)
73
+ * @returns {Promise<AgentPDAAccount | null>} Agent account or null
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const agent = await discovery.findAgent('7xKXwJ...');
78
+ * if (agent) console.log(agent.name, agent.capabilities);
79
+ * ```
80
+ *
81
+ * @since 1.3.0
82
+ */
83
+ async findAgent(walletPubkey) {
84
+ const pda = deriveAgentPDA(walletPubkey, this.config.programId);
85
+ const result = await this.transport.request('getAccountInfo', [pda.address, { encoding: 'base64', commitment: this.config.commitment }]);
86
+ if (!result?.value?.data)
87
+ return null;
88
+ try {
89
+ const bytes = Buffer.from(result.value.data[0], 'base64');
90
+ return deserializeAgentAccount(pda.address, bytes);
91
+ }
92
+ catch {
93
+ return null;
94
+ }
95
+ }
96
+ /**
97
+ * @description Find agents matching the given filters.
98
+ *
99
+ * Uses `getProgramAccounts` with a memcmp filter on the discriminator
100
+ * to fetch all SAP accounts, then applies client-side filters.
101
+ *
102
+ * @param {AgentDiscoveryFilter} [filter] - Query filters
103
+ * @returns {Promise<DiscoveryResult>} Discovery results with matching agents
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * const result = await discovery.find({
108
+ * capability: 'jupiter:swap',
109
+ * minReputation: 600,
110
+ * maxPricePerCall: 5000n,
111
+ * sortBy: 'reputation',
112
+ * limit: 20,
113
+ * });
114
+ * ```
115
+ *
116
+ * @since 1.3.0
117
+ */
118
+ async find(filter = {}) {
119
+ const start = performance.now();
120
+ const { activeOnly = true, capability, protocol, minReputation, maxPricePerCall, minUptime, sortBy, sortDirection = 'desc', limit = 50, } = filter;
121
+ // Fetch all accounts with discriminator filter
122
+ const accounts = await this.fetchAllAccounts();
123
+ const totalScanned = accounts.length;
124
+ // Apply filters
125
+ let matched = accounts.filter((agent) => {
126
+ if (activeOnly && !agent.isActive)
127
+ return false;
128
+ if (capability && !agent.capabilities.some(c => c.id === capability))
129
+ return false;
130
+ if (protocol && !agent.capabilities.some(c => c.protocol === protocol))
131
+ return false;
132
+ if (minReputation !== undefined && agent.reputation.score < minReputation)
133
+ return false;
134
+ if (maxPricePerCall !== undefined) {
135
+ const cheapest = agent.pricing.reduce((min, p) => p.pricePerCall < min ? p.pricePerCall : min, agent.pricing[0]?.pricePerCall ?? 0n);
136
+ if (cheapest > maxPricePerCall)
137
+ return false;
138
+ }
139
+ if (minUptime !== undefined && agent.reputation.uptimePercent < minUptime)
140
+ return false;
141
+ return true;
142
+ });
143
+ const totalMatching = matched.length;
144
+ // Sort
145
+ if (sortBy) {
146
+ const mul = sortDirection === 'asc' ? 1 : -1;
147
+ matched.sort((a, b) => {
148
+ switch (sortBy) {
149
+ case 'reputation': return mul * (a.reputation.score - b.reputation.score);
150
+ case 'latency': return mul * (a.reputation.avgLatencyMs - b.reputation.avgLatencyMs);
151
+ case 'uptime': return mul * (a.reputation.uptimePercent - b.reputation.uptimePercent);
152
+ case 'calls': return mul * Number(a.reputation.totalCallsServed - b.reputation.totalCallsServed);
153
+ case 'price': {
154
+ const aMin = a.pricing[0]?.pricePerCall ?? 0n;
155
+ const bMin = b.pricing[0]?.pricePerCall ?? 0n;
156
+ return mul * Number(aMin - bMin);
157
+ }
158
+ default: return 0;
159
+ }
160
+ });
161
+ }
162
+ // Limit
163
+ if (matched.length > limit) {
164
+ matched = matched.slice(0, limit);
165
+ }
166
+ return {
167
+ agents: matched,
168
+ totalScanned,
169
+ totalMatching,
170
+ queryLatencyMs: Math.round(performance.now() - start),
171
+ };
172
+ }
173
+ /**
174
+ * @description Find all active agents (shortcut for `find({ activeOnly: true })`).
175
+ * @returns {Promise<AgentPDAAccount[]>} Active agent accounts
176
+ * @since 1.3.0
177
+ */
178
+ async findActive() {
179
+ const result = await this.find({ activeOnly: true, limit: this.config.maxAccounts });
180
+ return result.agents;
181
+ }
182
+ /**
183
+ * @description Find agents by capability ID.
184
+ * @param {string} capabilityId - Capability to search for (e.g. `"jupiter:swap"`)
185
+ * @returns {Promise<AgentPDAAccount[]>} Agents with the given capability
186
+ * @since 1.3.0
187
+ */
188
+ async findByCapability(capabilityId) {
189
+ const result = await this.find({ capability: capabilityId, limit: this.config.maxAccounts });
190
+ return result.agents;
191
+ }
192
+ /**
193
+ * @description Find agents by protocol name.
194
+ * @param {string} protocol - Protocol name (e.g. `"jupiter"`, `"raydium"`)
195
+ * @returns {Promise<AgentPDAAccount[]>} Agents offering tools for the given protocol
196
+ * @since 1.3.0
197
+ */
198
+ async findByProtocol(protocol) {
199
+ const result = await this.find({ protocol, limit: this.config.maxAccounts });
200
+ return result.agents;
201
+ }
202
+ /**
203
+ * @description Find the cheapest agent for a given capability.
204
+ * @param {string} capabilityId - Capability to search for
205
+ * @returns {Promise<AgentPDAAccount | null>} Cheapest agent or null
206
+ * @since 1.3.0
207
+ */
208
+ async findCheapest(capabilityId) {
209
+ const result = await this.find({
210
+ capability: capabilityId,
211
+ sortBy: 'price',
212
+ sortDirection: 'asc',
213
+ limit: 1,
214
+ });
215
+ return result.agents[0] ?? null;
216
+ }
217
+ /**
218
+ * @description Find the most reputable agent for a given capability.
219
+ * @param {string} capabilityId - Capability to search for
220
+ * @returns {Promise<AgentPDAAccount | null>} Most reputable agent or null
221
+ * @since 1.3.0
222
+ */
223
+ async findMostReputable(capabilityId) {
224
+ const result = await this.find({
225
+ capability: capabilityId,
226
+ sortBy: 'reputation',
227
+ sortDirection: 'desc',
228
+ limit: 1,
229
+ });
230
+ return result.agents[0] ?? null;
231
+ }
232
+ /**
233
+ * @description Compute aggregate metrics across all registered agents.
234
+ *
235
+ * @returns {Promise<SAPAggregateMetrics>} Network-wide agent statistics
236
+ *
237
+ * @example
238
+ * ```ts
239
+ * const metrics = await discovery.getAggregateMetrics();
240
+ * console.log(`${metrics.activeAgents} active agents`);
241
+ * console.log(`${metrics.totalCallsServed} total calls served`);
242
+ * console.log(`Protocols: ${metrics.protocols.join(', ')}`);
243
+ * ```
244
+ *
245
+ * @since 1.3.0
246
+ */
247
+ async getAggregateMetrics() {
248
+ const agents = await this.fetchAllAccounts();
249
+ const protocols = new Set();
250
+ const capabilities = new Set();
251
+ let totalCalls = 0n;
252
+ let totalReputation = 0;
253
+ let totalLatency = 0;
254
+ let activeCount = 0;
255
+ for (const agent of agents) {
256
+ if (agent.isActive)
257
+ activeCount++;
258
+ totalCalls += agent.reputation.totalCallsServed;
259
+ totalReputation += agent.reputation.score;
260
+ totalLatency += agent.reputation.avgLatencyMs;
261
+ for (const cap of agent.capabilities) {
262
+ capabilities.add(cap.id);
263
+ if (cap.protocol)
264
+ protocols.add(cap.protocol);
265
+ }
266
+ }
267
+ return {
268
+ totalAgents: agents.length,
269
+ activeAgents: activeCount,
270
+ totalCallsServed: totalCalls,
271
+ avgReputation: agents.length > 0 ? Math.round(totalReputation / agents.length) : 0,
272
+ avgLatencyMs: agents.length > 0 ? Math.round(totalLatency / agents.length) : 0,
273
+ protocols: [...protocols],
274
+ capabilities: [...capabilities],
275
+ };
276
+ }
277
+ /* ── Internal ── */
278
+ /**
279
+ * @description Fetch all SAP accounts from the blockchain using getProgramAccounts.
280
+ * @returns {Promise<AgentPDAAccount[]>} All deserialized agent accounts
281
+ * @internal
282
+ */
283
+ async fetchAllAccounts() {
284
+ // memcmp filter: match the 8-byte discriminator at offset 0
285
+ const discriminatorBase64 = Buffer.from(SAP_ACCOUNT_DISCRIMINATOR).toString('base64');
286
+ const rpcResult = await this.transport.request('getProgramAccounts', [
287
+ this.config.programId,
288
+ {
289
+ encoding: 'base64',
290
+ commitment: this.config.commitment,
291
+ filters: [
292
+ { memcmp: { offset: 0, bytes: discriminatorBase64, encoding: 'base64' } },
293
+ ],
294
+ },
295
+ ]);
296
+ if (!Array.isArray(rpcResult))
297
+ return [];
298
+ const agents = [];
299
+ for (const entry of rpcResult) {
300
+ try {
301
+ const bytes = Buffer.from(entry.account.data[0], 'base64');
302
+ agents.push(deserializeAgentAccount(entry.pubkey, bytes));
303
+ }
304
+ catch {
305
+ // Skip malformed accounts
306
+ }
307
+ }
308
+ return agents;
309
+ }
310
+ }
311
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/ai/sap/discovery.ts"],"names":[],"mappings":"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"}