@oobe-protocol-labs/synapse-client-sdk 1.2.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +176 -0
- package/README.md +230 -17
- package/dist/cjs/ai/actions/blinks.d.ts +158 -0
- package/dist/cjs/ai/actions/blinks.d.ts.map +1 -0
- package/dist/cjs/ai/actions/blinks.js +232 -0
- package/dist/cjs/ai/actions/blinks.js.map +1 -0
- package/dist/cjs/ai/actions/index.d.ts +51 -0
- package/dist/cjs/ai/actions/index.d.ts.map +1 -0
- package/dist/cjs/ai/actions/index.js +61 -0
- package/dist/cjs/ai/actions/index.js.map +1 -0
- package/dist/cjs/ai/actions/server.d.ts +188 -0
- package/dist/cjs/ai/actions/server.d.ts.map +1 -0
- package/dist/cjs/ai/actions/server.js +404 -0
- package/dist/cjs/ai/actions/server.js.map +1 -0
- package/dist/cjs/ai/actions/types.d.ts +251 -0
- package/dist/cjs/ai/actions/types.d.ts.map +1 -0
- package/dist/cjs/ai/actions/types.js +16 -0
- package/dist/cjs/ai/actions/types.js.map +1 -0
- package/dist/cjs/ai/gateway/index.d.ts +1 -0
- package/dist/cjs/ai/gateway/index.d.ts.map +1 -1
- package/dist/cjs/ai/gateway/index.js +6 -1
- package/dist/cjs/ai/gateway/index.js.map +1 -1
- package/dist/cjs/ai/gateway/monetize.d.ts +222 -0
- package/dist/cjs/ai/gateway/monetize.d.ts.map +1 -0
- package/dist/cjs/ai/gateway/monetize.js +316 -0
- package/dist/cjs/ai/gateway/monetize.js.map +1 -0
- package/dist/cjs/ai/index.d.ts +7 -2
- package/dist/cjs/ai/index.d.ts.map +1 -1
- package/dist/cjs/ai/index.js +78 -2
- package/dist/cjs/ai/index.js.map +1 -1
- package/dist/cjs/ai/intents/executor.d.ts +102 -0
- package/dist/cjs/ai/intents/executor.d.ts.map +1 -0
- package/dist/cjs/ai/intents/executor.js +335 -0
- package/dist/cjs/ai/intents/executor.js.map +1 -0
- package/dist/cjs/ai/intents/index.d.ts +52 -0
- package/dist/cjs/ai/intents/index.d.ts.map +1 -0
- package/dist/cjs/ai/intents/index.js +60 -0
- package/dist/cjs/ai/intents/index.js.map +1 -0
- package/dist/cjs/ai/intents/parser.d.ts +106 -0
- package/dist/cjs/ai/intents/parser.d.ts.map +1 -0
- package/dist/cjs/ai/intents/parser.js +189 -0
- package/dist/cjs/ai/intents/parser.js.map +1 -0
- package/dist/cjs/ai/intents/planner.d.ts +96 -0
- package/dist/cjs/ai/intents/planner.d.ts.map +1 -0
- package/dist/cjs/ai/intents/planner.js +270 -0
- package/dist/cjs/ai/intents/planner.js.map +1 -0
- package/dist/cjs/ai/intents/types.d.ts +281 -0
- package/dist/cjs/ai/intents/types.d.ts.map +1 -0
- package/dist/cjs/ai/intents/types.js +70 -0
- package/dist/cjs/ai/intents/types.js.map +1 -0
- package/dist/cjs/ai/mcp/client.d.ts +71 -0
- package/dist/cjs/ai/mcp/client.d.ts.map +1 -0
- package/dist/cjs/ai/mcp/client.js +675 -0
- package/dist/cjs/ai/mcp/client.js.map +1 -0
- package/dist/cjs/ai/mcp/index.d.ts +16 -0
- package/dist/cjs/ai/mcp/index.d.ts.map +1 -0
- package/dist/cjs/ai/mcp/index.js +27 -0
- package/dist/cjs/ai/mcp/index.js.map +1 -0
- package/dist/cjs/ai/mcp/server.d.ts +115 -0
- package/dist/cjs/ai/mcp/server.d.ts.map +1 -0
- package/dist/cjs/ai/mcp/server.js +624 -0
- package/dist/cjs/ai/mcp/server.js.map +1 -0
- package/dist/cjs/ai/mcp/types.d.ts +215 -0
- package/dist/cjs/ai/mcp/types.d.ts.map +1 -0
- package/dist/cjs/ai/mcp/types.js +17 -0
- package/dist/cjs/ai/mcp/types.js.map +1 -0
- package/dist/cjs/ai/plugins/blinks/index.d.ts +22 -0
- package/dist/cjs/ai/plugins/blinks/index.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/blinks/index.js +202 -0
- package/dist/cjs/ai/plugins/blinks/index.js.map +1 -0
- package/dist/cjs/ai/plugins/blinks/schemas.d.ts +4 -0
- package/dist/cjs/ai/plugins/blinks/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/blinks/schemas.js +103 -0
- package/dist/cjs/ai/plugins/blinks/schemas.js.map +1 -0
- package/dist/cjs/ai/plugins/defi/index.d.ts +44 -0
- package/dist/cjs/ai/plugins/defi/index.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/defi/index.js +490 -0
- package/dist/cjs/ai/plugins/defi/index.js.map +1 -0
- package/dist/cjs/ai/plugins/defi/schemas.d.ts +13 -0
- package/dist/cjs/ai/plugins/defi/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/defi/schemas.js +573 -0
- package/dist/cjs/ai/plugins/defi/schemas.js.map +1 -0
- package/dist/cjs/ai/plugins/index.d.ts +30 -0
- package/dist/cjs/ai/plugins/index.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/index.js +40 -0
- package/dist/cjs/ai/plugins/index.js.map +1 -0
- package/dist/cjs/ai/plugins/misc/index.d.ts +28 -0
- package/dist/cjs/ai/plugins/misc/index.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/misc/index.js +445 -0
- package/dist/cjs/ai/plugins/misc/index.js.map +1 -0
- package/dist/cjs/ai/plugins/misc/schemas.d.ts +9 -0
- package/dist/cjs/ai/plugins/misc/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/misc/schemas.js +318 -0
- package/dist/cjs/ai/plugins/misc/schemas.js.map +1 -0
- package/dist/cjs/ai/plugins/nft/index.d.ts +24 -0
- package/dist/cjs/ai/plugins/nft/index.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/nft/index.js +70 -0
- package/dist/cjs/ai/plugins/nft/index.js.map +1 -0
- package/dist/cjs/ai/plugins/nft/schemas.d.ts +6 -0
- package/dist/cjs/ai/plugins/nft/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/nft/schemas.js +272 -0
- package/dist/cjs/ai/plugins/nft/schemas.js.map +1 -0
- package/dist/cjs/ai/plugins/registry.d.ts +157 -0
- package/dist/cjs/ai/plugins/registry.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/registry.js +369 -0
- package/dist/cjs/ai/plugins/registry.js.map +1 -0
- package/dist/cjs/ai/plugins/token/index.d.ts +35 -0
- package/dist/cjs/ai/plugins/token/index.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/token/index.js +187 -0
- package/dist/cjs/ai/plugins/token/index.js.map +1 -0
- package/dist/cjs/ai/plugins/token/schemas.d.ts +5 -0
- package/dist/cjs/ai/plugins/token/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/token/schemas.js +268 -0
- package/dist/cjs/ai/plugins/token/schemas.js.map +1 -0
- package/dist/cjs/ai/plugins/types.d.ts +176 -0
- package/dist/cjs/ai/plugins/types.d.ts.map +1 -0
- package/dist/cjs/ai/plugins/types.js +3 -0
- package/dist/cjs/ai/plugins/types.js.map +1 -0
- package/dist/cjs/ai/sap/adapter.d.ts +140 -0
- package/dist/cjs/ai/sap/adapter.d.ts.map +1 -0
- package/dist/cjs/ai/sap/adapter.js +181 -0
- package/dist/cjs/ai/sap/adapter.js.map +1 -0
- package/dist/cjs/ai/sap/discovery.d.ts +165 -0
- package/dist/cjs/ai/sap/discovery.d.ts.map +1 -0
- package/dist/cjs/ai/sap/discovery.js +316 -0
- package/dist/cjs/ai/sap/discovery.js.map +1 -0
- package/dist/cjs/ai/sap/index.d.ts +61 -0
- package/dist/cjs/ai/sap/index.d.ts.map +1 -0
- package/dist/cjs/ai/sap/index.js +89 -0
- package/dist/cjs/ai/sap/index.js.map +1 -0
- package/dist/cjs/ai/sap/pda.d.ts +205 -0
- package/dist/cjs/ai/sap/pda.d.ts.map +1 -0
- package/dist/cjs/ai/sap/pda.js +547 -0
- package/dist/cjs/ai/sap/pda.js.map +1 -0
- package/dist/cjs/ai/sap/program.d.ts +153 -0
- package/dist/cjs/ai/sap/program.d.ts.map +1 -0
- package/dist/cjs/ai/sap/program.js +227 -0
- package/dist/cjs/ai/sap/program.js.map +1 -0
- package/dist/cjs/ai/sap/registry.d.ts +218 -0
- package/dist/cjs/ai/sap/registry.d.ts.map +1 -0
- package/dist/cjs/ai/sap/registry.js +519 -0
- package/dist/cjs/ai/sap/registry.js.map +1 -0
- package/dist/cjs/ai/sap/scoring.d.ts +138 -0
- package/dist/cjs/ai/sap/scoring.d.ts.map +1 -0
- package/dist/cjs/ai/sap/scoring.js +266 -0
- package/dist/cjs/ai/sap/scoring.js.map +1 -0
- package/dist/cjs/ai/sap/subnetwork.d.ts +201 -0
- package/dist/cjs/ai/sap/subnetwork.d.ts.map +1 -0
- package/dist/cjs/ai/sap/subnetwork.js +365 -0
- package/dist/cjs/ai/sap/subnetwork.js.map +1 -0
- package/dist/cjs/ai/sap/types.d.ts +418 -0
- package/dist/cjs/ai/sap/types.d.ts.map +1 -0
- package/dist/cjs/ai/sap/types.js +217 -0
- package/dist/cjs/ai/sap/types.js.map +1 -0
- package/dist/cjs/ai/sap/validator.d.ts +160 -0
- package/dist/cjs/ai/sap/validator.d.ts.map +1 -0
- package/dist/cjs/ai/sap/validator.js +619 -0
- package/dist/cjs/ai/sap/validator.js.map +1 -0
- package/dist/docs/assets/highlight.css +13 -6
- 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 +16 -16
- 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 +2 -2
- package/dist/docs/functions/fetchMint.html +2 -2
- package/dist/docs/functions/fetchNonceAccount.html +2 -2
- package/dist/docs/functions/fetchStakeAccount.html +2 -2
- package/dist/docs/functions/fetchTokenAccount.html +2 -2
- package/dist/docs/functions/fetchTokenAccountsByOwner.html +2 -2
- package/dist/docs/functions/fromKitAddress.html +1 -1
- package/dist/docs/functions/getAccountInfo.html +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/docs/functions/getClusterNodes.html +2 -2
- package/dist/docs/functions/getContext.html +1 -1
- package/dist/docs/functions/getDecodedAccount.html +2 -2
- package/dist/docs/functions/getDecodedAccounts.html +1 -1
- package/dist/docs/functions/getEnvironment.html +1 -1
- package/dist/docs/functions/getEpochInfo.html +2 -2
- package/dist/docs/functions/getEpochSchedule.html +2 -2
- 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 +2 -2
- package/dist/docs/functions/getInflationRate.html +2 -2
- package/dist/docs/functions/getInflationReward.html +2 -2
- package/dist/docs/functions/getLargestAccounts.html +2 -2
- package/dist/docs/functions/getLatestBlockhash.html +2 -2
- 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/sendAndConfirmDurableNonceTransactionFactory.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 +174 -8
- 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 +9 -9
- package/dist/docs/interfaces/DecodedMint.html +7 -7
- package/dist/docs/interfaces/DecodedMultisig.html +6 -6
- package/dist/docs/interfaces/DecodedNonceAccount.html +7 -7
- 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 +10 -10
- 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/10_PLUGINS.md +454 -0
- package/dist/docs/media/11_MCP.md +459 -0
- package/dist/docs/media/CHANGELOG.md +176 -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/actions/blinks.d.ts +158 -0
- package/dist/esm/ai/actions/blinks.d.ts.map +1 -0
- package/dist/esm/ai/actions/blinks.js +227 -0
- package/dist/esm/ai/actions/blinks.js.map +1 -0
- package/dist/esm/ai/actions/index.d.ts +51 -0
- package/dist/esm/ai/actions/index.d.ts.map +1 -0
- package/dist/esm/ai/actions/index.js +52 -0
- package/dist/esm/ai/actions/index.js.map +1 -0
- package/dist/esm/ai/actions/server.d.ts +188 -0
- package/dist/esm/ai/actions/server.d.ts.map +1 -0
- package/dist/esm/ai/actions/server.js +399 -0
- package/dist/esm/ai/actions/server.js.map +1 -0
- package/dist/esm/ai/actions/types.d.ts +251 -0
- package/dist/esm/ai/actions/types.d.ts.map +1 -0
- package/dist/esm/ai/actions/types.js +15 -0
- package/dist/esm/ai/actions/types.js.map +1 -0
- package/dist/esm/ai/gateway/index.d.ts +1 -0
- package/dist/esm/ai/gateway/index.d.ts.map +1 -1
- package/dist/esm/ai/gateway/index.js +2 -0
- package/dist/esm/ai/gateway/index.js.map +1 -1
- package/dist/esm/ai/gateway/monetize.d.ts +222 -0
- package/dist/esm/ai/gateway/monetize.d.ts.map +1 -0
- package/dist/esm/ai/gateway/monetize.js +277 -0
- package/dist/esm/ai/gateway/monetize.js.map +1 -0
- package/dist/esm/ai/index.d.ts +7 -2
- package/dist/esm/ai/index.d.ts.map +1 -1
- package/dist/esm/ai/index.js +41 -1
- package/dist/esm/ai/index.js.map +1 -1
- package/dist/esm/ai/intents/executor.d.ts +102 -0
- package/dist/esm/ai/intents/executor.d.ts.map +1 -0
- package/dist/esm/ai/intents/executor.js +331 -0
- package/dist/esm/ai/intents/executor.js.map +1 -0
- package/dist/esm/ai/intents/index.d.ts +52 -0
- package/dist/esm/ai/intents/index.d.ts.map +1 -0
- package/dist/esm/ai/intents/index.js +50 -0
- package/dist/esm/ai/intents/index.js.map +1 -0
- package/dist/esm/ai/intents/parser.d.ts +106 -0
- package/dist/esm/ai/intents/parser.d.ts.map +1 -0
- package/dist/esm/ai/intents/parser.js +185 -0
- package/dist/esm/ai/intents/parser.js.map +1 -0
- package/dist/esm/ai/intents/planner.d.ts +96 -0
- package/dist/esm/ai/intents/planner.d.ts.map +1 -0
- package/dist/esm/ai/intents/planner.js +266 -0
- package/dist/esm/ai/intents/planner.js.map +1 -0
- package/dist/esm/ai/intents/types.d.ts +281 -0
- package/dist/esm/ai/intents/types.d.ts.map +1 -0
- package/dist/esm/ai/intents/types.js +63 -0
- package/dist/esm/ai/intents/types.js.map +1 -0
- package/dist/esm/ai/mcp/client.d.ts +71 -0
- package/dist/esm/ai/mcp/client.d.ts.map +1 -0
- package/dist/esm/ai/mcp/client.js +638 -0
- package/dist/esm/ai/mcp/client.js.map +1 -0
- package/dist/esm/ai/mcp/index.d.ts +16 -0
- package/dist/esm/ai/mcp/index.d.ts.map +1 -0
- package/dist/esm/ai/mcp/index.js +19 -0
- package/dist/esm/ai/mcp/index.js.map +1 -0
- package/dist/esm/ai/mcp/server.d.ts +115 -0
- package/dist/esm/ai/mcp/server.d.ts.map +1 -0
- package/dist/esm/ai/mcp/server.js +586 -0
- package/dist/esm/ai/mcp/server.js.map +1 -0
- package/dist/esm/ai/mcp/types.d.ts +215 -0
- package/dist/esm/ai/mcp/types.d.ts.map +1 -0
- package/dist/esm/ai/mcp/types.js +14 -0
- package/dist/esm/ai/mcp/types.js.map +1 -0
- package/dist/esm/ai/plugins/blinks/index.d.ts +22 -0
- package/dist/esm/ai/plugins/blinks/index.d.ts.map +1 -0
- package/dist/esm/ai/plugins/blinks/index.js +197 -0
- package/dist/esm/ai/plugins/blinks/index.js.map +1 -0
- package/dist/esm/ai/plugins/blinks/schemas.d.ts +4 -0
- package/dist/esm/ai/plugins/blinks/schemas.d.ts.map +1 -0
- package/dist/esm/ai/plugins/blinks/schemas.js +103 -0
- package/dist/esm/ai/plugins/blinks/schemas.js.map +1 -0
- package/dist/esm/ai/plugins/defi/index.d.ts +44 -0
- package/dist/esm/ai/plugins/defi/index.d.ts.map +1 -0
- package/dist/esm/ai/plugins/defi/index.js +476 -0
- package/dist/esm/ai/plugins/defi/index.js.map +1 -0
- package/dist/esm/ai/plugins/defi/schemas.d.ts +13 -0
- package/dist/esm/ai/plugins/defi/schemas.d.ts.map +1 -0
- package/dist/esm/ai/plugins/defi/schemas.js +564 -0
- package/dist/esm/ai/plugins/defi/schemas.js.map +1 -0
- package/dist/esm/ai/plugins/index.d.ts +30 -0
- package/dist/esm/ai/plugins/index.d.ts.map +1 -0
- package/dist/esm/ai/plugins/index.js +31 -0
- package/dist/esm/ai/plugins/index.js.map +1 -0
- package/dist/esm/ai/plugins/misc/index.d.ts +28 -0
- package/dist/esm/ai/plugins/misc/index.d.ts.map +1 -0
- package/dist/esm/ai/plugins/misc/index.js +435 -0
- package/dist/esm/ai/plugins/misc/index.js.map +1 -0
- package/dist/esm/ai/plugins/misc/schemas.d.ts +9 -0
- package/dist/esm/ai/plugins/misc/schemas.d.ts.map +1 -0
- package/dist/esm/ai/plugins/misc/schemas.js +313 -0
- package/dist/esm/ai/plugins/misc/schemas.js.map +1 -0
- package/dist/esm/ai/plugins/nft/index.d.ts +24 -0
- package/dist/esm/ai/plugins/nft/index.d.ts.map +1 -0
- package/dist/esm/ai/plugins/nft/index.js +63 -0
- package/dist/esm/ai/plugins/nft/index.js.map +1 -0
- package/dist/esm/ai/plugins/nft/schemas.d.ts +6 -0
- package/dist/esm/ai/plugins/nft/schemas.d.ts.map +1 -0
- package/dist/esm/ai/plugins/nft/schemas.js +270 -0
- package/dist/esm/ai/plugins/nft/schemas.js.map +1 -0
- package/dist/esm/ai/plugins/registry.d.ts +157 -0
- package/dist/esm/ai/plugins/registry.d.ts.map +1 -0
- package/dist/esm/ai/plugins/registry.js +365 -0
- package/dist/esm/ai/plugins/registry.js.map +1 -0
- package/dist/esm/ai/plugins/token/index.d.ts +35 -0
- package/dist/esm/ai/plugins/token/index.d.ts.map +1 -0
- package/dist/esm/ai/plugins/token/index.js +180 -0
- package/dist/esm/ai/plugins/token/index.js.map +1 -0
- package/dist/esm/ai/plugins/token/schemas.d.ts +5 -0
- package/dist/esm/ai/plugins/token/schemas.d.ts.map +1 -0
- package/dist/esm/ai/plugins/token/schemas.js +265 -0
- package/dist/esm/ai/plugins/token/schemas.js.map +1 -0
- package/dist/esm/ai/plugins/types.d.ts +176 -0
- package/dist/esm/ai/plugins/types.d.ts.map +1 -0
- package/dist/esm/ai/plugins/types.js +2 -0
- package/dist/esm/ai/plugins/types.js.map +1 -0
- package/dist/esm/ai/sap/adapter.d.ts +140 -0
- package/dist/esm/ai/sap/adapter.d.ts.map +1 -0
- package/dist/esm/ai/sap/adapter.js +177 -0
- package/dist/esm/ai/sap/adapter.js.map +1 -0
- package/dist/esm/ai/sap/discovery.d.ts +165 -0
- package/dist/esm/ai/sap/discovery.d.ts.map +1 -0
- package/dist/esm/ai/sap/discovery.js +311 -0
- package/dist/esm/ai/sap/discovery.js.map +1 -0
- package/dist/esm/ai/sap/index.d.ts +61 -0
- package/dist/esm/ai/sap/index.d.ts.map +1 -0
- package/dist/esm/ai/sap/index.js +58 -0
- package/dist/esm/ai/sap/index.js.map +1 -0
- package/dist/esm/ai/sap/pda.d.ts +205 -0
- package/dist/esm/ai/sap/pda.d.ts.map +1 -0
- package/dist/esm/ai/sap/pda.js +535 -0
- package/dist/esm/ai/sap/pda.js.map +1 -0
- package/dist/esm/ai/sap/program.d.ts +153 -0
- package/dist/esm/ai/sap/program.d.ts.map +1 -0
- package/dist/esm/ai/sap/program.js +222 -0
- package/dist/esm/ai/sap/program.js.map +1 -0
- package/dist/esm/ai/sap/registry.d.ts +218 -0
- package/dist/esm/ai/sap/registry.d.ts.map +1 -0
- package/dist/esm/ai/sap/registry.js +515 -0
- package/dist/esm/ai/sap/registry.js.map +1 -0
- package/dist/esm/ai/sap/scoring.d.ts +138 -0
- package/dist/esm/ai/sap/scoring.d.ts.map +1 -0
- package/dist/esm/ai/sap/scoring.js +262 -0
- package/dist/esm/ai/sap/scoring.js.map +1 -0
- package/dist/esm/ai/sap/subnetwork.d.ts +201 -0
- package/dist/esm/ai/sap/subnetwork.d.ts.map +1 -0
- package/dist/esm/ai/sap/subnetwork.js +361 -0
- package/dist/esm/ai/sap/subnetwork.js.map +1 -0
- package/dist/esm/ai/sap/types.d.ts +418 -0
- package/dist/esm/ai/sap/types.d.ts.map +1 -0
- package/dist/esm/ai/sap/types.js +210 -0
- package/dist/esm/ai/sap/types.js.map +1 -0
- package/dist/esm/ai/sap/validator.d.ts +160 -0
- package/dist/esm/ai/sap/validator.d.ts.map +1 -0
- package/dist/esm/ai/sap/validator.js +614 -0
- package/dist/esm/ai/sap/validator.js.map +1 -0
- package/package.json +67 -2
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ai/sap/types
|
|
3
|
+
* @description Solana Agent Protocol (SAP) — Core type definitions.
|
|
4
|
+
*
|
|
5
|
+
* Defines the on-chain account layout for agent identity, capability
|
|
6
|
+
* registration, pricing, and reputation stored as Solana PDAs.
|
|
7
|
+
*
|
|
8
|
+
* Account layout (Borsh-compatible):
|
|
9
|
+
* ```
|
|
10
|
+
* [0..8] u8[8] Anchor discriminator
|
|
11
|
+
* [8] u8 version (1)
|
|
12
|
+
* [9] u8 is_active (0 | 1)
|
|
13
|
+
* [10..42] u8[32] wallet pubkey (raw bytes)
|
|
14
|
+
* [42..50] i64 created_at (unix ms)
|
|
15
|
+
* [50..58] i64 updated_at (unix ms)
|
|
16
|
+
* [58..66] u64 total_calls_served
|
|
17
|
+
* [66..70] u32 avg_latency_ms
|
|
18
|
+
* [70] u8 uptime_percent (0-100)
|
|
19
|
+
* [71..] Borsh name (string), description (string),
|
|
20
|
+
* capabilities (Vec<string>),
|
|
21
|
+
* pricing tiers (Vec<AgentPricingOnChain>),
|
|
22
|
+
* x402_endpoint (Option<string>)
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @since 1.3.0
|
|
26
|
+
*/
|
|
27
|
+
import type { AgentIdentity, PricingTier } from '../gateway/types';
|
|
28
|
+
/**
|
|
29
|
+
* @description Default SAP program ID. Replace with your own deployed program.
|
|
30
|
+
* This is a placeholder — deploy the SAP Anchor program and set your ID.
|
|
31
|
+
* @since 1.3.0
|
|
32
|
+
*/
|
|
33
|
+
export declare const SAP_DEFAULT_PROGRAM_ID = "SAPAgnt1111111111111111111111111111111111111";
|
|
34
|
+
/**
|
|
35
|
+
* @description PDA seed prefix used for all agent PDAs.
|
|
36
|
+
* Seeds: `["synapse_agent", wallet_pubkey_bytes]`
|
|
37
|
+
* @since 1.3.0
|
|
38
|
+
*/
|
|
39
|
+
export declare const SAP_SEED_PREFIX = "synapse_agent";
|
|
40
|
+
/**
|
|
41
|
+
* @description Anchor discriminator for the AgentAccount type.
|
|
42
|
+
* Computed as: `sha256("account:AgentAccount")[0..8]`
|
|
43
|
+
* @since 1.3.0
|
|
44
|
+
*/
|
|
45
|
+
export declare const SAP_ACCOUNT_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
46
|
+
/**
|
|
47
|
+
* @description Instruction discriminators for SAP program methods.
|
|
48
|
+
* Computed as: `sha256("global:<method_name>")[0..8]`
|
|
49
|
+
* @since 1.3.0
|
|
50
|
+
*/
|
|
51
|
+
export declare const SAP_INSTRUCTION_DISCRIMINATORS: {
|
|
52
|
+
readonly register: Uint8Array<ArrayBuffer>;
|
|
53
|
+
readonly update: Uint8Array<ArrayBuffer>;
|
|
54
|
+
readonly deactivate: Uint8Array<ArrayBuffer>;
|
|
55
|
+
readonly updateReputation: Uint8Array<ArrayBuffer>;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* @description Configuration for the SAP module.
|
|
59
|
+
* @since 1.3.0
|
|
60
|
+
*/
|
|
61
|
+
export interface SAPConfig {
|
|
62
|
+
/** SAP program ID (base58-encoded). */
|
|
63
|
+
programId: string;
|
|
64
|
+
/** Solana RPC commitment level. @default 'confirmed' */
|
|
65
|
+
commitment?: 'processed' | 'confirmed' | 'finalized';
|
|
66
|
+
/** Maximum accounts to fetch in a single `getProgramAccounts`. @default 100 */
|
|
67
|
+
maxAccounts?: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @description A single capability advertised by an on-chain agent.
|
|
71
|
+
* @since 1.3.0
|
|
72
|
+
*/
|
|
73
|
+
export interface AgentCapability {
|
|
74
|
+
/** Capability identifier (e.g. `"jupiter:swap"`, `"raydium:pool_create"`). */
|
|
75
|
+
id: string;
|
|
76
|
+
/** Human-readable description. */
|
|
77
|
+
description?: string;
|
|
78
|
+
/** Protocol this capability belongs to. */
|
|
79
|
+
protocol?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @description On-chain micropayment pricing for an agent's services.
|
|
83
|
+
*
|
|
84
|
+
* Inspired by ERC-8004 metered-billing concepts, adapted natively for Solana:
|
|
85
|
+
* - **Pay-per-call**: every invocation has a deterministic cost
|
|
86
|
+
* - **Volume curves**: price drops automatically at higher usage tiers
|
|
87
|
+
* - **Escrow-ready**: compatible with prepaid escrow PDA balances
|
|
88
|
+
* - **Multi-token**: SOL, USDC, or any SPL token
|
|
89
|
+
* - **Metered settlement**: calls are counted on-chain, settled in batches
|
|
90
|
+
*
|
|
91
|
+
* This is NOT a subscription model. Every call is individually priced.
|
|
92
|
+
*
|
|
93
|
+
* @since 1.4.0
|
|
94
|
+
*/
|
|
95
|
+
export interface AgentPricingOnChain {
|
|
96
|
+
/** Tier identifier (e.g. `"base"`, `"priority"`). */
|
|
97
|
+
tierId: string;
|
|
98
|
+
/** Base price per call in smallest token unit (lamports / USDC base units). */
|
|
99
|
+
pricePerCall: bigint;
|
|
100
|
+
/** Minimum price floor (for dynamic pricing — price never goes below this). */
|
|
101
|
+
minPricePerCall?: bigint;
|
|
102
|
+
/** Maximum price ceiling (for dynamic pricing — price never exceeds this). */
|
|
103
|
+
maxPricePerCall?: bigint;
|
|
104
|
+
/**
|
|
105
|
+
* Volume discount breakpoints. Each entry defines a threshold and discounted price.
|
|
106
|
+
* Example: `[{ afterCalls: 100, pricePerCall: 800n }, { afterCalls: 1000, pricePerCall: 500n }]`
|
|
107
|
+
* → first 100 calls at `pricePerCall`, next 900 at 800, everything after 1000 at 500.
|
|
108
|
+
* Empty array = flat pricing (no volume discount).
|
|
109
|
+
*/
|
|
110
|
+
volumeCurve?: VolumeCurveBreakpoint[];
|
|
111
|
+
/** Rate limit (calls per second). */
|
|
112
|
+
rateLimit: number;
|
|
113
|
+
/** Max calls per session (0 = unlimited). */
|
|
114
|
+
maxCallsPerSession: number;
|
|
115
|
+
/** Burst capacity — max calls allowed in a single second burst (≥ rateLimit). */
|
|
116
|
+
burstLimit?: number;
|
|
117
|
+
/** Payment token type. */
|
|
118
|
+
tokenType: 'SOL' | 'USDC' | 'SPL';
|
|
119
|
+
/** SPL token mint address (only when tokenType = 'SPL'). */
|
|
120
|
+
tokenMint?: string;
|
|
121
|
+
/** Token decimals (used for display — e.g. 9 for SOL, 6 for USDC). */
|
|
122
|
+
tokenDecimals?: number;
|
|
123
|
+
/**
|
|
124
|
+
* Settlement mode: how calls are paid for.
|
|
125
|
+
* - `'instant'` — each call triggers an immediate transfer (higher tx cost)
|
|
126
|
+
* - `'escrow'` — caller pre-funds an escrow PDA, agent draws per call
|
|
127
|
+
* - `'batched'` — calls accumulate off-chain, settled on-chain periodically
|
|
128
|
+
* - `'x402'` — payment via HTTP x402 protocol (off-chain → on-chain attestation)
|
|
129
|
+
* @default 'x402'
|
|
130
|
+
*/
|
|
131
|
+
settlementMode?: 'instant' | 'escrow' | 'batched' | 'x402';
|
|
132
|
+
/** Minimum escrow deposit (only for `escrow` mode). */
|
|
133
|
+
minEscrowDeposit?: bigint;
|
|
134
|
+
/** Batch settlement interval in seconds (only for `batched` mode). */
|
|
135
|
+
batchIntervalSec?: number;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* @description A breakpoint in the volume discount curve.
|
|
139
|
+
* Implements ERC-8004-style metered billing for Solana agents.
|
|
140
|
+
*
|
|
141
|
+
* The curve is evaluated sequentially:
|
|
142
|
+
* 1. Calls 0 → breakpoint[0].afterCalls: charged at base `pricePerCall`
|
|
143
|
+
* 2. Calls breakpoint[0].afterCalls → breakpoint[1].afterCalls: charged at breakpoint[0].pricePerCall
|
|
144
|
+
* 3. And so on...
|
|
145
|
+
*
|
|
146
|
+
* @since 1.4.0
|
|
147
|
+
*/
|
|
148
|
+
export interface VolumeCurveBreakpoint {
|
|
149
|
+
/** After this many cumulative calls, the discounted price kicks in. */
|
|
150
|
+
afterCalls: number;
|
|
151
|
+
/** Discounted price per call (smallest token unit). */
|
|
152
|
+
pricePerCall: bigint;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @description On-chain reputation metrics for an agent.
|
|
156
|
+
* Updated by the agent or by a trusted oracle/facilitator.
|
|
157
|
+
* @since 1.3.0
|
|
158
|
+
*/
|
|
159
|
+
export interface AgentReputationOnChain {
|
|
160
|
+
/** Total attested calls served (lifetime). */
|
|
161
|
+
totalCallsServed: bigint;
|
|
162
|
+
/** Average response latency in milliseconds. */
|
|
163
|
+
avgLatencyMs: number;
|
|
164
|
+
/** Uptime percentage (0–100). */
|
|
165
|
+
uptimePercent: number;
|
|
166
|
+
/** Reputation score (0–1000), computed off-chain and posted on-chain. */
|
|
167
|
+
score: number;
|
|
168
|
+
/** Unix timestamp of last reputation update. */
|
|
169
|
+
lastUpdatedAt: number;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* @description Full deserialized agent PDA account data.
|
|
173
|
+
* @since 1.3.0
|
|
174
|
+
*/
|
|
175
|
+
export interface AgentPDAAccount {
|
|
176
|
+
/** PDA address (base58). */
|
|
177
|
+
address: string;
|
|
178
|
+
/** Schema version. */
|
|
179
|
+
version: number;
|
|
180
|
+
/** Whether this agent is currently active. */
|
|
181
|
+
isActive: boolean;
|
|
182
|
+
/** Agent's wallet public key (base58). */
|
|
183
|
+
walletPubkey: string;
|
|
184
|
+
/** Human-readable agent name. */
|
|
185
|
+
name: string;
|
|
186
|
+
/** Agent description. */
|
|
187
|
+
description: string;
|
|
188
|
+
/** DID-style agent identifier. */
|
|
189
|
+
agentId?: string;
|
|
190
|
+
/** Advertised capabilities. */
|
|
191
|
+
capabilities: AgentCapability[];
|
|
192
|
+
/** On-chain pricing tiers. */
|
|
193
|
+
pricing: AgentPricingOnChain[];
|
|
194
|
+
/** Reputation metrics. */
|
|
195
|
+
reputation: AgentReputationOnChain;
|
|
196
|
+
/** x402 endpoint for remote calls (e.g. `"https://agent.example/.well-known/x402"`). */
|
|
197
|
+
x402Endpoint?: string;
|
|
198
|
+
/** Unix timestamp of creation (ms). */
|
|
199
|
+
createdAt: number;
|
|
200
|
+
/** Unix timestamp of last update (ms). */
|
|
201
|
+
updatedAt: number;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* @description Parameters for the `register` instruction.
|
|
205
|
+
* @since 1.3.0
|
|
206
|
+
*/
|
|
207
|
+
export interface RegisterAgentParams {
|
|
208
|
+
/** Agent's wallet public key (base58). Must be the signer. */
|
|
209
|
+
walletPubkey: string;
|
|
210
|
+
/** Human-readable name (max 64 bytes UTF-8). */
|
|
211
|
+
name: string;
|
|
212
|
+
/** Description (max 256 bytes UTF-8). */
|
|
213
|
+
description: string;
|
|
214
|
+
/** Optional DID identifier. */
|
|
215
|
+
agentId?: string;
|
|
216
|
+
/** Initial capabilities. */
|
|
217
|
+
capabilities?: AgentCapability[];
|
|
218
|
+
/** Initial pricing tiers. */
|
|
219
|
+
pricing?: AgentPricingOnChain[];
|
|
220
|
+
/** Optional x402 endpoint. */
|
|
221
|
+
x402Endpoint?: string;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* @description Parameters for the `update` instruction.
|
|
225
|
+
* Only provided fields are updated; omitted fields are unchanged.
|
|
226
|
+
* @since 1.3.0
|
|
227
|
+
*/
|
|
228
|
+
export interface UpdateAgentParams {
|
|
229
|
+
/** Wallet pubkey of the agent to update (must be signer). */
|
|
230
|
+
walletPubkey: string;
|
|
231
|
+
/** New name (max 64 bytes). */
|
|
232
|
+
name?: string;
|
|
233
|
+
/** New description (max 256 bytes). */
|
|
234
|
+
description?: string;
|
|
235
|
+
/** Updated capabilities (replaces existing list). */
|
|
236
|
+
capabilities?: AgentCapability[];
|
|
237
|
+
/** Updated pricing tiers (replaces existing list). */
|
|
238
|
+
pricing?: AgentPricingOnChain[];
|
|
239
|
+
/** Updated x402 endpoint. */
|
|
240
|
+
x402Endpoint?: string;
|
|
241
|
+
/** Set active/inactive status. */
|
|
242
|
+
isActive?: boolean;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* @description Parameters for the `updateReputation` instruction.
|
|
246
|
+
* Typically called by the agent itself or a trusted oracle.
|
|
247
|
+
* @since 1.3.0
|
|
248
|
+
*/
|
|
249
|
+
export interface UpdateReputationParams {
|
|
250
|
+
/** Wallet pubkey of the agent. */
|
|
251
|
+
walletPubkey: string;
|
|
252
|
+
/** New total calls served count. */
|
|
253
|
+
totalCallsServed?: bigint;
|
|
254
|
+
/** New average latency (ms). */
|
|
255
|
+
avgLatencyMs?: number;
|
|
256
|
+
/** New uptime percentage. */
|
|
257
|
+
uptimePercent?: number;
|
|
258
|
+
/** Reputation score (0–1000). */
|
|
259
|
+
score?: number;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* @description Filters for on-chain agent discovery.
|
|
263
|
+
* @since 1.3.0
|
|
264
|
+
*/
|
|
265
|
+
export interface AgentDiscoveryFilter {
|
|
266
|
+
/** Only return active agents. @default true */
|
|
267
|
+
activeOnly?: boolean;
|
|
268
|
+
/** Filter by capability ID (e.g. `"jupiter:swap"`). */
|
|
269
|
+
capability?: string;
|
|
270
|
+
/** Filter by protocol (e.g. `"jupiter"`, `"raydium"`). */
|
|
271
|
+
protocol?: string;
|
|
272
|
+
/** Min reputation score (0–1000). */
|
|
273
|
+
minReputation?: number;
|
|
274
|
+
/** Max price per call (lamports). */
|
|
275
|
+
maxPricePerCall?: bigint;
|
|
276
|
+
/** Min uptime percentage. */
|
|
277
|
+
minUptime?: number;
|
|
278
|
+
/** Sort results by this field. */
|
|
279
|
+
sortBy?: 'reputation' | 'price' | 'latency' | 'uptime' | 'calls';
|
|
280
|
+
/** Sort direction. @default 'desc' */
|
|
281
|
+
sortDirection?: 'asc' | 'desc';
|
|
282
|
+
/** Max results to return. @default 50 */
|
|
283
|
+
limit?: number;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* @description Result of an on-chain discovery query.
|
|
287
|
+
* @since 1.3.0
|
|
288
|
+
*/
|
|
289
|
+
export interface DiscoveryResult {
|
|
290
|
+
/** Matching agent accounts. */
|
|
291
|
+
agents: AgentPDAAccount[];
|
|
292
|
+
/** Total accounts scanned. */
|
|
293
|
+
totalScanned: number;
|
|
294
|
+
/** Total matching accounts (before limit). */
|
|
295
|
+
totalMatching: number;
|
|
296
|
+
/** Query latency in milliseconds. */
|
|
297
|
+
queryLatencyMs: number;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* @description Aggregate metrics across all discovered agents.
|
|
301
|
+
* @since 1.3.0
|
|
302
|
+
*/
|
|
303
|
+
export interface SAPAggregateMetrics {
|
|
304
|
+
/** Total registered agents. */
|
|
305
|
+
totalAgents: number;
|
|
306
|
+
/** Total active agents. */
|
|
307
|
+
activeAgents: number;
|
|
308
|
+
/** Sum of all calls served. */
|
|
309
|
+
totalCallsServed: bigint;
|
|
310
|
+
/** Average reputation score across agents. */
|
|
311
|
+
avgReputation: number;
|
|
312
|
+
/** Average latency across agents (ms). */
|
|
313
|
+
avgLatencyMs: number;
|
|
314
|
+
/** Unique protocols represented. */
|
|
315
|
+
protocols: string[];
|
|
316
|
+
/** Unique capabilities available. */
|
|
317
|
+
capabilities: string[];
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* @description Instruction-like object returned by {@link SAPInstructionBuilder}.
|
|
321
|
+
* Compatible with Solana `TransactionInstruction`.
|
|
322
|
+
* @since 1.3.0
|
|
323
|
+
*/
|
|
324
|
+
export interface SAPInstruction {
|
|
325
|
+
/** Program ID (base58). */
|
|
326
|
+
programId: string;
|
|
327
|
+
/** Account metas for the instruction. */
|
|
328
|
+
keys: SAPAccountMeta[];
|
|
329
|
+
/** Serialized instruction data. */
|
|
330
|
+
data: Uint8Array;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* @description Account metadata for an instruction.
|
|
334
|
+
* @since 1.3.0
|
|
335
|
+
*/
|
|
336
|
+
export interface SAPAccountMeta {
|
|
337
|
+
/** Account public key (base58). */
|
|
338
|
+
pubkey: string;
|
|
339
|
+
/** Whether this account is a signer. */
|
|
340
|
+
isSigner: boolean;
|
|
341
|
+
/** Whether this account is writable. */
|
|
342
|
+
isWritable: boolean;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* @description Conversion helpers to bridge SAP types to gateway types.
|
|
346
|
+
* @since 1.3.0
|
|
347
|
+
*/
|
|
348
|
+
export declare function pdaToIdentity(pda: AgentPDAAccount): AgentIdentity;
|
|
349
|
+
/**
|
|
350
|
+
* @description Convert on-chain pricing to gateway PricingTier.
|
|
351
|
+
* @param {AgentPricingOnChain} p - On-chain pricing entry
|
|
352
|
+
* @returns {PricingTier} Gateway-compatible pricing tier
|
|
353
|
+
* @since 1.3.0
|
|
354
|
+
*/
|
|
355
|
+
export declare function pricingToTier(p: AgentPricingOnChain): PricingTier;
|
|
356
|
+
/**
|
|
357
|
+
* @description Compute the cost of a specific call number using volume curve pricing.
|
|
358
|
+
*
|
|
359
|
+
* Evaluates the agent's volume curve to determine the price for the Nth call.
|
|
360
|
+
* This implements ERC-8004-style metered billing natively on Solana.
|
|
361
|
+
*
|
|
362
|
+
* @param {AgentPricingOnChain} pricing - The pricing tier
|
|
363
|
+
* @param {number} callNumber - The call number (1-indexed, cumulative across sessions)
|
|
364
|
+
* @returns {bigint} Cost of this specific call in smallest token unit
|
|
365
|
+
*
|
|
366
|
+
* @example
|
|
367
|
+
* ```ts
|
|
368
|
+
* const pricing = {
|
|
369
|
+
* tierId: 'base',
|
|
370
|
+
* pricePerCall: 1000n, // 0.001 USDC base price
|
|
371
|
+
* volumeCurve: [
|
|
372
|
+
* { afterCalls: 100, pricePerCall: 800n }, // 20% off after 100 calls
|
|
373
|
+
* { afterCalls: 1000, pricePerCall: 500n }, // 50% off after 1000 calls
|
|
374
|
+
* ],
|
|
375
|
+
* // ...
|
|
376
|
+
* };
|
|
377
|
+
*
|
|
378
|
+
* computeCallCost(pricing, 1); // → 1000n (base price)
|
|
379
|
+
* computeCallCost(pricing, 101); // → 800n (first discount tier)
|
|
380
|
+
* computeCallCost(pricing, 1001); // → 500n (second discount tier)
|
|
381
|
+
* ```
|
|
382
|
+
*
|
|
383
|
+
* @since 1.4.0
|
|
384
|
+
*/
|
|
385
|
+
export declare function computeCallCost(pricing: AgentPricingOnChain, callNumber: number): bigint;
|
|
386
|
+
/**
|
|
387
|
+
* @description Estimate total cost for N calls using the volume curve.
|
|
388
|
+
*
|
|
389
|
+
* @param {AgentPricingOnChain} pricing - The pricing tier
|
|
390
|
+
* @param {number} totalCalls - Total number of calls
|
|
391
|
+
* @param {number} [startingFrom=1] - Starting call number (for continuing sessions)
|
|
392
|
+
* @returns {{ totalCost: bigint; avgPricePerCall: bigint; breakdown: Array<{ from: number; to: number; pricePerCall: bigint; subtotal: bigint }> }}
|
|
393
|
+
*
|
|
394
|
+
* @example
|
|
395
|
+
* ```ts
|
|
396
|
+
* const estimate = estimateTotalCost(pricing, 1500);
|
|
397
|
+
* // estimate.totalCost → 850_000n
|
|
398
|
+
* // estimate.avgPricePerCall → 566n
|
|
399
|
+
* // estimate.breakdown → [
|
|
400
|
+
* // { from: 1, to: 100, pricePerCall: 1000n, subtotal: 100_000n },
|
|
401
|
+
* // { from: 101, to: 1000, pricePerCall: 800n, subtotal: 720_000n },
|
|
402
|
+
* // { from: 1001, to: 1500, pricePerCall: 500n, subtotal: 250_000n },
|
|
403
|
+
* // ]
|
|
404
|
+
* ```
|
|
405
|
+
*
|
|
406
|
+
* @since 1.4.0
|
|
407
|
+
*/
|
|
408
|
+
export declare function estimateTotalCost(pricing: AgentPricingOnChain, totalCalls: number, startingFrom?: number): {
|
|
409
|
+
totalCost: bigint;
|
|
410
|
+
avgPricePerCall: bigint;
|
|
411
|
+
breakdown: Array<{
|
|
412
|
+
from: number;
|
|
413
|
+
to: number;
|
|
414
|
+
pricePerCall: bigint;
|
|
415
|
+
subtotal: bigint;
|
|
416
|
+
}>;
|
|
417
|
+
};
|
|
418
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai/sap/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @module ai/sap/types
|
|
4
|
+
* @description Solana Agent Protocol (SAP) — Core type definitions.
|
|
5
|
+
*
|
|
6
|
+
* Defines the on-chain account layout for agent identity, capability
|
|
7
|
+
* registration, pricing, and reputation stored as Solana PDAs.
|
|
8
|
+
*
|
|
9
|
+
* Account layout (Borsh-compatible):
|
|
10
|
+
* ```
|
|
11
|
+
* [0..8] u8[8] Anchor discriminator
|
|
12
|
+
* [8] u8 version (1)
|
|
13
|
+
* [9] u8 is_active (0 | 1)
|
|
14
|
+
* [10..42] u8[32] wallet pubkey (raw bytes)
|
|
15
|
+
* [42..50] i64 created_at (unix ms)
|
|
16
|
+
* [50..58] i64 updated_at (unix ms)
|
|
17
|
+
* [58..66] u64 total_calls_served
|
|
18
|
+
* [66..70] u32 avg_latency_ms
|
|
19
|
+
* [70] u8 uptime_percent (0-100)
|
|
20
|
+
* [71..] Borsh name (string), description (string),
|
|
21
|
+
* capabilities (Vec<string>),
|
|
22
|
+
* pricing tiers (Vec<AgentPricingOnChain>),
|
|
23
|
+
* x402_endpoint (Option<string>)
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @since 1.3.0
|
|
27
|
+
*/
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.SAP_INSTRUCTION_DISCRIMINATORS = exports.SAP_ACCOUNT_DISCRIMINATOR = exports.SAP_SEED_PREFIX = exports.SAP_DEFAULT_PROGRAM_ID = void 0;
|
|
30
|
+
exports.pdaToIdentity = pdaToIdentity;
|
|
31
|
+
exports.pricingToTier = pricingToTier;
|
|
32
|
+
exports.computeCallCost = computeCallCost;
|
|
33
|
+
exports.estimateTotalCost = estimateTotalCost;
|
|
34
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
35
|
+
* Program Constants
|
|
36
|
+
* ═══════════════════════════════════════════════════════════════ */
|
|
37
|
+
/**
|
|
38
|
+
* @description Default SAP program ID. Replace with your own deployed program.
|
|
39
|
+
* This is a placeholder — deploy the SAP Anchor program and set your ID.
|
|
40
|
+
* @since 1.3.0
|
|
41
|
+
*/
|
|
42
|
+
exports.SAP_DEFAULT_PROGRAM_ID = 'SAPAgnt1111111111111111111111111111111111111';
|
|
43
|
+
/**
|
|
44
|
+
* @description PDA seed prefix used for all agent PDAs.
|
|
45
|
+
* Seeds: `["synapse_agent", wallet_pubkey_bytes]`
|
|
46
|
+
* @since 1.3.0
|
|
47
|
+
*/
|
|
48
|
+
exports.SAP_SEED_PREFIX = 'synapse_agent';
|
|
49
|
+
/**
|
|
50
|
+
* @description Anchor discriminator for the AgentAccount type.
|
|
51
|
+
* Computed as: `sha256("account:AgentAccount")[0..8]`
|
|
52
|
+
* @since 1.3.0
|
|
53
|
+
*/
|
|
54
|
+
exports.SAP_ACCOUNT_DISCRIMINATOR = new Uint8Array([
|
|
55
|
+
0x9b, 0x56, 0x1c, 0xa4, 0x7f, 0x3e, 0x21, 0xd8,
|
|
56
|
+
]);
|
|
57
|
+
/**
|
|
58
|
+
* @description Instruction discriminators for SAP program methods.
|
|
59
|
+
* Computed as: `sha256("global:<method_name>")[0..8]`
|
|
60
|
+
* @since 1.3.0
|
|
61
|
+
*/
|
|
62
|
+
exports.SAP_INSTRUCTION_DISCRIMINATORS = {
|
|
63
|
+
register: new Uint8Array([0x18, 0xac, 0x2e, 0x6b, 0x01, 0xf9, 0x7c, 0xd4]),
|
|
64
|
+
update: new Uint8Array([0x27, 0x5d, 0x4b, 0x8e, 0x03, 0xa1, 0x6f, 0xb2]),
|
|
65
|
+
deactivate: new Uint8Array([0x34, 0x6e, 0x5a, 0x9f, 0x02, 0xb3, 0x5d, 0xc1]),
|
|
66
|
+
updateReputation: new Uint8Array([0x41, 0x7f, 0x6b, 0xa0, 0x04, 0xc2, 0x4e, 0xd3]),
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* @description Conversion helpers to bridge SAP types to gateway types.
|
|
70
|
+
* @since 1.3.0
|
|
71
|
+
*/
|
|
72
|
+
function pdaToIdentity(pda) {
|
|
73
|
+
return {
|
|
74
|
+
id: (pda.agentId ?? `did:sap:${pda.walletPubkey}`),
|
|
75
|
+
name: pda.name,
|
|
76
|
+
walletPubkey: pda.walletPubkey,
|
|
77
|
+
description: pda.description,
|
|
78
|
+
tags: pda.capabilities.map(c => c.id),
|
|
79
|
+
createdAt: pda.createdAt,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @description Convert on-chain pricing to gateway PricingTier.
|
|
84
|
+
* @param {AgentPricingOnChain} p - On-chain pricing entry
|
|
85
|
+
* @returns {PricingTier} Gateway-compatible pricing tier
|
|
86
|
+
* @since 1.3.0
|
|
87
|
+
*/
|
|
88
|
+
function pricingToTier(p) {
|
|
89
|
+
const token = p.tokenType === 'SOL' ? { type: 'SOL' } :
|
|
90
|
+
p.tokenType === 'USDC' ? { type: 'USDC' } :
|
|
91
|
+
{ type: 'SPL', mint: p.tokenMint ?? '', decimals: p.tokenDecimals ?? 6 };
|
|
92
|
+
return {
|
|
93
|
+
id: p.tierId,
|
|
94
|
+
label: p.tierId,
|
|
95
|
+
pricePerCall: p.pricePerCall,
|
|
96
|
+
maxCallsPerSession: p.maxCallsPerSession,
|
|
97
|
+
rateLimit: p.rateLimit,
|
|
98
|
+
token,
|
|
99
|
+
includesAttestation: true,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @description Compute the cost of a specific call number using volume curve pricing.
|
|
104
|
+
*
|
|
105
|
+
* Evaluates the agent's volume curve to determine the price for the Nth call.
|
|
106
|
+
* This implements ERC-8004-style metered billing natively on Solana.
|
|
107
|
+
*
|
|
108
|
+
* @param {AgentPricingOnChain} pricing - The pricing tier
|
|
109
|
+
* @param {number} callNumber - The call number (1-indexed, cumulative across sessions)
|
|
110
|
+
* @returns {bigint} Cost of this specific call in smallest token unit
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* const pricing = {
|
|
115
|
+
* tierId: 'base',
|
|
116
|
+
* pricePerCall: 1000n, // 0.001 USDC base price
|
|
117
|
+
* volumeCurve: [
|
|
118
|
+
* { afterCalls: 100, pricePerCall: 800n }, // 20% off after 100 calls
|
|
119
|
+
* { afterCalls: 1000, pricePerCall: 500n }, // 50% off after 1000 calls
|
|
120
|
+
* ],
|
|
121
|
+
* // ...
|
|
122
|
+
* };
|
|
123
|
+
*
|
|
124
|
+
* computeCallCost(pricing, 1); // → 1000n (base price)
|
|
125
|
+
* computeCallCost(pricing, 101); // → 800n (first discount tier)
|
|
126
|
+
* computeCallCost(pricing, 1001); // → 500n (second discount tier)
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @since 1.4.0
|
|
130
|
+
*/
|
|
131
|
+
function computeCallCost(pricing, callNumber) {
|
|
132
|
+
let price = pricing.pricePerCall;
|
|
133
|
+
if (pricing.volumeCurve && pricing.volumeCurve.length > 0) {
|
|
134
|
+
// Sort breakpoints by afterCalls ascending
|
|
135
|
+
const sorted = [...pricing.volumeCurve].sort((a, b) => a.afterCalls - b.afterCalls);
|
|
136
|
+
for (const bp of sorted) {
|
|
137
|
+
if (callNumber > bp.afterCalls) {
|
|
138
|
+
price = bp.pricePerCall;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Enforce floor/ceiling
|
|
146
|
+
if (pricing.minPricePerCall !== undefined && price < pricing.minPricePerCall) {
|
|
147
|
+
price = pricing.minPricePerCall;
|
|
148
|
+
}
|
|
149
|
+
if (pricing.maxPricePerCall !== undefined && price > pricing.maxPricePerCall) {
|
|
150
|
+
price = pricing.maxPricePerCall;
|
|
151
|
+
}
|
|
152
|
+
return price;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @description Estimate total cost for N calls using the volume curve.
|
|
156
|
+
*
|
|
157
|
+
* @param {AgentPricingOnChain} pricing - The pricing tier
|
|
158
|
+
* @param {number} totalCalls - Total number of calls
|
|
159
|
+
* @param {number} [startingFrom=1] - Starting call number (for continuing sessions)
|
|
160
|
+
* @returns {{ totalCost: bigint; avgPricePerCall: bigint; breakdown: Array<{ from: number; to: number; pricePerCall: bigint; subtotal: bigint }> }}
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* const estimate = estimateTotalCost(pricing, 1500);
|
|
165
|
+
* // estimate.totalCost → 850_000n
|
|
166
|
+
* // estimate.avgPricePerCall → 566n
|
|
167
|
+
* // estimate.breakdown → [
|
|
168
|
+
* // { from: 1, to: 100, pricePerCall: 1000n, subtotal: 100_000n },
|
|
169
|
+
* // { from: 101, to: 1000, pricePerCall: 800n, subtotal: 720_000n },
|
|
170
|
+
* // { from: 1001, to: 1500, pricePerCall: 500n, subtotal: 250_000n },
|
|
171
|
+
* // ]
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* @since 1.4.0
|
|
175
|
+
*/
|
|
176
|
+
function estimateTotalCost(pricing, totalCalls, startingFrom = 1) {
|
|
177
|
+
if (totalCalls <= 0) {
|
|
178
|
+
return { totalCost: 0n, avgPricePerCall: 0n, breakdown: [] };
|
|
179
|
+
}
|
|
180
|
+
const curve = pricing.volumeCurve && pricing.volumeCurve.length > 0
|
|
181
|
+
? [...pricing.volumeCurve].sort((a, b) => a.afterCalls - b.afterCalls)
|
|
182
|
+
: [];
|
|
183
|
+
// Build segments: [0, bp1, bp2, ...] with corresponding prices
|
|
184
|
+
const segments = [
|
|
185
|
+
{ afterCalls: 0, pricePerCall: pricing.pricePerCall },
|
|
186
|
+
...curve,
|
|
187
|
+
];
|
|
188
|
+
const endCall = startingFrom + totalCalls - 1;
|
|
189
|
+
const breakdown = [];
|
|
190
|
+
let totalCost = 0n;
|
|
191
|
+
for (let i = 0; i < segments.length; i++) {
|
|
192
|
+
const segStart = segments[i].afterCalls + 1;
|
|
193
|
+
const segEnd = i + 1 < segments.length ? segments[i + 1].afterCalls : Infinity;
|
|
194
|
+
let price = segments[i].pricePerCall;
|
|
195
|
+
// Enforce floor/ceiling
|
|
196
|
+
if (pricing.minPricePerCall !== undefined && price < pricing.minPricePerCall)
|
|
197
|
+
price = pricing.minPricePerCall;
|
|
198
|
+
if (pricing.maxPricePerCall !== undefined && price > pricing.maxPricePerCall)
|
|
199
|
+
price = pricing.maxPricePerCall;
|
|
200
|
+
const rangeStart = Math.max(segStart, startingFrom);
|
|
201
|
+
const rangeEnd = Math.min(segEnd, endCall);
|
|
202
|
+
if (rangeStart > rangeEnd)
|
|
203
|
+
continue;
|
|
204
|
+
const count = rangeEnd - rangeStart + 1;
|
|
205
|
+
const subtotal = price * BigInt(count);
|
|
206
|
+
totalCost += subtotal;
|
|
207
|
+
breakdown.push({
|
|
208
|
+
from: rangeStart,
|
|
209
|
+
to: rangeEnd,
|
|
210
|
+
pricePerCall: price,
|
|
211
|
+
subtotal,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
const avgPricePerCall = totalCalls > 0 ? totalCost / BigInt(totalCalls) : 0n;
|
|
215
|
+
return { totalCost, avgPricePerCall, breakdown };
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai/sap/types.ts"],"names":[],"mappings":"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"}
|