@oobe-protocol-labs/synapse-client-sdk 2.0.2 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +54 -0
- package/README.md +2 -2
- package/dist/cjs/ai/index.d.ts +1 -1
- package/dist/cjs/ai/index.d.ts.map +1 -1
- package/dist/cjs/ai/index.js +12 -28
- package/dist/cjs/ai/index.js.map +1 -1
- package/dist/cjs/ai/sap/client.d.ts +197 -0
- package/dist/cjs/ai/sap/client.d.ts.map +1 -0
- package/dist/cjs/ai/sap/client.js +334 -0
- package/dist/cjs/ai/sap/client.js.map +1 -0
- package/dist/cjs/ai/sap/index.d.ts +69 -52
- package/dist/cjs/ai/sap/index.d.ts.map +1 -1
- package/dist/cjs/ai/sap/index.js +73 -77
- package/dist/cjs/ai/sap/index.js.map +1 -1
- package/dist/cjs/ai/sap/provider.d.ts +180 -0
- package/dist/cjs/ai/sap/provider.d.ts.map +1 -0
- package/dist/cjs/ai/sap/provider.js +219 -0
- package/dist/cjs/ai/sap/provider.js.map +1 -0
- package/dist/cjs/ai/sap/types.d.ts +120 -384
- package/dist/cjs/ai/sap/types.d.ts.map +1 -1
- package/dist/cjs/ai/sap/types.js +20 -200
- package/dist/cjs/ai/sap/types.js.map +1 -1
- package/dist/docs/classes/AccountReader.html +18 -18
- package/dist/docs/classes/AccountsClient.html +10 -10
- package/dist/docs/classes/AsyncProviderError.html +4 -4
- package/dist/docs/classes/CircularDependencyError.html +4 -4
- package/dist/docs/classes/DasClient.html +13 -13
- package/dist/docs/classes/GeyserParser.html +17 -17
- package/dist/docs/classes/GrpcTransport.html +6 -6
- package/dist/docs/classes/HttpTransport.html +4 -4
- package/dist/docs/classes/InstructionWriter.html +11 -11
- package/dist/docs/classes/MemoryGuard.html +9 -9
- package/dist/docs/classes/NetworkError.html +5 -5
- package/dist/docs/classes/RefRegistry.html +11 -11
- package/dist/docs/classes/RefReleasedError.html +4 -4
- package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
- package/dist/docs/classes/ServiceNotFoundError.html +4 -4
- package/dist/docs/classes/ServiceRef.html +13 -13
- package/dist/docs/classes/SolanaRpc.html +55 -55
- package/dist/docs/classes/SynapseClient.html +15 -15
- package/dist/docs/classes/SynapseContext.html +27 -27
- package/dist/docs/classes/SynapseError.html +4 -4
- package/dist/docs/classes/TimeoutError.html +4 -4
- package/dist/docs/classes/UpstreamError.html +6 -6
- package/dist/docs/classes/WeakServiceRef.html +4 -4
- package/dist/docs/classes/WsClient.html +10 -10
- package/dist/docs/enums/SynapseNetwork.html +2 -2
- package/dist/docs/enums/SynapseRegion.html +2 -2
- package/dist/docs/enums/TokenExtensionType.html +2 -2
- package/dist/docs/functions/Epoch-1.html +1 -1
- package/dist/docs/functions/Lamports-2.html +1 -1
- package/dist/docs/functions/Pubkey-1.html +1 -1
- package/dist/docs/functions/Sig.html +1 -1
- package/dist/docs/functions/Slot-1.html +1 -1
- package/dist/docs/functions/UnixTs.html +1 -1
- package/dist/docs/functions/autoSelectRegion.html +1 -1
- package/dist/docs/functions/autoWire.html +1 -1
- package/dist/docs/functions/base58Encode.html +1 -1
- package/dist/docs/functions/base64ToBytes.html +1 -1
- package/dist/docs/functions/bigIntReplacer.html +1 -1
- package/dist/docs/functions/chunk.html +1 -1
- package/dist/docs/functions/computeBalanceChanges.html +1 -1
- package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
- package/dist/docs/functions/createBareContext.html +1 -1
- package/dist/docs/functions/createBinding.html +1 -1
- package/dist/docs/functions/createBoundHook.html +1 -1
- package/dist/docs/functions/createReactAdapter.html +1 -1
- package/dist/docs/functions/createRefHook.html +1 -1
- package/dist/docs/functions/createServerMiddleware.html +1 -1
- package/dist/docs/functions/createServiceHook.html +1 -1
- package/dist/docs/functions/createSingleton.html +1 -1
- package/dist/docs/functions/createSynapse.html +1 -1
- package/dist/docs/functions/createSynapseContext.html +1 -1
- package/dist/docs/functions/createToken.html +1 -1
- package/dist/docs/functions/decodeBase58.html +1 -1
- package/dist/docs/functions/decodeLookupTable.html +1 -1
- package/dist/docs/functions/decodeMint.html +1 -1
- package/dist/docs/functions/decodeMultisig.html +1 -1
- package/dist/docs/functions/decodeNonceAccount.html +1 -1
- package/dist/docs/functions/decodeStakeAccount.html +1 -1
- package/dist/docs/functions/decodeToken2022Account.html +1 -1
- package/dist/docs/functions/decodeToken2022Mint.html +1 -1
- package/dist/docs/functions/decodeTokenAccount.html +1 -1
- package/dist/docs/functions/encodeBase58.html +1 -1
- package/dist/docs/functions/fetchLookupTable.html +1 -1
- package/dist/docs/functions/fetchMint.html +1 -1
- package/dist/docs/functions/fetchNonceAccount.html +1 -1
- package/dist/docs/functions/fetchStakeAccount.html +1 -1
- package/dist/docs/functions/fetchTokenAccount.html +1 -1
- package/dist/docs/functions/fetchTokenAccountsByOwner.html +1 -1
- package/dist/docs/functions/fromKitAddress.html +1 -1
- package/dist/docs/functions/getAccountInfo.html +1 -1
- package/dist/docs/functions/getAsset.html +1 -1
- package/dist/docs/functions/getAssetBatch.html +1 -1
- package/dist/docs/functions/getAssetProof.html +1 -1
- package/dist/docs/functions/getAssetProofBatch.html +1 -1
- package/dist/docs/functions/getAssetsByAuthority.html +1 -1
- package/dist/docs/functions/getAssetsByCreator.html +1 -1
- package/dist/docs/functions/getAssetsByGroup.html +1 -1
- package/dist/docs/functions/getAssetsByOwner.html +1 -1
- package/dist/docs/functions/getBalance.html +1 -1
- package/dist/docs/functions/getBlock.html +1 -1
- package/dist/docs/functions/getBlockCommitment.html +1 -1
- package/dist/docs/functions/getBlockHeight.html +1 -1
- package/dist/docs/functions/getBlockProduction.html +1 -1
- package/dist/docs/functions/getBlockTime.html +1 -1
- package/dist/docs/functions/getBlocks.html +1 -1
- package/dist/docs/functions/getBlocksWithLimit.html +1 -1
- package/dist/docs/functions/getClusterNodes.html +1 -1
- package/dist/docs/functions/getContext.html +1 -1
- package/dist/docs/functions/getDecodedAccount.html +1 -1
- package/dist/docs/functions/getDecodedAccounts.html +1 -1
- package/dist/docs/functions/getEnvironment.html +1 -1
- package/dist/docs/functions/getEpochInfo.html +1 -1
- package/dist/docs/functions/getEpochSchedule.html +1 -1
- package/dist/docs/functions/getFeeForMessage.html +1 -1
- package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
- package/dist/docs/functions/getGenesisHash.html +1 -1
- package/dist/docs/functions/getHealth.html +1 -1
- package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
- package/dist/docs/functions/getIdentity.html +1 -1
- package/dist/docs/functions/getInflationGovernor.html +1 -1
- package/dist/docs/functions/getInflationRate.html +1 -1
- package/dist/docs/functions/getInflationReward.html +1 -1
- package/dist/docs/functions/getLargestAccounts.html +1 -1
- package/dist/docs/functions/getLatestBlockhash.html +1 -1
- package/dist/docs/functions/getLeaderSchedule.html +1 -1
- package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
- package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
- package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
- package/dist/docs/functions/getMultipleAccounts.html +1 -1
- package/dist/docs/functions/getProgramAccounts.html +1 -1
- package/dist/docs/functions/getProgramCategory.html +1 -1
- package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
- package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
- package/dist/docs/functions/getSignatureStatuses.html +1 -1
- package/dist/docs/functions/getSignaturesForAddress.html +1 -1
- package/dist/docs/functions/getSignaturesForAsset.html +1 -1
- package/dist/docs/functions/getSlot.html +1 -1
- package/dist/docs/functions/getSlotLeader.html +1 -1
- package/dist/docs/functions/getSlotLeaders.html +1 -1
- package/dist/docs/functions/getStakeActivation.html +1 -1
- package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
- package/dist/docs/functions/getSupply.html +1 -1
- package/dist/docs/functions/getTokenAccountBalance.html +1 -1
- package/dist/docs/functions/getTokenAccounts.html +1 -1
- package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
- package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
- package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
- package/dist/docs/functions/getTokenSupply.html +1 -1
- package/dist/docs/functions/getTransaction.html +1 -1
- package/dist/docs/functions/getTransactionCount.html +1 -1
- package/dist/docs/functions/getVersion.html +1 -1
- package/dist/docs/functions/getVoteAccounts.html +1 -1
- package/dist/docs/functions/isBlockhashValid.html +1 -1
- package/dist/docs/functions/isBrowser.html +1 -1
- package/dist/docs/functions/isDisposable.html +1 -1
- package/dist/docs/functions/isProgramInCategory.html +1 -1
- package/dist/docs/functions/isServer.html +1 -1
- package/dist/docs/functions/isValidPubkey.html +1 -1
- package/dist/docs/functions/isValidSignature.html +1 -1
- package/dist/docs/functions/lamportsToSol.html +1 -1
- package/dist/docs/functions/listEndpoints.html +1 -1
- package/dist/docs/functions/listNetworks.html +1 -1
- package/dist/docs/functions/listRegions.html +1 -1
- package/dist/docs/functions/minimumLedgerSlot.html +1 -1
- package/dist/docs/functions/parseAccountUpdate.html +1 -1
- package/dist/docs/functions/parseBlockMeta.html +1 -1
- package/dist/docs/functions/parseEntry.html +1 -1
- package/dist/docs/functions/parseGeyserUpdate.html +1 -1
- package/dist/docs/functions/parseSlotUpdate.html +1 -1
- package/dist/docs/functions/parseTimestamp.html +1 -1
- package/dist/docs/functions/parseTransaction.html +1 -1
- package/dist/docs/functions/probeLatency.html +1 -1
- package/dist/docs/functions/rawBufferToBase58.html +1 -1
- package/dist/docs/functions/rawBufferToBase64.html +1 -1
- package/dist/docs/functions/rawBufferToBytes.html +1 -1
- package/dist/docs/functions/rawBufferToHex.html +1 -1
- package/dist/docs/functions/readonly.html +1 -1
- package/dist/docs/functions/readonlySigner.html +1 -1
- package/dist/docs/functions/requestAirdrop.html +1 -1
- package/dist/docs/functions/resolveEndpoint.html +1 -1
- package/dist/docs/functions/resolveProgram.html +1 -1
- package/dist/docs/functions/resolveProgramBatch.html +1 -1
- package/dist/docs/functions/retry.html +1 -1
- package/dist/docs/functions/searchAssets.html +1 -1
- package/dist/docs/functions/sendTransaction.html +1 -1
- package/dist/docs/functions/setGlobalContext.html +1 -1
- package/dist/docs/functions/simulateTransaction.html +1 -1
- package/dist/docs/functions/sleep.html +1 -1
- package/dist/docs/functions/solToLamports.html +1 -1
- package/dist/docs/functions/toClientConfig.html +1 -1
- package/dist/docs/functions/toJsonSafe.html +1 -1
- package/dist/docs/functions/toKitAddress.html +1 -1
- package/dist/docs/functions/toKitInstruction.html +1 -1
- package/dist/docs/functions/toKitLamports.html +1 -1
- package/dist/docs/functions/toKitSignatureString.html +1 -1
- package/dist/docs/functions/tryGetContext.html +1 -1
- package/dist/docs/functions/tryUseService.html +1 -1
- package/dist/docs/functions/useBoundServices.html +1 -1
- package/dist/docs/functions/useService.html +1 -1
- package/dist/docs/functions/useSharedRef.html +1 -1
- package/dist/docs/functions/withRef.html +1 -1
- package/dist/docs/functions/withRefAsync.html +1 -1
- package/dist/docs/functions/writable.html +1 -1
- package/dist/docs/functions/writableSigner.html +1 -1
- package/dist/docs/index.html +2 -2
- package/dist/docs/interfaces/AccountInfo.html +7 -7
- package/dist/docs/interfaces/AccountMeta.html +4 -4
- package/dist/docs/interfaces/AccountNotification.html +2 -2
- package/dist/docs/interfaces/AccountSubParams.html +2 -2
- package/dist/docs/interfaces/AddMemoParams.html +5 -5
- package/dist/docs/interfaces/AdvanceNonceParams.html +3 -3
- package/dist/docs/interfaces/AliasProvider.html +2 -2
- package/dist/docs/interfaces/AllocateParams.html +3 -3
- package/dist/docs/interfaces/ApproveCheckedParams.html +9 -9
- package/dist/docs/interfaces/ApproveParams.html +7 -7
- package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
- package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
- package/dist/docs/interfaces/AssignParams.html +3 -3
- package/dist/docs/interfaces/AsyncFactoryProvider.html +2 -2
- package/dist/docs/interfaces/AuthorizeNonceParams.html +4 -4
- package/dist/docs/interfaces/BalanceChange.html +6 -6
- package/dist/docs/interfaces/BlockProduction.html +3 -3
- package/dist/docs/interfaces/BlockResult.html +2 -2
- package/dist/docs/interfaces/BlockReward.html +2 -2
- package/dist/docs/interfaces/BlockhashResult.html +2 -2
- package/dist/docs/interfaces/BurnCheckedParams.html +8 -8
- package/dist/docs/interfaces/BurnParams.html +7 -7
- package/dist/docs/interfaces/CallOptions.html +6 -6
- package/dist/docs/interfaces/ClassProvider.html +2 -2
- package/dist/docs/interfaces/CloseAccountParams.html +6 -6
- package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
- package/dist/docs/interfaces/ContactInfo.html +2 -2
- package/dist/docs/interfaces/ContextAdapter.html +5 -5
- package/dist/docs/interfaces/ContextEvents.html +6 -6
- package/dist/docs/interfaces/ContextModule.html +3 -3
- package/dist/docs/interfaces/CreateATAParams.html +6 -6
- package/dist/docs/interfaces/CreateAccountParams.html +6 -6
- package/dist/docs/interfaces/CreateAccountWithSeedParams.html +8 -8
- package/dist/docs/interfaces/CreateSynapseContextOpts.html +4 -4
- package/dist/docs/interfaces/DasAsset.html +2 -2
- package/dist/docs/interfaces/DasAssetProof.html +2 -2
- package/dist/docs/interfaces/DasAuthority.html +2 -2
- package/dist/docs/interfaces/DasCompression.html +2 -2
- package/dist/docs/interfaces/DasContent.html +2 -2
- package/dist/docs/interfaces/DasCreator.html +2 -2
- package/dist/docs/interfaces/DasFile.html +2 -2
- package/dist/docs/interfaces/DasGrouping.html +2 -2
- package/dist/docs/interfaces/DasOpts.html +2 -2
- package/dist/docs/interfaces/DasOwnership.html +2 -2
- package/dist/docs/interfaces/DasPage.html +2 -2
- package/dist/docs/interfaces/DasRoyalty.html +2 -2
- package/dist/docs/interfaces/DasSearchParams.html +2 -2
- package/dist/docs/interfaces/DasSupply.html +2 -2
- package/dist/docs/interfaces/DataSlice.html +3 -3
- package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
- package/dist/docs/interfaces/DecodedLookupTable.html +8 -8
- package/dist/docs/interfaces/DecodedMint.html +6 -6
- package/dist/docs/interfaces/DecodedMultisig.html +5 -5
- package/dist/docs/interfaces/DecodedNonceAccount.html +6 -6
- package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
- package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
- package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
- package/dist/docs/interfaces/DecodedTokenAccount.html +9 -9
- package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
- package/dist/docs/interfaces/Disposable.html +2 -2
- package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
- package/dist/docs/interfaces/EpochInfo.html +7 -7
- package/dist/docs/interfaces/EpochSchedule.html +2 -2
- package/dist/docs/interfaces/FactoryProvider.html +2 -2
- package/dist/docs/interfaces/FetchedMint.html +6 -6
- package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
- package/dist/docs/interfaces/FreezeThawParams.html +6 -6
- package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
- package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
- package/dist/docs/interfaces/GetBlockOpts.html +6 -6
- package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
- package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
- package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
- package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
- package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
- package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
- package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
- package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
- package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
- package/dist/docs/interfaces/GeyserParserStats.html +2 -2
- package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
- package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
- package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
- package/dist/docs/interfaces/InflationGovernor.html +2 -2
- package/dist/docs/interfaces/InflationRate.html +2 -2
- package/dist/docs/interfaces/InflationReward.html +2 -2
- package/dist/docs/interfaces/InitializeAccountParams.html +5 -5
- package/dist/docs/interfaces/InitializeMintParams.html +6 -6
- package/dist/docs/interfaces/InitializeNonceParams.html +3 -3
- package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
- package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
- package/dist/docs/interfaces/LeakReport.html +5 -5
- package/dist/docs/interfaces/LogsNotification.html +2 -2
- package/dist/docs/interfaces/LogsSubParams.html +2 -2
- package/dist/docs/interfaces/MemoTransferExt.html +2 -2
- package/dist/docs/interfaces/MemoryGuardConfig.html +4 -4
- package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
- package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
- package/dist/docs/interfaces/MintToCheckedParams.html +8 -8
- package/dist/docs/interfaces/MintToParams.html +7 -7
- package/dist/docs/interfaces/NonTransferableExt.html +2 -2
- package/dist/docs/interfaces/PaginationOpts.html +2 -2
- package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
- package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
- package/dist/docs/interfaces/ParsedEntry.html +2 -2
- package/dist/docs/interfaces/ParsedInstruction.html +9 -9
- package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
- package/dist/docs/interfaces/ParsedTransaction.html +19 -19
- package/dist/docs/interfaces/PerfSample.html +2 -2
- package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
- package/dist/docs/interfaces/ProgramAccount.html +2 -2
- package/dist/docs/interfaces/ProgramNotification.html +2 -2
- package/dist/docs/interfaces/ProgramSubParams.html +2 -2
- package/dist/docs/interfaces/ProgramsBundle.html +33 -33
- package/dist/docs/interfaces/RawAccountInfo.html +2 -2
- package/dist/docs/interfaces/RawBlockMeta.html +2 -2
- package/dist/docs/interfaces/RawBuffer.html +2 -2
- package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
- package/dist/docs/interfaces/RawEntry.html +2 -2
- package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
- package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
- package/dist/docs/interfaces/RawSlotInfo.html +2 -2
- package/dist/docs/interfaces/RawTimestamp.html +2 -2
- package/dist/docs/interfaces/RawTokenBalance.html +2 -2
- package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
- package/dist/docs/interfaces/ReactAdapterConfig.html +2 -2
- package/dist/docs/interfaces/RecoverNestedParams.html +7 -7
- package/dist/docs/interfaces/RefRegistryConfig.html +2 -2
- package/dist/docs/interfaces/RefStats.html +7 -7
- package/dist/docs/interfaces/RequestHeapFrameParams.html +2 -2
- package/dist/docs/interfaces/ResolveMiddleware.html +1 -1
- package/dist/docs/interfaces/RevokeParams.html +5 -5
- package/dist/docs/interfaces/RootNotification.html +2 -2
- package/dist/docs/interfaces/RootSubParams.html +1 -1
- package/dist/docs/interfaces/RpcContext.html +2 -2
- package/dist/docs/interfaces/RpcError.html +4 -4
- package/dist/docs/interfaces/RpcRequest.html +3 -3
- package/dist/docs/interfaces/RpcResponse.html +2 -2
- package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
- package/dist/docs/interfaces/ServerAdapterConfig.html +3 -3
- package/dist/docs/interfaces/ServiceBinding.html +6 -6
- package/dist/docs/interfaces/ServiceRegistration.html +3 -3
- package/dist/docs/interfaces/ServiceResolver.html +6 -6
- package/dist/docs/interfaces/ServiceToken.html +4 -4
- package/dist/docs/interfaces/SetComputeUnitLimitParams.html +2 -2
- package/dist/docs/interfaces/SetComputeUnitPriceParams.html +2 -2
- package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +2 -2
- package/dist/docs/interfaces/SignatureInfo.html +7 -7
- package/dist/docs/interfaces/SignatureNotification.html +2 -2
- package/dist/docs/interfaces/SignatureStatus.html +5 -5
- package/dist/docs/interfaces/SignatureSubParams.html +2 -2
- package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
- package/dist/docs/interfaces/SimulateResult.html +2 -2
- package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
- package/dist/docs/interfaces/SingletonOptions.html +2 -2
- package/dist/docs/interfaces/SlotNotification.html +2 -2
- package/dist/docs/interfaces/SlotSubParams.html +1 -1
- package/dist/docs/interfaces/SortOpts.html +2 -2
- package/dist/docs/interfaces/StakeAuthorized.html +2 -2
- package/dist/docs/interfaces/StakeDelegation.html +3 -3
- package/dist/docs/interfaces/StakeLockup.html +4 -4
- package/dist/docs/interfaces/StakeMeta.html +2 -2
- package/dist/docs/interfaces/Supply.html +5 -5
- package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
- package/dist/docs/interfaces/SynapseClientLike.html +2 -2
- package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
- package/dist/docs/interfaces/SyncNativeParams.html +3 -3
- package/dist/docs/interfaces/SystemTransferParams.html +4 -4
- package/dist/docs/interfaces/TokenAccount.html +3 -3
- package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
- package/dist/docs/interfaces/TokenAmount.html +5 -5
- package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
- package/dist/docs/interfaces/TokenTransferParams.html +7 -7
- package/dist/docs/interfaces/TransactionInstruction.html +4 -4
- package/dist/docs/interfaces/TransactionMeta.html +11 -11
- package/dist/docs/interfaces/TransferCheckedParams.html +9 -9
- package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
- package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
- package/dist/docs/interfaces/TransportConfig.html +7 -7
- package/dist/docs/interfaces/UnknownExtension.html +2 -2
- package/dist/docs/interfaces/ValueProvider.html +2 -2
- package/dist/docs/interfaces/VoteAccount.html +9 -9
- package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
- package/dist/docs/interfaces/WithdrawNonceParams.html +5 -5
- package/dist/docs/interfaces/WsConfig.html +6 -6
- package/dist/docs/media/CHANGELOG.md +54 -0
- package/dist/docs/types/AccountFetchOpts.html +1 -1
- package/dist/docs/types/AccountFilter.html +1 -1
- package/dist/docs/types/Base58.html +1 -1
- package/dist/docs/types/Brand.html +1 -1
- package/dist/docs/types/Commitment.html +1 -1
- package/dist/docs/types/DasSortBy.html +1 -1
- package/dist/docs/types/DasSortDirection.html +1 -1
- package/dist/docs/types/DataSizeFilter.html +1 -1
- package/dist/docs/types/DecodedExtension.html +1 -1
- package/dist/docs/types/Encoding.html +1 -1
- package/dist/docs/types/Epoch.html +1 -1
- package/dist/docs/types/Lamports.html +1 -1
- package/dist/docs/types/LogsFilter.html +1 -1
- package/dist/docs/types/MemcmpFilter.html +1 -1
- package/dist/docs/types/NonceState.html +1 -1
- package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
- package/dist/docs/types/Pubkey.html +1 -1
- package/dist/docs/types/RuntimeEnv.html +1 -1
- package/dist/docs/types/ServiceLifecycle.html +1 -1
- package/dist/docs/types/ServiceProvider.html +1 -1
- package/dist/docs/types/Signature.html +1 -1
- package/dist/docs/types/Slot.html +1 -1
- package/dist/docs/types/StakeAccountType.html +1 -1
- package/dist/docs/types/SubscriptionId.html +1 -1
- package/dist/docs/types/TokenAccountState.html +1 -1
- package/dist/docs/types/TransactionDetail.html +1 -1
- package/dist/docs/types/UnaryMethod.html +1 -1
- package/dist/docs/types/UnixTimestamp.html +1 -1
- package/dist/docs/types/WsNotification.html +1 -1
- package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +1 -1
- package/dist/docs/variables/AssociatedToken.html +4 -4
- package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +1 -1
- package/dist/docs/variables/ComputeBudget.html +5 -5
- package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
- package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
- package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
- package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
- package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
- package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
- package/dist/docs/variables/MEMO_PROGRAM_V1.html +1 -1
- package/dist/docs/variables/MEMO_PROGRAM_V2.html +1 -1
- package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
- package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
- package/dist/docs/variables/MINT_SIZE.html +1 -1
- package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
- package/dist/docs/variables/Memo.html +2 -2
- package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
- package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
- package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
- package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
- package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
- package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
- package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
- package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
- package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
- package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
- package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAM.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/SplToken.html +16 -16
- package/dist/docs/variables/SystemProgram.html +10 -10
- package/dist/docs/variables/TOKEN_2022_PROGRAM.html +1 -1
- package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
- package/dist/docs/variables/TOKEN_PROGRAM.html +1 -1
- package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/Tokens.html +1 -1
- package/dist/esm/ai/index.d.ts +1 -1
- package/dist/esm/ai/index.d.ts.map +1 -1
- package/dist/esm/ai/index.js +9 -11
- package/dist/esm/ai/index.js.map +1 -1
- package/dist/esm/ai/sap/client.d.ts +197 -0
- package/dist/esm/ai/sap/client.d.ts.map +1 -0
- package/dist/esm/ai/sap/client.js +330 -0
- package/dist/esm/ai/sap/client.js.map +1 -0
- package/dist/esm/ai/sap/index.d.ts +69 -52
- package/dist/esm/ai/sap/index.d.ts.map +1 -1
- package/dist/esm/ai/sap/index.js +68 -49
- package/dist/esm/ai/sap/index.js.map +1 -1
- package/dist/esm/ai/sap/provider.d.ts +180 -0
- package/dist/esm/ai/sap/provider.d.ts.map +1 -0
- package/dist/esm/ai/sap/provider.js +215 -0
- package/dist/esm/ai/sap/provider.js.map +1 -0
- package/dist/esm/ai/sap/types.d.ts +120 -384
- package/dist/esm/ai/sap/types.d.ts.map +1 -1
- package/dist/esm/ai/sap/types.js +18 -195
- package/dist/esm/ai/sap/types.js.map +1 -1
- package/package.json +31 -20
- package/dist/cjs/ai/sap/adapter.d.ts +0 -140
- package/dist/cjs/ai/sap/adapter.d.ts.map +0 -1
- package/dist/cjs/ai/sap/adapter.js +0 -181
- package/dist/cjs/ai/sap/adapter.js.map +0 -1
- package/dist/cjs/ai/sap/discovery.d.ts +0 -165
- package/dist/cjs/ai/sap/discovery.d.ts.map +0 -1
- package/dist/cjs/ai/sap/discovery.js +0 -316
- package/dist/cjs/ai/sap/discovery.js.map +0 -1
- package/dist/cjs/ai/sap/pda.d.ts +0 -205
- package/dist/cjs/ai/sap/pda.d.ts.map +0 -1
- package/dist/cjs/ai/sap/pda.js +0 -547
- package/dist/cjs/ai/sap/pda.js.map +0 -1
- package/dist/cjs/ai/sap/program.d.ts +0 -153
- package/dist/cjs/ai/sap/program.d.ts.map +0 -1
- package/dist/cjs/ai/sap/program.js +0 -227
- package/dist/cjs/ai/sap/program.js.map +0 -1
- package/dist/cjs/ai/sap/registry.d.ts +0 -218
- package/dist/cjs/ai/sap/registry.d.ts.map +0 -1
- package/dist/cjs/ai/sap/registry.js +0 -519
- package/dist/cjs/ai/sap/registry.js.map +0 -1
- package/dist/cjs/ai/sap/scoring.d.ts +0 -138
- package/dist/cjs/ai/sap/scoring.d.ts.map +0 -1
- package/dist/cjs/ai/sap/scoring.js +0 -266
- package/dist/cjs/ai/sap/scoring.js.map +0 -1
- package/dist/cjs/ai/sap/subnetwork.d.ts +0 -201
- package/dist/cjs/ai/sap/subnetwork.d.ts.map +0 -1
- package/dist/cjs/ai/sap/subnetwork.js +0 -365
- package/dist/cjs/ai/sap/subnetwork.js.map +0 -1
- package/dist/cjs/ai/sap/validator.d.ts +0 -160
- package/dist/cjs/ai/sap/validator.d.ts.map +0 -1
- package/dist/cjs/ai/sap/validator.js +0 -619
- package/dist/cjs/ai/sap/validator.js.map +0 -1
- package/dist/esm/ai/sap/adapter.d.ts +0 -140
- package/dist/esm/ai/sap/adapter.d.ts.map +0 -1
- package/dist/esm/ai/sap/adapter.js +0 -177
- package/dist/esm/ai/sap/adapter.js.map +0 -1
- package/dist/esm/ai/sap/discovery.d.ts +0 -165
- package/dist/esm/ai/sap/discovery.d.ts.map +0 -1
- package/dist/esm/ai/sap/discovery.js +0 -311
- package/dist/esm/ai/sap/discovery.js.map +0 -1
- package/dist/esm/ai/sap/pda.d.ts +0 -205
- package/dist/esm/ai/sap/pda.d.ts.map +0 -1
- package/dist/esm/ai/sap/pda.js +0 -535
- package/dist/esm/ai/sap/pda.js.map +0 -1
- package/dist/esm/ai/sap/program.d.ts +0 -153
- package/dist/esm/ai/sap/program.d.ts.map +0 -1
- package/dist/esm/ai/sap/program.js +0 -222
- package/dist/esm/ai/sap/program.js.map +0 -1
- package/dist/esm/ai/sap/registry.d.ts +0 -218
- package/dist/esm/ai/sap/registry.d.ts.map +0 -1
- package/dist/esm/ai/sap/registry.js +0 -515
- package/dist/esm/ai/sap/registry.js.map +0 -1
- package/dist/esm/ai/sap/scoring.d.ts +0 -138
- package/dist/esm/ai/sap/scoring.d.ts.map +0 -1
- package/dist/esm/ai/sap/scoring.js +0 -262
- package/dist/esm/ai/sap/scoring.js.map +0 -1
- package/dist/esm/ai/sap/subnetwork.d.ts +0 -201
- package/dist/esm/ai/sap/subnetwork.d.ts.map +0 -1
- package/dist/esm/ai/sap/subnetwork.js +0 -361
- package/dist/esm/ai/sap/subnetwork.js.map +0 -1
- package/dist/esm/ai/sap/validator.d.ts +0 -160
- package/dist/esm/ai/sap/validator.d.ts.map +0 -1
- package/dist/esm/ai/sap/validator.js +0 -614
- package/dist/esm/ai/sap/validator.js.map +0 -1
|
@@ -1,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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"}
|