@oobe-protocol-labs/synapse-client-sdk 2.0.0 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +103 -0
- package/README.md +2 -2
- package/dist/cjs/ai/actions/server.d.ts.map +1 -1
- package/dist/cjs/ai/actions/server.js +5 -3
- package/dist/cjs/ai/actions/server.js.map +1 -1
- package/dist/cjs/ai/gateway/index.d.ts.map +1 -1
- package/dist/cjs/ai/gateway/index.js.map +1 -1
- package/dist/cjs/ai/gateway/x402/client.d.ts.map +1 -1
- package/dist/cjs/ai/gateway/x402/client.js +0 -3
- package/dist/cjs/ai/gateway/x402/client.js.map +1 -1
- package/dist/cjs/ai/gateway/x402/paywall.d.ts.map +1 -1
- package/dist/cjs/ai/gateway/x402/paywall.js.map +1 -1
- 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/intents/executor.js.map +1 -1
- package/dist/cjs/ai/intents/parser.d.ts.map +1 -1
- package/dist/cjs/ai/intents/parser.js.map +1 -1
- package/dist/cjs/ai/intents/planner.js.map +1 -1
- package/dist/cjs/ai/mcp/client.js +1 -1
- package/dist/cjs/ai/mcp/client.js.map +1 -1
- package/dist/cjs/ai/persistence/postgresql.js.map +1 -1
- package/dist/cjs/ai/plugins/registry.js +1 -1
- package/dist/cjs/ai/plugins/registry.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/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/shared.d.ts.map +1 -1
- package/dist/cjs/ai/tools/protocols/shared.js +4 -1
- package/dist/cjs/ai/tools/protocols/shared.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/solana-programs/tools.js.map +1 -1
- package/dist/cjs/context/container.d.ts.map +1 -1
- package/dist/cjs/context/container.js.map +1 -1
- package/dist/cjs/grpc/parser/geyser-parser.d.ts.map +1 -1
- package/dist/cjs/grpc/parser/geyser-parser.js.map +1 -1
- package/dist/cjs/next/index.d.ts.map +1 -1
- package/dist/cjs/next/index.js +7 -1
- package/dist/cjs/next/index.js.map +1 -1
- package/dist/cjs/programs/index.d.ts.map +1 -1
- package/dist/cjs/programs/index.js.map +1 -1
- package/dist/cjs/utils/helpers.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 +103 -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/server.d.ts.map +1 -1
- package/dist/esm/ai/actions/server.js +5 -3
- package/dist/esm/ai/actions/server.js.map +1 -1
- package/dist/esm/ai/gateway/index.d.ts.map +1 -1
- package/dist/esm/ai/gateway/index.js.map +1 -1
- package/dist/esm/ai/gateway/x402/client.d.ts.map +1 -1
- package/dist/esm/ai/gateway/x402/client.js +0 -3
- package/dist/esm/ai/gateway/x402/client.js.map +1 -1
- package/dist/esm/ai/gateway/x402/paywall.d.ts.map +1 -1
- package/dist/esm/ai/gateway/x402/paywall.js.map +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/intents/executor.js.map +1 -1
- package/dist/esm/ai/intents/parser.d.ts.map +1 -1
- package/dist/esm/ai/intents/parser.js.map +1 -1
- package/dist/esm/ai/intents/planner.js.map +1 -1
- package/dist/esm/ai/mcp/client.js +1 -1
- package/dist/esm/ai/mcp/client.js.map +1 -1
- package/dist/esm/ai/persistence/postgresql.js.map +1 -1
- package/dist/esm/ai/plugins/registry.js +1 -1
- package/dist/esm/ai/plugins/registry.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/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
- package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
- package/dist/esm/ai/tools/protocols/shared.d.ts.map +1 -1
- package/dist/esm/ai/tools/protocols/shared.js +4 -1
- package/dist/esm/ai/tools/protocols/shared.js.map +1 -1
- package/dist/esm/ai/tools/protocols/solana-programs/tools.js.map +1 -1
- package/dist/esm/context/container.d.ts.map +1 -1
- package/dist/esm/context/container.js.map +1 -1
- package/dist/esm/grpc/parser/geyser-parser.d.ts.map +1 -1
- package/dist/esm/grpc/parser/geyser-parser.js.map +1 -1
- package/dist/esm/next/index.d.ts.map +1 -1
- package/dist/esm/next/index.js +7 -1
- package/dist/esm/next/index.js.map +1 -1
- package/dist/esm/programs/index.d.ts.map +1 -1
- package/dist/esm/programs/index.js.map +1 -1
- package/dist/esm/utils/helpers.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,266 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @module ai/sap/scoring
|
|
4
|
-
* @description SAP — Agent health scoring and network analytics.
|
|
5
|
-
*
|
|
6
|
-
* Computes composite health scores for individual agents and entire
|
|
7
|
-
* sub-networks, factoring in reputation, uptime, latency, call volume,
|
|
8
|
-
* capability coverage, and pricing competitiveness.
|
|
9
|
-
*
|
|
10
|
-
* Also provides **network-level analytics**: protocol concentration,
|
|
11
|
-
* Gini coefficient for call distribution, and trend detection.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { computeAgentHealthScore, computeNetworkAnalytics } from '@oobe-protocol-labs/synapse-client-sdk/ai/sap';
|
|
16
|
-
*
|
|
17
|
-
* const health = computeAgentHealthScore(agentPDA);
|
|
18
|
-
* console.log(health.composite); // 0..100
|
|
19
|
-
* console.log(health.breakdown); // { reputation, uptime, latency, activity, pricing }
|
|
20
|
-
*
|
|
21
|
-
* const analytics = computeNetworkAnalytics(allAgents);
|
|
22
|
-
* console.log(analytics.giniCoefficient); // 0..1 (0 = perfectly even)
|
|
23
|
-
* console.log(analytics.protocolConcentration);
|
|
24
|
-
* ```
|
|
25
|
-
*
|
|
26
|
-
* @since 1.4.0
|
|
27
|
-
*/
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.computeAgentHealthScore = computeAgentHealthScore;
|
|
30
|
-
exports.computeNetworkAnalytics = computeNetworkAnalytics;
|
|
31
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
32
|
-
* Scoring Weights
|
|
33
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
34
|
-
const DEFAULT_WEIGHTS = {
|
|
35
|
-
reputation: 0.30,
|
|
36
|
-
uptime: 0.25,
|
|
37
|
-
latency: 0.20,
|
|
38
|
-
activity: 0.15,
|
|
39
|
-
pricing: 0.10,
|
|
40
|
-
};
|
|
41
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
42
|
-
* Single Agent Scoring
|
|
43
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
44
|
-
/**
|
|
45
|
-
* @description Compute a composite health score for a single agent.
|
|
46
|
-
*
|
|
47
|
-
* @param {AgentPDAAccount} agent - The agent to score
|
|
48
|
-
* @param {Object} [context] - Optional context for relative scoring
|
|
49
|
-
* @param {number} [context.networkAvgCalls] - Network average calls (for activity scoring)
|
|
50
|
-
* @param {bigint} [context.networkAvgPrice] - Network average price per call
|
|
51
|
-
* @param {Partial<typeof DEFAULT_WEIGHTS>} [weights] - Override default weights
|
|
52
|
-
* @returns {AgentHealthScore}
|
|
53
|
-
*
|
|
54
|
-
* @since 1.4.0
|
|
55
|
-
*/
|
|
56
|
-
function computeAgentHealthScore(agent, context, weights) {
|
|
57
|
-
const w = { ...DEFAULT_WEIGHTS, ...weights };
|
|
58
|
-
// Reputation: 0–1000 → 0–100
|
|
59
|
-
const reputation = Math.min(100, (agent.reputation.score / 1000) * 100);
|
|
60
|
-
// Uptime: direct mapping (0–100)
|
|
61
|
-
const uptime = Math.min(100, Math.max(0, agent.reputation.uptimePercent));
|
|
62
|
-
// Latency: log scale, 0ms = 100, 100ms = 80, 1s = 50, 10s = 10, 30s+ = 0
|
|
63
|
-
const latency = computeLatencyScore(agent.reputation.avgLatencyMs);
|
|
64
|
-
// Activity: relative to network average (or absolute if no context)
|
|
65
|
-
const avgCalls = context?.networkAvgCalls ?? 1000;
|
|
66
|
-
const callRatio = Number(agent.reputation.totalCallsServed) / Math.max(avgCalls, 1);
|
|
67
|
-
const activity = Math.min(100, callRatio * 50); // 2x average = 100
|
|
68
|
-
// Pricing: lower is better (relative to network average)
|
|
69
|
-
const agentPrice = agent.pricing[0]?.pricePerCall ?? 0n;
|
|
70
|
-
const avgPrice = context?.networkAvgPrice ?? 5000n;
|
|
71
|
-
const pricing = avgPrice > 0n
|
|
72
|
-
? Math.min(100, Math.max(0, 100 - Number((agentPrice * 100n) / avgPrice)))
|
|
73
|
-
: 50;
|
|
74
|
-
const breakdown = {
|
|
75
|
-
reputation: Math.round(reputation),
|
|
76
|
-
uptime: Math.round(uptime),
|
|
77
|
-
latency: Math.round(latency),
|
|
78
|
-
activity: Math.round(activity),
|
|
79
|
-
pricing: Math.round(pricing),
|
|
80
|
-
};
|
|
81
|
-
const composite = Math.round(w.reputation * reputation +
|
|
82
|
-
w.uptime * uptime +
|
|
83
|
-
w.latency * latency +
|
|
84
|
-
w.activity * activity +
|
|
85
|
-
w.pricing * pricing);
|
|
86
|
-
const tier = scoreTier(composite);
|
|
87
|
-
const recommendations = generateRecommendations(agent, breakdown);
|
|
88
|
-
return {
|
|
89
|
-
walletPubkey: agent.walletPubkey,
|
|
90
|
-
name: agent.name,
|
|
91
|
-
composite,
|
|
92
|
-
breakdown,
|
|
93
|
-
tier,
|
|
94
|
-
summary: `${agent.name}: ${composite}/100 (${tier})`,
|
|
95
|
-
recommendations,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
99
|
-
* Network Analytics
|
|
100
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
101
|
-
/**
|
|
102
|
-
* @description Compute network-level analytics across all discovered agents.
|
|
103
|
-
*
|
|
104
|
-
* @param {AgentPDAAccount[]} agents - All agents in the network
|
|
105
|
-
* @returns {NetworkAnalytics}
|
|
106
|
-
*
|
|
107
|
-
* @since 1.4.0
|
|
108
|
-
*/
|
|
109
|
-
function computeNetworkAnalytics(agents) {
|
|
110
|
-
if (agents.length === 0) {
|
|
111
|
-
return {
|
|
112
|
-
totalAgents: 0,
|
|
113
|
-
activeAgents: 0,
|
|
114
|
-
avgHealthScore: 0,
|
|
115
|
-
tierDistribution: { excellent: 0, good: 0, fair: 0, poor: 0, critical: 0 },
|
|
116
|
-
giniCoefficient: 0,
|
|
117
|
-
protocolConcentration: [],
|
|
118
|
-
capabilityCoverage: [],
|
|
119
|
-
topAgents: [],
|
|
120
|
-
needsAttention: [],
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
// Context for relative scoring
|
|
124
|
-
const totalCalls = agents.reduce((s, a) => s + Number(a.reputation.totalCallsServed), 0);
|
|
125
|
-
const networkAvgCalls = totalCalls / agents.length;
|
|
126
|
-
const totalPrice = agents.reduce((s, a) => s + (a.pricing[0]?.pricePerCall ?? 0n), 0n);
|
|
127
|
-
const networkAvgPrice = totalPrice / BigInt(agents.length);
|
|
128
|
-
// Score each agent
|
|
129
|
-
const scores = agents.map(a => computeAgentHealthScore(a, { networkAvgCalls, networkAvgPrice }));
|
|
130
|
-
const active = agents.filter(a => a.isActive).length;
|
|
131
|
-
const avgScore = Math.round(scores.reduce((s, h) => s + h.composite, 0) / scores.length);
|
|
132
|
-
// Tier distribution
|
|
133
|
-
const tierDist = {
|
|
134
|
-
excellent: 0, good: 0, fair: 0, poor: 0, critical: 0,
|
|
135
|
-
};
|
|
136
|
-
for (const s of scores)
|
|
137
|
-
tierDist[s.tier]++;
|
|
138
|
-
// Gini coefficient (for call distribution fairness)
|
|
139
|
-
const gini = computeGini(agents.map(a => Number(a.reputation.totalCallsServed)));
|
|
140
|
-
// Protocol concentration
|
|
141
|
-
const protocolMap = new Map();
|
|
142
|
-
for (const agent of agents) {
|
|
143
|
-
for (const cap of agent.capabilities) {
|
|
144
|
-
const protocol = cap.protocol ?? cap.id.split(':')[0];
|
|
145
|
-
protocolMap.set(protocol, (protocolMap.get(protocol) ?? 0) + 1);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
const protocolConcentration = [...protocolMap.entries()]
|
|
149
|
-
.map(([protocol, agentCount]) => ({
|
|
150
|
-
protocol,
|
|
151
|
-
agentCount,
|
|
152
|
-
pct: Math.round((agentCount / agents.length) * 100),
|
|
153
|
-
}))
|
|
154
|
-
.sort((a, b) => b.agentCount - a.agentCount);
|
|
155
|
-
// Capability coverage
|
|
156
|
-
const capMap = new Map();
|
|
157
|
-
for (const agent of agents) {
|
|
158
|
-
for (const cap of agent.capabilities) {
|
|
159
|
-
capMap.set(cap.id, (capMap.get(cap.id) ?? 0) + 1);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
const capabilityCoverage = [...capMap.entries()]
|
|
163
|
-
.map(([capability, agentCount]) => ({ capability, agentCount }))
|
|
164
|
-
.sort((a, b) => b.agentCount - a.agentCount);
|
|
165
|
-
// Top agents
|
|
166
|
-
const topAgents = [...scores]
|
|
167
|
-
.sort((a, b) => b.composite - a.composite)
|
|
168
|
-
.slice(0, 10)
|
|
169
|
-
.map(s => ({ walletPubkey: s.walletPubkey, name: s.name, score: s.composite }));
|
|
170
|
-
// Needs attention
|
|
171
|
-
const needsAttention = scores
|
|
172
|
-
.filter(s => s.composite < 40)
|
|
173
|
-
.map(s => ({
|
|
174
|
-
walletPubkey: s.walletPubkey,
|
|
175
|
-
name: s.name,
|
|
176
|
-
score: s.composite,
|
|
177
|
-
reasons: s.recommendations,
|
|
178
|
-
}));
|
|
179
|
-
return {
|
|
180
|
-
totalAgents: agents.length,
|
|
181
|
-
activeAgents: active,
|
|
182
|
-
avgHealthScore: avgScore,
|
|
183
|
-
tierDistribution: tierDist,
|
|
184
|
-
giniCoefficient: gini,
|
|
185
|
-
protocolConcentration,
|
|
186
|
-
capabilityCoverage,
|
|
187
|
-
topAgents,
|
|
188
|
-
needsAttention,
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
192
|
-
* Internal Helpers
|
|
193
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
194
|
-
function computeLatencyScore(ms) {
|
|
195
|
-
if (ms <= 0)
|
|
196
|
-
return 100;
|
|
197
|
-
if (ms <= 50)
|
|
198
|
-
return 95;
|
|
199
|
-
if (ms <= 100)
|
|
200
|
-
return 85;
|
|
201
|
-
if (ms <= 500)
|
|
202
|
-
return 70;
|
|
203
|
-
if (ms <= 1000)
|
|
204
|
-
return 55;
|
|
205
|
-
if (ms <= 3000)
|
|
206
|
-
return 35;
|
|
207
|
-
if (ms <= 10000)
|
|
208
|
-
return 15;
|
|
209
|
-
return 5;
|
|
210
|
-
}
|
|
211
|
-
function scoreTier(composite) {
|
|
212
|
-
if (composite >= 85)
|
|
213
|
-
return 'excellent';
|
|
214
|
-
if (composite >= 65)
|
|
215
|
-
return 'good';
|
|
216
|
-
if (composite >= 45)
|
|
217
|
-
return 'fair';
|
|
218
|
-
if (composite >= 25)
|
|
219
|
-
return 'poor';
|
|
220
|
-
return 'critical';
|
|
221
|
-
}
|
|
222
|
-
function generateRecommendations(agent, breakdown) {
|
|
223
|
-
const recs = [];
|
|
224
|
-
if (breakdown.uptime < 50) {
|
|
225
|
-
recs.push('Improve uptime — current uptime is below 50%, causing automatic filtering by discovery queries');
|
|
226
|
-
}
|
|
227
|
-
if (breakdown.reputation < 30) {
|
|
228
|
-
recs.push('Reputation is very low — consider reducing pricing to attract initial calls and build reputation');
|
|
229
|
-
}
|
|
230
|
-
if (breakdown.latency < 30) {
|
|
231
|
-
recs.push(`Reduce response latency (currently ${agent.reputation.avgLatencyMs}ms) — high latency reduces selection probability`);
|
|
232
|
-
}
|
|
233
|
-
if (breakdown.activity < 20) {
|
|
234
|
-
recs.push('Very low call volume — register more capabilities or reduce pricing to increase visibility');
|
|
235
|
-
}
|
|
236
|
-
if (breakdown.pricing < 20) {
|
|
237
|
-
recs.push('Pricing is significantly above network average — consider competitive pricing to increase call volume');
|
|
238
|
-
}
|
|
239
|
-
if (agent.capabilities.length < 2) {
|
|
240
|
-
recs.push('Register additional capabilities — multi-capable agents are preferred by SubnetworkBuilder');
|
|
241
|
-
}
|
|
242
|
-
if (!agent.x402Endpoint) {
|
|
243
|
-
recs.push('Add an x402 endpoint to enable pay-per-call via the x402 protocol');
|
|
244
|
-
}
|
|
245
|
-
return recs;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* @description Compute the Gini coefficient for a distribution of values.
|
|
249
|
-
* 0 = perfectly equal, 1 = maximum inequality.
|
|
250
|
-
* @internal
|
|
251
|
-
*/
|
|
252
|
-
function computeGini(values) {
|
|
253
|
-
const n = values.length;
|
|
254
|
-
if (n === 0)
|
|
255
|
-
return 0;
|
|
256
|
-
const sorted = [...values].sort((a, b) => a - b);
|
|
257
|
-
const sum = sorted.reduce((a, b) => a + b, 0);
|
|
258
|
-
if (sum === 0)
|
|
259
|
-
return 0;
|
|
260
|
-
let giniSum = 0;
|
|
261
|
-
for (let i = 0; i < n; i++) {
|
|
262
|
-
giniSum += (2 * (i + 1) - n - 1) * sorted[i];
|
|
263
|
-
}
|
|
264
|
-
return Math.round((giniSum / (n * sum)) * 1000) / 1000;
|
|
265
|
-
}
|
|
266
|
-
//# sourceMappingURL=scoring.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["../../../../src/ai/sap/scoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module ai/sap/subnetwork
|
|
3
|
-
* @description SAP — Subnetwork builder for composing multi-agent task forces.
|
|
4
|
-
*
|
|
5
|
-
* Given a set of **required capabilities**, discovers the optimal set of
|
|
6
|
-
* agents that collectively cover all capabilities, then provides utilities
|
|
7
|
-
* to orchestrate them (cost estimation, health checks, failover selection).
|
|
8
|
-
*
|
|
9
|
-
* Think of it as a **query planner** for an agent-based microservice mesh:
|
|
10
|
-
* you describe WHAT you need, and the SubnetworkBuilder finds WHO can do it,
|
|
11
|
-
* optimizing for cost, reputation, latency, or a weighted combination.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { SubnetworkBuilder, SAPDiscovery } from '@oobe-protocol-labs/synapse-client-sdk/ai/sap';
|
|
16
|
-
*
|
|
17
|
-
* const discovery = new SAPDiscovery(client, { programId });
|
|
18
|
-
* const subnet = new SubnetworkBuilder(discovery);
|
|
19
|
-
*
|
|
20
|
-
* // Build a subnetwork that can swap, lend, and analyze risk
|
|
21
|
-
* const result = await subnet.build({
|
|
22
|
-
* requiredCapabilities: ['jupiter:swap', 'solend:lend', 'ai:riskScore'],
|
|
23
|
-
* strategy: 'balanced',
|
|
24
|
-
* maxCostPerCall: 5000n,
|
|
25
|
-
* });
|
|
26
|
-
*
|
|
27
|
-
* if (result.complete) {
|
|
28
|
-
* for (const assignment of result.assignments) {
|
|
29
|
-
* console.log(`${assignment.capability} → ${assignment.agent.name}`);
|
|
30
|
-
* }
|
|
31
|
-
* console.log(`Total cost: ${result.estimatedCostPerCall}`);
|
|
32
|
-
* }
|
|
33
|
-
* ```
|
|
34
|
-
*
|
|
35
|
-
* @since 1.4.0
|
|
36
|
-
*/
|
|
37
|
-
import type { AgentPDAAccount, AgentPricingOnChain } from './types';
|
|
38
|
-
import type { SAPDiscovery } from './discovery';
|
|
39
|
-
/**
|
|
40
|
-
* @description Optimization strategy for agent selection.
|
|
41
|
-
* @since 1.4.0
|
|
42
|
-
*/
|
|
43
|
-
export type SelectionStrategy = 'cheapest' | 'reputable' | 'fastest' | 'balanced';
|
|
44
|
-
/**
|
|
45
|
-
* @description Configuration for building a subnetwork.
|
|
46
|
-
* @since 1.4.0
|
|
47
|
-
*/
|
|
48
|
-
export interface SubnetworkConfig {
|
|
49
|
-
/** Capabilities the subnetwork must collectively support. */
|
|
50
|
-
requiredCapabilities: string[];
|
|
51
|
-
/** Optimization strategy. @default 'balanced' */
|
|
52
|
-
strategy?: SelectionStrategy;
|
|
53
|
-
/** Maximum acceptable cost per call (total across all agents). */
|
|
54
|
-
maxCostPerCall?: bigint;
|
|
55
|
-
/** Minimum reputation score for any agent in the subnetwork. @default 0 */
|
|
56
|
-
minReputation?: number;
|
|
57
|
-
/** Minimum uptime for any agent. @default 0 */
|
|
58
|
-
minUptime?: number;
|
|
59
|
-
/** Pricing tier to use for cost calculations. @default 'standard' */
|
|
60
|
-
pricingTier?: string;
|
|
61
|
-
/** Maximum number of agents in the subnetwork. @default 10 */
|
|
62
|
-
maxAgents?: number;
|
|
63
|
-
/** Prefer agents that cover multiple required capabilities (reduces hop count). @default true */
|
|
64
|
-
preferMultiCapable?: boolean;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* @description A single capability → agent assignment in a subnetwork.
|
|
68
|
-
* @since 1.4.0
|
|
69
|
-
*/
|
|
70
|
-
export interface CapabilityAssignment {
|
|
71
|
-
/** The capability ID. */
|
|
72
|
-
capability: string;
|
|
73
|
-
/** The agent assigned to provide this capability. */
|
|
74
|
-
agent: AgentPDAAccount;
|
|
75
|
-
/** The pricing tier selected for this agent. */
|
|
76
|
-
pricing: AgentPricingOnChain;
|
|
77
|
-
/** The agent's reputation score. */
|
|
78
|
-
reputationScore: number;
|
|
79
|
-
/** The agent's average latency. */
|
|
80
|
-
latencyMs: number;
|
|
81
|
-
/** Alternative agents that could provide this capability (sorted by score). */
|
|
82
|
-
alternatives: AgentPDAAccount[];
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* @description Result of a subnetwork build operation.
|
|
86
|
-
* @since 1.4.0
|
|
87
|
-
*/
|
|
88
|
-
export interface SubnetworkResult {
|
|
89
|
-
/** Whether ALL required capabilities were assigned. */
|
|
90
|
-
complete: boolean;
|
|
91
|
-
/** Capability → agent assignments. */
|
|
92
|
-
assignments: CapabilityAssignment[];
|
|
93
|
-
/** Capabilities that could NOT be assigned (no agents found). */
|
|
94
|
-
unassigned: string[];
|
|
95
|
-
/** Unique agents in this subnetwork (deduplicated). */
|
|
96
|
-
agents: AgentPDAAccount[];
|
|
97
|
-
/** Estimated total cost per call (sum across all agents). */
|
|
98
|
-
estimatedCostPerCall: bigint;
|
|
99
|
-
/** Average reputation across all agents. */
|
|
100
|
-
avgReputation: number;
|
|
101
|
-
/** Max latency across all agents (bottleneck). */
|
|
102
|
-
maxLatencyMs: number;
|
|
103
|
-
/** Time taken to build the subnetwork (ms). */
|
|
104
|
-
buildTimeMs: number;
|
|
105
|
-
/** The strategy used. */
|
|
106
|
-
strategy: SelectionStrategy;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* @description Health status of the subnetwork.
|
|
110
|
-
* @since 1.4.0
|
|
111
|
-
*/
|
|
112
|
-
export interface SubnetworkHealth {
|
|
113
|
-
/** Overall health: 'healthy' | 'degraded' | 'critical'. */
|
|
114
|
-
status: 'healthy' | 'degraded' | 'critical';
|
|
115
|
-
/** Per-agent health. */
|
|
116
|
-
agents: Array<{
|
|
117
|
-
agent: AgentPDAAccount;
|
|
118
|
-
capabilities: string[];
|
|
119
|
-
isHealthy: boolean;
|
|
120
|
-
reason?: string;
|
|
121
|
-
}>;
|
|
122
|
-
/** Capabilities at risk (only one agent, low reputation or uptime). */
|
|
123
|
-
atRisk: string[];
|
|
124
|
-
/** Capabilities with redundancy (2+ agents can provide them). */
|
|
125
|
-
redundant: string[];
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* @description Builds and manages agent sub-networks for multi-capability tasks.
|
|
129
|
-
*
|
|
130
|
-
* The builder:
|
|
131
|
-
* 1. Discovers agents for each required capability via {@link SAPDiscovery}
|
|
132
|
-
* 2. Scores candidates using the selected strategy
|
|
133
|
-
* 3. Assigns agents to capabilities, preferring multi-capable agents
|
|
134
|
-
* 4. Computes cost, reputation, and latency estimates
|
|
135
|
-
* 5. Identifies failover alternatives for each assignment
|
|
136
|
-
*
|
|
137
|
-
* @since 1.4.0
|
|
138
|
-
*/
|
|
139
|
-
export declare class SubnetworkBuilder {
|
|
140
|
-
private readonly discovery;
|
|
141
|
-
constructor(discovery: SAPDiscovery);
|
|
142
|
-
/**
|
|
143
|
-
* @description Build an optimal subnetwork covering all required capabilities.
|
|
144
|
-
*
|
|
145
|
-
* @param {SubnetworkConfig} config - Subnetwork requirements
|
|
146
|
-
* @returns {Promise<SubnetworkResult>} The built subnetwork with assignments
|
|
147
|
-
*
|
|
148
|
-
* @example
|
|
149
|
-
* ```ts
|
|
150
|
-
* const result = await subnet.build({
|
|
151
|
-
* requiredCapabilities: ['jupiter:swap', 'pyth:getPrice', 'ai:riskScore'],
|
|
152
|
-
* strategy: 'balanced',
|
|
153
|
-
* minReputation: 500,
|
|
154
|
-
* maxCostPerCall: 10000n,
|
|
155
|
-
* });
|
|
156
|
-
* ```
|
|
157
|
-
*
|
|
158
|
-
* @since 1.4.0
|
|
159
|
-
*/
|
|
160
|
-
build(config: SubnetworkConfig): Promise<SubnetworkResult>;
|
|
161
|
-
/**
|
|
162
|
-
* @description Evaluate the health of an existing subnetwork result.
|
|
163
|
-
*
|
|
164
|
-
* Checks each assigned agent's reputation, uptime, and latency,
|
|
165
|
-
* and identifies capabilities at risk (single provider) or with
|
|
166
|
-
* redundancy (multiple alternatives).
|
|
167
|
-
*
|
|
168
|
-
* @param {SubnetworkResult} subnet - A previously built subnetwork
|
|
169
|
-
* @returns {SubnetworkHealth} Health assessment
|
|
170
|
-
*
|
|
171
|
-
* @since 1.4.0
|
|
172
|
-
*/
|
|
173
|
-
evaluateHealth(subnet: SubnetworkResult): SubnetworkHealth;
|
|
174
|
-
/**
|
|
175
|
-
* @description Rebuild a subnetwork, replacing unhealthy agents with alternatives.
|
|
176
|
-
*
|
|
177
|
-
* @param {SubnetworkResult} current - The current subnetwork
|
|
178
|
-
* @param {SubnetworkConfig} config - Original config (for constraints)
|
|
179
|
-
* @returns {Promise<SubnetworkResult>} A rebuilt subnetwork
|
|
180
|
-
*
|
|
181
|
-
* @since 1.4.0
|
|
182
|
-
*/
|
|
183
|
-
rebuild(current: SubnetworkResult, config: SubnetworkConfig): Promise<SubnetworkResult>;
|
|
184
|
-
/**
|
|
185
|
-
* @description Estimate the total cost for N calls through the subnetwork.
|
|
186
|
-
* @param {SubnetworkResult} subnet - Built subnetwork
|
|
187
|
-
* @param {number} calls - Number of calls to estimate for
|
|
188
|
-
* @returns {{ totalCost: bigint; perAgent: Array<{ agent: string; cost: bigint }> }}
|
|
189
|
-
* @since 1.4.0
|
|
190
|
-
*/
|
|
191
|
-
estimateCost(subnet: SubnetworkResult, calls: number): {
|
|
192
|
-
totalCost: bigint;
|
|
193
|
-
perAgent: Array<{
|
|
194
|
-
agent: string;
|
|
195
|
-
cost: bigint;
|
|
196
|
-
}>;
|
|
197
|
-
};
|
|
198
|
-
private scoreAgent;
|
|
199
|
-
private findPricing;
|
|
200
|
-
}
|
|
201
|
-
//# sourceMappingURL=subnetwork.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subnetwork.d.ts","sourceRoot":"","sources":["../../../../src/ai/sap/subnetwork.ts"],"names":[],"mappings":"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"}
|