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

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 (621) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/ai/actions/server.d.ts.map +1 -1
  4. package/dist/cjs/ai/actions/server.js +5 -3
  5. package/dist/cjs/ai/actions/server.js.map +1 -1
  6. package/dist/cjs/ai/gateway/index.d.ts.map +1 -1
  7. package/dist/cjs/ai/gateway/index.js.map +1 -1
  8. package/dist/cjs/ai/gateway/x402/client.d.ts.map +1 -1
  9. package/dist/cjs/ai/gateway/x402/client.js +0 -3
  10. package/dist/cjs/ai/gateway/x402/client.js.map +1 -1
  11. package/dist/cjs/ai/gateway/x402/paywall.d.ts.map +1 -1
  12. package/dist/cjs/ai/gateway/x402/paywall.js.map +1 -1
  13. package/dist/cjs/ai/index.d.ts +1 -1
  14. package/dist/cjs/ai/index.d.ts.map +1 -1
  15. package/dist/cjs/ai/index.js +12 -28
  16. package/dist/cjs/ai/index.js.map +1 -1
  17. package/dist/cjs/ai/intents/executor.js.map +1 -1
  18. package/dist/cjs/ai/intents/parser.d.ts.map +1 -1
  19. package/dist/cjs/ai/intents/parser.js.map +1 -1
  20. package/dist/cjs/ai/intents/planner.js.map +1 -1
  21. package/dist/cjs/ai/mcp/client.js +1 -1
  22. package/dist/cjs/ai/mcp/client.js.map +1 -1
  23. package/dist/cjs/ai/persistence/postgresql.js.map +1 -1
  24. package/dist/cjs/ai/plugins/registry.js +1 -1
  25. package/dist/cjs/ai/plugins/registry.js.map +1 -1
  26. package/dist/cjs/ai/sap/client.d.ts +197 -0
  27. package/dist/cjs/ai/sap/client.d.ts.map +1 -0
  28. package/dist/cjs/ai/sap/client.js +334 -0
  29. package/dist/cjs/ai/sap/client.js.map +1 -0
  30. package/dist/cjs/ai/sap/index.d.ts +69 -52
  31. package/dist/cjs/ai/sap/index.d.ts.map +1 -1
  32. package/dist/cjs/ai/sap/index.js +73 -77
  33. package/dist/cjs/ai/sap/index.js.map +1 -1
  34. package/dist/cjs/ai/sap/provider.d.ts +180 -0
  35. package/dist/cjs/ai/sap/provider.d.ts.map +1 -0
  36. package/dist/cjs/ai/sap/provider.js +219 -0
  37. package/dist/cjs/ai/sap/provider.js.map +1 -0
  38. package/dist/cjs/ai/sap/types.d.ts +120 -384
  39. package/dist/cjs/ai/sap/types.d.ts.map +1 -1
  40. package/dist/cjs/ai/sap/types.js +20 -200
  41. package/dist/cjs/ai/sap/types.js.map +1 -1
  42. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
  43. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
  44. package/dist/cjs/ai/tools/protocols/shared.d.ts.map +1 -1
  45. package/dist/cjs/ai/tools/protocols/shared.js +4 -1
  46. package/dist/cjs/ai/tools/protocols/shared.js.map +1 -1
  47. package/dist/cjs/ai/tools/protocols/solana-programs/tools.js.map +1 -1
  48. package/dist/cjs/context/container.d.ts.map +1 -1
  49. package/dist/cjs/context/container.js.map +1 -1
  50. package/dist/cjs/grpc/parser/geyser-parser.d.ts.map +1 -1
  51. package/dist/cjs/grpc/parser/geyser-parser.js.map +1 -1
  52. package/dist/cjs/next/index.d.ts.map +1 -1
  53. package/dist/cjs/next/index.js +7 -1
  54. package/dist/cjs/next/index.js.map +1 -1
  55. package/dist/cjs/programs/index.d.ts.map +1 -1
  56. package/dist/cjs/programs/index.js.map +1 -1
  57. package/dist/cjs/utils/helpers.js.map +1 -1
  58. package/dist/docs/classes/AccountReader.html +18 -18
  59. package/dist/docs/classes/AccountsClient.html +10 -10
  60. package/dist/docs/classes/AsyncProviderError.html +4 -4
  61. package/dist/docs/classes/CircularDependencyError.html +4 -4
  62. package/dist/docs/classes/DasClient.html +13 -13
  63. package/dist/docs/classes/GeyserParser.html +17 -17
  64. package/dist/docs/classes/GrpcTransport.html +6 -6
  65. package/dist/docs/classes/HttpTransport.html +4 -4
  66. package/dist/docs/classes/InstructionWriter.html +11 -11
  67. package/dist/docs/classes/MemoryGuard.html +9 -9
  68. package/dist/docs/classes/NetworkError.html +5 -5
  69. package/dist/docs/classes/RefRegistry.html +11 -11
  70. package/dist/docs/classes/RefReleasedError.html +4 -4
  71. package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
  72. package/dist/docs/classes/ServiceNotFoundError.html +4 -4
  73. package/dist/docs/classes/ServiceRef.html +13 -13
  74. package/dist/docs/classes/SolanaRpc.html +55 -55
  75. package/dist/docs/classes/SynapseClient.html +15 -15
  76. package/dist/docs/classes/SynapseContext.html +27 -27
  77. package/dist/docs/classes/SynapseError.html +4 -4
  78. package/dist/docs/classes/TimeoutError.html +4 -4
  79. package/dist/docs/classes/UpstreamError.html +6 -6
  80. package/dist/docs/classes/WeakServiceRef.html +4 -4
  81. package/dist/docs/classes/WsClient.html +10 -10
  82. package/dist/docs/enums/SynapseNetwork.html +2 -2
  83. package/dist/docs/enums/SynapseRegion.html +2 -2
  84. package/dist/docs/enums/TokenExtensionType.html +2 -2
  85. package/dist/docs/functions/Epoch-1.html +1 -1
  86. package/dist/docs/functions/Lamports-2.html +1 -1
  87. package/dist/docs/functions/Pubkey-1.html +1 -1
  88. package/dist/docs/functions/Sig.html +1 -1
  89. package/dist/docs/functions/Slot-1.html +1 -1
  90. package/dist/docs/functions/UnixTs.html +1 -1
  91. package/dist/docs/functions/autoSelectRegion.html +1 -1
  92. package/dist/docs/functions/autoWire.html +1 -1
  93. package/dist/docs/functions/base58Encode.html +1 -1
  94. package/dist/docs/functions/base64ToBytes.html +1 -1
  95. package/dist/docs/functions/bigIntReplacer.html +1 -1
  96. package/dist/docs/functions/chunk.html +1 -1
  97. package/dist/docs/functions/computeBalanceChanges.html +1 -1
  98. package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
  99. package/dist/docs/functions/createBareContext.html +1 -1
  100. package/dist/docs/functions/createBinding.html +1 -1
  101. package/dist/docs/functions/createBoundHook.html +1 -1
  102. package/dist/docs/functions/createReactAdapter.html +1 -1
  103. package/dist/docs/functions/createRefHook.html +1 -1
  104. package/dist/docs/functions/createServerMiddleware.html +1 -1
  105. package/dist/docs/functions/createServiceHook.html +1 -1
  106. package/dist/docs/functions/createSingleton.html +1 -1
  107. package/dist/docs/functions/createSynapse.html +1 -1
  108. package/dist/docs/functions/createSynapseContext.html +1 -1
  109. package/dist/docs/functions/createToken.html +1 -1
  110. package/dist/docs/functions/decodeBase58.html +1 -1
  111. package/dist/docs/functions/decodeLookupTable.html +1 -1
  112. package/dist/docs/functions/decodeMint.html +1 -1
  113. package/dist/docs/functions/decodeMultisig.html +1 -1
  114. package/dist/docs/functions/decodeNonceAccount.html +1 -1
  115. package/dist/docs/functions/decodeStakeAccount.html +1 -1
  116. package/dist/docs/functions/decodeToken2022Account.html +1 -1
  117. package/dist/docs/functions/decodeToken2022Mint.html +1 -1
  118. package/dist/docs/functions/decodeTokenAccount.html +1 -1
  119. package/dist/docs/functions/encodeBase58.html +1 -1
  120. package/dist/docs/functions/fetchLookupTable.html +1 -1
  121. package/dist/docs/functions/fetchMint.html +1 -1
  122. package/dist/docs/functions/fetchNonceAccount.html +1 -1
  123. package/dist/docs/functions/fetchStakeAccount.html +1 -1
  124. package/dist/docs/functions/fetchTokenAccount.html +1 -1
  125. package/dist/docs/functions/fetchTokenAccountsByOwner.html +1 -1
  126. package/dist/docs/functions/fromKitAddress.html +1 -1
  127. package/dist/docs/functions/getAccountInfo.html +1 -1
  128. package/dist/docs/functions/getAsset.html +1 -1
  129. package/dist/docs/functions/getAssetBatch.html +1 -1
  130. package/dist/docs/functions/getAssetProof.html +1 -1
  131. package/dist/docs/functions/getAssetProofBatch.html +1 -1
  132. package/dist/docs/functions/getAssetsByAuthority.html +1 -1
  133. package/dist/docs/functions/getAssetsByCreator.html +1 -1
  134. package/dist/docs/functions/getAssetsByGroup.html +1 -1
  135. package/dist/docs/functions/getAssetsByOwner.html +1 -1
  136. package/dist/docs/functions/getBalance.html +1 -1
  137. package/dist/docs/functions/getBlock.html +1 -1
  138. package/dist/docs/functions/getBlockCommitment.html +1 -1
  139. package/dist/docs/functions/getBlockHeight.html +1 -1
  140. package/dist/docs/functions/getBlockProduction.html +1 -1
  141. package/dist/docs/functions/getBlockTime.html +1 -1
  142. package/dist/docs/functions/getBlocks.html +1 -1
  143. package/dist/docs/functions/getBlocksWithLimit.html +1 -1
  144. package/dist/docs/functions/getClusterNodes.html +1 -1
  145. package/dist/docs/functions/getContext.html +1 -1
  146. package/dist/docs/functions/getDecodedAccount.html +1 -1
  147. package/dist/docs/functions/getDecodedAccounts.html +1 -1
  148. package/dist/docs/functions/getEnvironment.html +1 -1
  149. package/dist/docs/functions/getEpochInfo.html +1 -1
  150. package/dist/docs/functions/getEpochSchedule.html +1 -1
  151. package/dist/docs/functions/getFeeForMessage.html +1 -1
  152. package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
  153. package/dist/docs/functions/getGenesisHash.html +1 -1
  154. package/dist/docs/functions/getHealth.html +1 -1
  155. package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
  156. package/dist/docs/functions/getIdentity.html +1 -1
  157. package/dist/docs/functions/getInflationGovernor.html +1 -1
  158. package/dist/docs/functions/getInflationRate.html +1 -1
  159. package/dist/docs/functions/getInflationReward.html +1 -1
  160. package/dist/docs/functions/getLargestAccounts.html +1 -1
  161. package/dist/docs/functions/getLatestBlockhash.html +1 -1
  162. package/dist/docs/functions/getLeaderSchedule.html +1 -1
  163. package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
  164. package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
  165. package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
  166. package/dist/docs/functions/getMultipleAccounts.html +1 -1
  167. package/dist/docs/functions/getProgramAccounts.html +1 -1
  168. package/dist/docs/functions/getProgramCategory.html +1 -1
  169. package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
  170. package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
  171. package/dist/docs/functions/getSignatureStatuses.html +1 -1
  172. package/dist/docs/functions/getSignaturesForAddress.html +1 -1
  173. package/dist/docs/functions/getSignaturesForAsset.html +1 -1
  174. package/dist/docs/functions/getSlot.html +1 -1
  175. package/dist/docs/functions/getSlotLeader.html +1 -1
  176. package/dist/docs/functions/getSlotLeaders.html +1 -1
  177. package/dist/docs/functions/getStakeActivation.html +1 -1
  178. package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
  179. package/dist/docs/functions/getSupply.html +1 -1
  180. package/dist/docs/functions/getTokenAccountBalance.html +1 -1
  181. package/dist/docs/functions/getTokenAccounts.html +1 -1
  182. package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
  183. package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
  184. package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
  185. package/dist/docs/functions/getTokenSupply.html +1 -1
  186. package/dist/docs/functions/getTransaction.html +1 -1
  187. package/dist/docs/functions/getTransactionCount.html +1 -1
  188. package/dist/docs/functions/getVersion.html +1 -1
  189. package/dist/docs/functions/getVoteAccounts.html +1 -1
  190. package/dist/docs/functions/isBlockhashValid.html +1 -1
  191. package/dist/docs/functions/isBrowser.html +1 -1
  192. package/dist/docs/functions/isDisposable.html +1 -1
  193. package/dist/docs/functions/isProgramInCategory.html +1 -1
  194. package/dist/docs/functions/isServer.html +1 -1
  195. package/dist/docs/functions/isValidPubkey.html +1 -1
  196. package/dist/docs/functions/isValidSignature.html +1 -1
  197. package/dist/docs/functions/lamportsToSol.html +1 -1
  198. package/dist/docs/functions/listEndpoints.html +1 -1
  199. package/dist/docs/functions/listNetworks.html +1 -1
  200. package/dist/docs/functions/listRegions.html +1 -1
  201. package/dist/docs/functions/minimumLedgerSlot.html +1 -1
  202. package/dist/docs/functions/parseAccountUpdate.html +1 -1
  203. package/dist/docs/functions/parseBlockMeta.html +1 -1
  204. package/dist/docs/functions/parseEntry.html +1 -1
  205. package/dist/docs/functions/parseGeyserUpdate.html +1 -1
  206. package/dist/docs/functions/parseSlotUpdate.html +1 -1
  207. package/dist/docs/functions/parseTimestamp.html +1 -1
  208. package/dist/docs/functions/parseTransaction.html +1 -1
  209. package/dist/docs/functions/probeLatency.html +1 -1
  210. package/dist/docs/functions/rawBufferToBase58.html +1 -1
  211. package/dist/docs/functions/rawBufferToBase64.html +1 -1
  212. package/dist/docs/functions/rawBufferToBytes.html +1 -1
  213. package/dist/docs/functions/rawBufferToHex.html +1 -1
  214. package/dist/docs/functions/readonly.html +1 -1
  215. package/dist/docs/functions/readonlySigner.html +1 -1
  216. package/dist/docs/functions/requestAirdrop.html +1 -1
  217. package/dist/docs/functions/resolveEndpoint.html +1 -1
  218. package/dist/docs/functions/resolveProgram.html +1 -1
  219. package/dist/docs/functions/resolveProgramBatch.html +1 -1
  220. package/dist/docs/functions/retry.html +1 -1
  221. package/dist/docs/functions/searchAssets.html +1 -1
  222. package/dist/docs/functions/sendTransaction.html +1 -1
  223. package/dist/docs/functions/setGlobalContext.html +1 -1
  224. package/dist/docs/functions/simulateTransaction.html +1 -1
  225. package/dist/docs/functions/sleep.html +1 -1
  226. package/dist/docs/functions/solToLamports.html +1 -1
  227. package/dist/docs/functions/toClientConfig.html +1 -1
  228. package/dist/docs/functions/toJsonSafe.html +1 -1
  229. package/dist/docs/functions/toKitAddress.html +1 -1
  230. package/dist/docs/functions/toKitInstruction.html +1 -1
  231. package/dist/docs/functions/toKitLamports.html +1 -1
  232. package/dist/docs/functions/toKitSignatureString.html +1 -1
  233. package/dist/docs/functions/tryGetContext.html +1 -1
  234. package/dist/docs/functions/tryUseService.html +1 -1
  235. package/dist/docs/functions/useBoundServices.html +1 -1
  236. package/dist/docs/functions/useService.html +1 -1
  237. package/dist/docs/functions/useSharedRef.html +1 -1
  238. package/dist/docs/functions/withRef.html +1 -1
  239. package/dist/docs/functions/withRefAsync.html +1 -1
  240. package/dist/docs/functions/writable.html +1 -1
  241. package/dist/docs/functions/writableSigner.html +1 -1
  242. package/dist/docs/index.html +2 -2
  243. package/dist/docs/interfaces/AccountInfo.html +7 -7
  244. package/dist/docs/interfaces/AccountMeta.html +4 -4
  245. package/dist/docs/interfaces/AccountNotification.html +2 -2
  246. package/dist/docs/interfaces/AccountSubParams.html +2 -2
  247. package/dist/docs/interfaces/AddMemoParams.html +5 -5
  248. package/dist/docs/interfaces/AdvanceNonceParams.html +3 -3
  249. package/dist/docs/interfaces/AliasProvider.html +2 -2
  250. package/dist/docs/interfaces/AllocateParams.html +3 -3
  251. package/dist/docs/interfaces/ApproveCheckedParams.html +9 -9
  252. package/dist/docs/interfaces/ApproveParams.html +7 -7
  253. package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
  254. package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
  255. package/dist/docs/interfaces/AssignParams.html +3 -3
  256. package/dist/docs/interfaces/AsyncFactoryProvider.html +2 -2
  257. package/dist/docs/interfaces/AuthorizeNonceParams.html +4 -4
  258. package/dist/docs/interfaces/BalanceChange.html +6 -6
  259. package/dist/docs/interfaces/BlockProduction.html +3 -3
  260. package/dist/docs/interfaces/BlockResult.html +2 -2
  261. package/dist/docs/interfaces/BlockReward.html +2 -2
  262. package/dist/docs/interfaces/BlockhashResult.html +2 -2
  263. package/dist/docs/interfaces/BurnCheckedParams.html +8 -8
  264. package/dist/docs/interfaces/BurnParams.html +7 -7
  265. package/dist/docs/interfaces/CallOptions.html +6 -6
  266. package/dist/docs/interfaces/ClassProvider.html +2 -2
  267. package/dist/docs/interfaces/CloseAccountParams.html +6 -6
  268. package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
  269. package/dist/docs/interfaces/ContactInfo.html +2 -2
  270. package/dist/docs/interfaces/ContextAdapter.html +5 -5
  271. package/dist/docs/interfaces/ContextEvents.html +6 -6
  272. package/dist/docs/interfaces/ContextModule.html +3 -3
  273. package/dist/docs/interfaces/CreateATAParams.html +6 -6
  274. package/dist/docs/interfaces/CreateAccountParams.html +6 -6
  275. package/dist/docs/interfaces/CreateAccountWithSeedParams.html +8 -8
  276. package/dist/docs/interfaces/CreateSynapseContextOpts.html +4 -4
  277. package/dist/docs/interfaces/DasAsset.html +2 -2
  278. package/dist/docs/interfaces/DasAssetProof.html +2 -2
  279. package/dist/docs/interfaces/DasAuthority.html +2 -2
  280. package/dist/docs/interfaces/DasCompression.html +2 -2
  281. package/dist/docs/interfaces/DasContent.html +2 -2
  282. package/dist/docs/interfaces/DasCreator.html +2 -2
  283. package/dist/docs/interfaces/DasFile.html +2 -2
  284. package/dist/docs/interfaces/DasGrouping.html +2 -2
  285. package/dist/docs/interfaces/DasOpts.html +2 -2
  286. package/dist/docs/interfaces/DasOwnership.html +2 -2
  287. package/dist/docs/interfaces/DasPage.html +2 -2
  288. package/dist/docs/interfaces/DasRoyalty.html +2 -2
  289. package/dist/docs/interfaces/DasSearchParams.html +2 -2
  290. package/dist/docs/interfaces/DasSupply.html +2 -2
  291. package/dist/docs/interfaces/DataSlice.html +3 -3
  292. package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
  293. package/dist/docs/interfaces/DecodedLookupTable.html +8 -8
  294. package/dist/docs/interfaces/DecodedMint.html +6 -6
  295. package/dist/docs/interfaces/DecodedMultisig.html +5 -5
  296. package/dist/docs/interfaces/DecodedNonceAccount.html +6 -6
  297. package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
  298. package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
  299. package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
  300. package/dist/docs/interfaces/DecodedTokenAccount.html +9 -9
  301. package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
  302. package/dist/docs/interfaces/Disposable.html +2 -2
  303. package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
  304. package/dist/docs/interfaces/EpochInfo.html +7 -7
  305. package/dist/docs/interfaces/EpochSchedule.html +2 -2
  306. package/dist/docs/interfaces/FactoryProvider.html +2 -2
  307. package/dist/docs/interfaces/FetchedMint.html +6 -6
  308. package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
  309. package/dist/docs/interfaces/FreezeThawParams.html +6 -6
  310. package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
  311. package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
  312. package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
  313. package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
  314. package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
  315. package/dist/docs/interfaces/GetBlockOpts.html +6 -6
  316. package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
  317. package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
  318. package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
  319. package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
  320. package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
  321. package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
  322. package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
  323. package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
  324. package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
  325. package/dist/docs/interfaces/GeyserParserStats.html +2 -2
  326. package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
  327. package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
  328. package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
  329. package/dist/docs/interfaces/InflationGovernor.html +2 -2
  330. package/dist/docs/interfaces/InflationRate.html +2 -2
  331. package/dist/docs/interfaces/InflationReward.html +2 -2
  332. package/dist/docs/interfaces/InitializeAccountParams.html +5 -5
  333. package/dist/docs/interfaces/InitializeMintParams.html +6 -6
  334. package/dist/docs/interfaces/InitializeNonceParams.html +3 -3
  335. package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
  336. package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
  337. package/dist/docs/interfaces/LeakReport.html +5 -5
  338. package/dist/docs/interfaces/LogsNotification.html +2 -2
  339. package/dist/docs/interfaces/LogsSubParams.html +2 -2
  340. package/dist/docs/interfaces/MemoTransferExt.html +2 -2
  341. package/dist/docs/interfaces/MemoryGuardConfig.html +4 -4
  342. package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
  343. package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
  344. package/dist/docs/interfaces/MintToCheckedParams.html +8 -8
  345. package/dist/docs/interfaces/MintToParams.html +7 -7
  346. package/dist/docs/interfaces/NonTransferableExt.html +2 -2
  347. package/dist/docs/interfaces/PaginationOpts.html +2 -2
  348. package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
  349. package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
  350. package/dist/docs/interfaces/ParsedEntry.html +2 -2
  351. package/dist/docs/interfaces/ParsedInstruction.html +9 -9
  352. package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
  353. package/dist/docs/interfaces/ParsedTransaction.html +19 -19
  354. package/dist/docs/interfaces/PerfSample.html +2 -2
  355. package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
  356. package/dist/docs/interfaces/ProgramAccount.html +2 -2
  357. package/dist/docs/interfaces/ProgramNotification.html +2 -2
  358. package/dist/docs/interfaces/ProgramSubParams.html +2 -2
  359. package/dist/docs/interfaces/ProgramsBundle.html +33 -33
  360. package/dist/docs/interfaces/RawAccountInfo.html +2 -2
  361. package/dist/docs/interfaces/RawBlockMeta.html +2 -2
  362. package/dist/docs/interfaces/RawBuffer.html +2 -2
  363. package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
  364. package/dist/docs/interfaces/RawEntry.html +2 -2
  365. package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
  366. package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
  367. package/dist/docs/interfaces/RawSlotInfo.html +2 -2
  368. package/dist/docs/interfaces/RawTimestamp.html +2 -2
  369. package/dist/docs/interfaces/RawTokenBalance.html +2 -2
  370. package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
  371. package/dist/docs/interfaces/ReactAdapterConfig.html +2 -2
  372. package/dist/docs/interfaces/RecoverNestedParams.html +7 -7
  373. package/dist/docs/interfaces/RefRegistryConfig.html +2 -2
  374. package/dist/docs/interfaces/RefStats.html +7 -7
  375. package/dist/docs/interfaces/RequestHeapFrameParams.html +2 -2
  376. package/dist/docs/interfaces/ResolveMiddleware.html +1 -1
  377. package/dist/docs/interfaces/RevokeParams.html +5 -5
  378. package/dist/docs/interfaces/RootNotification.html +2 -2
  379. package/dist/docs/interfaces/RootSubParams.html +1 -1
  380. package/dist/docs/interfaces/RpcContext.html +2 -2
  381. package/dist/docs/interfaces/RpcError.html +4 -4
  382. package/dist/docs/interfaces/RpcRequest.html +3 -3
  383. package/dist/docs/interfaces/RpcResponse.html +2 -2
  384. package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
  385. package/dist/docs/interfaces/ServerAdapterConfig.html +3 -3
  386. package/dist/docs/interfaces/ServiceBinding.html +6 -6
  387. package/dist/docs/interfaces/ServiceRegistration.html +3 -3
  388. package/dist/docs/interfaces/ServiceResolver.html +6 -6
  389. package/dist/docs/interfaces/ServiceToken.html +4 -4
  390. package/dist/docs/interfaces/SetComputeUnitLimitParams.html +2 -2
  391. package/dist/docs/interfaces/SetComputeUnitPriceParams.html +2 -2
  392. package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +2 -2
  393. package/dist/docs/interfaces/SignatureInfo.html +7 -7
  394. package/dist/docs/interfaces/SignatureNotification.html +2 -2
  395. package/dist/docs/interfaces/SignatureStatus.html +5 -5
  396. package/dist/docs/interfaces/SignatureSubParams.html +2 -2
  397. package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
  398. package/dist/docs/interfaces/SimulateResult.html +2 -2
  399. package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
  400. package/dist/docs/interfaces/SingletonOptions.html +2 -2
  401. package/dist/docs/interfaces/SlotNotification.html +2 -2
  402. package/dist/docs/interfaces/SlotSubParams.html +1 -1
  403. package/dist/docs/interfaces/SortOpts.html +2 -2
  404. package/dist/docs/interfaces/StakeAuthorized.html +2 -2
  405. package/dist/docs/interfaces/StakeDelegation.html +3 -3
  406. package/dist/docs/interfaces/StakeLockup.html +4 -4
  407. package/dist/docs/interfaces/StakeMeta.html +2 -2
  408. package/dist/docs/interfaces/Supply.html +5 -5
  409. package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
  410. package/dist/docs/interfaces/SynapseClientLike.html +2 -2
  411. package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
  412. package/dist/docs/interfaces/SyncNativeParams.html +3 -3
  413. package/dist/docs/interfaces/SystemTransferParams.html +4 -4
  414. package/dist/docs/interfaces/TokenAccount.html +3 -3
  415. package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
  416. package/dist/docs/interfaces/TokenAmount.html +5 -5
  417. package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
  418. package/dist/docs/interfaces/TokenTransferParams.html +7 -7
  419. package/dist/docs/interfaces/TransactionInstruction.html +4 -4
  420. package/dist/docs/interfaces/TransactionMeta.html +11 -11
  421. package/dist/docs/interfaces/TransferCheckedParams.html +9 -9
  422. package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
  423. package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
  424. package/dist/docs/interfaces/TransportConfig.html +7 -7
  425. package/dist/docs/interfaces/UnknownExtension.html +2 -2
  426. package/dist/docs/interfaces/ValueProvider.html +2 -2
  427. package/dist/docs/interfaces/VoteAccount.html +9 -9
  428. package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
  429. package/dist/docs/interfaces/WithdrawNonceParams.html +5 -5
  430. package/dist/docs/interfaces/WsConfig.html +6 -6
  431. package/dist/docs/media/CHANGELOG.md +103 -0
  432. package/dist/docs/types/AccountFetchOpts.html +1 -1
  433. package/dist/docs/types/AccountFilter.html +1 -1
  434. package/dist/docs/types/Base58.html +1 -1
  435. package/dist/docs/types/Brand.html +1 -1
  436. package/dist/docs/types/Commitment.html +1 -1
  437. package/dist/docs/types/DasSortBy.html +1 -1
  438. package/dist/docs/types/DasSortDirection.html +1 -1
  439. package/dist/docs/types/DataSizeFilter.html +1 -1
  440. package/dist/docs/types/DecodedExtension.html +1 -1
  441. package/dist/docs/types/Encoding.html +1 -1
  442. package/dist/docs/types/Epoch.html +1 -1
  443. package/dist/docs/types/Lamports.html +1 -1
  444. package/dist/docs/types/LogsFilter.html +1 -1
  445. package/dist/docs/types/MemcmpFilter.html +1 -1
  446. package/dist/docs/types/NonceState.html +1 -1
  447. package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
  448. package/dist/docs/types/Pubkey.html +1 -1
  449. package/dist/docs/types/RuntimeEnv.html +1 -1
  450. package/dist/docs/types/ServiceLifecycle.html +1 -1
  451. package/dist/docs/types/ServiceProvider.html +1 -1
  452. package/dist/docs/types/Signature.html +1 -1
  453. package/dist/docs/types/Slot.html +1 -1
  454. package/dist/docs/types/StakeAccountType.html +1 -1
  455. package/dist/docs/types/SubscriptionId.html +1 -1
  456. package/dist/docs/types/TokenAccountState.html +1 -1
  457. package/dist/docs/types/TransactionDetail.html +1 -1
  458. package/dist/docs/types/UnaryMethod.html +1 -1
  459. package/dist/docs/types/UnixTimestamp.html +1 -1
  460. package/dist/docs/types/WsNotification.html +1 -1
  461. package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +1 -1
  462. package/dist/docs/variables/AssociatedToken.html +4 -4
  463. package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +1 -1
  464. package/dist/docs/variables/ComputeBudget.html +5 -5
  465. package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
  466. package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
  467. package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
  468. package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
  469. package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
  470. package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
  471. package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
  472. package/dist/docs/variables/MEMO_PROGRAM_V1.html +1 -1
  473. package/dist/docs/variables/MEMO_PROGRAM_V2.html +1 -1
  474. package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
  475. package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
  476. package/dist/docs/variables/MINT_SIZE.html +1 -1
  477. package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
  478. package/dist/docs/variables/Memo.html +2 -2
  479. package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
  480. package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
  481. package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
  482. package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
  483. package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
  484. package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
  485. package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
  486. package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
  487. package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
  488. package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
  489. package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
  490. package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
  491. package/dist/docs/variables/SYSTEM_PROGRAM.html +1 -1
  492. package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
  493. package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
  494. package/dist/docs/variables/SplToken.html +16 -16
  495. package/dist/docs/variables/SystemProgram.html +10 -10
  496. package/dist/docs/variables/TOKEN_2022_PROGRAM.html +1 -1
  497. package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
  498. package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
  499. package/dist/docs/variables/TOKEN_PROGRAM.html +1 -1
  500. package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
  501. package/dist/docs/variables/Tokens.html +1 -1
  502. package/dist/esm/ai/actions/server.d.ts.map +1 -1
  503. package/dist/esm/ai/actions/server.js +5 -3
  504. package/dist/esm/ai/actions/server.js.map +1 -1
  505. package/dist/esm/ai/gateway/index.d.ts.map +1 -1
  506. package/dist/esm/ai/gateway/index.js.map +1 -1
  507. package/dist/esm/ai/gateway/x402/client.d.ts.map +1 -1
  508. package/dist/esm/ai/gateway/x402/client.js +0 -3
  509. package/dist/esm/ai/gateway/x402/client.js.map +1 -1
  510. package/dist/esm/ai/gateway/x402/paywall.d.ts.map +1 -1
  511. package/dist/esm/ai/gateway/x402/paywall.js.map +1 -1
  512. package/dist/esm/ai/index.d.ts +1 -1
  513. package/dist/esm/ai/index.d.ts.map +1 -1
  514. package/dist/esm/ai/index.js +9 -11
  515. package/dist/esm/ai/index.js.map +1 -1
  516. package/dist/esm/ai/intents/executor.js.map +1 -1
  517. package/dist/esm/ai/intents/parser.d.ts.map +1 -1
  518. package/dist/esm/ai/intents/parser.js.map +1 -1
  519. package/dist/esm/ai/intents/planner.js.map +1 -1
  520. package/dist/esm/ai/mcp/client.js +1 -1
  521. package/dist/esm/ai/mcp/client.js.map +1 -1
  522. package/dist/esm/ai/persistence/postgresql.js.map +1 -1
  523. package/dist/esm/ai/plugins/registry.js +1 -1
  524. package/dist/esm/ai/plugins/registry.js.map +1 -1
  525. package/dist/esm/ai/sap/client.d.ts +197 -0
  526. package/dist/esm/ai/sap/client.d.ts.map +1 -0
  527. package/dist/esm/ai/sap/client.js +330 -0
  528. package/dist/esm/ai/sap/client.js.map +1 -0
  529. package/dist/esm/ai/sap/index.d.ts +69 -52
  530. package/dist/esm/ai/sap/index.d.ts.map +1 -1
  531. package/dist/esm/ai/sap/index.js +68 -49
  532. package/dist/esm/ai/sap/index.js.map +1 -1
  533. package/dist/esm/ai/sap/provider.d.ts +180 -0
  534. package/dist/esm/ai/sap/provider.d.ts.map +1 -0
  535. package/dist/esm/ai/sap/provider.js +215 -0
  536. package/dist/esm/ai/sap/provider.js.map +1 -0
  537. package/dist/esm/ai/sap/types.d.ts +120 -384
  538. package/dist/esm/ai/sap/types.d.ts.map +1 -1
  539. package/dist/esm/ai/sap/types.js +18 -195
  540. package/dist/esm/ai/sap/types.js.map +1 -1
  541. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
  542. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
  543. package/dist/esm/ai/tools/protocols/shared.d.ts.map +1 -1
  544. package/dist/esm/ai/tools/protocols/shared.js +4 -1
  545. package/dist/esm/ai/tools/protocols/shared.js.map +1 -1
  546. package/dist/esm/ai/tools/protocols/solana-programs/tools.js.map +1 -1
  547. package/dist/esm/context/container.d.ts.map +1 -1
  548. package/dist/esm/context/container.js.map +1 -1
  549. package/dist/esm/grpc/parser/geyser-parser.d.ts.map +1 -1
  550. package/dist/esm/grpc/parser/geyser-parser.js.map +1 -1
  551. package/dist/esm/next/index.d.ts.map +1 -1
  552. package/dist/esm/next/index.js +7 -1
  553. package/dist/esm/next/index.js.map +1 -1
  554. package/dist/esm/programs/index.d.ts.map +1 -1
  555. package/dist/esm/programs/index.js.map +1 -1
  556. package/dist/esm/utils/helpers.js.map +1 -1
  557. package/package.json +31 -20
  558. package/dist/cjs/ai/sap/adapter.d.ts +0 -140
  559. package/dist/cjs/ai/sap/adapter.d.ts.map +0 -1
  560. package/dist/cjs/ai/sap/adapter.js +0 -181
  561. package/dist/cjs/ai/sap/adapter.js.map +0 -1
  562. package/dist/cjs/ai/sap/discovery.d.ts +0 -165
  563. package/dist/cjs/ai/sap/discovery.d.ts.map +0 -1
  564. package/dist/cjs/ai/sap/discovery.js +0 -316
  565. package/dist/cjs/ai/sap/discovery.js.map +0 -1
  566. package/dist/cjs/ai/sap/pda.d.ts +0 -205
  567. package/dist/cjs/ai/sap/pda.d.ts.map +0 -1
  568. package/dist/cjs/ai/sap/pda.js +0 -547
  569. package/dist/cjs/ai/sap/pda.js.map +0 -1
  570. package/dist/cjs/ai/sap/program.d.ts +0 -153
  571. package/dist/cjs/ai/sap/program.d.ts.map +0 -1
  572. package/dist/cjs/ai/sap/program.js +0 -227
  573. package/dist/cjs/ai/sap/program.js.map +0 -1
  574. package/dist/cjs/ai/sap/registry.d.ts +0 -218
  575. package/dist/cjs/ai/sap/registry.d.ts.map +0 -1
  576. package/dist/cjs/ai/sap/registry.js +0 -519
  577. package/dist/cjs/ai/sap/registry.js.map +0 -1
  578. package/dist/cjs/ai/sap/scoring.d.ts +0 -138
  579. package/dist/cjs/ai/sap/scoring.d.ts.map +0 -1
  580. package/dist/cjs/ai/sap/scoring.js +0 -266
  581. package/dist/cjs/ai/sap/scoring.js.map +0 -1
  582. package/dist/cjs/ai/sap/subnetwork.d.ts +0 -201
  583. package/dist/cjs/ai/sap/subnetwork.d.ts.map +0 -1
  584. package/dist/cjs/ai/sap/subnetwork.js +0 -365
  585. package/dist/cjs/ai/sap/subnetwork.js.map +0 -1
  586. package/dist/cjs/ai/sap/validator.d.ts +0 -160
  587. package/dist/cjs/ai/sap/validator.d.ts.map +0 -1
  588. package/dist/cjs/ai/sap/validator.js +0 -619
  589. package/dist/cjs/ai/sap/validator.js.map +0 -1
  590. package/dist/esm/ai/sap/adapter.d.ts +0 -140
  591. package/dist/esm/ai/sap/adapter.d.ts.map +0 -1
  592. package/dist/esm/ai/sap/adapter.js +0 -177
  593. package/dist/esm/ai/sap/adapter.js.map +0 -1
  594. package/dist/esm/ai/sap/discovery.d.ts +0 -165
  595. package/dist/esm/ai/sap/discovery.d.ts.map +0 -1
  596. package/dist/esm/ai/sap/discovery.js +0 -311
  597. package/dist/esm/ai/sap/discovery.js.map +0 -1
  598. package/dist/esm/ai/sap/pda.d.ts +0 -205
  599. package/dist/esm/ai/sap/pda.d.ts.map +0 -1
  600. package/dist/esm/ai/sap/pda.js +0 -535
  601. package/dist/esm/ai/sap/pda.js.map +0 -1
  602. package/dist/esm/ai/sap/program.d.ts +0 -153
  603. package/dist/esm/ai/sap/program.d.ts.map +0 -1
  604. package/dist/esm/ai/sap/program.js +0 -222
  605. package/dist/esm/ai/sap/program.js.map +0 -1
  606. package/dist/esm/ai/sap/registry.d.ts +0 -218
  607. package/dist/esm/ai/sap/registry.d.ts.map +0 -1
  608. package/dist/esm/ai/sap/registry.js +0 -515
  609. package/dist/esm/ai/sap/registry.js.map +0 -1
  610. package/dist/esm/ai/sap/scoring.d.ts +0 -138
  611. package/dist/esm/ai/sap/scoring.d.ts.map +0 -1
  612. package/dist/esm/ai/sap/scoring.js +0 -262
  613. package/dist/esm/ai/sap/scoring.js.map +0 -1
  614. package/dist/esm/ai/sap/subnetwork.d.ts +0 -201
  615. package/dist/esm/ai/sap/subnetwork.d.ts.map +0 -1
  616. package/dist/esm/ai/sap/subnetwork.js +0 -361
  617. package/dist/esm/ai/sap/subnetwork.js.map +0 -1
  618. package/dist/esm/ai/sap/validator.d.ts +0 -160
  619. package/dist/esm/ai/sap/validator.d.ts.map +0 -1
  620. package/dist/esm/ai/sap/validator.js +0 -614
  621. package/dist/esm/ai/sap/validator.js.map +0 -1
