@oobe-protocol-labs/synapse-client-sdk 1.0.8 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/dist/cjs/ai/gateway/index.d.ts +5 -5
  3. package/dist/cjs/ai/gateway/index.d.ts.map +1 -1
  4. package/dist/cjs/ai/gateway/index.js +2 -2
  5. package/dist/cjs/ai/gateway/index.js.map +1 -1
  6. package/dist/cjs/ai/index.d.ts +1 -1
  7. package/dist/cjs/ai/index.d.ts.map +1 -1
  8. package/dist/cjs/ai/index.js +5 -2
  9. package/dist/cjs/ai/index.js.map +1 -1
  10. package/dist/cjs/ai/tools/index.d.ts +4 -4
  11. package/dist/cjs/ai/tools/index.d.ts.map +1 -1
  12. package/dist/cjs/ai/tools/index.js +5 -2
  13. package/dist/cjs/ai/tools/index.js.map +1 -1
  14. package/dist/cjs/ai/tools/protocols/index.d.ts +9 -3
  15. package/dist/cjs/ai/tools/protocols/index.d.ts.map +1 -1
  16. package/dist/cjs/ai/tools/protocols/index.js +16 -2
  17. package/dist/cjs/ai/tools/protocols/index.js.map +1 -1
  18. package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts +1 -1
  19. package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -1
  20. package/dist/cjs/ai/tools/protocols/jupiter/schemas.js +81 -2
  21. package/dist/cjs/ai/tools/protocols/jupiter/schemas.js.map +1 -1
  22. package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts +3 -2
  23. package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts.map +1 -1
  24. package/dist/cjs/ai/tools/protocols/jupiter/tools.js +85 -2
  25. package/dist/cjs/ai/tools/protocols/jupiter/tools.js.map +1 -1
  26. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts +4 -4
  27. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
  28. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js +1 -1
  29. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
  30. package/dist/cjs/ai/tools/protocols/metaplex/tools.d.ts +7 -4
  31. package/dist/cjs/ai/tools/protocols/metaplex/tools.d.ts.map +1 -1
  32. package/dist/cjs/ai/tools/protocols/metaplex/tools.js +4 -1
  33. package/dist/cjs/ai/tools/protocols/metaplex/tools.js.map +1 -1
  34. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.d.ts +4 -4
  35. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.d.ts.map +1 -1
  36. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.js +1 -1
  37. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.js.map +1 -1
  38. package/dist/cjs/ai/tools/protocols/solana-programs/index.d.ts +7 -0
  39. package/dist/cjs/ai/tools/protocols/solana-programs/index.d.ts.map +1 -0
  40. package/dist/cjs/ai/tools/protocols/solana-programs/index.js +13 -0
  41. package/dist/cjs/ai/tools/protocols/solana-programs/index.js.map +1 -0
  42. package/dist/cjs/ai/tools/protocols/solana-programs/schemas.d.ts +11 -0
  43. package/dist/cjs/ai/tools/protocols/solana-programs/schemas.d.ts.map +1 -0
  44. package/dist/cjs/ai/tools/protocols/solana-programs/schemas.js +160 -0
  45. package/dist/cjs/ai/tools/protocols/solana-programs/schemas.js.map +1 -0
  46. package/dist/cjs/ai/tools/protocols/solana-programs/tools.d.ts +57 -0
  47. package/dist/cjs/ai/tools/protocols/solana-programs/tools.d.ts.map +1 -0
  48. package/dist/cjs/ai/tools/protocols/solana-programs/tools.js +226 -0
  49. package/dist/cjs/ai/tools/protocols/solana-programs/tools.js.map +1 -0
  50. package/dist/cjs/context/container.d.ts +341 -0
  51. package/dist/cjs/context/container.d.ts.map +1 -0
  52. package/dist/cjs/context/container.js +670 -0
  53. package/dist/cjs/context/container.js.map +1 -0
  54. package/dist/cjs/context/hooks.d.ts +357 -0
  55. package/dist/cjs/context/hooks.d.ts.map +1 -0
  56. package/dist/cjs/context/hooks.js +451 -0
  57. package/dist/cjs/context/hooks.js.map +1 -0
  58. package/dist/cjs/context/index.d.ts +81 -0
  59. package/dist/cjs/context/index.d.ts.map +1 -0
  60. package/dist/cjs/context/index.js +125 -0
  61. package/dist/cjs/context/index.js.map +1 -0
  62. package/dist/cjs/context/providers.d.ts +176 -0
  63. package/dist/cjs/context/providers.d.ts.map +1 -0
  64. package/dist/cjs/context/providers.js +184 -0
  65. package/dist/cjs/context/providers.js.map +1 -0
  66. package/dist/cjs/context/refs.d.ts +491 -0
  67. package/dist/cjs/context/refs.d.ts.map +1 -0
  68. package/dist/cjs/context/refs.js +673 -0
  69. package/dist/cjs/context/refs.js.map +1 -0
  70. package/dist/cjs/context/types.d.ts +251 -0
  71. package/dist/cjs/context/types.d.ts.map +1 -0
  72. package/dist/cjs/context/types.js +87 -0
  73. package/dist/cjs/context/types.js.map +1 -0
  74. package/dist/cjs/core/client.d.ts +31 -1
  75. package/dist/cjs/core/client.d.ts.map +1 -1
  76. package/dist/cjs/core/client.js.map +1 -1
  77. package/dist/cjs/index.d.ts +4 -1
  78. package/dist/cjs/index.d.ts.map +1 -1
  79. package/dist/cjs/index.js +6 -1
  80. package/dist/cjs/index.js.map +1 -1
  81. package/dist/cjs/programs/associated-token.d.ts +97 -0
  82. package/dist/cjs/programs/associated-token.d.ts.map +1 -0
  83. package/dist/cjs/programs/associated-token.js +113 -0
  84. package/dist/cjs/programs/associated-token.js.map +1 -0
  85. package/dist/cjs/programs/compute-budget.d.ts +105 -0
  86. package/dist/cjs/programs/compute-budget.d.ts.map +1 -0
  87. package/dist/cjs/programs/compute-budget.js +99 -0
  88. package/dist/cjs/programs/compute-budget.js.map +1 -0
  89. package/dist/cjs/programs/index.d.ts +74 -0
  90. package/dist/cjs/programs/index.d.ts.map +1 -0
  91. package/dist/cjs/programs/index.js +112 -0
  92. package/dist/cjs/programs/index.js.map +1 -0
  93. package/dist/cjs/programs/memo.d.ts +70 -0
  94. package/dist/cjs/programs/memo.d.ts.map +1 -0
  95. package/dist/cjs/programs/memo.js +74 -0
  96. package/dist/cjs/programs/memo.js.map +1 -0
  97. package/dist/cjs/programs/spl-token.d.ts +373 -0
  98. package/dist/cjs/programs/spl-token.d.ts.map +1 -0
  99. package/dist/cjs/programs/spl-token.js +358 -0
  100. package/dist/cjs/programs/spl-token.js.map +1 -0
  101. package/dist/cjs/programs/system.d.ts +231 -0
  102. package/dist/cjs/programs/system.d.ts.map +1 -0
  103. package/dist/cjs/programs/system.js +231 -0
  104. package/dist/cjs/programs/system.js.map +1 -0
  105. package/dist/cjs/programs/types.d.ts +111 -0
  106. package/dist/cjs/programs/types.d.ts.map +1 -0
  107. package/dist/cjs/programs/types.js +166 -0
  108. package/dist/cjs/programs/types.js.map +1 -0
  109. package/dist/docs/assets/navigation.js +1 -1
  110. package/dist/docs/assets/search.js +1 -1
  111. package/dist/docs/classes/AccountReader.html +18 -18
  112. package/dist/docs/classes/AccountsClient.html +10 -10
  113. package/dist/docs/classes/AsyncProviderError.html +39 -0
  114. package/dist/docs/classes/CircularDependencyError.html +39 -0
  115. package/dist/docs/classes/DasClient.html +13 -13
  116. package/dist/docs/classes/GeyserParser.html +17 -17
  117. package/dist/docs/classes/GrpcTransport.html +6 -6
  118. package/dist/docs/classes/HttpTransport.html +4 -4
  119. package/dist/docs/classes/InstructionWriter.html +37 -0
  120. package/dist/docs/classes/MemoryGuard.html +27 -0
  121. package/dist/docs/classes/NetworkError.html +5 -5
  122. package/dist/docs/classes/RefRegistry.html +40 -0
  123. package/dist/docs/classes/RefReleasedError.html +39 -0
  124. package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
  125. package/dist/docs/classes/ServiceNotFoundError.html +39 -0
  126. package/dist/docs/classes/ServiceRef.html +60 -0
  127. package/dist/docs/classes/SolanaRpc.html +55 -55
  128. package/dist/docs/classes/SynapseClient.html +39 -27
  129. package/dist/docs/classes/SynapseContext.html +151 -0
  130. package/dist/docs/classes/SynapseError.html +4 -4
  131. package/dist/docs/classes/TimeoutError.html +4 -4
  132. package/dist/docs/classes/UpstreamError.html +6 -6
  133. package/dist/docs/classes/WeakServiceRef.html +17 -0
  134. package/dist/docs/classes/WsClient.html +10 -10
  135. package/dist/docs/enums/SynapseNetwork.html +2 -2
  136. package/dist/docs/enums/SynapseRegion.html +2 -2
  137. package/dist/docs/enums/TokenExtensionType.html +2 -2
  138. package/dist/docs/functions/Epoch-1.html +1 -1
  139. package/dist/docs/functions/Lamports-2.html +1 -1
  140. package/dist/docs/functions/Pubkey-1.html +1 -1
  141. package/dist/docs/functions/Sig.html +1 -1
  142. package/dist/docs/functions/Slot-1.html +1 -1
  143. package/dist/docs/functions/UnixTs.html +1 -1
  144. package/dist/docs/functions/autoSelectRegion.html +1 -1
  145. package/dist/docs/functions/autoWire.html +11 -0
  146. package/dist/docs/functions/base58Encode.html +1 -1
  147. package/dist/docs/functions/base64ToBytes.html +1 -1
  148. package/dist/docs/functions/chunk.html +1 -1
  149. package/dist/docs/functions/computeBalanceChanges.html +1 -1
  150. package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
  151. package/dist/docs/functions/createBareContext.html +6 -0
  152. package/dist/docs/functions/createBinding.html +11 -0
  153. package/dist/docs/functions/createBoundHook.html +8 -0
  154. package/dist/docs/functions/createReactAdapter.html +11 -0
  155. package/dist/docs/functions/createRefHook.html +10 -0
  156. package/dist/docs/functions/createServerMiddleware.html +11 -0
  157. package/dist/docs/functions/createServiceHook.html +10 -0
  158. package/dist/docs/functions/createSynapse.html +1 -1
  159. package/dist/docs/functions/createSynapseContext.html +12 -0
  160. package/dist/docs/functions/createToken.html +9 -0
  161. package/dist/docs/functions/decodeBase58.html +2 -0
  162. package/dist/docs/functions/decodeLookupTable.html +1 -1
  163. package/dist/docs/functions/decodeMint.html +1 -1
  164. package/dist/docs/functions/decodeMultisig.html +1 -1
  165. package/dist/docs/functions/decodeNonceAccount.html +1 -1
  166. package/dist/docs/functions/decodeStakeAccount.html +1 -1
  167. package/dist/docs/functions/decodeToken2022Account.html +1 -1
  168. package/dist/docs/functions/decodeToken2022Mint.html +1 -1
  169. package/dist/docs/functions/decodeTokenAccount.html +1 -1
  170. package/dist/docs/functions/encodeBase58.html +1 -1
  171. package/dist/docs/functions/fetchLookupTable.html +1 -1
  172. package/dist/docs/functions/fetchMint.html +1 -1
  173. package/dist/docs/functions/fetchNonceAccount.html +1 -1
  174. package/dist/docs/functions/fetchStakeAccount.html +1 -1
  175. package/dist/docs/functions/fetchTokenAccount.html +1 -1
  176. package/dist/docs/functions/fetchTokenAccountsByOwner.html +1 -1
  177. package/dist/docs/functions/fromKitAddress.html +1 -1
  178. package/dist/docs/functions/getAccountInfo.html +1 -1
  179. package/dist/docs/functions/getAsset.html +1 -1
  180. package/dist/docs/functions/getAssetBatch.html +1 -1
  181. package/dist/docs/functions/getAssetProof.html +1 -1
  182. package/dist/docs/functions/getAssetProofBatch.html +1 -1
  183. package/dist/docs/functions/getAssetsByAuthority.html +1 -1
  184. package/dist/docs/functions/getAssetsByCreator.html +1 -1
  185. package/dist/docs/functions/getAssetsByGroup.html +1 -1
  186. package/dist/docs/functions/getAssetsByOwner.html +1 -1
  187. package/dist/docs/functions/getBalance.html +1 -1
  188. package/dist/docs/functions/getBlock.html +1 -1
  189. package/dist/docs/functions/getBlockCommitment.html +1 -1
  190. package/dist/docs/functions/getBlockHeight.html +1 -1
  191. package/dist/docs/functions/getBlockProduction.html +1 -1
  192. package/dist/docs/functions/getBlockTime.html +1 -1
  193. package/dist/docs/functions/getBlocks.html +1 -1
  194. package/dist/docs/functions/getBlocksWithLimit.html +1 -1
  195. package/dist/docs/functions/getClusterNodes.html +1 -1
  196. package/dist/docs/functions/getContext.html +4 -0
  197. package/dist/docs/functions/getDecodedAccount.html +1 -1
  198. package/dist/docs/functions/getDecodedAccounts.html +1 -1
  199. package/dist/docs/functions/getEnvironment.html +1 -1
  200. package/dist/docs/functions/getEpochInfo.html +1 -1
  201. package/dist/docs/functions/getEpochSchedule.html +1 -1
  202. package/dist/docs/functions/getFeeForMessage.html +1 -1
  203. package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
  204. package/dist/docs/functions/getGenesisHash.html +1 -1
  205. package/dist/docs/functions/getHealth.html +1 -1
  206. package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
  207. package/dist/docs/functions/getIdentity.html +1 -1
  208. package/dist/docs/functions/getInflationGovernor.html +1 -1
  209. package/dist/docs/functions/getInflationRate.html +1 -1
  210. package/dist/docs/functions/getInflationReward.html +1 -1
  211. package/dist/docs/functions/getLargestAccounts.html +1 -1
  212. package/dist/docs/functions/getLatestBlockhash.html +1 -1
  213. package/dist/docs/functions/getLeaderSchedule.html +1 -1
  214. package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
  215. package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
  216. package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
  217. package/dist/docs/functions/getMultipleAccounts.html +1 -1
  218. package/dist/docs/functions/getProgramAccounts.html +1 -1
  219. package/dist/docs/functions/getProgramCategory.html +1 -1
  220. package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
  221. package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
  222. package/dist/docs/functions/getSignatureStatuses.html +1 -1
  223. package/dist/docs/functions/getSignaturesForAddress.html +1 -1
  224. package/dist/docs/functions/getSignaturesForAsset.html +1 -1
  225. package/dist/docs/functions/getSlot.html +1 -1
  226. package/dist/docs/functions/getSlotLeader.html +1 -1
  227. package/dist/docs/functions/getSlotLeaders.html +1 -1
  228. package/dist/docs/functions/getStakeActivation.html +1 -1
  229. package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
  230. package/dist/docs/functions/getSupply.html +1 -1
  231. package/dist/docs/functions/getTokenAccountBalance.html +1 -1
  232. package/dist/docs/functions/getTokenAccounts.html +1 -1
  233. package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
  234. package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
  235. package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
  236. package/dist/docs/functions/getTokenSupply.html +1 -1
  237. package/dist/docs/functions/getTransaction.html +1 -1
  238. package/dist/docs/functions/getTransactionCount.html +1 -1
  239. package/dist/docs/functions/getVersion.html +1 -1
  240. package/dist/docs/functions/getVoteAccounts.html +1 -1
  241. package/dist/docs/functions/isBlockhashValid.html +1 -1
  242. package/dist/docs/functions/isBrowser.html +1 -1
  243. package/dist/docs/functions/isDisposable.html +3 -0
  244. package/dist/docs/functions/isProgramInCategory.html +1 -1
  245. package/dist/docs/functions/isServer.html +1 -1
  246. package/dist/docs/functions/isValidPubkey.html +1 -1
  247. package/dist/docs/functions/isValidSignature.html +1 -1
  248. package/dist/docs/functions/lamportsToSol.html +1 -1
  249. package/dist/docs/functions/listEndpoints.html +1 -1
  250. package/dist/docs/functions/listNetworks.html +1 -1
  251. package/dist/docs/functions/listRegions.html +1 -1
  252. package/dist/docs/functions/minimumLedgerSlot.html +1 -1
  253. package/dist/docs/functions/parseAccountUpdate.html +1 -1
  254. package/dist/docs/functions/parseBlockMeta.html +1 -1
  255. package/dist/docs/functions/parseEntry.html +1 -1
  256. package/dist/docs/functions/parseGeyserUpdate.html +1 -1
  257. package/dist/docs/functions/parseSlotUpdate.html +1 -1
  258. package/dist/docs/functions/parseTimestamp.html +1 -1
  259. package/dist/docs/functions/parseTransaction.html +1 -1
  260. package/dist/docs/functions/probeLatency.html +1 -1
  261. package/dist/docs/functions/rawBufferToBase58.html +1 -1
  262. package/dist/docs/functions/rawBufferToBase64.html +1 -1
  263. package/dist/docs/functions/rawBufferToBytes.html +1 -1
  264. package/dist/docs/functions/rawBufferToHex.html +1 -1
  265. package/dist/docs/functions/readonly.html +3 -0
  266. package/dist/docs/functions/readonlySigner.html +3 -0
  267. package/dist/docs/functions/requestAirdrop.html +1 -1
  268. package/dist/docs/functions/resolveEndpoint.html +1 -1
  269. package/dist/docs/functions/resolveProgram.html +1 -1
  270. package/dist/docs/functions/resolveProgramBatch.html +1 -1
  271. package/dist/docs/functions/retry.html +1 -1
  272. package/dist/docs/functions/searchAssets.html +1 -1
  273. package/dist/docs/functions/sendTransaction.html +1 -1
  274. package/dist/docs/functions/setGlobalContext.html +9 -0
  275. package/dist/docs/functions/simulateTransaction.html +1 -1
  276. package/dist/docs/functions/sleep.html +1 -1
  277. package/dist/docs/functions/solToLamports.html +1 -1
  278. package/dist/docs/functions/toClientConfig.html +1 -1
  279. package/dist/docs/functions/toKitAddress.html +1 -1
  280. package/dist/docs/functions/toKitInstruction.html +9 -0
  281. package/dist/docs/functions/toKitLamports.html +1 -1
  282. package/dist/docs/functions/toKitSignatureString.html +1 -1
  283. package/dist/docs/functions/tryGetContext.html +3 -0
  284. package/dist/docs/functions/tryUseService.html +4 -0
  285. package/dist/docs/functions/useBoundServices.html +10 -0
  286. package/dist/docs/functions/useService.html +13 -0
  287. package/dist/docs/functions/useSharedRef.html +14 -0
  288. package/dist/docs/functions/withRef.html +14 -0
  289. package/dist/docs/functions/withRefAsync.html +12 -0
  290. package/dist/docs/functions/writable.html +3 -0
  291. package/dist/docs/functions/writableSigner.html +3 -0
  292. package/dist/docs/hierarchy.html +1 -1
  293. package/dist/docs/interfaces/AccountInfo.html +7 -7
  294. package/dist/docs/interfaces/AccountMeta.html +9 -0
  295. package/dist/docs/interfaces/AccountNotification.html +2 -2
  296. package/dist/docs/interfaces/AccountSubParams.html +2 -2
  297. package/dist/docs/interfaces/AddMemoParams.html +11 -0
  298. package/dist/docs/interfaces/AdvanceNonceParams.html +7 -0
  299. package/dist/docs/interfaces/AliasProvider.html +6 -0
  300. package/dist/docs/interfaces/AllocateParams.html +7 -0
  301. package/dist/docs/interfaces/ApproveCheckedParams.html +19 -0
  302. package/dist/docs/interfaces/ApproveParams.html +15 -0
  303. package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
  304. package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
  305. package/dist/docs/interfaces/AssignParams.html +7 -0
  306. package/dist/docs/interfaces/AsyncFactoryProvider.html +7 -0
  307. package/dist/docs/interfaces/AuthorizeNonceParams.html +9 -0
  308. package/dist/docs/interfaces/BalanceChange.html +6 -6
  309. package/dist/docs/interfaces/BlockProduction.html +3 -3
  310. package/dist/docs/interfaces/BlockResult.html +2 -2
  311. package/dist/docs/interfaces/BlockReward.html +2 -2
  312. package/dist/docs/interfaces/BlockhashResult.html +2 -2
  313. package/dist/docs/interfaces/BurnCheckedParams.html +17 -0
  314. package/dist/docs/interfaces/BurnParams.html +15 -0
  315. package/dist/docs/interfaces/CallOptions.html +6 -6
  316. package/dist/docs/interfaces/ClassProvider.html +6 -0
  317. package/dist/docs/interfaces/CloseAccountParams.html +13 -0
  318. package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
  319. package/dist/docs/interfaces/ContactInfo.html +2 -2
  320. package/dist/docs/interfaces/ContextAdapter.html +15 -0
  321. package/dist/docs/interfaces/ContextEvents.html +13 -0
  322. package/dist/docs/interfaces/ContextModule.html +12 -0
  323. package/dist/docs/interfaces/CreateATAParams.html +13 -0
  324. package/dist/docs/interfaces/CreateAccountParams.html +13 -0
  325. package/dist/docs/interfaces/CreateAccountWithSeedParams.html +17 -0
  326. package/dist/docs/interfaces/CreateSynapseContextOpts.html +18 -0
  327. package/dist/docs/interfaces/DasAsset.html +2 -2
  328. package/dist/docs/interfaces/DasAssetProof.html +2 -2
  329. package/dist/docs/interfaces/DasAuthority.html +2 -2
  330. package/dist/docs/interfaces/DasCompression.html +2 -2
  331. package/dist/docs/interfaces/DasContent.html +2 -2
  332. package/dist/docs/interfaces/DasCreator.html +2 -2
  333. package/dist/docs/interfaces/DasFile.html +2 -2
  334. package/dist/docs/interfaces/DasGrouping.html +2 -2
  335. package/dist/docs/interfaces/DasOpts.html +2 -2
  336. package/dist/docs/interfaces/DasOwnership.html +2 -2
  337. package/dist/docs/interfaces/DasPage.html +2 -2
  338. package/dist/docs/interfaces/DasRoyalty.html +2 -2
  339. package/dist/docs/interfaces/DasSearchParams.html +2 -2
  340. package/dist/docs/interfaces/DasSupply.html +2 -2
  341. package/dist/docs/interfaces/DataSlice.html +3 -3
  342. package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
  343. package/dist/docs/interfaces/DecodedLookupTable.html +8 -8
  344. package/dist/docs/interfaces/DecodedMint.html +6 -6
  345. package/dist/docs/interfaces/DecodedMultisig.html +5 -5
  346. package/dist/docs/interfaces/DecodedNonceAccount.html +6 -6
  347. package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
  348. package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
  349. package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
  350. package/dist/docs/interfaces/DecodedTokenAccount.html +9 -9
  351. package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
  352. package/dist/docs/interfaces/Disposable.html +5 -0
  353. package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
  354. package/dist/docs/interfaces/EpochInfo.html +7 -7
  355. package/dist/docs/interfaces/EpochSchedule.html +2 -2
  356. package/dist/docs/interfaces/FactoryProvider.html +7 -0
  357. package/dist/docs/interfaces/FetchedMint.html +6 -6
  358. package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
  359. package/dist/docs/interfaces/FreezeThawParams.html +13 -0
  360. package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
  361. package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
  362. package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
  363. package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
  364. package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
  365. package/dist/docs/interfaces/GetBlockOpts.html +6 -6
  366. package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
  367. package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
  368. package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
  369. package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
  370. package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
  371. package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
  372. package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
  373. package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
  374. package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
  375. package/dist/docs/interfaces/GeyserParserStats.html +2 -2
  376. package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
  377. package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
  378. package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
  379. package/dist/docs/interfaces/InflationGovernor.html +2 -2
  380. package/dist/docs/interfaces/InflationRate.html +2 -2
  381. package/dist/docs/interfaces/InflationReward.html +2 -2
  382. package/dist/docs/interfaces/InitializeAccountParams.html +11 -0
  383. package/dist/docs/interfaces/InitializeMintParams.html +13 -0
  384. package/dist/docs/interfaces/InitializeNonceParams.html +7 -0
  385. package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
  386. package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
  387. package/dist/docs/interfaces/LeakReport.html +12 -0
  388. package/dist/docs/interfaces/LogsNotification.html +2 -2
  389. package/dist/docs/interfaces/LogsSubParams.html +2 -2
  390. package/dist/docs/interfaces/MemoTransferExt.html +2 -2
  391. package/dist/docs/interfaces/MemoryGuardConfig.html +20 -0
  392. package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
  393. package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
  394. package/dist/docs/interfaces/MintToCheckedParams.html +17 -0
  395. package/dist/docs/interfaces/MintToParams.html +15 -0
  396. package/dist/docs/interfaces/NonTransferableExt.html +2 -2
  397. package/dist/docs/interfaces/PaginationOpts.html +2 -2
  398. package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
  399. package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
  400. package/dist/docs/interfaces/ParsedEntry.html +2 -2
  401. package/dist/docs/interfaces/ParsedInstruction.html +9 -9
  402. package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
  403. package/dist/docs/interfaces/ParsedTransaction.html +19 -19
  404. package/dist/docs/interfaces/PerfSample.html +2 -2
  405. package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
  406. package/dist/docs/interfaces/ProgramAccount.html +2 -2
  407. package/dist/docs/interfaces/ProgramNotification.html +2 -2
  408. package/dist/docs/interfaces/ProgramSubParams.html +2 -2
  409. package/dist/docs/interfaces/ProgramsBundle.html +108 -0
  410. package/dist/docs/interfaces/RawAccountInfo.html +2 -2
  411. package/dist/docs/interfaces/RawBlockMeta.html +2 -2
  412. package/dist/docs/interfaces/RawBuffer.html +2 -2
  413. package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
  414. package/dist/docs/interfaces/RawEntry.html +2 -2
  415. package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
  416. package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
  417. package/dist/docs/interfaces/RawSlotInfo.html +2 -2
  418. package/dist/docs/interfaces/RawTimestamp.html +2 -2
  419. package/dist/docs/interfaces/RawTokenBalance.html +2 -2
  420. package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
  421. package/dist/docs/interfaces/ReactAdapterConfig.html +8 -0
  422. package/dist/docs/interfaces/RecoverNestedParams.html +15 -0
  423. package/dist/docs/interfaces/RefRegistryConfig.html +9 -0
  424. package/dist/docs/interfaces/RefStats.html +15 -0
  425. package/dist/docs/interfaces/RequestHeapFrameParams.html +5 -0
  426. package/dist/docs/interfaces/ResolveMiddleware.html +8 -0
  427. package/dist/docs/interfaces/RevokeParams.html +11 -0
  428. package/dist/docs/interfaces/RootNotification.html +2 -2
  429. package/dist/docs/interfaces/RootSubParams.html +1 -1
  430. package/dist/docs/interfaces/RpcContext.html +2 -2
  431. package/dist/docs/interfaces/RpcError.html +4 -4
  432. package/dist/docs/interfaces/RpcRequest.html +2 -2
  433. package/dist/docs/interfaces/RpcResponse.html +2 -2
  434. package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
  435. package/dist/docs/interfaces/ServerAdapterConfig.html +13 -0
  436. package/dist/docs/interfaces/ServiceBinding.html +17 -0
  437. package/dist/docs/interfaces/ServiceRegistration.html +7 -0
  438. package/dist/docs/interfaces/ServiceResolver.html +16 -0
  439. package/dist/docs/interfaces/ServiceToken.html +13 -0
  440. package/dist/docs/interfaces/SetComputeUnitLimitParams.html +5 -0
  441. package/dist/docs/interfaces/SetComputeUnitPriceParams.html +5 -0
  442. package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +5 -0
  443. package/dist/docs/interfaces/SignatureInfo.html +7 -7
  444. package/dist/docs/interfaces/SignatureNotification.html +2 -2
  445. package/dist/docs/interfaces/SignatureStatus.html +5 -5
  446. package/dist/docs/interfaces/SignatureSubParams.html +2 -2
  447. package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
  448. package/dist/docs/interfaces/SimulateResult.html +2 -2
  449. package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
  450. package/dist/docs/interfaces/SlotNotification.html +2 -2
  451. package/dist/docs/interfaces/SlotSubParams.html +1 -1
  452. package/dist/docs/interfaces/SortOpts.html +2 -2
  453. package/dist/docs/interfaces/StakeAuthorized.html +2 -2
  454. package/dist/docs/interfaces/StakeDelegation.html +3 -3
  455. package/dist/docs/interfaces/StakeLockup.html +4 -4
  456. package/dist/docs/interfaces/StakeMeta.html +2 -2
  457. package/dist/docs/interfaces/Supply.html +5 -5
  458. package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
  459. package/dist/docs/interfaces/SynapseClientLike.html +14 -0
  460. package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
  461. package/dist/docs/interfaces/SyncNativeParams.html +7 -0
  462. package/dist/docs/interfaces/SystemTransferParams.html +9 -0
  463. package/dist/docs/interfaces/TokenAccount.html +3 -3
  464. package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
  465. package/dist/docs/interfaces/TokenAmount.html +5 -5
  466. package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
  467. package/dist/docs/interfaces/TokenTransferParams.html +15 -0
  468. package/dist/docs/interfaces/TransactionInstruction.html +11 -0
  469. package/dist/docs/interfaces/TransactionMeta.html +11 -11
  470. package/dist/docs/interfaces/TransferCheckedParams.html +19 -0
  471. package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
  472. package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
  473. package/dist/docs/interfaces/TransportConfig.html +7 -7
  474. package/dist/docs/interfaces/UnknownExtension.html +2 -2
  475. package/dist/docs/interfaces/ValueProvider.html +4 -0
  476. package/dist/docs/interfaces/VoteAccount.html +9 -9
  477. package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
  478. package/dist/docs/interfaces/WithdrawNonceParams.html +11 -0
  479. package/dist/docs/interfaces/WsConfig.html +6 -6
  480. package/dist/docs/media/CHANGELOG.md +94 -0
  481. package/dist/docs/modules.html +107 -1
  482. package/dist/docs/types/AccountFetchOpts.html +1 -1
  483. package/dist/docs/types/AccountFilter.html +1 -1
  484. package/dist/docs/types/Base58.html +1 -1
  485. package/dist/docs/types/Brand.html +1 -1
  486. package/dist/docs/types/Commitment.html +1 -1
  487. package/dist/docs/types/DasSortBy.html +1 -1
  488. package/dist/docs/types/DasSortDirection.html +1 -1
  489. package/dist/docs/types/DataSizeFilter.html +1 -1
  490. package/dist/docs/types/DecodedExtension.html +1 -1
  491. package/dist/docs/types/Encoding.html +1 -1
  492. package/dist/docs/types/Epoch.html +1 -1
  493. package/dist/docs/types/Lamports.html +1 -1
  494. package/dist/docs/types/LogsFilter.html +1 -1
  495. package/dist/docs/types/MemcmpFilter.html +1 -1
  496. package/dist/docs/types/NonceState.html +1 -1
  497. package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
  498. package/dist/docs/types/Pubkey.html +1 -1
  499. package/dist/docs/types/RuntimeEnv.html +1 -1
  500. package/dist/docs/types/ServiceLifecycle.html +25 -0
  501. package/dist/docs/types/ServiceProvider.html +3 -0
  502. package/dist/docs/types/Signature.html +1 -1
  503. package/dist/docs/types/Slot.html +1 -1
  504. package/dist/docs/types/StakeAccountType.html +1 -1
  505. package/dist/docs/types/SubscriptionId.html +1 -1
  506. package/dist/docs/types/TokenAccountState.html +1 -1
  507. package/dist/docs/types/TransactionDetail.html +1 -1
  508. package/dist/docs/types/UnaryMethod.html +1 -1
  509. package/dist/docs/types/UnixTimestamp.html +1 -1
  510. package/dist/docs/types/WsNotification.html +1 -1
  511. package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +3 -0
  512. package/dist/docs/variables/AssociatedToken.html +13 -0
  513. package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +3 -0
  514. package/dist/docs/variables/ComputeBudget.html +19 -0
  515. package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
  516. package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
  517. package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
  518. package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
  519. package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
  520. package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
  521. package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
  522. package/dist/docs/variables/MEMO_PROGRAM_V1.html +3 -0
  523. package/dist/docs/variables/MEMO_PROGRAM_V2.html +3 -0
  524. package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
  525. package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
  526. package/dist/docs/variables/MINT_SIZE.html +1 -1
  527. package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
  528. package/dist/docs/variables/Memo.html +9 -0
  529. package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
  530. package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
  531. package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
  532. package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
  533. package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
  534. package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
  535. package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
  536. package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
  537. package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
  538. package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
  539. package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
  540. package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
  541. package/dist/docs/variables/SYSTEM_PROGRAM.html +3 -0
  542. package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
  543. package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
  544. package/dist/docs/variables/SplToken.html +38 -0
  545. package/dist/docs/variables/SystemProgram.html +42 -0
  546. package/dist/docs/variables/TOKEN_2022_PROGRAM.html +3 -0
  547. package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
  548. package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
  549. package/dist/docs/variables/TOKEN_PROGRAM.html +3 -0
  550. package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
  551. package/dist/docs/variables/Tokens.html +16 -0
  552. package/dist/esm/ai/gateway/index.d.ts +5 -5
  553. package/dist/esm/ai/gateway/index.d.ts.map +1 -1
  554. package/dist/esm/ai/gateway/index.js +2 -2
  555. package/dist/esm/ai/gateway/index.js.map +1 -1
  556. package/dist/esm/ai/index.d.ts +1 -1
  557. package/dist/esm/ai/index.d.ts.map +1 -1
  558. package/dist/esm/ai/index.js +2 -2
  559. package/dist/esm/ai/index.js.map +1 -1
  560. package/dist/esm/ai/tools/index.d.ts +4 -4
  561. package/dist/esm/ai/tools/index.d.ts.map +1 -1
  562. package/dist/esm/ai/tools/index.js +3 -3
  563. package/dist/esm/ai/tools/index.js.map +1 -1
  564. package/dist/esm/ai/tools/protocols/index.d.ts +9 -3
  565. package/dist/esm/ai/tools/protocols/index.d.ts.map +1 -1
  566. package/dist/esm/ai/tools/protocols/index.js +12 -1
  567. package/dist/esm/ai/tools/protocols/index.js.map +1 -1
  568. package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts +1 -1
  569. package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -1
  570. package/dist/esm/ai/tools/protocols/jupiter/schemas.js +81 -2
  571. package/dist/esm/ai/tools/protocols/jupiter/schemas.js.map +1 -1
  572. package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts +3 -2
  573. package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts.map +1 -1
  574. package/dist/esm/ai/tools/protocols/jupiter/tools.js +85 -2
  575. package/dist/esm/ai/tools/protocols/jupiter/tools.js.map +1 -1
  576. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts +4 -4
  577. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
  578. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js +1 -1
  579. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
  580. package/dist/esm/ai/tools/protocols/metaplex/tools.d.ts +7 -4
  581. package/dist/esm/ai/tools/protocols/metaplex/tools.d.ts.map +1 -1
  582. package/dist/esm/ai/tools/protocols/metaplex/tools.js +4 -1
  583. package/dist/esm/ai/tools/protocols/metaplex/tools.js.map +1 -1
  584. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.d.ts +4 -4
  585. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.d.ts.map +1 -1
  586. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.js +1 -1
  587. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.js.map +1 -1
  588. package/dist/esm/ai/tools/protocols/solana-programs/index.d.ts +7 -0
  589. package/dist/esm/ai/tools/protocols/solana-programs/index.d.ts.map +1 -0
  590. package/dist/esm/ai/tools/protocols/solana-programs/index.js +7 -0
  591. package/dist/esm/ai/tools/protocols/solana-programs/index.js.map +1 -0
  592. package/dist/esm/ai/tools/protocols/solana-programs/schemas.d.ts +11 -0
  593. package/dist/esm/ai/tools/protocols/solana-programs/schemas.d.ts.map +1 -0
  594. package/dist/esm/ai/tools/protocols/solana-programs/schemas.js +157 -0
  595. package/dist/esm/ai/tools/protocols/solana-programs/schemas.js.map +1 -0
  596. package/dist/esm/ai/tools/protocols/solana-programs/tools.d.ts +57 -0
  597. package/dist/esm/ai/tools/protocols/solana-programs/tools.d.ts.map +1 -0
  598. package/dist/esm/ai/tools/protocols/solana-programs/tools.js +220 -0
  599. package/dist/esm/ai/tools/protocols/solana-programs/tools.js.map +1 -0
  600. package/dist/esm/context/container.d.ts +341 -0
  601. package/dist/esm/context/container.d.ts.map +1 -0
  602. package/dist/esm/context/container.js +666 -0
  603. package/dist/esm/context/container.js.map +1 -0
  604. package/dist/esm/context/hooks.d.ts +357 -0
  605. package/dist/esm/context/hooks.d.ts.map +1 -0
  606. package/dist/esm/context/hooks.js +434 -0
  607. package/dist/esm/context/hooks.js.map +1 -0
  608. package/dist/esm/context/index.d.ts +81 -0
  609. package/dist/esm/context/index.d.ts.map +1 -0
  610. package/dist/esm/context/index.js +98 -0
  611. package/dist/esm/context/index.js.map +1 -0
  612. package/dist/esm/context/providers.d.ts +176 -0
  613. package/dist/esm/context/providers.d.ts.map +1 -0
  614. package/dist/esm/context/providers.js +179 -0
  615. package/dist/esm/context/providers.js.map +1 -0
  616. package/dist/esm/context/refs.d.ts +491 -0
  617. package/dist/esm/context/refs.d.ts.map +1 -0
  618. package/dist/esm/context/refs.js +664 -0
  619. package/dist/esm/context/refs.js.map +1 -0
  620. package/dist/esm/context/types.d.ts +251 -0
  621. package/dist/esm/context/types.d.ts.map +1 -0
  622. package/dist/esm/context/types.js +79 -0
  623. package/dist/esm/context/types.js.map +1 -0
  624. package/dist/esm/core/client.d.ts +31 -1
  625. package/dist/esm/core/client.d.ts.map +1 -1
  626. package/dist/esm/core/client.js.map +1 -1
  627. package/dist/esm/index.d.ts +4 -1
  628. package/dist/esm/index.d.ts.map +1 -1
  629. package/dist/esm/index.js +6 -1
  630. package/dist/esm/index.js.map +1 -1
  631. package/dist/esm/programs/associated-token.d.ts +97 -0
  632. package/dist/esm/programs/associated-token.d.ts.map +1 -0
  633. package/dist/esm/programs/associated-token.js +110 -0
  634. package/dist/esm/programs/associated-token.js.map +1 -0
  635. package/dist/esm/programs/compute-budget.d.ts +105 -0
  636. package/dist/esm/programs/compute-budget.d.ts.map +1 -0
  637. package/dist/esm/programs/compute-budget.js +96 -0
  638. package/dist/esm/programs/compute-budget.js.map +1 -0
  639. package/dist/esm/programs/index.d.ts +74 -0
  640. package/dist/esm/programs/index.d.ts.map +1 -0
  641. package/dist/esm/programs/index.js +90 -0
  642. package/dist/esm/programs/index.js.map +1 -0
  643. package/dist/esm/programs/memo.d.ts +70 -0
  644. package/dist/esm/programs/memo.d.ts.map +1 -0
  645. package/dist/esm/programs/memo.js +71 -0
  646. package/dist/esm/programs/memo.js.map +1 -0
  647. package/dist/esm/programs/spl-token.d.ts +373 -0
  648. package/dist/esm/programs/spl-token.d.ts.map +1 -0
  649. package/dist/esm/programs/spl-token.js +355 -0
  650. package/dist/esm/programs/spl-token.js.map +1 -0
  651. package/dist/esm/programs/system.d.ts +231 -0
  652. package/dist/esm/programs/system.d.ts.map +1 -0
  653. package/dist/esm/programs/system.js +228 -0
  654. package/dist/esm/programs/system.js.map +1 -0
  655. package/dist/esm/programs/types.d.ts +111 -0
  656. package/dist/esm/programs/types.d.ts.map +1 -0
  657. package/dist/esm/programs/types.js +157 -0
  658. package/dist/esm/programs/types.js.map +1 -0
  659. package/package.json +41 -1
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.solanaProgramsMethodNames = exports.solanaProgramsMethods = void 0;
4
+ exports.createSolanaProgramsTools = createSolanaProgramsTools;
5
+ /**
6
+ * @module ai/tools/protocols/solana-programs/tools
7
+ * @description Solana Native Programs — LangChain tool factory.
8
+ *
9
+ * Creates 16 instruction-building tools that encode Solana native
10
+ * program instructions (System, SPL Token, ATA, Compute Budget, Memo).
11
+ * These tools run locally — no RPC or REST calls needed.
12
+ *
13
+ * ```ts
14
+ * const programs = createSolanaProgramsTools();
15
+ * agent.tools.push(...programs.tools);
16
+ *
17
+ * // Agent can now build instructions:
18
+ * // "Transfer 1 SOL from <wallet> to <recipient>"
19
+ * // → calls solana_programs_systemTransfer tool
20
+ * ```
21
+ *
22
+ * @since 1.1.0
23
+ */
24
+ const shared_1 = require("../shared");
25
+ const schemas_1 = require("./schemas");
26
+ const types_1 = require("../../../../core/types");
27
+ const system_1 = require("../../../../programs/system");
28
+ const spl_token_1 = require("../../../../programs/spl-token");
29
+ const associated_token_1 = require("../../../../programs/associated-token");
30
+ const compute_budget_1 = require("../../../../programs/compute-budget");
31
+ const memo_1 = require("../../../../programs/memo");
32
+ /* ═══════════════════════════════════════════════════════════════
33
+ * Serialiser — TransactionInstruction → JSON-friendly output
34
+ * ═══════════════════════════════════════════════════════════════ */
35
+ /** @internal Convert Uint8Array to base64 for JSON transport */
36
+ function uint8ToBase64(data) {
37
+ // Node.js path (fastest)
38
+ if (typeof Buffer !== 'undefined')
39
+ return Buffer.from(data).toString('base64');
40
+ // Browser path
41
+ let binary = '';
42
+ for (let i = 0; i < data.length; i++)
43
+ binary += String.fromCharCode(data[i]);
44
+ return btoa(binary);
45
+ }
46
+ /** @internal Serialise a TransactionInstruction for LLM consumption */
47
+ function serialiseInstruction(ix) {
48
+ return {
49
+ programId: ix.programId,
50
+ keys: ix.keys.map((k) => ({
51
+ pubkey: k.pubkey,
52
+ isSigner: k.isSigner,
53
+ isWritable: k.isWritable,
54
+ })),
55
+ data: uint8ToBase64(ix.data),
56
+ };
57
+ }
58
+ /* ═══════════════════════════════════════════════════════════════
59
+ * Execution dispatcher — local instruction encoding
60
+ * ═══════════════════════════════════════════════════════════════ */
61
+ function createProgramsExecutor() {
62
+ return async (method, input) => {
63
+ switch (method.name) {
64
+ // ── System Program ───────────────────────────────────────
65
+ case 'systemTransfer':
66
+ return serialiseInstruction(system_1.SystemProgram.transfer({
67
+ from: (0, types_1.Pubkey)(input.from),
68
+ to: (0, types_1.Pubkey)(input.to),
69
+ lamports: BigInt(input.lamports),
70
+ }));
71
+ case 'systemCreateAccount':
72
+ return serialiseInstruction(system_1.SystemProgram.createAccount({
73
+ from: (0, types_1.Pubkey)(input.from),
74
+ newAccount: (0, types_1.Pubkey)(input.newAccount),
75
+ lamports: BigInt(input.lamports),
76
+ space: input.space,
77
+ programId: (0, types_1.Pubkey)(input.programId),
78
+ }));
79
+ case 'systemAllocate':
80
+ return serialiseInstruction(system_1.SystemProgram.allocate({
81
+ account: (0, types_1.Pubkey)(input.account),
82
+ space: input.space,
83
+ }));
84
+ case 'systemAssign':
85
+ return serialiseInstruction(system_1.SystemProgram.assign({
86
+ account: (0, types_1.Pubkey)(input.account),
87
+ programId: (0, types_1.Pubkey)(input.programId),
88
+ }));
89
+ // ── SPL Token ────────────────────────────────────────────
90
+ case 'tokenTransfer':
91
+ return serialiseInstruction(spl_token_1.SplToken.transfer({
92
+ source: (0, types_1.Pubkey)(input.source),
93
+ destination: (0, types_1.Pubkey)(input.destination),
94
+ owner: (0, types_1.Pubkey)(input.owner),
95
+ amount: BigInt(input.amount),
96
+ programId: input.programId ? (0, types_1.Pubkey)(input.programId) : undefined,
97
+ }));
98
+ case 'tokenTransferChecked':
99
+ return serialiseInstruction(spl_token_1.SplToken.transferChecked({
100
+ source: (0, types_1.Pubkey)(input.source),
101
+ mint: (0, types_1.Pubkey)(input.mint),
102
+ destination: (0, types_1.Pubkey)(input.destination),
103
+ owner: (0, types_1.Pubkey)(input.owner),
104
+ amount: BigInt(input.amount),
105
+ decimals: input.decimals,
106
+ programId: input.programId ? (0, types_1.Pubkey)(input.programId) : undefined,
107
+ }));
108
+ case 'tokenApprove':
109
+ return serialiseInstruction(spl_token_1.SplToken.approve({
110
+ account: (0, types_1.Pubkey)(input.account),
111
+ delegate: (0, types_1.Pubkey)(input.delegate),
112
+ owner: (0, types_1.Pubkey)(input.owner),
113
+ amount: BigInt(input.amount),
114
+ programId: input.programId ? (0, types_1.Pubkey)(input.programId) : undefined,
115
+ }));
116
+ case 'tokenRevoke':
117
+ return serialiseInstruction(spl_token_1.SplToken.revoke({
118
+ account: (0, types_1.Pubkey)(input.account),
119
+ owner: (0, types_1.Pubkey)(input.owner),
120
+ programId: input.programId ? (0, types_1.Pubkey)(input.programId) : undefined,
121
+ }));
122
+ case 'tokenMintTo':
123
+ return serialiseInstruction(spl_token_1.SplToken.mintTo({
124
+ mint: (0, types_1.Pubkey)(input.mint),
125
+ destination: (0, types_1.Pubkey)(input.destination),
126
+ authority: (0, types_1.Pubkey)(input.authority),
127
+ amount: BigInt(input.amount),
128
+ programId: input.programId ? (0, types_1.Pubkey)(input.programId) : undefined,
129
+ }));
130
+ case 'tokenBurn':
131
+ return serialiseInstruction(spl_token_1.SplToken.burn({
132
+ account: (0, types_1.Pubkey)(input.account),
133
+ mint: (0, types_1.Pubkey)(input.mint),
134
+ owner: (0, types_1.Pubkey)(input.owner),
135
+ amount: BigInt(input.amount),
136
+ programId: input.programId ? (0, types_1.Pubkey)(input.programId) : undefined,
137
+ }));
138
+ case 'tokenCloseAccount':
139
+ return serialiseInstruction(spl_token_1.SplToken.closeAccount({
140
+ account: (0, types_1.Pubkey)(input.account),
141
+ destination: (0, types_1.Pubkey)(input.destination),
142
+ owner: (0, types_1.Pubkey)(input.owner),
143
+ programId: input.programId ? (0, types_1.Pubkey)(input.programId) : undefined,
144
+ }));
145
+ // ── Associated Token Account ─────────────────────────────
146
+ case 'ataCreate':
147
+ return serialiseInstruction(associated_token_1.AssociatedToken.create({
148
+ payer: (0, types_1.Pubkey)(input.payer),
149
+ associatedToken: (0, types_1.Pubkey)(input.associatedToken),
150
+ owner: (0, types_1.Pubkey)(input.owner),
151
+ mint: (0, types_1.Pubkey)(input.mint),
152
+ tokenProgramId: input.tokenProgramId ? (0, types_1.Pubkey)(input.tokenProgramId) : undefined,
153
+ }));
154
+ case 'ataCreateIdempotent':
155
+ return serialiseInstruction(associated_token_1.AssociatedToken.createIdempotent({
156
+ payer: (0, types_1.Pubkey)(input.payer),
157
+ associatedToken: (0, types_1.Pubkey)(input.associatedToken),
158
+ owner: (0, types_1.Pubkey)(input.owner),
159
+ mint: (0, types_1.Pubkey)(input.mint),
160
+ tokenProgramId: input.tokenProgramId ? (0, types_1.Pubkey)(input.tokenProgramId) : undefined,
161
+ }));
162
+ // ── Compute Budget ───────────────────────────────────────
163
+ case 'setComputeUnitLimit':
164
+ return serialiseInstruction(compute_budget_1.ComputeBudget.setComputeUnitLimit({
165
+ units: input.units,
166
+ }));
167
+ case 'setComputeUnitPrice':
168
+ return serialiseInstruction(compute_budget_1.ComputeBudget.setComputeUnitPrice({
169
+ microLamports: BigInt(input.microLamports),
170
+ }));
171
+ // ── Memo ─────────────────────────────────────────────────
172
+ case 'addMemo':
173
+ return serialiseInstruction(memo_1.Memo.addMemo({
174
+ message: input.message,
175
+ signer: input.signer ? (0, types_1.Pubkey)(input.signer) : undefined,
176
+ }));
177
+ default:
178
+ throw new Error(`Unknown Solana program method: ${method.name}`);
179
+ }
180
+ };
181
+ }
182
+ /* ═══════════════════════════════════════════════════════════════
183
+ * createSolanaProgramsTools()
184
+ *
185
+ * Public factory — the single entry-point for consumers.
186
+ * ═══════════════════════════════════════════════════════════════ */
187
+ /**
188
+ * @description Create LangChain-compatible tools for Solana native programs.
189
+ *
190
+ * All 16 tools run locally — they encode instructions using the SDK's
191
+ * native binary encoders. No RPC or REST API calls are made.
192
+ *
193
+ * @param {SolanaProgramsToolsConfig & CreateProtocolToolsOpts} [config={}] - Tool options
194
+ * @returns {ProtocolToolkit} Toolkit with 16 instruction-building tools
195
+ *
196
+ * @example
197
+ * ```ts
198
+ * const programs = createSolanaProgramsTools();
199
+ * const agent = createAgent({ tools: programs.tools });
200
+ *
201
+ * // Agent builds a SOL transfer instruction:
202
+ * const result = await programs.toolMap.systemTransfer.invoke({
203
+ * from: 'SenderWallet...',
204
+ * to: 'ReceiverWallet...',
205
+ * lamports: '1000000000',
206
+ * });
207
+ *
208
+ * // Cherry-pick:
209
+ * const transferTool = programs.toolMap.tokenTransferChecked;
210
+ * ```
211
+ *
212
+ * @since 1.1.0
213
+ */
214
+ function createSolanaProgramsTools(config = {}) {
215
+ const { ...toolOpts } = config;
216
+ const execute = createProgramsExecutor();
217
+ return (0, shared_1.buildProtocolTools)(schemas_1.solanaProgramsMethods, execute, {
218
+ defaultPrefix: 'solana_programs_',
219
+ ...toolOpts,
220
+ });
221
+ }
222
+ /** Re-export schemas for direct access. */
223
+ var schemas_2 = require("./schemas");
224
+ Object.defineProperty(exports, "solanaProgramsMethods", { enumerable: true, get: function () { return schemas_2.solanaProgramsMethods; } });
225
+ Object.defineProperty(exports, "solanaProgramsMethodNames", { enumerable: true, get: function () { return schemas_2.solanaProgramsMethodNames; } });
226
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../../../src/ai/tools/protocols/solana-programs/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,341 @@
1
+ /**
2
+ * SynapseContext — IoC service container with scoping, middleware, and lifecycle management.
3
+ *
4
+ * This is the core runtime of the context provider system. It holds all
5
+ * service registrations and resolves them on demand, respecting lifecycle
6
+ * rules (singleton / transient / scoped), circular-dependency detection,
7
+ * and middleware chains.
8
+ *
9
+ * ## Usage
10
+ *
11
+ * ```ts
12
+ * import { SynapseContext, createToken } from '@oobe-protocol-labs/synapse-client-sdk/context';
13
+ *
14
+ * interface Logger { log(msg: string): void; }
15
+ * const LOGGER = createToken<Logger>('Logger');
16
+ *
17
+ * const ctx = new SynapseContext();
18
+ * ctx.register(LOGGER, { useValue: console });
19
+ * const logger = ctx.resolve(LOGGER); // typed as Logger
20
+ * ```
21
+ *
22
+ * ## Scoping
23
+ *
24
+ * ```ts
25
+ * const scope = ctx.createScope('request-123');
26
+ * scope.register(REQUEST_ID, { useValue: '123' });
27
+ * scope.resolve(LOGGER); // inherits from parent
28
+ * scope.resolve(REQUEST_ID); // scoped value
29
+ * scope.dispose();
30
+ * ```
31
+ *
32
+ * @module context/container
33
+ * @since 1.2.0
34
+ */
35
+ import type { ServiceToken, ServiceProvider, ServiceLifecycle, ServiceRegistration, ServiceResolver, ResolveMiddleware, ContextEvents } from './types';
36
+ import { ServiceRef, RefRegistry, MemoryGuard, type MemoryGuardConfig, type ServiceBinding } from './refs';
37
+ /**
38
+ * The main IoC service container.
39
+ *
40
+ * Provides type-safe dependency injection with support for:
41
+ * - Value, factory, class, alias, and async factory providers
42
+ * - Singleton, transient, and scoped lifecycles
43
+ * - Hierarchical scopes (child inherits parent registrations)
44
+ * - Circular dependency detection
45
+ * - Resolve middleware (logging, metrics, decoration)
46
+ * - Automatic disposal of services implementing `Disposable`
47
+ * - Event-driven observability
48
+ *
49
+ * @since 1.2.0
50
+ */
51
+ export declare class SynapseContext implements ServiceResolver {
52
+ readonly scopeId: string;
53
+ private readonly parent?;
54
+ private readonly registry;
55
+ private readonly middlewares;
56
+ private readonly events;
57
+ private readonly resolutionStack;
58
+ private readonly children;
59
+ private disposed;
60
+ /** @internal Lazy ref registry — created on first acquireRef(). */
61
+ private _refRegistry?;
62
+ /** @internal Optional memory guard. */
63
+ private _memoryGuard?;
64
+ /**
65
+ * @param scopeId - Unique scope identifier (auto-generated for child scopes).
66
+ * @param parent - Parent context for hierarchical resolution.
67
+ */
68
+ constructor(scopeId?: string, parent?: SynapseContext | undefined);
69
+ /** @internal Get or create the ref registry. */
70
+ private getRefRegistry;
71
+ /**
72
+ * Acquire a tracked, ref-counted reference to a service.
73
+ *
74
+ * Returns a {@link ServiceRef} that must be `.release()`'d when no
75
+ * longer needed. Multiple `acquireRef()` calls for the same singleton
76
+ * token return different refs to the **same** instance — the ref count
77
+ * tracks how many holders exist.
78
+ *
79
+ * @typeParam T - The service type.
80
+ * @param token - The service token to resolve.
81
+ * @returns A new `ServiceRef<T>` linked to this context's ref registry.
82
+ * @throws {ServiceNotFoundError} If no provider is registered for the token.
83
+ * @since 1.2.0
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * // Component A
88
+ * const rpcRef = ctx.acquireRef(Tokens.RPC);
89
+ * await rpcRef.current.getBalance(pubkey);
90
+ *
91
+ * // Component B — same singleton, separate ref
92
+ * const rpcRef2 = ctx.acquireRef(Tokens.RPC);
93
+ * ctx.refCount(Tokens.RPC); // → 2
94
+ *
95
+ * // Cleanup
96
+ * rpcRef.release(); // ref count → 1
97
+ * rpcRef2.release(); // ref count → 0
98
+ * ```
99
+ */
100
+ acquireRef<T>(token: ServiceToken<T>): ServiceRef<T>;
101
+ /**
102
+ * Acquire tracked refs for multiple tokens at once.
103
+ *
104
+ * Returns a {@link ServiceBinding} whose `.services` proxy lazily
105
+ * resolves each token. A single `.release()` frees all refs.
106
+ *
107
+ * @param tokens - Record mapping property names to service tokens.
108
+ * @returns A binding with lazy services and batch release.
109
+ * @since 1.2.0
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * const binding = ctx.bind({
114
+ * rpc: Tokens.RPC,
115
+ * das: Tokens.DAS,
116
+ * programs: Tokens.PROGRAMS,
117
+ * });
118
+ *
119
+ * await binding.services.rpc.getBalance(pubkey);
120
+ * binding.release(); // releases all at once
121
+ * ```
122
+ */
123
+ bind<T extends Record<string, ServiceToken>>(tokens: T): ServiceBinding<T>;
124
+ /**
125
+ * Number of active (unreleased) refs for a specific token.
126
+ *
127
+ * Returns `0` if no refs have been acquired or the ref registry
128
+ * hasn't been initialized yet.
129
+ *
130
+ * @since 1.2.0
131
+ */
132
+ refCount(token: ServiceToken): number;
133
+ /**
134
+ * The ref registry for this context, if any refs have been acquired.
135
+ *
136
+ * Returns `undefined` if `acquireRef()` has never been called.
137
+ * @since 1.2.0
138
+ */
139
+ get refs(): RefRegistry | undefined;
140
+ /**
141
+ * Enable a memory guard with configurable thresholds.
142
+ *
143
+ * The guard monitors ref counts and emits pressure/leak events.
144
+ * Can only be called once per context.
145
+ *
146
+ * @param config - Guard thresholds.
147
+ * @returns The created `MemoryGuard`.
148
+ * @since 1.2.0
149
+ *
150
+ * @example
151
+ * ```ts
152
+ * const guard = ctx.enableMemoryGuard({
153
+ * maxRefAgeMs: 30_000,
154
+ * maxActiveRefs: 50,
155
+ * checkIntervalMs: 10_000,
156
+ * });
157
+ *
158
+ * guard.onPressure(stats => console.warn('Memory pressure:', stats));
159
+ * guard.onLeak(leak => console.error('Leaked ref:', leak));
160
+ * ```
161
+ */
162
+ enableMemoryGuard(config?: MemoryGuardConfig): MemoryGuard;
163
+ /**
164
+ * The active memory guard, if enabled.
165
+ * @since 1.2.0
166
+ */
167
+ get memoryGuard(): MemoryGuard | undefined;
168
+ /**
169
+ * Register a service provider for a token.
170
+ *
171
+ * @param token - The service token.
172
+ * @param provider - How to create the service.
173
+ * @param tags - Optional tags for filtering.
174
+ * @returns `this` for chaining.
175
+ *
176
+ * @example
177
+ * ```ts
178
+ * ctx.register(DB, { useFactory: r => new PostgresDB(r.resolve(CONFIG)) });
179
+ * ctx.register(LOGGER, { useValue: console }, ['core']);
180
+ * ctx.register(CACHE, { useClass: RedisCache, lifecycle: 'singleton' });
181
+ * ```
182
+ *
183
+ * @since 1.2.0
184
+ */
185
+ register<T>(token: ServiceToken<T>, provider: ServiceProvider<T>, tags?: string[]): this;
186
+ /**
187
+ * Register multiple services at once.
188
+ *
189
+ * @param registrations - Array of `{ token, provider, tags? }` descriptors.
190
+ * @returns `this` for chaining.
191
+ * @since 1.2.0
192
+ */
193
+ registerMany(registrations: ServiceRegistration[]): this;
194
+ /**
195
+ * Register a service only if the token is not already registered.
196
+ *
197
+ * Useful for default/fallback providers that should not override
198
+ * user-provided registrations.
199
+ *
200
+ * @since 1.2.0
201
+ */
202
+ registerIfMissing<T>(token: ServiceToken<T>, provider: ServiceProvider<T>, tags?: string[]): this;
203
+ /**
204
+ * Resolve a service synchronously.
205
+ *
206
+ * @throws {ServiceNotFoundError} If no provider is registered.
207
+ * @throws {CircularDependencyError} If a circular dependency is detected.
208
+ * @throws {AsyncProviderError} If the provider is async.
209
+ * @since 1.2.0
210
+ */
211
+ resolve<T>(token: ServiceToken<T>): T;
212
+ /**
213
+ * Resolve a service asynchronously.
214
+ *
215
+ * Required for services registered with `useAsyncFactory`.
216
+ * Also works for sync providers (wraps result in a resolved promise).
217
+ *
218
+ * @since 1.2.0
219
+ */
220
+ resolveAsync<T>(token: ServiceToken<T>): Promise<T>;
221
+ /**
222
+ * Try to resolve a service; return `undefined` if not registered.
223
+ * @since 1.2.0
224
+ */
225
+ tryResolve<T>(token: ServiceToken<T>): T | undefined;
226
+ /**
227
+ * Check if a token has a provider (searches parent scopes too).
228
+ * @since 1.2.0
229
+ */
230
+ has(token: ServiceToken): boolean;
231
+ /**
232
+ * Resolve all services whose registrations contain the given tag.
233
+ * @since 1.2.0
234
+ */
235
+ resolveByTag(tag: string): unknown[];
236
+ /**
237
+ * Create a child scope that inherits all parent registrations.
238
+ *
239
+ * Scoped services get fresh instances in the child scope.
240
+ * The child scope is tracked and disposed when the parent is disposed.
241
+ *
242
+ * @param scopeId - Unique identifier for the child scope.
243
+ * @returns A new `SynapseContext` linked to this parent.
244
+ * @since 1.2.0
245
+ *
246
+ * @example
247
+ * ```ts
248
+ * const reqScope = ctx.createScope(`request-${id}`);
249
+ * reqScope.register(REQUEST_CTX, { useValue: { id, user } });
250
+ * // ... handle request ...
251
+ * reqScope.dispose();
252
+ * ```
253
+ */
254
+ createScope(scopeId?: string): SynapseContext;
255
+ /**
256
+ * Add a resolve middleware.
257
+ *
258
+ * Middleware functions wrap every `resolve()` call. They execute in
259
+ * the order they are added (first-in, outermost).
260
+ *
261
+ * @param mw - Middleware function.
262
+ * @returns `this` for chaining.
263
+ * @since 1.2.0
264
+ *
265
+ * @example
266
+ * ```ts
267
+ * ctx.use((token, next) => {
268
+ * console.time(token.name);
269
+ * const result = next();
270
+ * console.timeEnd(token.name);
271
+ * return result;
272
+ * });
273
+ * ```
274
+ */
275
+ use(mw: ResolveMiddleware): this;
276
+ /**
277
+ * Subscribe to a container event.
278
+ * @since 1.2.0
279
+ */
280
+ on<K extends keyof ContextEvents>(event: K, handler: (payload: ContextEvents[K]) => void): this;
281
+ /**
282
+ * Unsubscribe from a container event.
283
+ * @since 1.2.0
284
+ */
285
+ off<K extends keyof ContextEvents>(event: K, handler: (payload: ContextEvents[K]) => void): this;
286
+ /**
287
+ * Dispose this context and all child scopes.
288
+ *
289
+ * Calls `.dispose()` on all singleton/scoped services that implement
290
+ * {@link Disposable}. After disposal, any call to `resolve()` throws.
291
+ *
292
+ * @returns Number of services disposed.
293
+ * @since 1.2.0
294
+ */
295
+ dispose(): Promise<number>;
296
+ /**
297
+ * Get all registered tokens (this scope only, not parent).
298
+ * @since 1.2.0
299
+ */
300
+ get tokens(): ServiceToken[];
301
+ /**
302
+ * Get all registered tokens across this scope and all parents.
303
+ * @since 1.2.0
304
+ */
305
+ get allTokens(): ServiceToken[];
306
+ /**
307
+ * Number of services registered in this scope.
308
+ * @since 1.2.0
309
+ */
310
+ get size(): number;
311
+ /**
312
+ * Whether this context has been disposed.
313
+ * @since 1.2.0
314
+ */
315
+ get isDisposed(): boolean;
316
+ /**
317
+ * Return a snapshot of registered services for debugging.
318
+ * @since 1.2.0
319
+ */
320
+ snapshot(): Array<{
321
+ token: string;
322
+ lifecycle: ServiceLifecycle;
323
+ resolved: boolean;
324
+ tags: string[];
325
+ }>;
326
+ /** @internal Synchronous resolution (no middleware). */
327
+ private doResolve;
328
+ /** @internal Async resolution. */
329
+ private doResolveAsync;
330
+ /** @internal Instantiate a sync provider. */
331
+ private instantiate;
332
+ /** @internal Find registry entry (local scope first, then parent). */
333
+ private findEntry;
334
+ /** @internal Get lifecycle for a token (for event emission). */
335
+ private getLifecycle;
336
+ /** @internal Apply middleware chain. */
337
+ private applyMiddleware;
338
+ /** @internal Guard against usage after disposal. */
339
+ private assertNotDisposed;
340
+ }
341
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/context/container.ts"],"names":[],"mappings":"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"}