@oobe-protocol-labs/synapse-client-sdk 2.0.2 → 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 (551) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/ai/index.d.ts +1 -1
  4. package/dist/cjs/ai/index.d.ts.map +1 -1
  5. package/dist/cjs/ai/index.js +12 -28
  6. package/dist/cjs/ai/index.js.map +1 -1
  7. package/dist/cjs/ai/sap/client.d.ts +197 -0
  8. package/dist/cjs/ai/sap/client.d.ts.map +1 -0
  9. package/dist/cjs/ai/sap/client.js +334 -0
  10. package/dist/cjs/ai/sap/client.js.map +1 -0
  11. package/dist/cjs/ai/sap/index.d.ts +69 -52
  12. package/dist/cjs/ai/sap/index.d.ts.map +1 -1
  13. package/dist/cjs/ai/sap/index.js +73 -77
  14. package/dist/cjs/ai/sap/index.js.map +1 -1
  15. package/dist/cjs/ai/sap/provider.d.ts +180 -0
  16. package/dist/cjs/ai/sap/provider.d.ts.map +1 -0
  17. package/dist/cjs/ai/sap/provider.js +219 -0
  18. package/dist/cjs/ai/sap/provider.js.map +1 -0
  19. package/dist/cjs/ai/sap/types.d.ts +120 -384
  20. package/dist/cjs/ai/sap/types.d.ts.map +1 -1
  21. package/dist/cjs/ai/sap/types.js +20 -200
  22. package/dist/cjs/ai/sap/types.js.map +1 -1
  23. package/dist/docs/classes/AccountReader.html +18 -18
  24. package/dist/docs/classes/AccountsClient.html +10 -10
  25. package/dist/docs/classes/AsyncProviderError.html +4 -4
  26. package/dist/docs/classes/CircularDependencyError.html +4 -4
  27. package/dist/docs/classes/DasClient.html +13 -13
  28. package/dist/docs/classes/GeyserParser.html +17 -17
  29. package/dist/docs/classes/GrpcTransport.html +6 -6
  30. package/dist/docs/classes/HttpTransport.html +4 -4
  31. package/dist/docs/classes/InstructionWriter.html +11 -11
  32. package/dist/docs/classes/MemoryGuard.html +9 -9
  33. package/dist/docs/classes/NetworkError.html +5 -5
  34. package/dist/docs/classes/RefRegistry.html +11 -11
  35. package/dist/docs/classes/RefReleasedError.html +4 -4
  36. package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
  37. package/dist/docs/classes/ServiceNotFoundError.html +4 -4
  38. package/dist/docs/classes/ServiceRef.html +13 -13
  39. package/dist/docs/classes/SolanaRpc.html +55 -55
  40. package/dist/docs/classes/SynapseClient.html +15 -15
  41. package/dist/docs/classes/SynapseContext.html +27 -27
  42. package/dist/docs/classes/SynapseError.html +4 -4
  43. package/dist/docs/classes/TimeoutError.html +4 -4
  44. package/dist/docs/classes/UpstreamError.html +6 -6
  45. package/dist/docs/classes/WeakServiceRef.html +4 -4
  46. package/dist/docs/classes/WsClient.html +10 -10
  47. package/dist/docs/enums/SynapseNetwork.html +2 -2
  48. package/dist/docs/enums/SynapseRegion.html +2 -2
  49. package/dist/docs/enums/TokenExtensionType.html +2 -2
  50. package/dist/docs/functions/Epoch-1.html +1 -1
  51. package/dist/docs/functions/Lamports-2.html +1 -1
  52. package/dist/docs/functions/Pubkey-1.html +1 -1
  53. package/dist/docs/functions/Sig.html +1 -1
  54. package/dist/docs/functions/Slot-1.html +1 -1
  55. package/dist/docs/functions/UnixTs.html +1 -1
  56. package/dist/docs/functions/autoSelectRegion.html +1 -1
  57. package/dist/docs/functions/autoWire.html +1 -1
  58. package/dist/docs/functions/base58Encode.html +1 -1
  59. package/dist/docs/functions/base64ToBytes.html +1 -1
  60. package/dist/docs/functions/bigIntReplacer.html +1 -1
  61. package/dist/docs/functions/chunk.html +1 -1
  62. package/dist/docs/functions/computeBalanceChanges.html +1 -1
  63. package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
  64. package/dist/docs/functions/createBareContext.html +1 -1
  65. package/dist/docs/functions/createBinding.html +1 -1
  66. package/dist/docs/functions/createBoundHook.html +1 -1
  67. package/dist/docs/functions/createReactAdapter.html +1 -1
  68. package/dist/docs/functions/createRefHook.html +1 -1
  69. package/dist/docs/functions/createServerMiddleware.html +1 -1
  70. package/dist/docs/functions/createServiceHook.html +1 -1
  71. package/dist/docs/functions/createSingleton.html +1 -1
  72. package/dist/docs/functions/createSynapse.html +1 -1
  73. package/dist/docs/functions/createSynapseContext.html +1 -1
  74. package/dist/docs/functions/createToken.html +1 -1
  75. package/dist/docs/functions/decodeBase58.html +1 -1
  76. package/dist/docs/functions/decodeLookupTable.html +1 -1
  77. package/dist/docs/functions/decodeMint.html +1 -1
  78. package/dist/docs/functions/decodeMultisig.html +1 -1
  79. package/dist/docs/functions/decodeNonceAccount.html +1 -1
  80. package/dist/docs/functions/decodeStakeAccount.html +1 -1
  81. package/dist/docs/functions/decodeToken2022Account.html +1 -1
  82. package/dist/docs/functions/decodeToken2022Mint.html +1 -1
  83. package/dist/docs/functions/decodeTokenAccount.html +1 -1
  84. package/dist/docs/functions/encodeBase58.html +1 -1
  85. package/dist/docs/functions/fetchLookupTable.html +1 -1
  86. package/dist/docs/functions/fetchMint.html +1 -1
  87. package/dist/docs/functions/fetchNonceAccount.html +1 -1
  88. package/dist/docs/functions/fetchStakeAccount.html +1 -1
  89. package/dist/docs/functions/fetchTokenAccount.html +1 -1
  90. package/dist/docs/functions/fetchTokenAccountsByOwner.html +1 -1
  91. package/dist/docs/functions/fromKitAddress.html +1 -1
  92. package/dist/docs/functions/getAccountInfo.html +1 -1
  93. package/dist/docs/functions/getAsset.html +1 -1
  94. package/dist/docs/functions/getAssetBatch.html +1 -1
  95. package/dist/docs/functions/getAssetProof.html +1 -1
  96. package/dist/docs/functions/getAssetProofBatch.html +1 -1
  97. package/dist/docs/functions/getAssetsByAuthority.html +1 -1
  98. package/dist/docs/functions/getAssetsByCreator.html +1 -1
  99. package/dist/docs/functions/getAssetsByGroup.html +1 -1
  100. package/dist/docs/functions/getAssetsByOwner.html +1 -1
  101. package/dist/docs/functions/getBalance.html +1 -1
  102. package/dist/docs/functions/getBlock.html +1 -1
  103. package/dist/docs/functions/getBlockCommitment.html +1 -1
  104. package/dist/docs/functions/getBlockHeight.html +1 -1
  105. package/dist/docs/functions/getBlockProduction.html +1 -1
  106. package/dist/docs/functions/getBlockTime.html +1 -1
  107. package/dist/docs/functions/getBlocks.html +1 -1
  108. package/dist/docs/functions/getBlocksWithLimit.html +1 -1
  109. package/dist/docs/functions/getClusterNodes.html +1 -1
  110. package/dist/docs/functions/getContext.html +1 -1
  111. package/dist/docs/functions/getDecodedAccount.html +1 -1
  112. package/dist/docs/functions/getDecodedAccounts.html +1 -1
  113. package/dist/docs/functions/getEnvironment.html +1 -1
  114. package/dist/docs/functions/getEpochInfo.html +1 -1
  115. package/dist/docs/functions/getEpochSchedule.html +1 -1
  116. package/dist/docs/functions/getFeeForMessage.html +1 -1
  117. package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
  118. package/dist/docs/functions/getGenesisHash.html +1 -1
  119. package/dist/docs/functions/getHealth.html +1 -1
  120. package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
  121. package/dist/docs/functions/getIdentity.html +1 -1
  122. package/dist/docs/functions/getInflationGovernor.html +1 -1
  123. package/dist/docs/functions/getInflationRate.html +1 -1
  124. package/dist/docs/functions/getInflationReward.html +1 -1
  125. package/dist/docs/functions/getLargestAccounts.html +1 -1
  126. package/dist/docs/functions/getLatestBlockhash.html +1 -1
  127. package/dist/docs/functions/getLeaderSchedule.html +1 -1
  128. package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
  129. package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
  130. package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
  131. package/dist/docs/functions/getMultipleAccounts.html +1 -1
  132. package/dist/docs/functions/getProgramAccounts.html +1 -1
  133. package/dist/docs/functions/getProgramCategory.html +1 -1
  134. package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
  135. package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
  136. package/dist/docs/functions/getSignatureStatuses.html +1 -1
  137. package/dist/docs/functions/getSignaturesForAddress.html +1 -1
  138. package/dist/docs/functions/getSignaturesForAsset.html +1 -1
  139. package/dist/docs/functions/getSlot.html +1 -1
  140. package/dist/docs/functions/getSlotLeader.html +1 -1
  141. package/dist/docs/functions/getSlotLeaders.html +1 -1
  142. package/dist/docs/functions/getStakeActivation.html +1 -1
  143. package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
  144. package/dist/docs/functions/getSupply.html +1 -1
  145. package/dist/docs/functions/getTokenAccountBalance.html +1 -1
  146. package/dist/docs/functions/getTokenAccounts.html +1 -1
  147. package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
  148. package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
  149. package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
  150. package/dist/docs/functions/getTokenSupply.html +1 -1
  151. package/dist/docs/functions/getTransaction.html +1 -1
  152. package/dist/docs/functions/getTransactionCount.html +1 -1
  153. package/dist/docs/functions/getVersion.html +1 -1
  154. package/dist/docs/functions/getVoteAccounts.html +1 -1
  155. package/dist/docs/functions/isBlockhashValid.html +1 -1
  156. package/dist/docs/functions/isBrowser.html +1 -1
  157. package/dist/docs/functions/isDisposable.html +1 -1
  158. package/dist/docs/functions/isProgramInCategory.html +1 -1
  159. package/dist/docs/functions/isServer.html +1 -1
  160. package/dist/docs/functions/isValidPubkey.html +1 -1
  161. package/dist/docs/functions/isValidSignature.html +1 -1
  162. package/dist/docs/functions/lamportsToSol.html +1 -1
  163. package/dist/docs/functions/listEndpoints.html +1 -1
  164. package/dist/docs/functions/listNetworks.html +1 -1
  165. package/dist/docs/functions/listRegions.html +1 -1
  166. package/dist/docs/functions/minimumLedgerSlot.html +1 -1
  167. package/dist/docs/functions/parseAccountUpdate.html +1 -1
  168. package/dist/docs/functions/parseBlockMeta.html +1 -1
  169. package/dist/docs/functions/parseEntry.html +1 -1
  170. package/dist/docs/functions/parseGeyserUpdate.html +1 -1
  171. package/dist/docs/functions/parseSlotUpdate.html +1 -1
  172. package/dist/docs/functions/parseTimestamp.html +1 -1
  173. package/dist/docs/functions/parseTransaction.html +1 -1
  174. package/dist/docs/functions/probeLatency.html +1 -1
  175. package/dist/docs/functions/rawBufferToBase58.html +1 -1
  176. package/dist/docs/functions/rawBufferToBase64.html +1 -1
  177. package/dist/docs/functions/rawBufferToBytes.html +1 -1
  178. package/dist/docs/functions/rawBufferToHex.html +1 -1
  179. package/dist/docs/functions/readonly.html +1 -1
  180. package/dist/docs/functions/readonlySigner.html +1 -1
  181. package/dist/docs/functions/requestAirdrop.html +1 -1
  182. package/dist/docs/functions/resolveEndpoint.html +1 -1
  183. package/dist/docs/functions/resolveProgram.html +1 -1
  184. package/dist/docs/functions/resolveProgramBatch.html +1 -1
  185. package/dist/docs/functions/retry.html +1 -1
  186. package/dist/docs/functions/searchAssets.html +1 -1
  187. package/dist/docs/functions/sendTransaction.html +1 -1
  188. package/dist/docs/functions/setGlobalContext.html +1 -1
  189. package/dist/docs/functions/simulateTransaction.html +1 -1
  190. package/dist/docs/functions/sleep.html +1 -1
  191. package/dist/docs/functions/solToLamports.html +1 -1
  192. package/dist/docs/functions/toClientConfig.html +1 -1
  193. package/dist/docs/functions/toJsonSafe.html +1 -1
  194. package/dist/docs/functions/toKitAddress.html +1 -1
  195. package/dist/docs/functions/toKitInstruction.html +1 -1
  196. package/dist/docs/functions/toKitLamports.html +1 -1
  197. package/dist/docs/functions/toKitSignatureString.html +1 -1
  198. package/dist/docs/functions/tryGetContext.html +1 -1
  199. package/dist/docs/functions/tryUseService.html +1 -1
  200. package/dist/docs/functions/useBoundServices.html +1 -1
  201. package/dist/docs/functions/useService.html +1 -1
  202. package/dist/docs/functions/useSharedRef.html +1 -1
  203. package/dist/docs/functions/withRef.html +1 -1
  204. package/dist/docs/functions/withRefAsync.html +1 -1
  205. package/dist/docs/functions/writable.html +1 -1
  206. package/dist/docs/functions/writableSigner.html +1 -1
  207. package/dist/docs/index.html +2 -2
  208. package/dist/docs/interfaces/AccountInfo.html +7 -7
  209. package/dist/docs/interfaces/AccountMeta.html +4 -4
  210. package/dist/docs/interfaces/AccountNotification.html +2 -2
  211. package/dist/docs/interfaces/AccountSubParams.html +2 -2
  212. package/dist/docs/interfaces/AddMemoParams.html +5 -5
  213. package/dist/docs/interfaces/AdvanceNonceParams.html +3 -3
  214. package/dist/docs/interfaces/AliasProvider.html +2 -2
  215. package/dist/docs/interfaces/AllocateParams.html +3 -3
  216. package/dist/docs/interfaces/ApproveCheckedParams.html +9 -9
  217. package/dist/docs/interfaces/ApproveParams.html +7 -7
  218. package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
  219. package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
  220. package/dist/docs/interfaces/AssignParams.html +3 -3
  221. package/dist/docs/interfaces/AsyncFactoryProvider.html +2 -2
  222. package/dist/docs/interfaces/AuthorizeNonceParams.html +4 -4
  223. package/dist/docs/interfaces/BalanceChange.html +6 -6
  224. package/dist/docs/interfaces/BlockProduction.html +3 -3
  225. package/dist/docs/interfaces/BlockResult.html +2 -2
  226. package/dist/docs/interfaces/BlockReward.html +2 -2
  227. package/dist/docs/interfaces/BlockhashResult.html +2 -2
  228. package/dist/docs/interfaces/BurnCheckedParams.html +8 -8
  229. package/dist/docs/interfaces/BurnParams.html +7 -7
  230. package/dist/docs/interfaces/CallOptions.html +6 -6
  231. package/dist/docs/interfaces/ClassProvider.html +2 -2
  232. package/dist/docs/interfaces/CloseAccountParams.html +6 -6
  233. package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
  234. package/dist/docs/interfaces/ContactInfo.html +2 -2
  235. package/dist/docs/interfaces/ContextAdapter.html +5 -5
  236. package/dist/docs/interfaces/ContextEvents.html +6 -6
  237. package/dist/docs/interfaces/ContextModule.html +3 -3
  238. package/dist/docs/interfaces/CreateATAParams.html +6 -6
  239. package/dist/docs/interfaces/CreateAccountParams.html +6 -6
  240. package/dist/docs/interfaces/CreateAccountWithSeedParams.html +8 -8
  241. package/dist/docs/interfaces/CreateSynapseContextOpts.html +4 -4
  242. package/dist/docs/interfaces/DasAsset.html +2 -2
  243. package/dist/docs/interfaces/DasAssetProof.html +2 -2
  244. package/dist/docs/interfaces/DasAuthority.html +2 -2
  245. package/dist/docs/interfaces/DasCompression.html +2 -2
  246. package/dist/docs/interfaces/DasContent.html +2 -2
  247. package/dist/docs/interfaces/DasCreator.html +2 -2
  248. package/dist/docs/interfaces/DasFile.html +2 -2
  249. package/dist/docs/interfaces/DasGrouping.html +2 -2
  250. package/dist/docs/interfaces/DasOpts.html +2 -2
  251. package/dist/docs/interfaces/DasOwnership.html +2 -2
  252. package/dist/docs/interfaces/DasPage.html +2 -2
  253. package/dist/docs/interfaces/DasRoyalty.html +2 -2
  254. package/dist/docs/interfaces/DasSearchParams.html +2 -2
  255. package/dist/docs/interfaces/DasSupply.html +2 -2
  256. package/dist/docs/interfaces/DataSlice.html +3 -3
  257. package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
  258. package/dist/docs/interfaces/DecodedLookupTable.html +8 -8
  259. package/dist/docs/interfaces/DecodedMint.html +6 -6
  260. package/dist/docs/interfaces/DecodedMultisig.html +5 -5
  261. package/dist/docs/interfaces/DecodedNonceAccount.html +6 -6
  262. package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
  263. package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
  264. package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
  265. package/dist/docs/interfaces/DecodedTokenAccount.html +9 -9
  266. package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
  267. package/dist/docs/interfaces/Disposable.html +2 -2
  268. package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
  269. package/dist/docs/interfaces/EpochInfo.html +7 -7
  270. package/dist/docs/interfaces/EpochSchedule.html +2 -2
  271. package/dist/docs/interfaces/FactoryProvider.html +2 -2
  272. package/dist/docs/interfaces/FetchedMint.html +6 -6
  273. package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
  274. package/dist/docs/interfaces/FreezeThawParams.html +6 -6
  275. package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
  276. package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
  277. package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
  278. package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
  279. package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
  280. package/dist/docs/interfaces/GetBlockOpts.html +6 -6
  281. package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
  282. package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
  283. package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
  284. package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
  285. package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
  286. package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
  287. package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
  288. package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
  289. package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
  290. package/dist/docs/interfaces/GeyserParserStats.html +2 -2
  291. package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
  292. package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
  293. package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
  294. package/dist/docs/interfaces/InflationGovernor.html +2 -2
  295. package/dist/docs/interfaces/InflationRate.html +2 -2
  296. package/dist/docs/interfaces/InflationReward.html +2 -2
  297. package/dist/docs/interfaces/InitializeAccountParams.html +5 -5
  298. package/dist/docs/interfaces/InitializeMintParams.html +6 -6
  299. package/dist/docs/interfaces/InitializeNonceParams.html +3 -3
  300. package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
  301. package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
  302. package/dist/docs/interfaces/LeakReport.html +5 -5
  303. package/dist/docs/interfaces/LogsNotification.html +2 -2
  304. package/dist/docs/interfaces/LogsSubParams.html +2 -2
  305. package/dist/docs/interfaces/MemoTransferExt.html +2 -2
  306. package/dist/docs/interfaces/MemoryGuardConfig.html +4 -4
  307. package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
  308. package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
  309. package/dist/docs/interfaces/MintToCheckedParams.html +8 -8
  310. package/dist/docs/interfaces/MintToParams.html +7 -7
  311. package/dist/docs/interfaces/NonTransferableExt.html +2 -2
  312. package/dist/docs/interfaces/PaginationOpts.html +2 -2
  313. package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
  314. package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
  315. package/dist/docs/interfaces/ParsedEntry.html +2 -2
  316. package/dist/docs/interfaces/ParsedInstruction.html +9 -9
  317. package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
  318. package/dist/docs/interfaces/ParsedTransaction.html +19 -19
  319. package/dist/docs/interfaces/PerfSample.html +2 -2
  320. package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
  321. package/dist/docs/interfaces/ProgramAccount.html +2 -2
  322. package/dist/docs/interfaces/ProgramNotification.html +2 -2
  323. package/dist/docs/interfaces/ProgramSubParams.html +2 -2
  324. package/dist/docs/interfaces/ProgramsBundle.html +33 -33
  325. package/dist/docs/interfaces/RawAccountInfo.html +2 -2
  326. package/dist/docs/interfaces/RawBlockMeta.html +2 -2
  327. package/dist/docs/interfaces/RawBuffer.html +2 -2
  328. package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
  329. package/dist/docs/interfaces/RawEntry.html +2 -2
  330. package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
  331. package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
  332. package/dist/docs/interfaces/RawSlotInfo.html +2 -2
  333. package/dist/docs/interfaces/RawTimestamp.html +2 -2
  334. package/dist/docs/interfaces/RawTokenBalance.html +2 -2
  335. package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
  336. package/dist/docs/interfaces/ReactAdapterConfig.html +2 -2
  337. package/dist/docs/interfaces/RecoverNestedParams.html +7 -7
  338. package/dist/docs/interfaces/RefRegistryConfig.html +2 -2
  339. package/dist/docs/interfaces/RefStats.html +7 -7
  340. package/dist/docs/interfaces/RequestHeapFrameParams.html +2 -2
  341. package/dist/docs/interfaces/ResolveMiddleware.html +1 -1
  342. package/dist/docs/interfaces/RevokeParams.html +5 -5
  343. package/dist/docs/interfaces/RootNotification.html +2 -2
  344. package/dist/docs/interfaces/RootSubParams.html +1 -1
  345. package/dist/docs/interfaces/RpcContext.html +2 -2
  346. package/dist/docs/interfaces/RpcError.html +4 -4
  347. package/dist/docs/interfaces/RpcRequest.html +3 -3
  348. package/dist/docs/interfaces/RpcResponse.html +2 -2
  349. package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
  350. package/dist/docs/interfaces/ServerAdapterConfig.html +3 -3
  351. package/dist/docs/interfaces/ServiceBinding.html +6 -6
  352. package/dist/docs/interfaces/ServiceRegistration.html +3 -3
  353. package/dist/docs/interfaces/ServiceResolver.html +6 -6
  354. package/dist/docs/interfaces/ServiceToken.html +4 -4
  355. package/dist/docs/interfaces/SetComputeUnitLimitParams.html +2 -2
  356. package/dist/docs/interfaces/SetComputeUnitPriceParams.html +2 -2
  357. package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +2 -2
  358. package/dist/docs/interfaces/SignatureInfo.html +7 -7
  359. package/dist/docs/interfaces/SignatureNotification.html +2 -2
  360. package/dist/docs/interfaces/SignatureStatus.html +5 -5
  361. package/dist/docs/interfaces/SignatureSubParams.html +2 -2
  362. package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
  363. package/dist/docs/interfaces/SimulateResult.html +2 -2
  364. package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
  365. package/dist/docs/interfaces/SingletonOptions.html +2 -2
  366. package/dist/docs/interfaces/SlotNotification.html +2 -2
  367. package/dist/docs/interfaces/SlotSubParams.html +1 -1
  368. package/dist/docs/interfaces/SortOpts.html +2 -2
  369. package/dist/docs/interfaces/StakeAuthorized.html +2 -2
  370. package/dist/docs/interfaces/StakeDelegation.html +3 -3
  371. package/dist/docs/interfaces/StakeLockup.html +4 -4
  372. package/dist/docs/interfaces/StakeMeta.html +2 -2
  373. package/dist/docs/interfaces/Supply.html +5 -5
  374. package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
  375. package/dist/docs/interfaces/SynapseClientLike.html +2 -2
  376. package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
  377. package/dist/docs/interfaces/SyncNativeParams.html +3 -3
  378. package/dist/docs/interfaces/SystemTransferParams.html +4 -4
  379. package/dist/docs/interfaces/TokenAccount.html +3 -3
  380. package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
  381. package/dist/docs/interfaces/TokenAmount.html +5 -5
  382. package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
  383. package/dist/docs/interfaces/TokenTransferParams.html +7 -7
  384. package/dist/docs/interfaces/TransactionInstruction.html +4 -4
  385. package/dist/docs/interfaces/TransactionMeta.html +11 -11
  386. package/dist/docs/interfaces/TransferCheckedParams.html +9 -9
  387. package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
  388. package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
  389. package/dist/docs/interfaces/TransportConfig.html +7 -7
  390. package/dist/docs/interfaces/UnknownExtension.html +2 -2
  391. package/dist/docs/interfaces/ValueProvider.html +2 -2
  392. package/dist/docs/interfaces/VoteAccount.html +9 -9
  393. package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
  394. package/dist/docs/interfaces/WithdrawNonceParams.html +5 -5
  395. package/dist/docs/interfaces/WsConfig.html +6 -6
  396. package/dist/docs/media/CHANGELOG.md +54 -0
  397. package/dist/docs/types/AccountFetchOpts.html +1 -1
  398. package/dist/docs/types/AccountFilter.html +1 -1
  399. package/dist/docs/types/Base58.html +1 -1
  400. package/dist/docs/types/Brand.html +1 -1
  401. package/dist/docs/types/Commitment.html +1 -1
  402. package/dist/docs/types/DasSortBy.html +1 -1
  403. package/dist/docs/types/DasSortDirection.html +1 -1
  404. package/dist/docs/types/DataSizeFilter.html +1 -1
  405. package/dist/docs/types/DecodedExtension.html +1 -1
  406. package/dist/docs/types/Encoding.html +1 -1
  407. package/dist/docs/types/Epoch.html +1 -1
  408. package/dist/docs/types/Lamports.html +1 -1
  409. package/dist/docs/types/LogsFilter.html +1 -1
  410. package/dist/docs/types/MemcmpFilter.html +1 -1
  411. package/dist/docs/types/NonceState.html +1 -1
  412. package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
  413. package/dist/docs/types/Pubkey.html +1 -1
  414. package/dist/docs/types/RuntimeEnv.html +1 -1
  415. package/dist/docs/types/ServiceLifecycle.html +1 -1
  416. package/dist/docs/types/ServiceProvider.html +1 -1
  417. package/dist/docs/types/Signature.html +1 -1
  418. package/dist/docs/types/Slot.html +1 -1
  419. package/dist/docs/types/StakeAccountType.html +1 -1
  420. package/dist/docs/types/SubscriptionId.html +1 -1
  421. package/dist/docs/types/TokenAccountState.html +1 -1
  422. package/dist/docs/types/TransactionDetail.html +1 -1
  423. package/dist/docs/types/UnaryMethod.html +1 -1
  424. package/dist/docs/types/UnixTimestamp.html +1 -1
  425. package/dist/docs/types/WsNotification.html +1 -1
  426. package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +1 -1
  427. package/dist/docs/variables/AssociatedToken.html +4 -4
  428. package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +1 -1
  429. package/dist/docs/variables/ComputeBudget.html +5 -5
  430. package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
  431. package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
  432. package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
  433. package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
  434. package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
  435. package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
  436. package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
  437. package/dist/docs/variables/MEMO_PROGRAM_V1.html +1 -1
  438. package/dist/docs/variables/MEMO_PROGRAM_V2.html +1 -1
  439. package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
  440. package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
  441. package/dist/docs/variables/MINT_SIZE.html +1 -1
  442. package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
  443. package/dist/docs/variables/Memo.html +2 -2
  444. package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
  445. package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
  446. package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
  447. package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
  448. package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
  449. package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
  450. package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
  451. package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
  452. package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
  453. package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
  454. package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
  455. package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
  456. package/dist/docs/variables/SYSTEM_PROGRAM.html +1 -1
  457. package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
  458. package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
  459. package/dist/docs/variables/SplToken.html +16 -16
  460. package/dist/docs/variables/SystemProgram.html +10 -10
  461. package/dist/docs/variables/TOKEN_2022_PROGRAM.html +1 -1
  462. package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
  463. package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
  464. package/dist/docs/variables/TOKEN_PROGRAM.html +1 -1
  465. package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
  466. package/dist/docs/variables/Tokens.html +1 -1
  467. package/dist/esm/ai/index.d.ts +1 -1
  468. package/dist/esm/ai/index.d.ts.map +1 -1
  469. package/dist/esm/ai/index.js +9 -11
  470. package/dist/esm/ai/index.js.map +1 -1
  471. package/dist/esm/ai/sap/client.d.ts +197 -0
  472. package/dist/esm/ai/sap/client.d.ts.map +1 -0
  473. package/dist/esm/ai/sap/client.js +330 -0
  474. package/dist/esm/ai/sap/client.js.map +1 -0
  475. package/dist/esm/ai/sap/index.d.ts +69 -52
  476. package/dist/esm/ai/sap/index.d.ts.map +1 -1
  477. package/dist/esm/ai/sap/index.js +68 -49
  478. package/dist/esm/ai/sap/index.js.map +1 -1
  479. package/dist/esm/ai/sap/provider.d.ts +180 -0
  480. package/dist/esm/ai/sap/provider.d.ts.map +1 -0
  481. package/dist/esm/ai/sap/provider.js +215 -0
  482. package/dist/esm/ai/sap/provider.js.map +1 -0
  483. package/dist/esm/ai/sap/types.d.ts +120 -384
  484. package/dist/esm/ai/sap/types.d.ts.map +1 -1
  485. package/dist/esm/ai/sap/types.js +18 -195
  486. package/dist/esm/ai/sap/types.js.map +1 -1
  487. package/package.json +31 -20
  488. package/dist/cjs/ai/sap/adapter.d.ts +0 -140
  489. package/dist/cjs/ai/sap/adapter.d.ts.map +0 -1
  490. package/dist/cjs/ai/sap/adapter.js +0 -181
  491. package/dist/cjs/ai/sap/adapter.js.map +0 -1
  492. package/dist/cjs/ai/sap/discovery.d.ts +0 -165
  493. package/dist/cjs/ai/sap/discovery.d.ts.map +0 -1
  494. package/dist/cjs/ai/sap/discovery.js +0 -316
  495. package/dist/cjs/ai/sap/discovery.js.map +0 -1
  496. package/dist/cjs/ai/sap/pda.d.ts +0 -205
  497. package/dist/cjs/ai/sap/pda.d.ts.map +0 -1
  498. package/dist/cjs/ai/sap/pda.js +0 -547
  499. package/dist/cjs/ai/sap/pda.js.map +0 -1
  500. package/dist/cjs/ai/sap/program.d.ts +0 -153
  501. package/dist/cjs/ai/sap/program.d.ts.map +0 -1
  502. package/dist/cjs/ai/sap/program.js +0 -227
  503. package/dist/cjs/ai/sap/program.js.map +0 -1
  504. package/dist/cjs/ai/sap/registry.d.ts +0 -218
  505. package/dist/cjs/ai/sap/registry.d.ts.map +0 -1
  506. package/dist/cjs/ai/sap/registry.js +0 -519
  507. package/dist/cjs/ai/sap/registry.js.map +0 -1
  508. package/dist/cjs/ai/sap/scoring.d.ts +0 -138
  509. package/dist/cjs/ai/sap/scoring.d.ts.map +0 -1
  510. package/dist/cjs/ai/sap/scoring.js +0 -266
  511. package/dist/cjs/ai/sap/scoring.js.map +0 -1
  512. package/dist/cjs/ai/sap/subnetwork.d.ts +0 -201
  513. package/dist/cjs/ai/sap/subnetwork.d.ts.map +0 -1
  514. package/dist/cjs/ai/sap/subnetwork.js +0 -365
  515. package/dist/cjs/ai/sap/subnetwork.js.map +0 -1
  516. package/dist/cjs/ai/sap/validator.d.ts +0 -160
  517. package/dist/cjs/ai/sap/validator.d.ts.map +0 -1
  518. package/dist/cjs/ai/sap/validator.js +0 -619
  519. package/dist/cjs/ai/sap/validator.js.map +0 -1
  520. package/dist/esm/ai/sap/adapter.d.ts +0 -140
  521. package/dist/esm/ai/sap/adapter.d.ts.map +0 -1
  522. package/dist/esm/ai/sap/adapter.js +0 -177
  523. package/dist/esm/ai/sap/adapter.js.map +0 -1
  524. package/dist/esm/ai/sap/discovery.d.ts +0 -165
  525. package/dist/esm/ai/sap/discovery.d.ts.map +0 -1
  526. package/dist/esm/ai/sap/discovery.js +0 -311
  527. package/dist/esm/ai/sap/discovery.js.map +0 -1
  528. package/dist/esm/ai/sap/pda.d.ts +0 -205
  529. package/dist/esm/ai/sap/pda.d.ts.map +0 -1
  530. package/dist/esm/ai/sap/pda.js +0 -535
  531. package/dist/esm/ai/sap/pda.js.map +0 -1
  532. package/dist/esm/ai/sap/program.d.ts +0 -153
  533. package/dist/esm/ai/sap/program.d.ts.map +0 -1
  534. package/dist/esm/ai/sap/program.js +0 -222
  535. package/dist/esm/ai/sap/program.js.map +0 -1
  536. package/dist/esm/ai/sap/registry.d.ts +0 -218
  537. package/dist/esm/ai/sap/registry.d.ts.map +0 -1
  538. package/dist/esm/ai/sap/registry.js +0 -515
  539. package/dist/esm/ai/sap/registry.js.map +0 -1
  540. package/dist/esm/ai/sap/scoring.d.ts +0 -138
  541. package/dist/esm/ai/sap/scoring.d.ts.map +0 -1
  542. package/dist/esm/ai/sap/scoring.js +0 -262
  543. package/dist/esm/ai/sap/scoring.js.map +0 -1
  544. package/dist/esm/ai/sap/subnetwork.d.ts +0 -201
  545. package/dist/esm/ai/sap/subnetwork.d.ts.map +0 -1
  546. package/dist/esm/ai/sap/subnetwork.js +0 -361
  547. package/dist/esm/ai/sap/subnetwork.js.map +0 -1
  548. package/dist/esm/ai/sap/validator.d.ts +0 -160
  549. package/dist/esm/ai/sap/validator.d.ts.map +0 -1
  550. package/dist/esm/ai/sap/validator.js +0 -614
  551. 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"}