@@ -1,365 +0,0 @@
1
- "use strict";
2
- /**
3
- * @module ai/sap/subnetwork
4
- * @description SAP — Subnetwork builder for composing multi-agent task forces.
5
- *
6
- * Given a set of **required capabilities**, discovers the optimal set of
7
- * agents that collectively cover all capabilities, then provides utilities
8
- * to orchestrate them (cost estimation, health checks, failover selection).
9
- *
10
- * Think of it as a **query planner** for an agent-based microservice mesh:
11
- * you describe WHAT you need, and the SubnetworkBuilder finds WHO can do it,
12
- * optimizing for cost, reputation, latency, or a weighted combination.
13
- *
14
- * @example
15
- * ```ts
16
- * import { SubnetworkBuilder, SAPDiscovery } from '@oobe-protocol-labs/synapse-client-sdk/ai/sap';
17
- *
18
- * const discovery = new SAPDiscovery(client, { programId });
19
- * const subnet = new SubnetworkBuilder(discovery);
20
- *
21
- * // Build a subnetwork that can swap, lend, and analyze risk
22
- * const result = await subnet.build({
23
- * requiredCapabilities: ['jupiter:swap', 'solend:lend', 'ai:riskScore'],
24
- * strategy: 'balanced',
25
- * maxCostPerCall: 5000n,
26
- * });
27
- *
28
- * if (result.complete) {
29
- * for (const assignment of result.assignments) {
30
- * console.log(`${assignment.capability} → ${assignment.agent.name}`);
31
- * }
32
- * console.log(`Total cost: ${result.estimatedCostPerCall}`);
33
- * }
34
- * ```
35
- *
36
- * @since 1.4.0
37
- */
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.SubnetworkBuilder = void 0;
40
- /* ═══════════════════════════════════════════════════════════════
41
- * SubnetworkBuilder
42
- * ═══════════════════════════════════════════════════════════════ */
43
- /**
44
- * @description Builds and manages agent sub-networks for multi-capability tasks.
45
- *
46
- * The builder:
47
- * 1. Discovers agents for each required capability via {@link SAPDiscovery}
48
- * 2. Scores candidates using the selected strategy
49
- * 3. Assigns agents to capabilities, preferring multi-capable agents
50
- * 4. Computes cost, reputation, and latency estimates
51
- * 5. Identifies failover alternatives for each assignment
52
- *
53
- * @since 1.4.0
54
- */
55
- class SubnetworkBuilder {
56
- discovery;
57
- constructor(discovery) {
58
- this.discovery = discovery;
59
- }
60
- /**
61
- * @description Build an optimal subnetwork covering all required capabilities.
62
- *
63
- * @param {SubnetworkConfig} config - Subnetwork requirements
64
- * @returns {Promise<SubnetworkResult>} The built subnetwork with assignments
65
- *
66
- * @example
67
- * ```ts
68
- * const result = await subnet.build({
69
- * requiredCapabilities: ['jupiter:swap', 'pyth:getPrice', 'ai:riskScore'],
70
- * strategy: 'balanced',
71
- * minReputation: 500,
72
- * maxCostPerCall: 10000n,
73
- * });
74
- * ```
75
- *
76
- * @since 1.4.0
77
- */
78
- async build(config) {
79
- const start = performance.now();
80
- const { requiredCapabilities, strategy = 'balanced', maxCostPerCall, minReputation = 0, minUptime = 0, pricingTier = 'standard', maxAgents = 10, preferMultiCapable = true, } = config;
81
- // Phase 1: Discover candidate agents for each capability
82
- const candidateMap = new Map();
83
- for (const capId of requiredCapabilities) {
84
- const agents = await this.discovery.findByCapability(capId);
85
- const filtered = agents.filter(a => a.reputation.score >= minReputation &&
86
- a.reputation.uptimePercent >= minUptime);
87
- candidateMap.set(capId, filtered);
88
- }
89
- // Phase 2: Score and select
90
- const assignments = [];
91
- const unassigned = [];
92
- const assignedAgentSet = new Set();
93
- // Sort capabilities: those with fewer candidates first (constrained first)
94
- const sortedCaps = [...requiredCapabilities].sort((a, b) => {
95
- const aCount = candidateMap.get(a)?.length ?? 0;
96
- const bCount = candidateMap.get(b)?.length ?? 0;
97
- return aCount - bCount;
98
- });
99
- for (const capId of sortedCaps) {
100
- const candidates = candidateMap.get(capId) ?? [];
101
- if (candidates.length === 0) {
102
- unassigned.push(capId);
103
- continue;
104
- }
105
- // Score each candidate
106
- const scored = candidates.map(agent => ({
107
- agent,
108
- score: this.scoreAgent(agent, strategy, pricingTier, preferMultiCapable, requiredCapabilities, assignedAgentSet),
109
- }));
110
- // Sort by score (higher = better)
111
- scored.sort((a, b) => b.score - a.score);
112
- const best = scored[0].agent;
113
- const pricing = this.findPricing(best, pricingTier);
114
- // Check cost constraint
115
- if (maxCostPerCall !== undefined && pricing) {
116
- const currentCost = assignments.reduce((sum, a) => sum + a.pricing.pricePerCall, 0n);
117
- if (currentCost + pricing.pricePerCall > maxCostPerCall) {
118
- // Try cheaper alternatives
119
- const cheaper = scored.find(s => {
120
- const p = this.findPricing(s.agent, pricingTier);
121
- return p && currentCost + p.pricePerCall <= maxCostPerCall;
122
- });
123
- if (cheaper) {
124
- const cheaperPricing = this.findPricing(cheaper.agent, pricingTier);
125
- assignments.push({
126
- capability: capId,
127
- agent: cheaper.agent,
128
- pricing: cheaperPricing,
129
- reputationScore: cheaper.agent.reputation.score,
130
- latencyMs: cheaper.agent.reputation.avgLatencyMs,
131
- alternatives: scored
132
- .filter(s => s.agent.walletPubkey !== cheaper.agent.walletPubkey)
133
- .map(s => s.agent)
134
- .slice(0, 3),
135
- });
136
- assignedAgentSet.add(cheaper.agent.walletPubkey);
137
- continue;
138
- }
139
- else {
140
- unassigned.push(capId);
141
- continue;
142
- }
143
- }
144
- }
145
- if (!pricing) {
146
- // No matching pricing tier, use agent but warn
147
- const fallbackPricing = {
148
- tierId: pricingTier,
149
- pricePerCall: 0n,
150
- rateLimit: 1,
151
- maxCallsPerSession: 0,
152
- tokenType: 'SOL',
153
- };
154
- assignments.push({
155
- capability: capId,
156
- agent: best,
157
- pricing: fallbackPricing,
158
- reputationScore: best.reputation.score,
159
- latencyMs: best.reputation.avgLatencyMs,
160
- alternatives: scored.slice(1, 4).map(s => s.agent),
161
- });
162
- }
163
- else {
164
- assignments.push({
165
- capability: capId,
166
- agent: best,
167
- pricing,
168
- reputationScore: best.reputation.score,
169
- latencyMs: best.reputation.avgLatencyMs,
170
- alternatives: scored.slice(1, 4).map(s => s.agent),
171
- });
172
- }
173
- assignedAgentSet.add(best.walletPubkey);
174
- // Enforce max agents
175
- if (assignedAgentSet.size >= maxAgents)
176
- break;
177
- }
178
- // Deduplicate agents
179
- const agentsMap = new Map();
180
- for (const a of assignments) {
181
- agentsMap.set(a.agent.walletPubkey, a.agent);
182
- }
183
- const agents = [...agentsMap.values()];
184
- // Metrics
185
- const estimatedCostPerCall = assignments.reduce((sum, a) => sum + a.pricing.pricePerCall, 0n);
186
- const avgReputation = agents.length > 0
187
- ? Math.round(agents.reduce((sum, a) => sum + a.reputation.score, 0) / agents.length)
188
- : 0;
189
- const maxLatencyMs = agents.length > 0
190
- ? Math.max(...agents.map(a => a.reputation.avgLatencyMs))
191
- : 0;
192
- return {
193
- complete: unassigned.length === 0,
194
- assignments,
195
- unassigned,
196
- agents,
197
- estimatedCostPerCall,
198
- avgReputation,
199
- maxLatencyMs,
200
- buildTimeMs: Math.round(performance.now() - start),
201
- strategy,
202
- };
203
- }
204
- /**
205
- * @description Evaluate the health of an existing subnetwork result.
206
- *
207
- * Checks each assigned agent's reputation, uptime, and latency,
208
- * and identifies capabilities at risk (single provider) or with
209
- * redundancy (multiple alternatives).
210
- *
211
- * @param {SubnetworkResult} subnet - A previously built subnetwork
212
- * @returns {SubnetworkHealth} Health assessment
213
- *
214
- * @since 1.4.0
215
- */
216
- evaluateHealth(subnet) {
217
- const agentHealth = [];
218
- const atRisk = [];
219
- const redundant = [];
220
- // Group capabilities by agent
221
- const agentCaps = new Map();
222
- for (const a of subnet.assignments) {
223
- const key = a.agent.walletPubkey;
224
- if (!agentCaps.has(key))
225
- agentCaps.set(key, []);
226
- agentCaps.get(key).push(a.capability);
227
- }
228
- for (const agent of subnet.agents) {
229
- const caps = agentCaps.get(agent.walletPubkey) ?? [];
230
- let isHealthy = true;
231
- let reason;
232
- if (agent.reputation.uptimePercent < 50) {
233
- isHealthy = false;
234
- reason = `Low uptime: ${agent.reputation.uptimePercent}%`;
235
- }
236
- else if (agent.reputation.score < 200) {
237
- isHealthy = false;
238
- reason = `Very low reputation: ${agent.reputation.score}/1000`;
239
- }
240
- else if (agent.reputation.avgLatencyMs > 10000) {
241
- isHealthy = false;
242
- reason = `Very high latency: ${agent.reputation.avgLatencyMs}ms`;
243
- }
244
- else if (!agent.isActive) {
245
- isHealthy = false;
246
- reason = 'Agent is deactivated';
247
- }
248
- agentHealth.push({ agent, capabilities: caps, isHealthy, reason });
249
- }
250
- // Check redundancy
251
- for (const assignment of subnet.assignments) {
252
- if (assignment.alternatives.length === 0) {
253
- atRisk.push(assignment.capability);
254
- }
255
- else {
256
- redundant.push(assignment.capability);
257
- }
258
- }
259
- const unhealthyCount = agentHealth.filter(a => !a.isHealthy).length;
260
- let status;
261
- if (unhealthyCount === 0) {
262
- status = 'healthy';
263
- }
264
- else if (unhealthyCount < agentHealth.length / 2) {
265
- status = 'degraded';
266
- }
267
- else {
268
- status = 'critical';
269
- }
270
- return { status, agents: agentHealth, atRisk, redundant };
271
- }
272
- /**
273
- * @description Rebuild a subnetwork, replacing unhealthy agents with alternatives.
274
- *
275
- * @param {SubnetworkResult} current - The current subnetwork
276
- * @param {SubnetworkConfig} config - Original config (for constraints)
277
- * @returns {Promise<SubnetworkResult>} A rebuilt subnetwork
278
- *
279
- * @since 1.4.0
280
- */
281
- async rebuild(current, config) {
282
- const health = this.evaluateHealth(current);
283
- if (health.status === 'healthy')
284
- return current;
285
- // Identify capabilities with unhealthy agents
286
- const unhealthyWallets = new Set(health.agents.filter(a => !a.isHealthy).map(a => a.agent.walletPubkey));
287
- // Filter out unhealthy agents' capabilities and rebuild only those
288
- const capsToRebuild = [];
289
- for (const assignment of current.assignments) {
290
- if (unhealthyWallets.has(assignment.agent.walletPubkey)) {
291
- capsToRebuild.push(assignment.capability);
292
- }
293
- }
294
- if (capsToRebuild.length === 0)
295
- return current;
296
- // Full rebuild with the same config
297
- return this.build({
298
- ...config,
299
- requiredCapabilities: config.requiredCapabilities,
300
- });
301
- }
302
- /**
303
- * @description Estimate the total cost for N calls through the subnetwork.
304
- * @param {SubnetworkResult} subnet - Built subnetwork
305
- * @param {number} calls - Number of calls to estimate for
306
- * @returns {{ totalCost: bigint; perAgent: Array<{ agent: string; cost: bigint }> }}
307
- * @since 1.4.0
308
- */
309
- estimateCost(subnet, calls) {
310
- const perAgent = new Map();
311
- for (const assignment of subnet.assignments) {
312
- const key = assignment.agent.walletPubkey;
313
- const current = perAgent.get(key) ?? 0n;
314
- perAgent.set(key, current + assignment.pricing.pricePerCall * BigInt(calls));
315
- }
316
- const totalCost = [...perAgent.values()].reduce((a, b) => a + b, 0n);
317
- return {
318
- totalCost,
319
- perAgent: [...perAgent.entries()].map(([agent, cost]) => ({ agent, cost })),
320
- };
321
- }
322
- /* ── Internal scoring ── */
323
- scoreAgent(agent, strategy, pricingTier, preferMultiCapable, requiredCapabilities, alreadyAssigned) {
324
- const pricing = this.findPricing(agent, pricingTier);
325
- const priceNorm = pricing
326
- ? 1 - Math.min(Number(pricing.pricePerCall) / 100000, 1) // lower price → higher score
327
- : 0;
328
- const repNorm = agent.reputation.score / 1000;
329
- const latNorm = 1 - Math.min(agent.reputation.avgLatencyMs / 10000, 1);
330
- const uptimeNorm = agent.reputation.uptimePercent / 100;
331
- let score;
332
- switch (strategy) {
333
- case 'cheapest':
334
- score = priceNorm * 0.7 + repNorm * 0.15 + uptimeNorm * 0.15;
335
- break;
336
- case 'reputable':
337
- score = repNorm * 0.6 + uptimeNorm * 0.25 + latNorm * 0.15;
338
- break;
339
- case 'fastest':
340
- score = latNorm * 0.6 + uptimeNorm * 0.2 + repNorm * 0.2;
341
- break;
342
- case 'balanced':
343
- default:
344
- score = repNorm * 0.3 + priceNorm * 0.25 + latNorm * 0.2 + uptimeNorm * 0.25;
345
- break;
346
- }
347
- // Bonus: agent already in the subnetwork (reduces hop count)
348
- if (alreadyAssigned.has(agent.walletPubkey)) {
349
- score += 0.15;
350
- }
351
- // Bonus: agent covers multiple required capabilities
352
- if (preferMultiCapable) {
353
- const coverage = requiredCapabilities.filter(cap => agent.capabilities.some(c => c.id === cap)).length;
354
- if (coverage > 1) {
355
- score += 0.1 * (coverage - 1);
356
- }
357
- }
358
- return score;
359
- }
360
- findPricing(agent, tierId) {
361
- return agent.pricing.find(p => p.tierId === tierId) ?? agent.pricing[0];
362
- }
363
- }
364
- exports.SubnetworkBuilder = SubnetworkBuilder;
365
- //# sourceMappingURL=subnetwork.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subnetwork.js","sourceRoot":"","sources":["../../../../src/ai/sap/subnetwork.ts"],"names":[],"mappings":"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"}
@@ -1,160 +0,0 @@
1
- /**
2
- * @module ai/sap/validator
3
- * @description SAP — Deep validation engine for agent registration & updates.
4
- *
5
- * Goes far beyond the basic name/description length checks: validates
6
- * capability ID format, pricing consistency, wallet pubkey format,
7
- * URL structure, duplicate detection, and cross-field coherence.
8
- *
9
- * Can operate in **strict** mode (throws on first error) or **lenient**
10
- * mode (collects all issues and returns a report).
11
- *
12
- * @example
13
- * ```ts
14
- * import { SAPValidator } from '@oobe-protocol-labs/synapse-client-sdk/ai/sap';
15
- *
16
- * const validator = new SAPValidator({ strict: false });
17
- * const report = validator.validateRegistration({
18
- * walletPubkey: 'ABC...',
19
- * name: 'My Agent',
20
- * description: 'Tools',
21
- * capabilities: [{ id: 'bad_format' }], // ← will flag this
22
- * pricing: [{ tierId: '', pricePerCall: 0n, rateLimit: -1, ... }],
23
- * });
24
- *
25
- * if (!report.valid) {
26
- * console.error(report.errors); // detailed error list
27
- * console.warn(report.warnings); // non-fatal suggestions
28
- * }
29
- * ```
30
- *
31
- * @since 1.4.0
32
- */
33
- import type { RegisterAgentParams, UpdateAgentParams, AgentCapability, AgentPricingOnChain } from './types';
34
- import { SAPCapabilityRegistry } from './registry';
35
- /**
36
- * @description Severity of a validation finding.
37
- * @since 1.4.0
38
- */
39
- export type ValidationSeverity = 'error' | 'warning' | 'info';
40
- /**
41
- * @description A single validation finding.
42
- * @since 1.4.0
43
- */
44
- export interface ValidationIssue {
45
- /** Severity level. */
46
- severity: ValidationSeverity;
47
- /** Machine-readable error code. */
48
- code: string;
49
- /** Human-readable message. */
50
- message: string;
51
- /** The field path that triggered the issue (e.g. `"capabilities[2].id"`). */
52
- field?: string;
53
- /** The offending value. */
54
- value?: unknown;
55
- }
56
- /**
57
- * @description Complete validation report.
58
- * @since 1.4.0
59
- */
60
- export interface ValidationReport {
61
- /** `true` if zero errors (warnings/info are OK). */
62
- valid: boolean;
63
- /** Error-severity issues (block registration). */
64
- errors: ValidationIssue[];
65
- /** Warning-severity issues (allow but flag). */
66
- warnings: ValidationIssue[];
67
- /** Informational notes. */
68
- info: ValidationIssue[];
69
- /** Total time spent validating (ms). */
70
- durationMs: number;
71
- }
72
- /**
73
- * @description Error thrown in strict mode when validation fails.
74
- * @since 1.4.0
75
- */
76
- export declare class SAPValidationError extends Error {
77
- readonly code: string;
78
- readonly issues: ValidationIssue[];
79
- constructor(message: string, code: string, issues: ValidationIssue[]);
80
- }
81
- /**
82
- * @description Validator configuration.
83
- * @since 1.4.0
84
- */
85
- export interface SAPValidatorConfig {
86
- /** Throw on first error (default: `false` → collect all). */
87
- strict?: boolean;
88
- /** Capability registry for validating capability IDs. If omitted, uses default. */
89
- registry?: SAPCapabilityRegistry;
90
- /** Allow unrecognised capability IDs (default: `true` — warn but don't error). */
91
- allowUnknownCapabilities?: boolean;
92
- /** Maximum number of capabilities per agent (default: 50). */
93
- maxCapabilities?: number;
94
- /** Maximum number of pricing tiers per agent (default: 10). */
95
- maxPricingTiers?: number;
96
- }
97
- /**
98
- * @description Deep validation engine for SAP agent data.
99
- *
100
- * Checks performed:
101
- * - **Wallet pubkey**: Base58, 32–44 chars, valid character set
102
- * - **Name**: Non-empty, ≤ 64 UTF-8 bytes, no control characters
103
- * - **Description**: Non-empty, ≤ 512 UTF-8 bytes
104
- * - **Capabilities**: `protocol:method` format, no duplicates, max count,
105
- * registry check (known vs unknown)
106
- * - **Pricing**: Non-empty tierId, positive pricePerCall, rateLimit > 0,
107
- * maxCallsPerSession ≥ 0, valid tokenType, no duplicate tiers,
108
- * SPL requires tokenMint
109
- * - **x402 Endpoint**: Must be HTTPS, valid URL structure
110
- * - **Cross-field**: At least one capability for each pricing tier's
111
- * implied protocol (warning)
112
- *
113
- * @since 1.4.0
114
- */
115
- export declare class SAPValidator {
116
- private readonly config;
117
- constructor(config?: SAPValidatorConfig);
118
- /**
119
- * @description Validate a full registration payload.
120
- * @param {RegisterAgentParams} params - Registration parameters
121
- * @returns {ValidationReport}
122
- * @throws {SAPValidationError} In strict mode, on first error
123
- * @since 1.4.0
124
- */
125
- validateRegistration(params: RegisterAgentParams): ValidationReport;
126
- /**
127
- * @description Validate an update payload.
128
- * Only validates fields that are present (non-undefined).
129
- * @param {UpdateAgentParams} params - Update parameters
130
- * @returns {ValidationReport}
131
- * @throws {SAPValidationError} In strict mode, on first error
132
- * @since 1.4.0
133
- */
134
- validateUpdate(params: UpdateAgentParams): ValidationReport;
135
- /**
136
- * @description Validate a single capability entry.
137
- * @param {AgentCapability} cap - Capability to validate
138
- * @returns {ValidationReport}
139
- * @since 1.4.0
140
- */
141
- validateCapability(cap: AgentCapability): ValidationReport;
142
- /**
143
- * @description Validate a single pricing tier.
144
- * @param {AgentPricingOnChain} tier - Pricing tier to validate
145
- * @returns {ValidationReport}
146
- * @since 1.4.0
147
- */
148
- validatePricingTier(tier: AgentPricingOnChain): ValidationReport;
149
- private validateWalletPubkey;
150
- private validateName;
151
- private validateDescription;
152
- private validateCapabilities;
153
- private checkCapability;
154
- private validatePricing;
155
- private checkPricingTier;
156
- private validateX402Endpoint;
157
- private validateCrossField;
158
- private buildReport;
159
- }
160
- //# sourceMappingURL=validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/ai/sap/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMnD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,2BAA2B;IAC3B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,eAAe,EAAE;gBAFzC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EAAE;CAK5C;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,kFAAkF;IAClF,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsBD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAE1C,MAAM,CAAC,EAAE,kBAAkB;IAYvC;;;;;;OAMG;IACH,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB;IAmCnE;;;;;;;OAOG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,gBAAgB;IAe3D;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,gBAAgB;IAO1D;;;;;OAKG;IACH,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB;IAShE,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,YAAY;IA2DpB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,oBAAoB;IAoE5B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,gBAAgB;IAgHxB,OAAO,CAAC,oBAAoB;IAgD5B,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,WAAW;CAyBpB"}