@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,361 +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
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
38
|
-
* SubnetworkBuilder
|
|
39
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
40
|
-
/**
|
|
41
|
-
* @description Builds and manages agent sub-networks for multi-capability tasks.
|
|
42
|
-
*
|
|
43
|
-
* The builder:
|
|
44
|
-
* 1. Discovers agents for each required capability via {@link SAPDiscovery}
|
|
45
|
-
* 2. Scores candidates using the selected strategy
|
|
46
|
-
* 3. Assigns agents to capabilities, preferring multi-capable agents
|
|
47
|
-
* 4. Computes cost, reputation, and latency estimates
|
|
48
|
-
* 5. Identifies failover alternatives for each assignment
|
|
49
|
-
*
|
|
50
|
-
* @since 1.4.0
|
|
51
|
-
*/
|
|
52
|
-
export class SubnetworkBuilder {
|
|
53
|
-
discovery;
|
|
54
|
-
constructor(discovery) {
|
|
55
|
-
this.discovery = discovery;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @description Build an optimal subnetwork covering all required capabilities.
|
|
59
|
-
*
|
|
60
|
-
* @param {SubnetworkConfig} config - Subnetwork requirements
|
|
61
|
-
* @returns {Promise<SubnetworkResult>} The built subnetwork with assignments
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```ts
|
|
65
|
-
* const result = await subnet.build({
|
|
66
|
-
* requiredCapabilities: ['jupiter:swap', 'pyth:getPrice', 'ai:riskScore'],
|
|
67
|
-
* strategy: 'balanced',
|
|
68
|
-
* minReputation: 500,
|
|
69
|
-
* maxCostPerCall: 10000n,
|
|
70
|
-
* });
|
|
71
|
-
* ```
|
|
72
|
-
*
|
|
73
|
-
* @since 1.4.0
|
|
74
|
-
*/
|
|
75
|
-
async build(config) {
|
|
76
|
-
const start = performance.now();
|
|
77
|
-
const { requiredCapabilities, strategy = 'balanced', maxCostPerCall, minReputation = 0, minUptime = 0, pricingTier = 'standard', maxAgents = 10, preferMultiCapable = true, } = config;
|
|
78
|
-
// Phase 1: Discover candidate agents for each capability
|
|
79
|
-
const candidateMap = new Map();
|
|
80
|
-
for (const capId of requiredCapabilities) {
|
|
81
|
-
const agents = await this.discovery.findByCapability(capId);
|
|
82
|
-
const filtered = agents.filter(a => a.reputation.score >= minReputation &&
|
|
83
|
-
a.reputation.uptimePercent >= minUptime);
|
|
84
|
-
candidateMap.set(capId, filtered);
|
|
85
|
-
}
|
|
86
|
-
// Phase 2: Score and select
|
|
87
|
-
const assignments = [];
|
|
88
|
-
const unassigned = [];
|
|
89
|
-
const assignedAgentSet = new Set();
|
|
90
|
-
// Sort capabilities: those with fewer candidates first (constrained first)
|
|
91
|
-
const sortedCaps = [...requiredCapabilities].sort((a, b) => {
|
|
92
|
-
const aCount = candidateMap.get(a)?.length ?? 0;
|
|
93
|
-
const bCount = candidateMap.get(b)?.length ?? 0;
|
|
94
|
-
return aCount - bCount;
|
|
95
|
-
});
|
|
96
|
-
for (const capId of sortedCaps) {
|
|
97
|
-
const candidates = candidateMap.get(capId) ?? [];
|
|
98
|
-
if (candidates.length === 0) {
|
|
99
|
-
unassigned.push(capId);
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
// Score each candidate
|
|
103
|
-
const scored = candidates.map(agent => ({
|
|
104
|
-
agent,
|
|
105
|
-
score: this.scoreAgent(agent, strategy, pricingTier, preferMultiCapable, requiredCapabilities, assignedAgentSet),
|
|
106
|
-
}));
|
|
107
|
-
// Sort by score (higher = better)
|
|
108
|
-
scored.sort((a, b) => b.score - a.score);
|
|
109
|
-
const best = scored[0].agent;
|
|
110
|
-
const pricing = this.findPricing(best, pricingTier);
|
|
111
|
-
// Check cost constraint
|
|
112
|
-
if (maxCostPerCall !== undefined && pricing) {
|
|
113
|
-
const currentCost = assignments.reduce((sum, a) => sum + a.pricing.pricePerCall, 0n);
|
|
114
|
-
if (currentCost + pricing.pricePerCall > maxCostPerCall) {
|
|
115
|
-
// Try cheaper alternatives
|
|
116
|
-
const cheaper = scored.find(s => {
|
|
117
|
-
const p = this.findPricing(s.agent, pricingTier);
|
|
118
|
-
return p && currentCost + p.pricePerCall <= maxCostPerCall;
|
|
119
|
-
});
|
|
120
|
-
if (cheaper) {
|
|
121
|
-
const cheaperPricing = this.findPricing(cheaper.agent, pricingTier);
|
|
122
|
-
assignments.push({
|
|
123
|
-
capability: capId,
|
|
124
|
-
agent: cheaper.agent,
|
|
125
|
-
pricing: cheaperPricing,
|
|
126
|
-
reputationScore: cheaper.agent.reputation.score,
|
|
127
|
-
latencyMs: cheaper.agent.reputation.avgLatencyMs,
|
|
128
|
-
alternatives: scored
|
|
129
|
-
.filter(s => s.agent.walletPubkey !== cheaper.agent.walletPubkey)
|
|
130
|
-
.map(s => s.agent)
|
|
131
|
-
.slice(0, 3),
|
|
132
|
-
});
|
|
133
|
-
assignedAgentSet.add(cheaper.agent.walletPubkey);
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
unassigned.push(capId);
|
|
138
|
-
continue;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
if (!pricing) {
|
|
143
|
-
// No matching pricing tier, use agent but warn
|
|
144
|
-
const fallbackPricing = {
|
|
145
|
-
tierId: pricingTier,
|
|
146
|
-
pricePerCall: 0n,
|
|
147
|
-
rateLimit: 1,
|
|
148
|
-
maxCallsPerSession: 0,
|
|
149
|
-
tokenType: 'SOL',
|
|
150
|
-
};
|
|
151
|
-
assignments.push({
|
|
152
|
-
capability: capId,
|
|
153
|
-
agent: best,
|
|
154
|
-
pricing: fallbackPricing,
|
|
155
|
-
reputationScore: best.reputation.score,
|
|
156
|
-
latencyMs: best.reputation.avgLatencyMs,
|
|
157
|
-
alternatives: scored.slice(1, 4).map(s => s.agent),
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
assignments.push({
|
|
162
|
-
capability: capId,
|
|
163
|
-
agent: best,
|
|
164
|
-
pricing,
|
|
165
|
-
reputationScore: best.reputation.score,
|
|
166
|
-
latencyMs: best.reputation.avgLatencyMs,
|
|
167
|
-
alternatives: scored.slice(1, 4).map(s => s.agent),
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
assignedAgentSet.add(best.walletPubkey);
|
|
171
|
-
// Enforce max agents
|
|
172
|
-
if (assignedAgentSet.size >= maxAgents)
|
|
173
|
-
break;
|
|
174
|
-
}
|
|
175
|
-
// Deduplicate agents
|
|
176
|
-
const agentsMap = new Map();
|
|
177
|
-
for (const a of assignments) {
|
|
178
|
-
agentsMap.set(a.agent.walletPubkey, a.agent);
|
|
179
|
-
}
|
|
180
|
-
const agents = [...agentsMap.values()];
|
|
181
|
-
// Metrics
|
|
182
|
-
const estimatedCostPerCall = assignments.reduce((sum, a) => sum + a.pricing.pricePerCall, 0n);
|
|
183
|
-
const avgReputation = agents.length > 0
|
|
184
|
-
? Math.round(agents.reduce((sum, a) => sum + a.reputation.score, 0) / agents.length)
|
|
185
|
-
: 0;
|
|
186
|
-
const maxLatencyMs = agents.length > 0
|
|
187
|
-
? Math.max(...agents.map(a => a.reputation.avgLatencyMs))
|
|
188
|
-
: 0;
|
|
189
|
-
return {
|
|
190
|
-
complete: unassigned.length === 0,
|
|
191
|
-
assignments,
|
|
192
|
-
unassigned,
|
|
193
|
-
agents,
|
|
194
|
-
estimatedCostPerCall,
|
|
195
|
-
avgReputation,
|
|
196
|
-
maxLatencyMs,
|
|
197
|
-
buildTimeMs: Math.round(performance.now() - start),
|
|
198
|
-
strategy,
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* @description Evaluate the health of an existing subnetwork result.
|
|
203
|
-
*
|
|
204
|
-
* Checks each assigned agent's reputation, uptime, and latency,
|
|
205
|
-
* and identifies capabilities at risk (single provider) or with
|
|
206
|
-
* redundancy (multiple alternatives).
|
|
207
|
-
*
|
|
208
|
-
* @param {SubnetworkResult} subnet - A previously built subnetwork
|
|
209
|
-
* @returns {SubnetworkHealth} Health assessment
|
|
210
|
-
*
|
|
211
|
-
* @since 1.4.0
|
|
212
|
-
*/
|
|
213
|
-
evaluateHealth(subnet) {
|
|
214
|
-
const agentHealth = [];
|
|
215
|
-
const atRisk = [];
|
|
216
|
-
const redundant = [];
|
|
217
|
-
// Group capabilities by agent
|
|
218
|
-
const agentCaps = new Map();
|
|
219
|
-
for (const a of subnet.assignments) {
|
|
220
|
-
const key = a.agent.walletPubkey;
|
|
221
|
-
if (!agentCaps.has(key))
|
|
222
|
-
agentCaps.set(key, []);
|
|
223
|
-
agentCaps.get(key).push(a.capability);
|
|
224
|
-
}
|
|
225
|
-
for (const agent of subnet.agents) {
|
|
226
|
-
const caps = agentCaps.get(agent.walletPubkey) ?? [];
|
|
227
|
-
let isHealthy = true;
|
|
228
|
-
let reason;
|
|
229
|
-
if (agent.reputation.uptimePercent < 50) {
|
|
230
|
-
isHealthy = false;
|
|
231
|
-
reason = `Low uptime: ${agent.reputation.uptimePercent}%`;
|
|
232
|
-
}
|
|
233
|
-
else if (agent.reputation.score < 200) {
|
|
234
|
-
isHealthy = false;
|
|
235
|
-
reason = `Very low reputation: ${agent.reputation.score}/1000`;
|
|
236
|
-
}
|
|
237
|
-
else if (agent.reputation.avgLatencyMs > 10000) {
|
|
238
|
-
isHealthy = false;
|
|
239
|
-
reason = `Very high latency: ${agent.reputation.avgLatencyMs}ms`;
|
|
240
|
-
}
|
|
241
|
-
else if (!agent.isActive) {
|
|
242
|
-
isHealthy = false;
|
|
243
|
-
reason = 'Agent is deactivated';
|
|
244
|
-
}
|
|
245
|
-
agentHealth.push({ agent, capabilities: caps, isHealthy, reason });
|
|
246
|
-
}
|
|
247
|
-
// Check redundancy
|
|
248
|
-
for (const assignment of subnet.assignments) {
|
|
249
|
-
if (assignment.alternatives.length === 0) {
|
|
250
|
-
atRisk.push(assignment.capability);
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
redundant.push(assignment.capability);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
const unhealthyCount = agentHealth.filter(a => !a.isHealthy).length;
|
|
257
|
-
let status;
|
|
258
|
-
if (unhealthyCount === 0) {
|
|
259
|
-
status = 'healthy';
|
|
260
|
-
}
|
|
261
|
-
else if (unhealthyCount < agentHealth.length / 2) {
|
|
262
|
-
status = 'degraded';
|
|
263
|
-
}
|
|
264
|
-
else {
|
|
265
|
-
status = 'critical';
|
|
266
|
-
}
|
|
267
|
-
return { status, agents: agentHealth, atRisk, redundant };
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* @description Rebuild a subnetwork, replacing unhealthy agents with alternatives.
|
|
271
|
-
*
|
|
272
|
-
* @param {SubnetworkResult} current - The current subnetwork
|
|
273
|
-
* @param {SubnetworkConfig} config - Original config (for constraints)
|
|
274
|
-
* @returns {Promise<SubnetworkResult>} A rebuilt subnetwork
|
|
275
|
-
*
|
|
276
|
-
* @since 1.4.0
|
|
277
|
-
*/
|
|
278
|
-
async rebuild(current, config) {
|
|
279
|
-
const health = this.evaluateHealth(current);
|
|
280
|
-
if (health.status === 'healthy')
|
|
281
|
-
return current;
|
|
282
|
-
// Identify capabilities with unhealthy agents
|
|
283
|
-
const unhealthyWallets = new Set(health.agents.filter(a => !a.isHealthy).map(a => a.agent.walletPubkey));
|
|
284
|
-
// Filter out unhealthy agents' capabilities and rebuild only those
|
|
285
|
-
const capsToRebuild = [];
|
|
286
|
-
for (const assignment of current.assignments) {
|
|
287
|
-
if (unhealthyWallets.has(assignment.agent.walletPubkey)) {
|
|
288
|
-
capsToRebuild.push(assignment.capability);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
if (capsToRebuild.length === 0)
|
|
292
|
-
return current;
|
|
293
|
-
// Full rebuild with the same config
|
|
294
|
-
return this.build({
|
|
295
|
-
...config,
|
|
296
|
-
requiredCapabilities: config.requiredCapabilities,
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* @description Estimate the total cost for N calls through the subnetwork.
|
|
301
|
-
* @param {SubnetworkResult} subnet - Built subnetwork
|
|
302
|
-
* @param {number} calls - Number of calls to estimate for
|
|
303
|
-
* @returns {{ totalCost: bigint; perAgent: Array<{ agent: string; cost: bigint }> }}
|
|
304
|
-
* @since 1.4.0
|
|
305
|
-
*/
|
|
306
|
-
estimateCost(subnet, calls) {
|
|
307
|
-
const perAgent = new Map();
|
|
308
|
-
for (const assignment of subnet.assignments) {
|
|
309
|
-
const key = assignment.agent.walletPubkey;
|
|
310
|
-
const current = perAgent.get(key) ?? 0n;
|
|
311
|
-
perAgent.set(key, current + assignment.pricing.pricePerCall * BigInt(calls));
|
|
312
|
-
}
|
|
313
|
-
const totalCost = [...perAgent.values()].reduce((a, b) => a + b, 0n);
|
|
314
|
-
return {
|
|
315
|
-
totalCost,
|
|
316
|
-
perAgent: [...perAgent.entries()].map(([agent, cost]) => ({ agent, cost })),
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
/* ── Internal scoring ── */
|
|
320
|
-
scoreAgent(agent, strategy, pricingTier, preferMultiCapable, requiredCapabilities, alreadyAssigned) {
|
|
321
|
-
const pricing = this.findPricing(agent, pricingTier);
|
|
322
|
-
const priceNorm = pricing
|
|
323
|
-
? 1 - Math.min(Number(pricing.pricePerCall) / 100000, 1) // lower price → higher score
|
|
324
|
-
: 0;
|
|
325
|
-
const repNorm = agent.reputation.score / 1000;
|
|
326
|
-
const latNorm = 1 - Math.min(agent.reputation.avgLatencyMs / 10000, 1);
|
|
327
|
-
const uptimeNorm = agent.reputation.uptimePercent / 100;
|
|
328
|
-
let score;
|
|
329
|
-
switch (strategy) {
|
|
330
|
-
case 'cheapest':
|
|
331
|
-
score = priceNorm * 0.7 + repNorm * 0.15 + uptimeNorm * 0.15;
|
|
332
|
-
break;
|
|
333
|
-
case 'reputable':
|
|
334
|
-
score = repNorm * 0.6 + uptimeNorm * 0.25 + latNorm * 0.15;
|
|
335
|
-
break;
|
|
336
|
-
case 'fastest':
|
|
337
|
-
score = latNorm * 0.6 + uptimeNorm * 0.2 + repNorm * 0.2;
|
|
338
|
-
break;
|
|
339
|
-
case 'balanced':
|
|
340
|
-
default:
|
|
341
|
-
score = repNorm * 0.3 + priceNorm * 0.25 + latNorm * 0.2 + uptimeNorm * 0.25;
|
|
342
|
-
break;
|
|
343
|
-
}
|
|
344
|
-
// Bonus: agent already in the subnetwork (reduces hop count)
|
|
345
|
-
if (alreadyAssigned.has(agent.walletPubkey)) {
|
|
346
|
-
score += 0.15;
|
|
347
|
-
}
|
|
348
|
-
// Bonus: agent covers multiple required capabilities
|
|
349
|
-
if (preferMultiCapable) {
|
|
350
|
-
const coverage = requiredCapabilities.filter(cap => agent.capabilities.some(c => c.id === cap)).length;
|
|
351
|
-
if (coverage > 1) {
|
|
352
|
-
score += 0.1 * (coverage - 1);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
return score;
|
|
356
|
-
}
|
|
357
|
-
findPricing(agent, tierId) {
|
|
358
|
-
return agent.pricing.find(p => p.tierId === tierId) ?? agent.pricing[0];
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
//# sourceMappingURL=subnetwork.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subnetwork.js","sourceRoot":"","sources":["../../../../src/ai/sap/subnetwork.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module ai/sap/validator
|
|
3
|
-
* @description SAP — Deep validation engine for agent registration & updates.
|
|
4
|
-
*
|
|
5
|
-
* Goes far beyond the basic name/description length checks: validates
|
|
6
|
-
* capability ID format, pricing consistency, wallet pubkey format,
|
|
7
|
-
* URL structure, duplicate detection, and cross-field coherence.
|
|
8
|
-
*
|
|
9
|
-
* Can operate in **strict** mode (throws on first error) or **lenient**
|
|
10
|
-
* mode (collects all issues and returns a report).
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```ts
|
|
14
|
-
* import { SAPValidator } from '@oobe-protocol-labs/synapse-client-sdk/ai/sap';
|
|
15
|
-
*
|
|
16
|
-
* const validator = new SAPValidator({ strict: false });
|
|
17
|
-
* const report = validator.validateRegistration({
|
|
18
|
-
* walletPubkey: 'ABC...',
|
|
19
|
-
* name: 'My Agent',
|
|
20
|
-
* description: 'Tools',
|
|
21
|
-
* capabilities: [{ id: 'bad_format' }], // ← will flag this
|
|
22
|
-
* pricing: [{ tierId: '', pricePerCall: 0n, rateLimit: -1, ... }],
|
|
23
|
-
* });
|
|
24
|
-
*
|
|
25
|
-
* if (!report.valid) {
|
|
26
|
-
* console.error(report.errors); // detailed error list
|
|
27
|
-
* console.warn(report.warnings); // non-fatal suggestions
|
|
28
|
-
* }
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* @since 1.4.0
|
|
32
|
-
*/
|
|
33
|
-
import type { RegisterAgentParams, UpdateAgentParams, AgentCapability, AgentPricingOnChain } from './types';
|
|
34
|
-
import { SAPCapabilityRegistry } from './registry';
|
|
35
|
-
/**
|
|
36
|
-
* @description Severity of a validation finding.
|
|
37
|
-
* @since 1.4.0
|
|
38
|
-
*/
|
|
39
|
-
export type ValidationSeverity = 'error' | 'warning' | 'info';
|
|
40
|
-
/**
|
|
41
|
-
* @description A single validation finding.
|
|
42
|
-
* @since 1.4.0
|
|
43
|
-
*/
|
|
44
|
-
export interface ValidationIssue {
|
|
45
|
-
/** Severity level. */
|
|
46
|
-
severity: ValidationSeverity;
|
|
47
|
-
/** Machine-readable error code. */
|
|
48
|
-
code: string;
|
|
49
|
-
/** Human-readable message. */
|
|
50
|
-
message: string;
|
|
51
|
-
/** The field path that triggered the issue (e.g. `"capabilities[2].id"`). */
|
|
52
|
-
field?: string;
|
|
53
|
-
/** The offending value. */
|
|
54
|
-
value?: unknown;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* @description Complete validation report.
|
|
58
|
-
* @since 1.4.0
|
|
59
|
-
*/
|
|
60
|
-
export interface ValidationReport {
|
|
61
|
-
/** `true` if zero errors (warnings/info are OK). */
|
|
62
|
-
valid: boolean;
|
|
63
|
-
/** Error-severity issues (block registration). */
|
|
64
|
-
errors: ValidationIssue[];
|
|
65
|
-
/** Warning-severity issues (allow but flag). */
|
|
66
|
-
warnings: ValidationIssue[];
|
|
67
|
-
/** Informational notes. */
|
|
68
|
-
info: ValidationIssue[];
|
|
69
|
-
/** Total time spent validating (ms). */
|
|
70
|
-
durationMs: number;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* @description Error thrown in strict mode when validation fails.
|
|
74
|
-
* @since 1.4.0
|
|
75
|
-
*/
|
|
76
|
-
export declare class SAPValidationError extends Error {
|
|
77
|
-
readonly code: string;
|
|
78
|
-
readonly issues: ValidationIssue[];
|
|
79
|
-
constructor(message: string, code: string, issues: ValidationIssue[]);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* @description Validator configuration.
|
|
83
|
-
* @since 1.4.0
|
|
84
|
-
*/
|
|
85
|
-
export interface SAPValidatorConfig {
|
|
86
|
-
/** Throw on first error (default: `false` → collect all). */
|
|
87
|
-
strict?: boolean;
|
|
88
|
-
/** Capability registry for validating capability IDs. If omitted, uses default. */
|
|
89
|
-
registry?: SAPCapabilityRegistry;
|
|
90
|
-
/** Allow unrecognised capability IDs (default: `true` — warn but don't error). */
|
|
91
|
-
allowUnknownCapabilities?: boolean;
|
|
92
|
-
/** Maximum number of capabilities per agent (default: 50). */
|
|
93
|
-
maxCapabilities?: number;
|
|
94
|
-
/** Maximum number of pricing tiers per agent (default: 10). */
|
|
95
|
-
maxPricingTiers?: number;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* @description Deep validation engine for SAP agent data.
|
|
99
|
-
*
|
|
100
|
-
* Checks performed:
|
|
101
|
-
* - **Wallet pubkey**: Base58, 32–44 chars, valid character set
|
|
102
|
-
* - **Name**: Non-empty, ≤ 64 UTF-8 bytes, no control characters
|
|
103
|
-
* - **Description**: Non-empty, ≤ 512 UTF-8 bytes
|
|
104
|
-
* - **Capabilities**: `protocol:method` format, no duplicates, max count,
|
|
105
|
-
* registry check (known vs unknown)
|
|
106
|
-
* - **Pricing**: Non-empty tierId, positive pricePerCall, rateLimit > 0,
|
|
107
|
-
* maxCallsPerSession ≥ 0, valid tokenType, no duplicate tiers,
|
|
108
|
-
* SPL requires tokenMint
|
|
109
|
-
* - **x402 Endpoint**: Must be HTTPS, valid URL structure
|
|
110
|
-
* - **Cross-field**: At least one capability for each pricing tier's
|
|
111
|
-
* implied protocol (warning)
|
|
112
|
-
*
|
|
113
|
-
* @since 1.4.0
|
|
114
|
-
*/
|
|
115
|
-
export declare class SAPValidator {
|
|
116
|
-
private readonly config;
|
|
117
|
-
constructor(config?: SAPValidatorConfig);
|
|
118
|
-
/**
|
|
119
|
-
* @description Validate a full registration payload.
|
|
120
|
-
* @param {RegisterAgentParams} params - Registration parameters
|
|
121
|
-
* @returns {ValidationReport}
|
|
122
|
-
* @throws {SAPValidationError} In strict mode, on first error
|
|
123
|
-
* @since 1.4.0
|
|
124
|
-
*/
|
|
125
|
-
validateRegistration(params: RegisterAgentParams): ValidationReport;
|
|
126
|
-
/**
|
|
127
|
-
* @description Validate an update payload.
|
|
128
|
-
* Only validates fields that are present (non-undefined).
|
|
129
|
-
* @param {UpdateAgentParams} params - Update parameters
|
|
130
|
-
* @returns {ValidationReport}
|
|
131
|
-
* @throws {SAPValidationError} In strict mode, on first error
|
|
132
|
-
* @since 1.4.0
|
|
133
|
-
*/
|
|
134
|
-
validateUpdate(params: UpdateAgentParams): ValidationReport;
|
|
135
|
-
/**
|
|
136
|
-
* @description Validate a single capability entry.
|
|
137
|
-
* @param {AgentCapability} cap - Capability to validate
|
|
138
|
-
* @returns {ValidationReport}
|
|
139
|
-
* @since 1.4.0
|
|
140
|
-
*/
|
|
141
|
-
validateCapability(cap: AgentCapability): ValidationReport;
|
|
142
|
-
/**
|
|
143
|
-
* @description Validate a single pricing tier.
|
|
144
|
-
* @param {AgentPricingOnChain} tier - Pricing tier to validate
|
|
145
|
-
* @returns {ValidationReport}
|
|
146
|
-
* @since 1.4.0
|
|
147
|
-
*/
|
|
148
|
-
validatePricingTier(tier: AgentPricingOnChain): ValidationReport;
|
|
149
|
-
private validateWalletPubkey;
|
|
150
|
-
private validateName;
|
|
151
|
-
private validateDescription;
|
|
152
|
-
private validateCapabilities;
|
|
153
|
-
private checkCapability;
|
|
154
|
-
private validatePricing;
|
|
155
|
-
private checkPricingTier;
|
|
156
|
-
private validateX402Endpoint;
|
|
157
|
-
private validateCrossField;
|
|
158
|
-
private buildReport;
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/ai/sap/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMnD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,2BAA2B;IAC3B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,eAAe,EAAE;gBAFzC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EAAE;CAK5C;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,kFAAkF;IAClF,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsBD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAE1C,MAAM,CAAC,EAAE,kBAAkB;IAYvC;;;;;;OAMG;IACH,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB;IAmCnE;;;;;;;OAOG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,gBAAgB;IAe3D;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,gBAAgB;IAO1D;;;;;OAKG;IACH,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB;IAShE,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,YAAY;IA2DpB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,oBAAoB;IAoE5B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,gBAAgB;IAgHxB,OAAO,CAAC,oBAAoB;IAgD5B,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,WAAW;CAyBpB"}
|