@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.
- package/CHANGELOG.md +54 -0
- package/README.md +2 -2
- package/dist/cjs/ai/index.d.ts +1 -1
- package/dist/cjs/ai/index.d.ts.map +1 -1
- package/dist/cjs/ai/index.js +12 -28
- package/dist/cjs/ai/index.js.map +1 -1
- package/dist/cjs/ai/sap/client.d.ts +197 -0
- package/dist/cjs/ai/sap/client.d.ts.map +1 -0
- package/dist/cjs/ai/sap/client.js +334 -0
- package/dist/cjs/ai/sap/client.js.map +1 -0
- package/dist/cjs/ai/sap/index.d.ts +69 -52
- package/dist/cjs/ai/sap/index.d.ts.map +1 -1
- package/dist/cjs/ai/sap/index.js +73 -77
- package/dist/cjs/ai/sap/index.js.map +1 -1
- package/dist/cjs/ai/sap/provider.d.ts +180 -0
- package/dist/cjs/ai/sap/provider.d.ts.map +1 -0
- package/dist/cjs/ai/sap/provider.js +219 -0
- package/dist/cjs/ai/sap/provider.js.map +1 -0
- package/dist/cjs/ai/sap/types.d.ts +120 -384
- package/dist/cjs/ai/sap/types.d.ts.map +1 -1
- package/dist/cjs/ai/sap/types.js +20 -200
- package/dist/cjs/ai/sap/types.js.map +1 -1
- package/dist/docs/classes/AccountReader.html +18 -18
- package/dist/docs/classes/AccountsClient.html +10 -10
- package/dist/docs/classes/AsyncProviderError.html +4 -4
- package/dist/docs/classes/CircularDependencyError.html +4 -4
- package/dist/docs/classes/DasClient.html +13 -13
- package/dist/docs/classes/GeyserParser.html +17 -17
- package/dist/docs/classes/GrpcTransport.html +6 -6
- package/dist/docs/classes/HttpTransport.html +4 -4
- package/dist/docs/classes/InstructionWriter.html +11 -11
- package/dist/docs/classes/MemoryGuard.html +9 -9
- package/dist/docs/classes/NetworkError.html +5 -5
- package/dist/docs/classes/RefRegistry.html +11 -11
- package/dist/docs/classes/RefReleasedError.html +4 -4
- package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
- package/dist/docs/classes/ServiceNotFoundError.html +4 -4
- package/dist/docs/classes/ServiceRef.html +13 -13
- package/dist/docs/classes/SolanaRpc.html +55 -55
- package/dist/docs/classes/SynapseClient.html +15 -15
- package/dist/docs/classes/SynapseContext.html +27 -27
- package/dist/docs/classes/SynapseError.html +4 -4
- package/dist/docs/classes/TimeoutError.html +4 -4
- package/dist/docs/classes/UpstreamError.html +6 -6
- package/dist/docs/classes/WeakServiceRef.html +4 -4
- package/dist/docs/classes/WsClient.html +10 -10
- package/dist/docs/enums/SynapseNetwork.html +2 -2
- package/dist/docs/enums/SynapseRegion.html +2 -2
- package/dist/docs/enums/TokenExtensionType.html +2 -2
- package/dist/docs/functions/Epoch-1.html +1 -1
- package/dist/docs/functions/Lamports-2.html +1 -1
- package/dist/docs/functions/Pubkey-1.html +1 -1
- package/dist/docs/functions/Sig.html +1 -1
- package/dist/docs/functions/Slot-1.html +1 -1
- package/dist/docs/functions/UnixTs.html +1 -1
- package/dist/docs/functions/autoSelectRegion.html +1 -1
- package/dist/docs/functions/autoWire.html +1 -1
- package/dist/docs/functions/base58Encode.html +1 -1
- package/dist/docs/functions/base64ToBytes.html +1 -1
- package/dist/docs/functions/bigIntReplacer.html +1 -1
- package/dist/docs/functions/chunk.html +1 -1
- package/dist/docs/functions/computeBalanceChanges.html +1 -1
- package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
- package/dist/docs/functions/createBareContext.html +1 -1
- package/dist/docs/functions/createBinding.html +1 -1
- package/dist/docs/functions/createBoundHook.html +1 -1
- package/dist/docs/functions/createReactAdapter.html +1 -1
- package/dist/docs/functions/createRefHook.html +1 -1
- package/dist/docs/functions/createServerMiddleware.html +1 -1
- package/dist/docs/functions/createServiceHook.html +1 -1
- package/dist/docs/functions/createSingleton.html +1 -1
- package/dist/docs/functions/createSynapse.html +1 -1
- package/dist/docs/functions/createSynapseContext.html +1 -1
- package/dist/docs/functions/createToken.html +1 -1
- package/dist/docs/functions/decodeBase58.html +1 -1
- package/dist/docs/functions/decodeLookupTable.html +1 -1
- package/dist/docs/functions/decodeMint.html +1 -1
- package/dist/docs/functions/decodeMultisig.html +1 -1
- package/dist/docs/functions/decodeNonceAccount.html +1 -1
- package/dist/docs/functions/decodeStakeAccount.html +1 -1
- package/dist/docs/functions/decodeToken2022Account.html +1 -1
- package/dist/docs/functions/decodeToken2022Mint.html +1 -1
- package/dist/docs/functions/decodeTokenAccount.html +1 -1
- package/dist/docs/functions/encodeBase58.html +1 -1
- package/dist/docs/functions/fetchLookupTable.html +1 -1
- package/dist/docs/functions/fetchMint.html +1 -1
- package/dist/docs/functions/fetchNonceAccount.html +1 -1
- package/dist/docs/functions/fetchStakeAccount.html +1 -1
- package/dist/docs/functions/fetchTokenAccount.html +1 -1
- package/dist/docs/functions/fetchTokenAccountsByOwner.html +1 -1
- package/dist/docs/functions/fromKitAddress.html +1 -1
- package/dist/docs/functions/getAccountInfo.html +1 -1
- package/dist/docs/functions/getAsset.html +1 -1
- package/dist/docs/functions/getAssetBatch.html +1 -1
- package/dist/docs/functions/getAssetProof.html +1 -1
- package/dist/docs/functions/getAssetProofBatch.html +1 -1
- package/dist/docs/functions/getAssetsByAuthority.html +1 -1
- package/dist/docs/functions/getAssetsByCreator.html +1 -1
- package/dist/docs/functions/getAssetsByGroup.html +1 -1
- package/dist/docs/functions/getAssetsByOwner.html +1 -1
- package/dist/docs/functions/getBalance.html +1 -1
- package/dist/docs/functions/getBlock.html +1 -1
- package/dist/docs/functions/getBlockCommitment.html +1 -1
- package/dist/docs/functions/getBlockHeight.html +1 -1
- package/dist/docs/functions/getBlockProduction.html +1 -1
- package/dist/docs/functions/getBlockTime.html +1 -1
- package/dist/docs/functions/getBlocks.html +1 -1
- package/dist/docs/functions/getBlocksWithLimit.html +1 -1
- package/dist/docs/functions/getClusterNodes.html +1 -1
- package/dist/docs/functions/getContext.html +1 -1
- package/dist/docs/functions/getDecodedAccount.html +1 -1
- package/dist/docs/functions/getDecodedAccounts.html +1 -1
- package/dist/docs/functions/getEnvironment.html +1 -1
- package/dist/docs/functions/getEpochInfo.html +1 -1
- package/dist/docs/functions/getEpochSchedule.html +1 -1
- package/dist/docs/functions/getFeeForMessage.html +1 -1
- package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
- package/dist/docs/functions/getGenesisHash.html +1 -1
- package/dist/docs/functions/getHealth.html +1 -1
- package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
- package/dist/docs/functions/getIdentity.html +1 -1
- package/dist/docs/functions/getInflationGovernor.html +1 -1
- package/dist/docs/functions/getInflationRate.html +1 -1
- package/dist/docs/functions/getInflationReward.html +1 -1
- package/dist/docs/functions/getLargestAccounts.html +1 -1
- package/dist/docs/functions/getLatestBlockhash.html +1 -1
- package/dist/docs/functions/getLeaderSchedule.html +1 -1
- package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
- package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
- package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
- package/dist/docs/functions/getMultipleAccounts.html +1 -1
- package/dist/docs/functions/getProgramAccounts.html +1 -1
- package/dist/docs/functions/getProgramCategory.html +1 -1
- package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
- package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
- package/dist/docs/functions/getSignatureStatuses.html +1 -1
- package/dist/docs/functions/getSignaturesForAddress.html +1 -1
- package/dist/docs/functions/getSignaturesForAsset.html +1 -1
- package/dist/docs/functions/getSlot.html +1 -1
- package/dist/docs/functions/getSlotLeader.html +1 -1
- package/dist/docs/functions/getSlotLeaders.html +1 -1
- package/dist/docs/functions/getStakeActivation.html +1 -1
- package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
- package/dist/docs/functions/getSupply.html +1 -1
- package/dist/docs/functions/getTokenAccountBalance.html +1 -1
- package/dist/docs/functions/getTokenAccounts.html +1 -1
- package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
- package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
- package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
- package/dist/docs/functions/getTokenSupply.html +1 -1
- package/dist/docs/functions/getTransaction.html +1 -1
- package/dist/docs/functions/getTransactionCount.html +1 -1
- package/dist/docs/functions/getVersion.html +1 -1
- package/dist/docs/functions/getVoteAccounts.html +1 -1
- package/dist/docs/functions/isBlockhashValid.html +1 -1
- package/dist/docs/functions/isBrowser.html +1 -1
- package/dist/docs/functions/isDisposable.html +1 -1
- package/dist/docs/functions/isProgramInCategory.html +1 -1
- package/dist/docs/functions/isServer.html +1 -1
- package/dist/docs/functions/isValidPubkey.html +1 -1
- package/dist/docs/functions/isValidSignature.html +1 -1
- package/dist/docs/functions/lamportsToSol.html +1 -1
- package/dist/docs/functions/listEndpoints.html +1 -1
- package/dist/docs/functions/listNetworks.html +1 -1
- package/dist/docs/functions/listRegions.html +1 -1
- package/dist/docs/functions/minimumLedgerSlot.html +1 -1
- package/dist/docs/functions/parseAccountUpdate.html +1 -1
- package/dist/docs/functions/parseBlockMeta.html +1 -1
- package/dist/docs/functions/parseEntry.html +1 -1
- package/dist/docs/functions/parseGeyserUpdate.html +1 -1
- package/dist/docs/functions/parseSlotUpdate.html +1 -1
- package/dist/docs/functions/parseTimestamp.html +1 -1
- package/dist/docs/functions/parseTransaction.html +1 -1
- package/dist/docs/functions/probeLatency.html +1 -1
- package/dist/docs/functions/rawBufferToBase58.html +1 -1
- package/dist/docs/functions/rawBufferToBase64.html +1 -1
- package/dist/docs/functions/rawBufferToBytes.html +1 -1
- package/dist/docs/functions/rawBufferToHex.html +1 -1
- package/dist/docs/functions/readonly.html +1 -1
- package/dist/docs/functions/readonlySigner.html +1 -1
- package/dist/docs/functions/requestAirdrop.html +1 -1
- package/dist/docs/functions/resolveEndpoint.html +1 -1
- package/dist/docs/functions/resolveProgram.html +1 -1
- package/dist/docs/functions/resolveProgramBatch.html +1 -1
- package/dist/docs/functions/retry.html +1 -1
- package/dist/docs/functions/searchAssets.html +1 -1
- package/dist/docs/functions/sendTransaction.html +1 -1
- package/dist/docs/functions/setGlobalContext.html +1 -1
- package/dist/docs/functions/simulateTransaction.html +1 -1
- package/dist/docs/functions/sleep.html +1 -1
- package/dist/docs/functions/solToLamports.html +1 -1
- package/dist/docs/functions/toClientConfig.html +1 -1
- package/dist/docs/functions/toJsonSafe.html +1 -1
- package/dist/docs/functions/toKitAddress.html +1 -1
- package/dist/docs/functions/toKitInstruction.html +1 -1
- package/dist/docs/functions/toKitLamports.html +1 -1
- package/dist/docs/functions/toKitSignatureString.html +1 -1
- package/dist/docs/functions/tryGetContext.html +1 -1
- package/dist/docs/functions/tryUseService.html +1 -1
- package/dist/docs/functions/useBoundServices.html +1 -1
- package/dist/docs/functions/useService.html +1 -1
- package/dist/docs/functions/useSharedRef.html +1 -1
- package/dist/docs/functions/withRef.html +1 -1
- package/dist/docs/functions/withRefAsync.html +1 -1
- package/dist/docs/functions/writable.html +1 -1
- package/dist/docs/functions/writableSigner.html +1 -1
- package/dist/docs/index.html +2 -2
- package/dist/docs/interfaces/AccountInfo.html +7 -7
- package/dist/docs/interfaces/AccountMeta.html +4 -4
- package/dist/docs/interfaces/AccountNotification.html +2 -2
- package/dist/docs/interfaces/AccountSubParams.html +2 -2
- package/dist/docs/interfaces/AddMemoParams.html +5 -5
- package/dist/docs/interfaces/AdvanceNonceParams.html +3 -3
- package/dist/docs/interfaces/AliasProvider.html +2 -2
- package/dist/docs/interfaces/AllocateParams.html +3 -3
- package/dist/docs/interfaces/ApproveCheckedParams.html +9 -9
- package/dist/docs/interfaces/ApproveParams.html +7 -7
- package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
- package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
- package/dist/docs/interfaces/AssignParams.html +3 -3
- package/dist/docs/interfaces/AsyncFactoryProvider.html +2 -2
- package/dist/docs/interfaces/AuthorizeNonceParams.html +4 -4
- package/dist/docs/interfaces/BalanceChange.html +6 -6
- package/dist/docs/interfaces/BlockProduction.html +3 -3
- package/dist/docs/interfaces/BlockResult.html +2 -2
- package/dist/docs/interfaces/BlockReward.html +2 -2
- package/dist/docs/interfaces/BlockhashResult.html +2 -2
- package/dist/docs/interfaces/BurnCheckedParams.html +8 -8
- package/dist/docs/interfaces/BurnParams.html +7 -7
- package/dist/docs/interfaces/CallOptions.html +6 -6
- package/dist/docs/interfaces/ClassProvider.html +2 -2
- package/dist/docs/interfaces/CloseAccountParams.html +6 -6
- package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
- package/dist/docs/interfaces/ContactInfo.html +2 -2
- package/dist/docs/interfaces/ContextAdapter.html +5 -5
- package/dist/docs/interfaces/ContextEvents.html +6 -6
- package/dist/docs/interfaces/ContextModule.html +3 -3
- package/dist/docs/interfaces/CreateATAParams.html +6 -6
- package/dist/docs/interfaces/CreateAccountParams.html +6 -6
- package/dist/docs/interfaces/CreateAccountWithSeedParams.html +8 -8
- package/dist/docs/interfaces/CreateSynapseContextOpts.html +4 -4
- package/dist/docs/interfaces/DasAsset.html +2 -2
- package/dist/docs/interfaces/DasAssetProof.html +2 -2
- package/dist/docs/interfaces/DasAuthority.html +2 -2
- package/dist/docs/interfaces/DasCompression.html +2 -2
- package/dist/docs/interfaces/DasContent.html +2 -2
- package/dist/docs/interfaces/DasCreator.html +2 -2
- package/dist/docs/interfaces/DasFile.html +2 -2
- package/dist/docs/interfaces/DasGrouping.html +2 -2
- package/dist/docs/interfaces/DasOpts.html +2 -2
- package/dist/docs/interfaces/DasOwnership.html +2 -2
- package/dist/docs/interfaces/DasPage.html +2 -2
- package/dist/docs/interfaces/DasRoyalty.html +2 -2
- package/dist/docs/interfaces/DasSearchParams.html +2 -2
- package/dist/docs/interfaces/DasSupply.html +2 -2
- package/dist/docs/interfaces/DataSlice.html +3 -3
- package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
- package/dist/docs/interfaces/DecodedLookupTable.html +8 -8
- package/dist/docs/interfaces/DecodedMint.html +6 -6
- package/dist/docs/interfaces/DecodedMultisig.html +5 -5
- package/dist/docs/interfaces/DecodedNonceAccount.html +6 -6
- package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
- package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
- package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
- package/dist/docs/interfaces/DecodedTokenAccount.html +9 -9
- package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
- package/dist/docs/interfaces/Disposable.html +2 -2
- package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
- package/dist/docs/interfaces/EpochInfo.html +7 -7
- package/dist/docs/interfaces/EpochSchedule.html +2 -2
- package/dist/docs/interfaces/FactoryProvider.html +2 -2
- package/dist/docs/interfaces/FetchedMint.html +6 -6
- package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
- package/dist/docs/interfaces/FreezeThawParams.html +6 -6
- package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
- package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
- package/dist/docs/interfaces/GetBlockOpts.html +6 -6
- package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
- package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
- package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
- package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
- package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
- package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
- package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
- package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
- package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
- package/dist/docs/interfaces/GeyserParserStats.html +2 -2
- package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
- package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
- package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
- package/dist/docs/interfaces/InflationGovernor.html +2 -2
- package/dist/docs/interfaces/InflationRate.html +2 -2
- package/dist/docs/interfaces/InflationReward.html +2 -2
- package/dist/docs/interfaces/InitializeAccountParams.html +5 -5
- package/dist/docs/interfaces/InitializeMintParams.html +6 -6
- package/dist/docs/interfaces/InitializeNonceParams.html +3 -3
- package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
- package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
- package/dist/docs/interfaces/LeakReport.html +5 -5
- package/dist/docs/interfaces/LogsNotification.html +2 -2
- package/dist/docs/interfaces/LogsSubParams.html +2 -2
- package/dist/docs/interfaces/MemoTransferExt.html +2 -2
- package/dist/docs/interfaces/MemoryGuardConfig.html +4 -4
- package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
- package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
- package/dist/docs/interfaces/MintToCheckedParams.html +8 -8
- package/dist/docs/interfaces/MintToParams.html +7 -7
- package/dist/docs/interfaces/NonTransferableExt.html +2 -2
- package/dist/docs/interfaces/PaginationOpts.html +2 -2
- package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
- package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
- package/dist/docs/interfaces/ParsedEntry.html +2 -2
- package/dist/docs/interfaces/ParsedInstruction.html +9 -9
- package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
- package/dist/docs/interfaces/ParsedTransaction.html +19 -19
- package/dist/docs/interfaces/PerfSample.html +2 -2
- package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
- package/dist/docs/interfaces/ProgramAccount.html +2 -2
- package/dist/docs/interfaces/ProgramNotification.html +2 -2
- package/dist/docs/interfaces/ProgramSubParams.html +2 -2
- package/dist/docs/interfaces/ProgramsBundle.html +33 -33
- package/dist/docs/interfaces/RawAccountInfo.html +2 -2
- package/dist/docs/interfaces/RawBlockMeta.html +2 -2
- package/dist/docs/interfaces/RawBuffer.html +2 -2
- package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
- package/dist/docs/interfaces/RawEntry.html +2 -2
- package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
- package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
- package/dist/docs/interfaces/RawSlotInfo.html +2 -2
- package/dist/docs/interfaces/RawTimestamp.html +2 -2
- package/dist/docs/interfaces/RawTokenBalance.html +2 -2
- package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
- package/dist/docs/interfaces/ReactAdapterConfig.html +2 -2
- package/dist/docs/interfaces/RecoverNestedParams.html +7 -7
- package/dist/docs/interfaces/RefRegistryConfig.html +2 -2
- package/dist/docs/interfaces/RefStats.html +7 -7
- package/dist/docs/interfaces/RequestHeapFrameParams.html +2 -2
- package/dist/docs/interfaces/ResolveMiddleware.html +1 -1
- package/dist/docs/interfaces/RevokeParams.html +5 -5
- package/dist/docs/interfaces/RootNotification.html +2 -2
- package/dist/docs/interfaces/RootSubParams.html +1 -1
- package/dist/docs/interfaces/RpcContext.html +2 -2
- package/dist/docs/interfaces/RpcError.html +4 -4
- package/dist/docs/interfaces/RpcRequest.html +3 -3
- package/dist/docs/interfaces/RpcResponse.html +2 -2
- package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
- package/dist/docs/interfaces/ServerAdapterConfig.html +3 -3
- package/dist/docs/interfaces/ServiceBinding.html +6 -6
- package/dist/docs/interfaces/ServiceRegistration.html +3 -3
- package/dist/docs/interfaces/ServiceResolver.html +6 -6
- package/dist/docs/interfaces/ServiceToken.html +4 -4
- package/dist/docs/interfaces/SetComputeUnitLimitParams.html +2 -2
- package/dist/docs/interfaces/SetComputeUnitPriceParams.html +2 -2
- package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +2 -2
- package/dist/docs/interfaces/SignatureInfo.html +7 -7
- package/dist/docs/interfaces/SignatureNotification.html +2 -2
- package/dist/docs/interfaces/SignatureStatus.html +5 -5
- package/dist/docs/interfaces/SignatureSubParams.html +2 -2
- package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
- package/dist/docs/interfaces/SimulateResult.html +2 -2
- package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
- package/dist/docs/interfaces/SingletonOptions.html +2 -2
- package/dist/docs/interfaces/SlotNotification.html +2 -2
- package/dist/docs/interfaces/SlotSubParams.html +1 -1
- package/dist/docs/interfaces/SortOpts.html +2 -2
- package/dist/docs/interfaces/StakeAuthorized.html +2 -2
- package/dist/docs/interfaces/StakeDelegation.html +3 -3
- package/dist/docs/interfaces/StakeLockup.html +4 -4
- package/dist/docs/interfaces/StakeMeta.html +2 -2
- package/dist/docs/interfaces/Supply.html +5 -5
- package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
- package/dist/docs/interfaces/SynapseClientLike.html +2 -2
- package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
- package/dist/docs/interfaces/SyncNativeParams.html +3 -3
- package/dist/docs/interfaces/SystemTransferParams.html +4 -4
- package/dist/docs/interfaces/TokenAccount.html +3 -3
- package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
- package/dist/docs/interfaces/TokenAmount.html +5 -5
- package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
- package/dist/docs/interfaces/TokenTransferParams.html +7 -7
- package/dist/docs/interfaces/TransactionInstruction.html +4 -4
- package/dist/docs/interfaces/TransactionMeta.html +11 -11
- package/dist/docs/interfaces/TransferCheckedParams.html +9 -9
- package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
- package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
- package/dist/docs/interfaces/TransportConfig.html +7 -7
- package/dist/docs/interfaces/UnknownExtension.html +2 -2
- package/dist/docs/interfaces/ValueProvider.html +2 -2
- package/dist/docs/interfaces/VoteAccount.html +9 -9
- package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
- package/dist/docs/interfaces/WithdrawNonceParams.html +5 -5
- package/dist/docs/interfaces/WsConfig.html +6 -6
- package/dist/docs/media/CHANGELOG.md +54 -0
- package/dist/docs/types/AccountFetchOpts.html +1 -1
- package/dist/docs/types/AccountFilter.html +1 -1
- package/dist/docs/types/Base58.html +1 -1
- package/dist/docs/types/Brand.html +1 -1
- package/dist/docs/types/Commitment.html +1 -1
- package/dist/docs/types/DasSortBy.html +1 -1
- package/dist/docs/types/DasSortDirection.html +1 -1
- package/dist/docs/types/DataSizeFilter.html +1 -1
- package/dist/docs/types/DecodedExtension.html +1 -1
- package/dist/docs/types/Encoding.html +1 -1
- package/dist/docs/types/Epoch.html +1 -1
- package/dist/docs/types/Lamports.html +1 -1
- package/dist/docs/types/LogsFilter.html +1 -1
- package/dist/docs/types/MemcmpFilter.html +1 -1
- package/dist/docs/types/NonceState.html +1 -1
- package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
- package/dist/docs/types/Pubkey.html +1 -1
- package/dist/docs/types/RuntimeEnv.html +1 -1
- package/dist/docs/types/ServiceLifecycle.html +1 -1
- package/dist/docs/types/ServiceProvider.html +1 -1
- package/dist/docs/types/Signature.html +1 -1
- package/dist/docs/types/Slot.html +1 -1
- package/dist/docs/types/StakeAccountType.html +1 -1
- package/dist/docs/types/SubscriptionId.html +1 -1
- package/dist/docs/types/TokenAccountState.html +1 -1
- package/dist/docs/types/TransactionDetail.html +1 -1
- package/dist/docs/types/UnaryMethod.html +1 -1
- package/dist/docs/types/UnixTimestamp.html +1 -1
- package/dist/docs/types/WsNotification.html +1 -1
- package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +1 -1
- package/dist/docs/variables/AssociatedToken.html +4 -4
- package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +1 -1
- package/dist/docs/variables/ComputeBudget.html +5 -5
- package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
- package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
- package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
- package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
- package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
- package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
- package/dist/docs/variables/MEMO_PROGRAM_V1.html +1 -1
- package/dist/docs/variables/MEMO_PROGRAM_V2.html +1 -1
- package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
- package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
- package/dist/docs/variables/MINT_SIZE.html +1 -1
- package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
- package/dist/docs/variables/Memo.html +2 -2
- package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
- package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
- package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
- package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
- package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
- package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
- package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
- package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
- package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
- package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
- package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAM.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/SplToken.html +16 -16
- package/dist/docs/variables/SystemProgram.html +10 -10
- package/dist/docs/variables/TOKEN_2022_PROGRAM.html +1 -1
- package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
- package/dist/docs/variables/TOKEN_PROGRAM.html +1 -1
- package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/Tokens.html +1 -1
- package/dist/esm/ai/index.d.ts +1 -1
- package/dist/esm/ai/index.d.ts.map +1 -1
- package/dist/esm/ai/index.js +9 -11
- package/dist/esm/ai/index.js.map +1 -1
- package/dist/esm/ai/sap/client.d.ts +197 -0
- package/dist/esm/ai/sap/client.d.ts.map +1 -0
- package/dist/esm/ai/sap/client.js +330 -0
- package/dist/esm/ai/sap/client.js.map +1 -0
- package/dist/esm/ai/sap/index.d.ts +69 -52
- package/dist/esm/ai/sap/index.d.ts.map +1 -1
- package/dist/esm/ai/sap/index.js +68 -49
- package/dist/esm/ai/sap/index.js.map +1 -1
- package/dist/esm/ai/sap/provider.d.ts +180 -0
- package/dist/esm/ai/sap/provider.d.ts.map +1 -0
- package/dist/esm/ai/sap/provider.js +215 -0
- package/dist/esm/ai/sap/provider.js.map +1 -0
- package/dist/esm/ai/sap/types.d.ts +120 -384
- package/dist/esm/ai/sap/types.d.ts.map +1 -1
- package/dist/esm/ai/sap/types.js +18 -195
- package/dist/esm/ai/sap/types.js.map +1 -1
- package/package.json +31 -20
- package/dist/cjs/ai/sap/adapter.d.ts +0 -140
- package/dist/cjs/ai/sap/adapter.d.ts.map +0 -1
- package/dist/cjs/ai/sap/adapter.js +0 -181
- package/dist/cjs/ai/sap/adapter.js.map +0 -1
- package/dist/cjs/ai/sap/discovery.d.ts +0 -165
- package/dist/cjs/ai/sap/discovery.d.ts.map +0 -1
- package/dist/cjs/ai/sap/discovery.js +0 -316
- package/dist/cjs/ai/sap/discovery.js.map +0 -1
- package/dist/cjs/ai/sap/pda.d.ts +0 -205
- package/dist/cjs/ai/sap/pda.d.ts.map +0 -1
- package/dist/cjs/ai/sap/pda.js +0 -547
- package/dist/cjs/ai/sap/pda.js.map +0 -1
- package/dist/cjs/ai/sap/program.d.ts +0 -153
- package/dist/cjs/ai/sap/program.d.ts.map +0 -1
- package/dist/cjs/ai/sap/program.js +0 -227
- package/dist/cjs/ai/sap/program.js.map +0 -1
- package/dist/cjs/ai/sap/registry.d.ts +0 -218
- package/dist/cjs/ai/sap/registry.d.ts.map +0 -1
- package/dist/cjs/ai/sap/registry.js +0 -519
- package/dist/cjs/ai/sap/registry.js.map +0 -1
- package/dist/cjs/ai/sap/scoring.d.ts +0 -138
- package/dist/cjs/ai/sap/scoring.d.ts.map +0 -1
- package/dist/cjs/ai/sap/scoring.js +0 -266
- package/dist/cjs/ai/sap/scoring.js.map +0 -1
- package/dist/cjs/ai/sap/subnetwork.d.ts +0 -201
- package/dist/cjs/ai/sap/subnetwork.d.ts.map +0 -1
- package/dist/cjs/ai/sap/subnetwork.js +0 -365
- package/dist/cjs/ai/sap/subnetwork.js.map +0 -1
- package/dist/cjs/ai/sap/validator.d.ts +0 -160
- package/dist/cjs/ai/sap/validator.d.ts.map +0 -1
- package/dist/cjs/ai/sap/validator.js +0 -619
- package/dist/cjs/ai/sap/validator.js.map +0 -1
- package/dist/esm/ai/sap/adapter.d.ts +0 -140
- package/dist/esm/ai/sap/adapter.d.ts.map +0 -1
- package/dist/esm/ai/sap/adapter.js +0 -177
- package/dist/esm/ai/sap/adapter.js.map +0 -1
- package/dist/esm/ai/sap/discovery.d.ts +0 -165
- package/dist/esm/ai/sap/discovery.d.ts.map +0 -1
- package/dist/esm/ai/sap/discovery.js +0 -311
- package/dist/esm/ai/sap/discovery.js.map +0 -1
- package/dist/esm/ai/sap/pda.d.ts +0 -205
- package/dist/esm/ai/sap/pda.d.ts.map +0 -1
- package/dist/esm/ai/sap/pda.js +0 -535
- package/dist/esm/ai/sap/pda.js.map +0 -1
- package/dist/esm/ai/sap/program.d.ts +0 -153
- package/dist/esm/ai/sap/program.d.ts.map +0 -1
- package/dist/esm/ai/sap/program.js +0 -222
- package/dist/esm/ai/sap/program.js.map +0 -1
- package/dist/esm/ai/sap/registry.d.ts +0 -218
- package/dist/esm/ai/sap/registry.d.ts.map +0 -1
- package/dist/esm/ai/sap/registry.js +0 -515
- package/dist/esm/ai/sap/registry.js.map +0 -1
- package/dist/esm/ai/sap/scoring.d.ts +0 -138
- package/dist/esm/ai/sap/scoring.d.ts.map +0 -1
- package/dist/esm/ai/sap/scoring.js +0 -262
- package/dist/esm/ai/sap/scoring.js.map +0 -1
- package/dist/esm/ai/sap/subnetwork.d.ts +0 -201
- package/dist/esm/ai/sap/subnetwork.d.ts.map +0 -1
- package/dist/esm/ai/sap/subnetwork.js +0 -361
- package/dist/esm/ai/sap/subnetwork.js.map +0 -1
- package/dist/esm/ai/sap/validator.d.ts +0 -160
- package/dist/esm/ai/sap/validator.d.ts.map +0 -1
- package/dist/esm/ai/sap/validator.js +0 -614
- package/dist/esm/ai/sap/validator.js.map +0 -1
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module ai/sap/discovery
|
|
3
|
-
* @description SAP — On-chain agent discovery via `getProgramAccounts`.
|
|
4
|
-
*
|
|
5
|
-
* Queries the Solana blockchain for registered agents, applying filters
|
|
6
|
-
* like capability, protocol, reputation, price range, and uptime.
|
|
7
|
-
*
|
|
8
|
-
* Uses the SDK's native {@link HttpTransport} — no external dependencies.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { SynapseClient } from '@oobe-protocol-labs/synapse-client-sdk';
|
|
13
|
-
* import { SAPDiscovery } from '@oobe-protocol-labs/synapse-client-sdk/ai';
|
|
14
|
-
*
|
|
15
|
-
* const client = new SynapseClient({ endpoint: 'https://api.mainnet-beta.solana.com' });
|
|
16
|
-
* const discovery = new SAPDiscovery(client, { programId: 'SAPAgnt1...' });
|
|
17
|
-
*
|
|
18
|
-
* // Find agents that support Jupiter swaps
|
|
19
|
-
* const result = await discovery.find({ capability: 'jupiter:swap', minReputation: 700 });
|
|
20
|
-
* for (const agent of result.agents) {
|
|
21
|
-
* console.log(agent.name, agent.reputation.score, agent.x402Endpoint);
|
|
22
|
-
* }
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* @since 1.3.0
|
|
26
|
-
*/
|
|
27
|
-
import { SAP_DEFAULT_PROGRAM_ID, SAP_ACCOUNT_DISCRIMINATOR } from './types.js';
|
|
28
|
-
import { deserializeAgentAccount, deriveAgentPDA } from './pda.js';
|
|
29
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
30
|
-
* SAPDiscovery
|
|
31
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
32
|
-
/**
|
|
33
|
-
* @description Error class for SAP discovery failures.
|
|
34
|
-
* @since 1.3.0
|
|
35
|
-
*/
|
|
36
|
-
export class SAPDiscoveryError extends Error {
|
|
37
|
-
code;
|
|
38
|
-
constructor(message, code) {
|
|
39
|
-
super(message);
|
|
40
|
-
this.code = code;
|
|
41
|
-
this.name = 'SAPDiscoveryError';
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* @description On-chain agent discovery engine.
|
|
46
|
-
*
|
|
47
|
-
* Queries the Solana blockchain for SAP-registered agents using
|
|
48
|
-
* `getProgramAccounts` with memcmp filters for efficient querying.
|
|
49
|
-
*
|
|
50
|
-
* @since 1.3.0
|
|
51
|
-
*/
|
|
52
|
-
export class SAPDiscovery {
|
|
53
|
-
transport;
|
|
54
|
-
config;
|
|
55
|
-
/**
|
|
56
|
-
* @param {RpcClient} client - Client providing RPC transport
|
|
57
|
-
* @param {Partial<SAPConfig>} [config] - Discovery configuration
|
|
58
|
-
*/
|
|
59
|
-
constructor(client, config) {
|
|
60
|
-
this.transport = client.transport;
|
|
61
|
-
this.config = {
|
|
62
|
-
programId: config?.programId ?? SAP_DEFAULT_PROGRAM_ID,
|
|
63
|
-
commitment: config?.commitment ?? 'confirmed',
|
|
64
|
-
maxAccounts: config?.maxAccounts ?? 100,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* @description Find a single agent by wallet public key.
|
|
69
|
-
*
|
|
70
|
-
* Derives the PDA and fetches the account data directly.
|
|
71
|
-
*
|
|
72
|
-
* @param {string} walletPubkey - Agent's wallet (base58)
|
|
73
|
-
* @returns {Promise<AgentPDAAccount | null>} Agent account or null
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* ```ts
|
|
77
|
-
* const agent = await discovery.findAgent('7xKXwJ...');
|
|
78
|
-
* if (agent) console.log(agent.name, agent.capabilities);
|
|
79
|
-
* ```
|
|
80
|
-
*
|
|
81
|
-
* @since 1.3.0
|
|
82
|
-
*/
|
|
83
|
-
async findAgent(walletPubkey) {
|
|
84
|
-
const pda = deriveAgentPDA(walletPubkey, this.config.programId);
|
|
85
|
-
const result = await this.transport.request('getAccountInfo', [pda.address, { encoding: 'base64', commitment: this.config.commitment }]);
|
|
86
|
-
if (!result?.value?.data)
|
|
87
|
-
return null;
|
|
88
|
-
try {
|
|
89
|
-
const bytes = Buffer.from(result.value.data[0], 'base64');
|
|
90
|
-
return deserializeAgentAccount(pda.address, bytes);
|
|
91
|
-
}
|
|
92
|
-
catch {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* @description Find agents matching the given filters.
|
|
98
|
-
*
|
|
99
|
-
* Uses `getProgramAccounts` with a memcmp filter on the discriminator
|
|
100
|
-
* to fetch all SAP accounts, then applies client-side filters.
|
|
101
|
-
*
|
|
102
|
-
* @param {AgentDiscoveryFilter} [filter] - Query filters
|
|
103
|
-
* @returns {Promise<DiscoveryResult>} Discovery results with matching agents
|
|
104
|
-
*
|
|
105
|
-
* @example
|
|
106
|
-
* ```ts
|
|
107
|
-
* const result = await discovery.find({
|
|
108
|
-
* capability: 'jupiter:swap',
|
|
109
|
-
* minReputation: 600,
|
|
110
|
-
* maxPricePerCall: 5000n,
|
|
111
|
-
* sortBy: 'reputation',
|
|
112
|
-
* limit: 20,
|
|
113
|
-
* });
|
|
114
|
-
* ```
|
|
115
|
-
*
|
|
116
|
-
* @since 1.3.0
|
|
117
|
-
*/
|
|
118
|
-
async find(filter = {}) {
|
|
119
|
-
const start = performance.now();
|
|
120
|
-
const { activeOnly = true, capability, protocol, minReputation, maxPricePerCall, minUptime, sortBy, sortDirection = 'desc', limit = 50, } = filter;
|
|
121
|
-
// Fetch all accounts with discriminator filter
|
|
122
|
-
const accounts = await this.fetchAllAccounts();
|
|
123
|
-
const totalScanned = accounts.length;
|
|
124
|
-
// Apply filters
|
|
125
|
-
let matched = accounts.filter((agent) => {
|
|
126
|
-
if (activeOnly && !agent.isActive)
|
|
127
|
-
return false;
|
|
128
|
-
if (capability && !agent.capabilities.some(c => c.id === capability))
|
|
129
|
-
return false;
|
|
130
|
-
if (protocol && !agent.capabilities.some(c => c.protocol === protocol))
|
|
131
|
-
return false;
|
|
132
|
-
if (minReputation !== undefined && agent.reputation.score < minReputation)
|
|
133
|
-
return false;
|
|
134
|
-
if (maxPricePerCall !== undefined) {
|
|
135
|
-
const cheapest = agent.pricing.reduce((min, p) => p.pricePerCall < min ? p.pricePerCall : min, agent.pricing[0]?.pricePerCall ?? 0n);
|
|
136
|
-
if (cheapest > maxPricePerCall)
|
|
137
|
-
return false;
|
|
138
|
-
}
|
|
139
|
-
if (minUptime !== undefined && agent.reputation.uptimePercent < minUptime)
|
|
140
|
-
return false;
|
|
141
|
-
return true;
|
|
142
|
-
});
|
|
143
|
-
const totalMatching = matched.length;
|
|
144
|
-
// Sort
|
|
145
|
-
if (sortBy) {
|
|
146
|
-
const mul = sortDirection === 'asc' ? 1 : -1;
|
|
147
|
-
matched.sort((a, b) => {
|
|
148
|
-
switch (sortBy) {
|
|
149
|
-
case 'reputation': return mul * (a.reputation.score - b.reputation.score);
|
|
150
|
-
case 'latency': return mul * (a.reputation.avgLatencyMs - b.reputation.avgLatencyMs);
|
|
151
|
-
case 'uptime': return mul * (a.reputation.uptimePercent - b.reputation.uptimePercent);
|
|
152
|
-
case 'calls': return mul * Number(a.reputation.totalCallsServed - b.reputation.totalCallsServed);
|
|
153
|
-
case 'price': {
|
|
154
|
-
const aMin = a.pricing[0]?.pricePerCall ?? 0n;
|
|
155
|
-
const bMin = b.pricing[0]?.pricePerCall ?? 0n;
|
|
156
|
-
return mul * Number(aMin - bMin);
|
|
157
|
-
}
|
|
158
|
-
default: return 0;
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
// Limit
|
|
163
|
-
if (matched.length > limit) {
|
|
164
|
-
matched = matched.slice(0, limit);
|
|
165
|
-
}
|
|
166
|
-
return {
|
|
167
|
-
agents: matched,
|
|
168
|
-
totalScanned,
|
|
169
|
-
totalMatching,
|
|
170
|
-
queryLatencyMs: Math.round(performance.now() - start),
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* @description Find all active agents (shortcut for `find({ activeOnly: true })`).
|
|
175
|
-
* @returns {Promise<AgentPDAAccount[]>} Active agent accounts
|
|
176
|
-
* @since 1.3.0
|
|
177
|
-
*/
|
|
178
|
-
async findActive() {
|
|
179
|
-
const result = await this.find({ activeOnly: true, limit: this.config.maxAccounts });
|
|
180
|
-
return result.agents;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* @description Find agents by capability ID.
|
|
184
|
-
* @param {string} capabilityId - Capability to search for (e.g. `"jupiter:swap"`)
|
|
185
|
-
* @returns {Promise<AgentPDAAccount[]>} Agents with the given capability
|
|
186
|
-
* @since 1.3.0
|
|
187
|
-
*/
|
|
188
|
-
async findByCapability(capabilityId) {
|
|
189
|
-
const result = await this.find({ capability: capabilityId, limit: this.config.maxAccounts });
|
|
190
|
-
return result.agents;
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* @description Find agents by protocol name.
|
|
194
|
-
* @param {string} protocol - Protocol name (e.g. `"jupiter"`, `"raydium"`)
|
|
195
|
-
* @returns {Promise<AgentPDAAccount[]>} Agents offering tools for the given protocol
|
|
196
|
-
* @since 1.3.0
|
|
197
|
-
*/
|
|
198
|
-
async findByProtocol(protocol) {
|
|
199
|
-
const result = await this.find({ protocol, limit: this.config.maxAccounts });
|
|
200
|
-
return result.agents;
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* @description Find the cheapest agent for a given capability.
|
|
204
|
-
* @param {string} capabilityId - Capability to search for
|
|
205
|
-
* @returns {Promise<AgentPDAAccount | null>} Cheapest agent or null
|
|
206
|
-
* @since 1.3.0
|
|
207
|
-
*/
|
|
208
|
-
async findCheapest(capabilityId) {
|
|
209
|
-
const result = await this.find({
|
|
210
|
-
capability: capabilityId,
|
|
211
|
-
sortBy: 'price',
|
|
212
|
-
sortDirection: 'asc',
|
|
213
|
-
limit: 1,
|
|
214
|
-
});
|
|
215
|
-
return result.agents[0] ?? null;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* @description Find the most reputable agent for a given capability.
|
|
219
|
-
* @param {string} capabilityId - Capability to search for
|
|
220
|
-
* @returns {Promise<AgentPDAAccount | null>} Most reputable agent or null
|
|
221
|
-
* @since 1.3.0
|
|
222
|
-
*/
|
|
223
|
-
async findMostReputable(capabilityId) {
|
|
224
|
-
const result = await this.find({
|
|
225
|
-
capability: capabilityId,
|
|
226
|
-
sortBy: 'reputation',
|
|
227
|
-
sortDirection: 'desc',
|
|
228
|
-
limit: 1,
|
|
229
|
-
});
|
|
230
|
-
return result.agents[0] ?? null;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* @description Compute aggregate metrics across all registered agents.
|
|
234
|
-
*
|
|
235
|
-
* @returns {Promise<SAPAggregateMetrics>} Network-wide agent statistics
|
|
236
|
-
*
|
|
237
|
-
* @example
|
|
238
|
-
* ```ts
|
|
239
|
-
* const metrics = await discovery.getAggregateMetrics();
|
|
240
|
-
* console.log(`${metrics.activeAgents} active agents`);
|
|
241
|
-
* console.log(`${metrics.totalCallsServed} total calls served`);
|
|
242
|
-
* console.log(`Protocols: ${metrics.protocols.join(', ')}`);
|
|
243
|
-
* ```
|
|
244
|
-
*
|
|
245
|
-
* @since 1.3.0
|
|
246
|
-
*/
|
|
247
|
-
async getAggregateMetrics() {
|
|
248
|
-
const agents = await this.fetchAllAccounts();
|
|
249
|
-
const protocols = new Set();
|
|
250
|
-
const capabilities = new Set();
|
|
251
|
-
let totalCalls = 0n;
|
|
252
|
-
let totalReputation = 0;
|
|
253
|
-
let totalLatency = 0;
|
|
254
|
-
let activeCount = 0;
|
|
255
|
-
for (const agent of agents) {
|
|
256
|
-
if (agent.isActive)
|
|
257
|
-
activeCount++;
|
|
258
|
-
totalCalls += agent.reputation.totalCallsServed;
|
|
259
|
-
totalReputation += agent.reputation.score;
|
|
260
|
-
totalLatency += agent.reputation.avgLatencyMs;
|
|
261
|
-
for (const cap of agent.capabilities) {
|
|
262
|
-
capabilities.add(cap.id);
|
|
263
|
-
if (cap.protocol)
|
|
264
|
-
protocols.add(cap.protocol);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
return {
|
|
268
|
-
totalAgents: agents.length,
|
|
269
|
-
activeAgents: activeCount,
|
|
270
|
-
totalCallsServed: totalCalls,
|
|
271
|
-
avgReputation: agents.length > 0 ? Math.round(totalReputation / agents.length) : 0,
|
|
272
|
-
avgLatencyMs: agents.length > 0 ? Math.round(totalLatency / agents.length) : 0,
|
|
273
|
-
protocols: [...protocols],
|
|
274
|
-
capabilities: [...capabilities],
|
|
275
|
-
};
|
|
276
|
-
}
|
|
277
|
-
/* ── Internal ── */
|
|
278
|
-
/**
|
|
279
|
-
* @description Fetch all SAP accounts from the blockchain using getProgramAccounts.
|
|
280
|
-
* @returns {Promise<AgentPDAAccount[]>} All deserialized agent accounts
|
|
281
|
-
* @internal
|
|
282
|
-
*/
|
|
283
|
-
async fetchAllAccounts() {
|
|
284
|
-
// memcmp filter: match the 8-byte discriminator at offset 0
|
|
285
|
-
const discriminatorBase64 = Buffer.from(SAP_ACCOUNT_DISCRIMINATOR).toString('base64');
|
|
286
|
-
const rpcResult = await this.transport.request('getProgramAccounts', [
|
|
287
|
-
this.config.programId,
|
|
288
|
-
{
|
|
289
|
-
encoding: 'base64',
|
|
290
|
-
commitment: this.config.commitment,
|
|
291
|
-
filters: [
|
|
292
|
-
{ memcmp: { offset: 0, bytes: discriminatorBase64, encoding: 'base64' } },
|
|
293
|
-
],
|
|
294
|
-
},
|
|
295
|
-
]);
|
|
296
|
-
if (!Array.isArray(rpcResult))
|
|
297
|
-
return [];
|
|
298
|
-
const agents = [];
|
|
299
|
-
for (const entry of rpcResult) {
|
|
300
|
-
try {
|
|
301
|
-
const bytes = Buffer.from(entry.account.data[0], 'base64');
|
|
302
|
-
agents.push(deserializeAgentAccount(entry.pubkey, bytes));
|
|
303
|
-
}
|
|
304
|
-
catch {
|
|
305
|
-
// Skip malformed accounts
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
return agents;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
//# sourceMappingURL=discovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/ai/sap/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/ai/sap/pda.d.ts
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module ai/sap/pda
|
|
3
|
-
* @description SAP — PDA derivation, account serialization & deserialization.
|
|
4
|
-
*
|
|
5
|
-
* Provides Solana Program Derived Address (PDA) computation for agent
|
|
6
|
-
* identity accounts, plus Borsh-compatible binary serialization for
|
|
7
|
-
* reading and writing on-chain agent data.
|
|
8
|
-
*
|
|
9
|
-
* PDA seeds: `["synapse_agent", <wallet_pubkey_32_bytes>]`
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* import { deriveAgentPDA, deserializeAgentAccount } from '@oobe-protocol-labs/synapse-client-sdk/ai';
|
|
14
|
-
*
|
|
15
|
-
* const { address, bump } = deriveAgentPDA(walletPubkey, programId);
|
|
16
|
-
* const account = deserializeAgentAccount(address, rawBytes);
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* @since 1.3.0
|
|
20
|
-
*/
|
|
21
|
-
import type { AgentPDAAccount } from './types';
|
|
22
|
-
/**
|
|
23
|
-
* @description Decode a base58-encoded string to raw bytes.
|
|
24
|
-
* @param {string} str - Base58-encoded string
|
|
25
|
-
* @returns {Uint8Array} Decoded bytes
|
|
26
|
-
* @since 1.3.0
|
|
27
|
-
*/
|
|
28
|
-
export declare function base58Decode(str: string): Uint8Array;
|
|
29
|
-
/**
|
|
30
|
-
* @description Encode raw bytes to a base58 string.
|
|
31
|
-
* @param {Uint8Array} bytes - Raw bytes
|
|
32
|
-
* @returns {string} Base58-encoded string
|
|
33
|
-
* @since 1.3.0
|
|
34
|
-
*/
|
|
35
|
-
export declare function base58Encode(bytes: Uint8Array): string;
|
|
36
|
-
/**
|
|
37
|
-
* @description Check whether a 32-byte hash lies on the ed25519 curve.
|
|
38
|
-
* Uses Node.js `crypto.createPublicKey` to attempt point decompression.
|
|
39
|
-
*
|
|
40
|
-
* @param {Uint8Array} point - 32-byte candidate
|
|
41
|
-
* @returns {boolean} `true` if the point is a valid ed25519 public key (on curve)
|
|
42
|
-
* @since 1.3.0
|
|
43
|
-
*/
|
|
44
|
-
export declare function isOnCurve(point: Uint8Array): boolean;
|
|
45
|
-
/**
|
|
46
|
-
* @description Result of a PDA derivation.
|
|
47
|
-
* @since 1.3.0
|
|
48
|
-
*/
|
|
49
|
-
export interface DerivedPDA {
|
|
50
|
-
/** PDA address (base58). */
|
|
51
|
-
address: string;
|
|
52
|
-
/** Bump seed used (255 → 0). */
|
|
53
|
-
bump: number;
|
|
54
|
-
/** Raw 32-byte PDA address. */
|
|
55
|
-
bytes: Uint8Array;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @description Derive the agent PDA address for a given wallet public key.
|
|
59
|
-
*
|
|
60
|
-
* Algorithm (Solana `findProgramAddress`):
|
|
61
|
-
* 1. For bump = 255 → 0:
|
|
62
|
-
* - candidate = SHA-256(seed_prefix + wallet_bytes + [bump] + program_id + "ProgramDerivedAddress")
|
|
63
|
-
* - If candidate is NOT on the ed25519 curve → return (candidate, bump)
|
|
64
|
-
*
|
|
65
|
-
* @param {string} walletPubkey - Agent's wallet pubkey (base58)
|
|
66
|
-
* @param {string} programId - SAP program ID (base58)
|
|
67
|
-
* @returns {DerivedPDA} The derived PDA address and bump seed
|
|
68
|
-
* @throws {Error} If no valid PDA can be found (theoretically impossible)
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```ts
|
|
72
|
-
* const pda = deriveAgentPDA('7xKX...wallet', 'SAPAgnt1...');
|
|
73
|
-
* console.log(pda.address); // base58 PDA address
|
|
74
|
-
* console.log(pda.bump); // 254
|
|
75
|
-
* ```
|
|
76
|
-
*
|
|
77
|
-
* @since 1.3.0
|
|
78
|
-
*/
|
|
79
|
-
export declare function deriveAgentPDA(walletPubkey: string, programId: string): DerivedPDA;
|
|
80
|
-
/**
|
|
81
|
-
* @description Minimal Borsh-compatible binary reader for deserializing
|
|
82
|
-
* agent PDA account data from the Solana blockchain.
|
|
83
|
-
* @since 1.3.0
|
|
84
|
-
*/
|
|
85
|
-
export declare class BorshReader {
|
|
86
|
-
private readonly data;
|
|
87
|
-
private offset;
|
|
88
|
-
/**
|
|
89
|
-
* @param {Buffer | Uint8Array} data - Raw account data bytes
|
|
90
|
-
*/
|
|
91
|
-
constructor(data: Buffer | Uint8Array);
|
|
92
|
-
/** Current read position. */
|
|
93
|
-
get position(): number;
|
|
94
|
-
/** Remaining unread bytes. */
|
|
95
|
-
get remaining(): number;
|
|
96
|
-
/**
|
|
97
|
-
* @description Read a single unsigned byte.
|
|
98
|
-
* @returns {number} u8 value
|
|
99
|
-
*/
|
|
100
|
-
readU8(): number;
|
|
101
|
-
/**
|
|
102
|
-
* @description Read a 32-bit unsigned integer (little-endian).
|
|
103
|
-
* @returns {number} u32 value
|
|
104
|
-
*/
|
|
105
|
-
readU32(): number;
|
|
106
|
-
/**
|
|
107
|
-
* @description Read a 64-bit signed integer (little-endian) as bigint.
|
|
108
|
-
* @returns {bigint} i64 value
|
|
109
|
-
*/
|
|
110
|
-
readI64(): bigint;
|
|
111
|
-
/**
|
|
112
|
-
* @description Read a 64-bit unsigned integer (little-endian) as bigint.
|
|
113
|
-
* @returns {bigint} u64 value
|
|
114
|
-
*/
|
|
115
|
-
readU64(): bigint;
|
|
116
|
-
/**
|
|
117
|
-
* @description Read a fixed-length byte array.
|
|
118
|
-
* @param {number} len - Number of bytes to read
|
|
119
|
-
* @returns {Uint8Array} Raw bytes
|
|
120
|
-
*/
|
|
121
|
-
readBytes(len: number): Uint8Array;
|
|
122
|
-
/**
|
|
123
|
-
* @description Read a Borsh-encoded string (u32 length prefix + UTF-8 bytes).
|
|
124
|
-
* @returns {string} Decoded string
|
|
125
|
-
*/
|
|
126
|
-
readString(): string;
|
|
127
|
-
/**
|
|
128
|
-
* @description Read an optional value (1 byte flag + value if present).
|
|
129
|
-
* @param {() => T} readFn - Reader function for the inner value
|
|
130
|
-
* @returns {T | undefined}
|
|
131
|
-
*/
|
|
132
|
-
readOption<T>(readFn: () => T): T | undefined;
|
|
133
|
-
/**
|
|
134
|
-
* @description Read a Borsh-encoded Vec (u32 length prefix + elements).
|
|
135
|
-
* @param {() => T} readFn - Reader function for each element
|
|
136
|
-
* @returns {T[]} Array of decoded elements
|
|
137
|
-
*/
|
|
138
|
-
readVec<T>(readFn: () => T): T[];
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* @description Minimal Borsh-compatible binary writer for serializing
|
|
142
|
-
* instruction data to send to the SAP program.
|
|
143
|
-
* @since 1.3.0
|
|
144
|
-
*/
|
|
145
|
-
export declare class BorshWriter {
|
|
146
|
-
private buf;
|
|
147
|
-
/** Get the serialized bytes. */
|
|
148
|
-
toBytes(): Uint8Array;
|
|
149
|
-
/** @description Write a single unsigned byte. */
|
|
150
|
-
writeU8(val: number): this;
|
|
151
|
-
/** @description Write a 32-bit unsigned integer (little-endian). */
|
|
152
|
-
writeU32(val: number): this;
|
|
153
|
-
/** @description Write a 64-bit signed integer (little-endian) as bigint. */
|
|
154
|
-
writeI64(val: bigint): this;
|
|
155
|
-
/** @description Write a 64-bit unsigned integer (little-endian) as bigint. */
|
|
156
|
-
writeU64(val: bigint): this;
|
|
157
|
-
/** @description Write raw bytes. */
|
|
158
|
-
writeBytes(bytes: Uint8Array): this;
|
|
159
|
-
/** @description Write a Borsh-encoded string (u32 length + UTF-8 bytes). */
|
|
160
|
-
writeString(str: string): this;
|
|
161
|
-
/** @description Write an optional value (1-byte flag + value). */
|
|
162
|
-
writeOption<T>(val: T | undefined, writeFn: (v: T) => void): this;
|
|
163
|
-
/** @description Write a Borsh-encoded Vec (u32 length + elements). */
|
|
164
|
-
writeVec<T>(items: T[], writeFn: (v: T) => void): this;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* @description Deserialize raw account bytes into an {@link AgentPDAAccount}.
|
|
168
|
-
*
|
|
169
|
-
* @param {string} address - PDA address (base58)
|
|
170
|
-
* @param {Buffer | Uint8Array} data - Raw account data from `getAccountInfo`
|
|
171
|
-
* @returns {AgentPDAAccount} Fully deserialized agent account
|
|
172
|
-
* @throws {Error} If discriminator doesn't match or data is malformed
|
|
173
|
-
*
|
|
174
|
-
* @example
|
|
175
|
-
* ```ts
|
|
176
|
-
* const raw = await transport.request('getAccountInfo', [pdaAddress, { encoding: 'base64' }]);
|
|
177
|
-
* const decoded = Buffer.from(raw.value.data[0], 'base64');
|
|
178
|
-
* const agent = deserializeAgentAccount(pdaAddress, decoded);
|
|
179
|
-
* ```
|
|
180
|
-
*
|
|
181
|
-
* @since 1.3.0
|
|
182
|
-
*/
|
|
183
|
-
export declare function deserializeAgentAccount(address: string, data: Buffer | Uint8Array): AgentPDAAccount;
|
|
184
|
-
/**
|
|
185
|
-
* @description Serialize agent data into instruction data for the `register` instruction.
|
|
186
|
-
* Does NOT include the instruction discriminator — that is prepended by
|
|
187
|
-
* {@link SAPInstructionBuilder}.
|
|
188
|
-
*
|
|
189
|
-
* @param {RegisterAgentParams} params - Registration parameters
|
|
190
|
-
* @returns {Uint8Array} Borsh-serialized instruction data (without discriminator)
|
|
191
|
-
*
|
|
192
|
-
* @since 1.3.0
|
|
193
|
-
*/
|
|
194
|
-
export declare function serializeRegisterData(params: import('./types').RegisterAgentParams): Uint8Array;
|
|
195
|
-
/**
|
|
196
|
-
* @description Serialize update data for the `update` instruction.
|
|
197
|
-
* Uses Option encoding for each field — `None` means "don't change".
|
|
198
|
-
*
|
|
199
|
-
* @param {UpdateAgentParams} params - Fields to update
|
|
200
|
-
* @returns {Uint8Array} Borsh-serialized instruction data (without discriminator)
|
|
201
|
-
*
|
|
202
|
-
* @since 1.4.0
|
|
203
|
-
*/
|
|
204
|
-
export declare function serializeUpdateData(params: import('./types').UpdateAgentParams): Uint8Array;
|
|
205
|
-
//# sourceMappingURL=pda.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../../../../src/ai/sap/pda.ts"],"names":[],"mappings":"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"}
|