@oobe-protocol-labs/synapse-sap-sdk 0.13.0 → 0.14.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 (654) hide show
  1. package/dist/cjs/accounts/index.js +286 -0
  2. package/dist/cjs/accounts/index.js.map +1 -0
  3. package/dist/cjs/client.js +108 -0
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/constants.js +59 -0
  6. package/dist/cjs/constants.js.map +1 -0
  7. package/dist/cjs/errors.js +250 -0
  8. package/dist/cjs/errors.js.map +1 -0
  9. package/dist/cjs/events/index.js +38 -130
  10. package/dist/cjs/events/index.js.map +1 -1
  11. package/dist/cjs/idlTypes.js +4 -0
  12. package/dist/cjs/idlTypes.js.map +1 -0
  13. package/dist/cjs/index.js +75 -241
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/instructions/agent.js +89 -0
  16. package/dist/cjs/instructions/agent.js.map +1 -0
  17. package/dist/cjs/instructions/attestation.js +112 -0
  18. package/dist/cjs/instructions/attestation.js.map +1 -0
  19. package/dist/cjs/instructions/digest.js +28 -0
  20. package/dist/cjs/instructions/digest.js.map +1 -0
  21. package/dist/cjs/instructions/dispute.js +116 -0
  22. package/dist/cjs/instructions/dispute.js.map +1 -0
  23. package/dist/cjs/instructions/escrow.js +101 -0
  24. package/dist/cjs/instructions/escrow.js.map +1 -0
  25. package/dist/cjs/instructions/global.js +28 -0
  26. package/dist/cjs/instructions/global.js.map +1 -0
  27. package/dist/cjs/instructions/index.js +31 -0
  28. package/dist/cjs/instructions/index.js.map +1 -0
  29. package/dist/cjs/instructions/indexing.js +221 -0
  30. package/dist/cjs/instructions/indexing.js.map +1 -0
  31. package/dist/cjs/instructions/misc.js +73 -0
  32. package/dist/cjs/instructions/misc.js.map +1 -0
  33. package/dist/cjs/instructions/session.js +89 -0
  34. package/dist/cjs/instructions/session.js.map +1 -0
  35. package/dist/cjs/instructions/staking.js +132 -0
  36. package/dist/cjs/instructions/staking.js.map +1 -0
  37. package/dist/cjs/instructions/subscription.js +80 -0
  38. package/dist/cjs/instructions/subscription.js.map +1 -0
  39. package/dist/cjs/instructions/tools.js +109 -0
  40. package/dist/cjs/instructions/tools.js.map +1 -0
  41. package/dist/cjs/instructions/vault.js +106 -0
  42. package/dist/cjs/instructions/vault.js.map +1 -0
  43. package/dist/cjs/pdas/index.js +120 -0
  44. package/dist/cjs/pdas/index.js.map +1 -0
  45. package/dist/cjs/types.js +42 -0
  46. package/dist/cjs/types.js.map +1 -0
  47. package/dist/cjs/utils/index.js +29 -86
  48. package/dist/cjs/utils/index.js.map +1 -1
  49. package/dist/cjs/utils/validate.js +236 -0
  50. package/dist/cjs/utils/validate.js.map +1 -0
  51. package/dist/esm/accounts/index.d.ts +11 -0
  52. package/dist/esm/accounts/index.d.ts.map +1 -0
  53. package/dist/esm/accounts/index.js +273 -0
  54. package/dist/esm/accounts/index.js.map +1 -0
  55. package/dist/esm/client.d.ts +55 -0
  56. package/dist/esm/client.d.ts.map +1 -0
  57. package/dist/esm/client.js +70 -0
  58. package/dist/esm/client.js.map +1 -0
  59. package/dist/esm/constants.d.ts +52 -0
  60. package/dist/esm/constants.d.ts.map +1 -0
  61. package/dist/esm/constants.js +56 -0
  62. package/dist/esm/constants.js.map +1 -0
  63. package/dist/esm/errors.d.ts +111 -0
  64. package/dist/esm/errors.d.ts.map +1 -0
  65. package/dist/esm/errors.js +244 -0
  66. package/dist/esm/errors.js.map +1 -0
  67. package/dist/esm/events/index.d.ts +13 -0
  68. package/dist/esm/events/index.d.ts.map +1 -0
  69. package/dist/esm/events/index.js +36 -128
  70. package/dist/esm/events/index.js.map +1 -1
  71. package/dist/esm/idlTypes.d.ts +925 -0
  72. package/dist/esm/idlTypes.d.ts.map +1 -0
  73. package/dist/esm/idlTypes.js +3 -0
  74. package/dist/esm/idlTypes.js.map +1 -0
  75. package/dist/esm/index.d.ts +12 -0
  76. package/dist/esm/index.d.ts.map +1 -0
  77. package/dist/esm/index.js +15 -88
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/instructions/agent.d.ts +71 -0
  80. package/dist/esm/instructions/agent.d.ts.map +1 -0
  81. package/dist/esm/instructions/agent.js +85 -0
  82. package/dist/esm/instructions/agent.js.map +1 -0
  83. package/dist/esm/instructions/attestation.d.ts +76 -0
  84. package/dist/esm/instructions/attestation.d.ts.map +1 -0
  85. package/dist/esm/instructions/attestation.js +108 -0
  86. package/dist/esm/instructions/attestation.js.map +1 -0
  87. package/dist/esm/instructions/digest.d.ts +20 -0
  88. package/dist/esm/instructions/digest.d.ts.map +1 -0
  89. package/dist/esm/instructions/digest.js +24 -0
  90. package/dist/esm/instructions/digest.js.map +1 -0
  91. package/dist/esm/instructions/dispute.d.ts +81 -0
  92. package/dist/esm/instructions/dispute.d.ts.map +1 -0
  93. package/dist/esm/instructions/dispute.js +112 -0
  94. package/dist/esm/instructions/dispute.js.map +1 -0
  95. package/dist/esm/instructions/escrow.d.ts +79 -0
  96. package/dist/esm/instructions/escrow.d.ts.map +1 -0
  97. package/dist/esm/instructions/escrow.js +97 -0
  98. package/dist/esm/instructions/escrow.js.map +1 -0
  99. package/dist/esm/instructions/global.d.ts +14 -0
  100. package/dist/esm/instructions/global.d.ts.map +1 -0
  101. package/dist/esm/instructions/global.js +24 -0
  102. package/dist/esm/instructions/global.js.map +1 -0
  103. package/dist/esm/instructions/index.d.ts +14 -0
  104. package/dist/esm/instructions/index.d.ts.map +1 -0
  105. package/dist/esm/instructions/index.js +15 -0
  106. package/dist/esm/instructions/index.js.map +1 -0
  107. package/dist/esm/instructions/indexing.d.ts +150 -0
  108. package/dist/esm/instructions/indexing.d.ts.map +1 -0
  109. package/dist/esm/instructions/indexing.js +217 -0
  110. package/dist/esm/instructions/indexing.js.map +1 -0
  111. package/dist/esm/instructions/memory.d.ts +8 -0
  112. package/dist/esm/instructions/memory.d.ts.map +1 -0
  113. package/dist/esm/instructions/memory.js +234 -0
  114. package/dist/esm/instructions/memory.js.map +1 -0
  115. package/dist/esm/instructions/misc.d.ts +50 -0
  116. package/dist/esm/instructions/misc.d.ts.map +1 -0
  117. package/dist/esm/instructions/misc.js +69 -0
  118. package/dist/esm/instructions/misc.js.map +1 -0
  119. package/dist/esm/instructions/session.d.ts +57 -0
  120. package/dist/esm/instructions/session.d.ts.map +1 -0
  121. package/dist/esm/instructions/session.js +85 -0
  122. package/dist/esm/instructions/session.js.map +1 -0
  123. package/dist/esm/instructions/staking.d.ts +85 -0
  124. package/dist/esm/instructions/staking.d.ts.map +1 -0
  125. package/dist/esm/instructions/staking.js +128 -0
  126. package/dist/esm/instructions/staking.js.map +1 -0
  127. package/dist/esm/instructions/subscription.d.ts +50 -0
  128. package/dist/esm/instructions/subscription.d.ts.map +1 -0
  129. package/dist/esm/instructions/subscription.js +76 -0
  130. package/dist/esm/instructions/subscription.js.map +1 -0
  131. package/dist/esm/instructions/tools.d.ts +88 -0
  132. package/dist/esm/instructions/tools.d.ts.map +1 -0
  133. package/dist/esm/instructions/tools.js +105 -0
  134. package/dist/esm/instructions/tools.js.map +1 -0
  135. package/dist/esm/instructions/vault.d.ts +84 -0
  136. package/dist/esm/instructions/vault.d.ts.map +1 -0
  137. package/dist/esm/instructions/vault.js +102 -0
  138. package/dist/esm/instructions/vault.js.map +1 -0
  139. package/dist/esm/pdas/index.d.ts +37 -0
  140. package/dist/esm/pdas/index.d.ts.map +1 -0
  141. package/dist/esm/pdas/index.js +101 -0
  142. package/dist/esm/pdas/index.js.map +1 -0
  143. package/dist/esm/types.d.ts +208 -0
  144. package/dist/esm/types.d.ts.map +1 -0
  145. package/dist/esm/types.js +39 -0
  146. package/dist/esm/types.js.map +1 -0
  147. package/dist/esm/utils/index.d.ts +4 -0
  148. package/dist/esm/utils/index.d.ts.map +1 -0
  149. package/dist/esm/utils/index.js +13 -33
  150. package/dist/esm/utils/index.js.map +1 -1
  151. package/dist/esm/utils/validate.d.ts +66 -0
  152. package/dist/esm/utils/validate.d.ts.map +1 -0
  153. package/dist/esm/utils/validate.js +221 -0
  154. package/dist/esm/utils/validate.js.map +1 -0
  155. package/package.json +59 -183
  156. package/LICENSE +0 -21
  157. package/README.md +0 -986
  158. package/dist/cjs/constants/addresses.js +0 -143
  159. package/dist/cjs/constants/addresses.js.map +0 -1
  160. package/dist/cjs/constants/index.js +0 -64
  161. package/dist/cjs/constants/index.js.map +0 -1
  162. package/dist/cjs/constants/limits.js +0 -161
  163. package/dist/cjs/constants/limits.js.map +0 -1
  164. package/dist/cjs/constants/network.js +0 -81
  165. package/dist/cjs/constants/network.js.map +0 -1
  166. package/dist/cjs/constants/payments.js +0 -137
  167. package/dist/cjs/constants/payments.js.map +0 -1
  168. package/dist/cjs/constants/programs.js +0 -78
  169. package/dist/cjs/constants/programs.js.map +0 -1
  170. package/dist/cjs/constants/seeds.js +0 -76
  171. package/dist/cjs/constants/seeds.js.map +0 -1
  172. package/dist/cjs/core/client.js +0 -546
  173. package/dist/cjs/core/client.js.map +0 -1
  174. package/dist/cjs/core/connection.js +0 -350
  175. package/dist/cjs/core/connection.js.map +0 -1
  176. package/dist/cjs/core/index.js +0 -25
  177. package/dist/cjs/core/index.js.map +0 -1
  178. package/dist/cjs/errors/index.js +0 -334
  179. package/dist/cjs/errors/index.js.map +0 -1
  180. package/dist/cjs/events/geyser.js +0 -295
  181. package/dist/cjs/events/geyser.js.map +0 -1
  182. package/dist/cjs/idl/index.js +0 -63
  183. package/dist/cjs/idl/index.js.map +0 -1
  184. package/dist/cjs/idl/synapse_agent_sap.json +0 -14595
  185. package/dist/cjs/modules/agent.js +0 -272
  186. package/dist/cjs/modules/agent.js.map +0 -1
  187. package/dist/cjs/modules/attestation.js +0 -147
  188. package/dist/cjs/modules/attestation.js.map +0 -1
  189. package/dist/cjs/modules/base.js +0 -189
  190. package/dist/cjs/modules/base.js.map +0 -1
  191. package/dist/cjs/modules/escrow-v2.js +0 -607
  192. package/dist/cjs/modules/escrow-v2.js.map +0 -1
  193. package/dist/cjs/modules/escrow.js +0 -336
  194. package/dist/cjs/modules/escrow.js.map +0 -1
  195. package/dist/cjs/modules/feedback.js +0 -166
  196. package/dist/cjs/modules/feedback.js.map +0 -1
  197. package/dist/cjs/modules/index.js +0 -43
  198. package/dist/cjs/modules/index.js.map +0 -1
  199. package/dist/cjs/modules/indexing.js +0 -375
  200. package/dist/cjs/modules/indexing.js.map +0 -1
  201. package/dist/cjs/modules/ledger.js +0 -234
  202. package/dist/cjs/modules/ledger.js.map +0 -1
  203. package/dist/cjs/modules/receipt.js +0 -148
  204. package/dist/cjs/modules/receipt.js.map +0 -1
  205. package/dist/cjs/modules/staking.js +0 -159
  206. package/dist/cjs/modules/staking.js.map +0 -1
  207. package/dist/cjs/modules/subscription.js +0 -96
  208. package/dist/cjs/modules/subscription.js.map +0 -1
  209. package/dist/cjs/modules/tools.js +0 -345
  210. package/dist/cjs/modules/tools.js.map +0 -1
  211. package/dist/cjs/modules/vault.js +0 -427
  212. package/dist/cjs/modules/vault.js.map +0 -1
  213. package/dist/cjs/parser/client.js +0 -146
  214. package/dist/cjs/parser/client.js.map +0 -1
  215. package/dist/cjs/parser/complete.js +0 -177
  216. package/dist/cjs/parser/complete.js.map +0 -1
  217. package/dist/cjs/parser/index.js +0 -57
  218. package/dist/cjs/parser/index.js.map +0 -1
  219. package/dist/cjs/parser/inner.js +0 -185
  220. package/dist/cjs/parser/inner.js.map +0 -1
  221. package/dist/cjs/parser/instructions.js +0 -114
  222. package/dist/cjs/parser/instructions.js.map +0 -1
  223. package/dist/cjs/parser/transaction.js +0 -153
  224. package/dist/cjs/parser/transaction.js.map +0 -1
  225. package/dist/cjs/parser/types.js +0 -14
  226. package/dist/cjs/parser/types.js.map +0 -1
  227. package/dist/cjs/pda/index.js +0 -672
  228. package/dist/cjs/pda/index.js.map +0 -1
  229. package/dist/cjs/plugin/index.js +0 -952
  230. package/dist/cjs/plugin/index.js.map +0 -1
  231. package/dist/cjs/plugin/protocols.js +0 -282
  232. package/dist/cjs/plugin/protocols.js.map +0 -1
  233. package/dist/cjs/plugin/schemas.js +0 -863
  234. package/dist/cjs/plugin/schemas.js.map +0 -1
  235. package/dist/cjs/postgres/adapter.js +0 -715
  236. package/dist/cjs/postgres/adapter.js.map +0 -1
  237. package/dist/cjs/postgres/index.js +0 -50
  238. package/dist/cjs/postgres/index.js.map +0 -1
  239. package/dist/cjs/postgres/serializers.js +0 -381
  240. package/dist/cjs/postgres/serializers.js.map +0 -1
  241. package/dist/cjs/postgres/sync.js +0 -289
  242. package/dist/cjs/postgres/sync.js.map +0 -1
  243. package/dist/cjs/postgres/types.js +0 -44
  244. package/dist/cjs/postgres/types.js.map +0 -1
  245. package/dist/cjs/registries/builder.js +0 -414
  246. package/dist/cjs/registries/builder.js.map +0 -1
  247. package/dist/cjs/registries/discovery.js +0 -362
  248. package/dist/cjs/registries/discovery.js.map +0 -1
  249. package/dist/cjs/registries/fairscale.js +0 -639
  250. package/dist/cjs/registries/fairscale.js.map +0 -1
  251. package/dist/cjs/registries/index.js +0 -58
  252. package/dist/cjs/registries/index.js.map +0 -1
  253. package/dist/cjs/registries/metaplex-bridge.js +0 -743
  254. package/dist/cjs/registries/metaplex-bridge.js.map +0 -1
  255. package/dist/cjs/registries/session.js +0 -433
  256. package/dist/cjs/registries/session.js.map +0 -1
  257. package/dist/cjs/registries/x402.js +0 -668
  258. package/dist/cjs/registries/x402.js.map +0 -1
  259. package/dist/cjs/types/accounts.js +0 -13
  260. package/dist/cjs/types/accounts.js.map +0 -1
  261. package/dist/cjs/types/common.js +0 -13
  262. package/dist/cjs/types/common.js.map +0 -1
  263. package/dist/cjs/types/endpoint.js +0 -15
  264. package/dist/cjs/types/endpoint.js.map +0 -1
  265. package/dist/cjs/types/enums.js +0 -269
  266. package/dist/cjs/types/enums.js.map +0 -1
  267. package/dist/cjs/types/index.js +0 -41
  268. package/dist/cjs/types/index.js.map +0 -1
  269. package/dist/cjs/types/instructions.js +0 -92
  270. package/dist/cjs/types/instructions.js.map +0 -1
  271. package/dist/cjs/utils/anchor-errors.js +0 -453
  272. package/dist/cjs/utils/anchor-errors.js.map +0 -1
  273. package/dist/cjs/utils/endpoint-validator.js +0 -232
  274. package/dist/cjs/utils/endpoint-validator.js.map +0 -1
  275. package/dist/cjs/utils/escrow-validation.js +0 -219
  276. package/dist/cjs/utils/escrow-validation.js.map +0 -1
  277. package/dist/cjs/utils/hash.js +0 -109
  278. package/dist/cjs/utils/hash.js.map +0 -1
  279. package/dist/cjs/utils/merchant-validator.js +0 -246
  280. package/dist/cjs/utils/merchant-validator.js.map +0 -1
  281. package/dist/cjs/utils/network-normalizer.js +0 -236
  282. package/dist/cjs/utils/network-normalizer.js.map +0 -1
  283. package/dist/cjs/utils/priority-fee.js +0 -215
  284. package/dist/cjs/utils/priority-fee.js.map +0 -1
  285. package/dist/cjs/utils/rpc-strategy.js +0 -239
  286. package/dist/cjs/utils/rpc-strategy.js.map +0 -1
  287. package/dist/cjs/utils/schemas.js +0 -331
  288. package/dist/cjs/utils/schemas.js.map +0 -1
  289. package/dist/cjs/utils/serialization.js +0 -105
  290. package/dist/cjs/utils/serialization.js.map +0 -1
  291. package/dist/cjs/utils/validation.js +0 -36
  292. package/dist/cjs/utils/validation.js.map +0 -1
  293. package/dist/cjs/utils/volume-curve.js +0 -117
  294. package/dist/cjs/utils/volume-curve.js.map +0 -1
  295. package/dist/cjs/utils/x402-direct.js +0 -231
  296. package/dist/cjs/utils/x402-direct.js.map +0 -1
  297. package/dist/esm/constants/addresses.js +0 -140
  298. package/dist/esm/constants/addresses.js.map +0 -1
  299. package/dist/esm/constants/index.js +0 -35
  300. package/dist/esm/constants/index.js.map +0 -1
  301. package/dist/esm/constants/limits.js +0 -158
  302. package/dist/esm/constants/limits.js.map +0 -1
  303. package/dist/esm/constants/network.js +0 -78
  304. package/dist/esm/constants/network.js.map +0 -1
  305. package/dist/esm/constants/payments.js +0 -131
  306. package/dist/esm/constants/payments.js.map +0 -1
  307. package/dist/esm/constants/programs.js +0 -75
  308. package/dist/esm/constants/programs.js.map +0 -1
  309. package/dist/esm/constants/seeds.js +0 -73
  310. package/dist/esm/constants/seeds.js.map +0 -1
  311. package/dist/esm/core/client.js +0 -539
  312. package/dist/esm/core/client.js.map +0 -1
  313. package/dist/esm/core/connection.js +0 -345
  314. package/dist/esm/core/connection.js.map +0 -1
  315. package/dist/esm/core/index.js +0 -19
  316. package/dist/esm/core/index.js.map +0 -1
  317. package/dist/esm/errors/index.js +0 -325
  318. package/dist/esm/errors/index.js.map +0 -1
  319. package/dist/esm/events/geyser.js +0 -258
  320. package/dist/esm/events/geyser.js.map +0 -1
  321. package/dist/esm/idl/index.js +0 -57
  322. package/dist/esm/idl/index.js.map +0 -1
  323. package/dist/esm/idl/synapse_agent_sap.json +0 -14595
  324. package/dist/esm/modules/agent.js +0 -268
  325. package/dist/esm/modules/agent.js.map +0 -1
  326. package/dist/esm/modules/attestation.js +0 -143
  327. package/dist/esm/modules/attestation.js.map +0 -1
  328. package/dist/esm/modules/base.js +0 -185
  329. package/dist/esm/modules/base.js.map +0 -1
  330. package/dist/esm/modules/escrow-v2.js +0 -603
  331. package/dist/esm/modules/escrow-v2.js.map +0 -1
  332. package/dist/esm/modules/escrow.js +0 -332
  333. package/dist/esm/modules/escrow.js.map +0 -1
  334. package/dist/esm/modules/feedback.js +0 -162
  335. package/dist/esm/modules/feedback.js.map +0 -1
  336. package/dist/esm/modules/index.js +0 -27
  337. package/dist/esm/modules/index.js.map +0 -1
  338. package/dist/esm/modules/indexing.js +0 -371
  339. package/dist/esm/modules/indexing.js.map +0 -1
  340. package/dist/esm/modules/ledger.js +0 -230
  341. package/dist/esm/modules/ledger.js.map +0 -1
  342. package/dist/esm/modules/receipt.js +0 -144
  343. package/dist/esm/modules/receipt.js.map +0 -1
  344. package/dist/esm/modules/staking.js +0 -155
  345. package/dist/esm/modules/staking.js.map +0 -1
  346. package/dist/esm/modules/subscription.js +0 -92
  347. package/dist/esm/modules/subscription.js.map +0 -1
  348. package/dist/esm/modules/tools.js +0 -341
  349. package/dist/esm/modules/tools.js.map +0 -1
  350. package/dist/esm/modules/vault.js +0 -423
  351. package/dist/esm/modules/vault.js.map +0 -1
  352. package/dist/esm/parser/client.js +0 -142
  353. package/dist/esm/parser/client.js.map +0 -1
  354. package/dist/esm/parser/complete.js +0 -173
  355. package/dist/esm/parser/complete.js.map +0 -1
  356. package/dist/esm/parser/index.js +0 -43
  357. package/dist/esm/parser/index.js.map +0 -1
  358. package/dist/esm/parser/inner.js +0 -180
  359. package/dist/esm/parser/inner.js.map +0 -1
  360. package/dist/esm/parser/instructions.js +0 -109
  361. package/dist/esm/parser/instructions.js.map +0 -1
  362. package/dist/esm/parser/transaction.js +0 -149
  363. package/dist/esm/parser/transaction.js.map +0 -1
  364. package/dist/esm/parser/types.js +0 -13
  365. package/dist/esm/parser/types.js.map +0 -1
  366. package/dist/esm/pda/index.js +0 -638
  367. package/dist/esm/pda/index.js.map +0 -1
  368. package/dist/esm/plugin/index.js +0 -945
  369. package/dist/esm/plugin/index.js.map +0 -1
  370. package/dist/esm/plugin/protocols.js +0 -279
  371. package/dist/esm/plugin/protocols.js.map +0 -1
  372. package/dist/esm/plugin/schemas.js +0 -860
  373. package/dist/esm/plugin/schemas.js.map +0 -1
  374. package/dist/esm/postgres/adapter.js +0 -678
  375. package/dist/esm/postgres/adapter.js.map +0 -1
  376. package/dist/esm/postgres/index.js +0 -27
  377. package/dist/esm/postgres/index.js.map +0 -1
  378. package/dist/esm/postgres/serializers.js +0 -362
  379. package/dist/esm/postgres/serializers.js.map +0 -1
  380. package/dist/esm/postgres/sync.js +0 -285
  381. package/dist/esm/postgres/sync.js.map +0 -1
  382. package/dist/esm/postgres/types.js +0 -41
  383. package/dist/esm/postgres/types.js.map +0 -1
  384. package/dist/esm/registries/builder.js +0 -410
  385. package/dist/esm/registries/builder.js.map +0 -1
  386. package/dist/esm/registries/discovery.js +0 -358
  387. package/dist/esm/registries/discovery.js.map +0 -1
  388. package/dist/esm/registries/fairscale.js +0 -633
  389. package/dist/esm/registries/fairscale.js.map +0 -1
  390. package/dist/esm/registries/index.js +0 -46
  391. package/dist/esm/registries/index.js.map +0 -1
  392. package/dist/esm/registries/metaplex-bridge.js +0 -706
  393. package/dist/esm/registries/metaplex-bridge.js.map +0 -1
  394. package/dist/esm/registries/session.js +0 -429
  395. package/dist/esm/registries/session.js.map +0 -1
  396. package/dist/esm/registries/x402.js +0 -664
  397. package/dist/esm/registries/x402.js.map +0 -1
  398. package/dist/esm/types/accounts.js +0 -12
  399. package/dist/esm/types/accounts.js.map +0 -1
  400. package/dist/esm/types/common.js +0 -12
  401. package/dist/esm/types/common.js.map +0 -1
  402. package/dist/esm/types/endpoint.js +0 -14
  403. package/dist/esm/types/endpoint.js.map +0 -1
  404. package/dist/esm/types/enums.js +0 -266
  405. package/dist/esm/types/enums.js.map +0 -1
  406. package/dist/esm/types/index.js +0 -25
  407. package/dist/esm/types/index.js.map +0 -1
  408. package/dist/esm/types/instructions.js +0 -89
  409. package/dist/esm/types/instructions.js.map +0 -1
  410. package/dist/esm/utils/anchor-errors.js +0 -447
  411. package/dist/esm/utils/anchor-errors.js.map +0 -1
  412. package/dist/esm/utils/endpoint-validator.js +0 -226
  413. package/dist/esm/utils/endpoint-validator.js.map +0 -1
  414. package/dist/esm/utils/escrow-validation.js +0 -212
  415. package/dist/esm/utils/escrow-validation.js.map +0 -1
  416. package/dist/esm/utils/hash.js +0 -103
  417. package/dist/esm/utils/hash.js.map +0 -1
  418. package/dist/esm/utils/merchant-validator.js +0 -241
  419. package/dist/esm/utils/merchant-validator.js.map +0 -1
  420. package/dist/esm/utils/network-normalizer.js +0 -229
  421. package/dist/esm/utils/network-normalizer.js.map +0 -1
  422. package/dist/esm/utils/priority-fee.js +0 -209
  423. package/dist/esm/utils/priority-fee.js.map +0 -1
  424. package/dist/esm/utils/rpc-strategy.js +0 -231
  425. package/dist/esm/utils/rpc-strategy.js.map +0 -1
  426. package/dist/esm/utils/schemas.js +0 -320
  427. package/dist/esm/utils/schemas.js.map +0 -1
  428. package/dist/esm/utils/serialization.js +0 -98
  429. package/dist/esm/utils/serialization.js.map +0 -1
  430. package/dist/esm/utils/validation.js +0 -33
  431. package/dist/esm/utils/validation.js.map +0 -1
  432. package/dist/esm/utils/volume-curve.js +0 -114
  433. package/dist/esm/utils/volume-curve.js.map +0 -1
  434. package/dist/esm/utils/x402-direct.js +0 -228
  435. package/dist/esm/utils/x402-direct.js.map +0 -1
  436. package/dist/types/constants/addresses.d.ts +0 -117
  437. package/dist/types/constants/addresses.d.ts.map +0 -1
  438. package/dist/types/constants/index.d.ts +0 -31
  439. package/dist/types/constants/index.d.ts.map +0 -1
  440. package/dist/types/constants/limits.d.ts +0 -149
  441. package/dist/types/constants/limits.d.ts.map +0 -1
  442. package/dist/types/constants/network.d.ts +0 -81
  443. package/dist/types/constants/network.d.ts.map +0 -1
  444. package/dist/types/constants/payments.d.ts +0 -121
  445. package/dist/types/constants/payments.d.ts.map +0 -1
  446. package/dist/types/constants/programs.d.ts +0 -69
  447. package/dist/types/constants/programs.d.ts.map +0 -1
  448. package/dist/types/constants/seeds.d.ts +0 -80
  449. package/dist/types/constants/seeds.d.ts.map +0 -1
  450. package/dist/types/core/client.d.ts +0 -452
  451. package/dist/types/core/client.d.ts.map +0 -1
  452. package/dist/types/core/connection.d.ts +0 -305
  453. package/dist/types/core/connection.d.ts.map +0 -1
  454. package/dist/types/core/index.d.ts +0 -20
  455. package/dist/types/core/index.d.ts.map +0 -1
  456. package/dist/types/errors/index.d.ts +0 -276
  457. package/dist/types/errors/index.d.ts.map +0 -1
  458. package/dist/types/events/geyser.d.ts +0 -150
  459. package/dist/types/events/geyser.d.ts.map +0 -1
  460. package/dist/types/events/index.d.ts +0 -248
  461. package/dist/types/events/index.d.ts.map +0 -1
  462. package/dist/types/idl/index.d.ts +0 -70
  463. package/dist/types/idl/index.d.ts.map +0 -1
  464. package/dist/types/index.d.ts +0 -85
  465. package/dist/types/index.d.ts.map +0 -1
  466. package/dist/types/modules/agent.d.ts +0 -166
  467. package/dist/types/modules/agent.d.ts.map +0 -1
  468. package/dist/types/modules/attestation.d.ts +0 -96
  469. package/dist/types/modules/attestation.d.ts.map +0 -1
  470. package/dist/types/modules/base.d.ts +0 -161
  471. package/dist/types/modules/base.d.ts.map +0 -1
  472. package/dist/types/modules/escrow-v2.d.ts +0 -169
  473. package/dist/types/modules/escrow-v2.d.ts.map +0 -1
  474. package/dist/types/modules/escrow.d.ts +0 -168
  475. package/dist/types/modules/escrow.d.ts.map +0 -1
  476. package/dist/types/modules/feedback.d.ts +0 -105
  477. package/dist/types/modules/feedback.d.ts.map +0 -1
  478. package/dist/types/modules/index.d.ts +0 -28
  479. package/dist/types/modules/index.d.ts.map +0 -1
  480. package/dist/types/modules/indexing.d.ts +0 -200
  481. package/dist/types/modules/indexing.d.ts.map +0 -1
  482. package/dist/types/modules/ledger.d.ts +0 -150
  483. package/dist/types/modules/ledger.d.ts.map +0 -1
  484. package/dist/types/modules/receipt.d.ts +0 -77
  485. package/dist/types/modules/receipt.d.ts.map +0 -1
  486. package/dist/types/modules/staking.d.ts +0 -51
  487. package/dist/types/modules/staking.d.ts.map +0 -1
  488. package/dist/types/modules/subscription.d.ts +0 -33
  489. package/dist/types/modules/subscription.d.ts.map +0 -1
  490. package/dist/types/modules/tools.d.ts +0 -182
  491. package/dist/types/modules/tools.d.ts.map +0 -1
  492. package/dist/types/modules/vault.d.ts +0 -240
  493. package/dist/types/modules/vault.d.ts.map +0 -1
  494. package/dist/types/parser/client.d.ts +0 -123
  495. package/dist/types/parser/client.d.ts.map +0 -1
  496. package/dist/types/parser/complete.d.ts +0 -90
  497. package/dist/types/parser/complete.d.ts.map +0 -1
  498. package/dist/types/parser/index.d.ts +0 -40
  499. package/dist/types/parser/index.d.ts.map +0 -1
  500. package/dist/types/parser/inner.d.ts +0 -114
  501. package/dist/types/parser/inner.d.ts.map +0 -1
  502. package/dist/types/parser/instructions.d.ts +0 -76
  503. package/dist/types/parser/instructions.d.ts.map +0 -1
  504. package/dist/types/parser/transaction.d.ts +0 -77
  505. package/dist/types/parser/transaction.d.ts.map +0 -1
  506. package/dist/types/parser/types.d.ts +0 -154
  507. package/dist/types/parser/types.d.ts.map +0 -1
  508. package/dist/types/pda/index.d.ts +0 -510
  509. package/dist/types/pda/index.d.ts.map +0 -1
  510. package/dist/types/plugin/index.d.ts +0 -171
  511. package/dist/types/plugin/index.d.ts.map +0 -1
  512. package/dist/types/plugin/protocols.d.ts +0 -152
  513. package/dist/types/plugin/protocols.d.ts.map +0 -1
  514. package/dist/types/plugin/schemas.d.ts +0 -829
  515. package/dist/types/plugin/schemas.d.ts.map +0 -1
  516. package/dist/types/postgres/adapter.d.ts +0 -355
  517. package/dist/types/postgres/adapter.d.ts.map +0 -1
  518. package/dist/types/postgres/index.d.ts +0 -24
  519. package/dist/types/postgres/index.d.ts.map +0 -1
  520. package/dist/types/postgres/serializers.d.ts +0 -30
  521. package/dist/types/postgres/serializers.d.ts.map +0 -1
  522. package/dist/types/postgres/sync.d.ts +0 -156
  523. package/dist/types/postgres/sync.d.ts.map +0 -1
  524. package/dist/types/postgres/types.d.ts +0 -167
  525. package/dist/types/postgres/types.d.ts.map +0 -1
  526. package/dist/types/registries/builder.d.ts +0 -340
  527. package/dist/types/registries/builder.d.ts.map +0 -1
  528. package/dist/types/registries/discovery.d.ts +0 -333
  529. package/dist/types/registries/discovery.d.ts.map +0 -1
  530. package/dist/types/registries/fairscale.d.ts +0 -680
  531. package/dist/types/registries/fairscale.d.ts.map +0 -1
  532. package/dist/types/registries/index.d.ts +0 -52
  533. package/dist/types/registries/index.d.ts.map +0 -1
  534. package/dist/types/registries/metaplex-bridge.d.ts +0 -488
  535. package/dist/types/registries/metaplex-bridge.d.ts.map +0 -1
  536. package/dist/types/registries/session.d.ts +0 -323
  537. package/dist/types/registries/session.d.ts.map +0 -1
  538. package/dist/types/registries/x402.d.ts +0 -530
  539. package/dist/types/registries/x402.d.ts.map +0 -1
  540. package/dist/types/types/accounts.d.ts +0 -765
  541. package/dist/types/types/accounts.d.ts.map +0 -1
  542. package/dist/types/types/common.d.ts +0 -166
  543. package/dist/types/types/common.d.ts.map +0 -1
  544. package/dist/types/types/endpoint.d.ts +0 -161
  545. package/dist/types/types/endpoint.d.ts.map +0 -1
  546. package/dist/types/types/enums.d.ts +0 -353
  547. package/dist/types/types/enums.d.ts.map +0 -1
  548. package/dist/types/types/index.d.ts +0 -29
  549. package/dist/types/types/index.d.ts.map +0 -1
  550. package/dist/types/types/instructions.d.ts +0 -400
  551. package/dist/types/types/instructions.d.ts.map +0 -1
  552. package/dist/types/utils/anchor-errors.d.ts +0 -61
  553. package/dist/types/utils/anchor-errors.d.ts.map +0 -1
  554. package/dist/types/utils/endpoint-validator.d.ts +0 -110
  555. package/dist/types/utils/endpoint-validator.d.ts.map +0 -1
  556. package/dist/types/utils/escrow-validation.d.ts +0 -145
  557. package/dist/types/utils/escrow-validation.d.ts.map +0 -1
  558. package/dist/types/utils/hash.d.ts +0 -75
  559. package/dist/types/utils/hash.d.ts.map +0 -1
  560. package/dist/types/utils/index.d.ts +0 -36
  561. package/dist/types/utils/index.d.ts.map +0 -1
  562. package/dist/types/utils/merchant-validator.d.ts +0 -176
  563. package/dist/types/utils/merchant-validator.d.ts.map +0 -1
  564. package/dist/types/utils/network-normalizer.d.ts +0 -120
  565. package/dist/types/utils/network-normalizer.d.ts.map +0 -1
  566. package/dist/types/utils/priority-fee.d.ts +0 -205
  567. package/dist/types/utils/priority-fee.d.ts.map +0 -1
  568. package/dist/types/utils/rpc-strategy.d.ts +0 -172
  569. package/dist/types/utils/rpc-strategy.d.ts.map +0 -1
  570. package/dist/types/utils/schemas.d.ts +0 -351
  571. package/dist/types/utils/schemas.d.ts.map +0 -1
  572. package/dist/types/utils/serialization.d.ts +0 -69
  573. package/dist/types/utils/serialization.d.ts.map +0 -1
  574. package/dist/types/utils/validation.d.ts +0 -29
  575. package/dist/types/utils/validation.d.ts.map +0 -1
  576. package/dist/types/utils/volume-curve.d.ts +0 -60
  577. package/dist/types/utils/volume-curve.d.ts.map +0 -1
  578. package/dist/types/utils/x402-direct.d.ts +0 -114
  579. package/dist/types/utils/x402-direct.d.ts.map +0 -1
  580. package/src/constants/addresses.ts +0 -162
  581. package/src/constants/index.ts +0 -69
  582. package/src/constants/limits.ts +0 -165
  583. package/src/constants/network.ts +0 -89
  584. package/src/constants/payments.ts +0 -145
  585. package/src/constants/programs.ts +0 -83
  586. package/src/constants/seeds.ts +0 -85
  587. package/src/core/client.ts +0 -583
  588. package/src/core/connection.ts +0 -461
  589. package/src/core/index.ts +0 -20
  590. package/src/errors/index.ts +0 -346
  591. package/src/events/geyser.ts +0 -384
  592. package/src/events/index.ts +0 -335
  593. package/src/events/yellowstone.d.ts +0 -7
  594. package/src/idl/index.ts +0 -76
  595. package/src/idl/synapse_agent_sap.json +0 -14595
  596. package/src/index.ts +0 -421
  597. package/src/modules/agent.ts +0 -319
  598. package/src/modules/attestation.ts +0 -168
  599. package/src/modules/base.ts +0 -247
  600. package/src/modules/escrow-v2.ts +0 -871
  601. package/src/modules/escrow.ts +0 -439
  602. package/src/modules/feedback.ts +0 -186
  603. package/src/modules/index.ts +0 -28
  604. package/src/modules/indexing.ts +0 -444
  605. package/src/modules/ledger.ts +0 -262
  606. package/src/modules/receipt.ts +0 -212
  607. package/src/modules/staking.ts +0 -223
  608. package/src/modules/subscription.ts +0 -147
  609. package/src/modules/tools.ts +0 -454
  610. package/src/modules/vault.ts +0 -558
  611. package/src/parser/client.ts +0 -211
  612. package/src/parser/complete.ts +0 -232
  613. package/src/parser/index.ts +0 -71
  614. package/src/parser/inner.ts +0 -255
  615. package/src/parser/instructions.ts +0 -135
  616. package/src/parser/transaction.ts +0 -200
  617. package/src/parser/types.ts +0 -182
  618. package/src/pda/index.ts +0 -919
  619. package/src/plugin/index.ts +0 -1224
  620. package/src/plugin/protocols.ts +0 -404
  621. package/src/plugin/schemas.ts +0 -941
  622. package/src/postgres/adapter.ts +0 -904
  623. package/src/postgres/index.ts +0 -59
  624. package/src/postgres/schema.sql +0 -683
  625. package/src/postgres/serializers.ts +0 -485
  626. package/src/postgres/sync.ts +0 -340
  627. package/src/postgres/types.ts +0 -245
  628. package/src/registries/builder.ts +0 -607
  629. package/src/registries/discovery.ts +0 -572
  630. package/src/registries/fairscale.ts +0 -1278
  631. package/src/registries/index.ts +0 -143
  632. package/src/registries/metaplex-bridge.ts +0 -1199
  633. package/src/registries/session.ts +0 -613
  634. package/src/registries/x402.ts +0 -1048
  635. package/src/types/accounts.ts +0 -858
  636. package/src/types/common.ts +0 -187
  637. package/src/types/endpoint.ts +0 -181
  638. package/src/types/enums.ts +0 -333
  639. package/src/types/index.ts +0 -121
  640. package/src/types/instructions.ts +0 -453
  641. package/src/utils/anchor-errors.ts +0 -461
  642. package/src/utils/endpoint-validator.ts +0 -300
  643. package/src/utils/escrow-validation.ts +0 -301
  644. package/src/utils/hash.ts +0 -113
  645. package/src/utils/index.ts +0 -118
  646. package/src/utils/merchant-validator.ts +0 -359
  647. package/src/utils/network-normalizer.ts +0 -240
  648. package/src/utils/priority-fee.ts +0 -325
  649. package/src/utils/rpc-strategy.ts +0 -322
  650. package/src/utils/schemas.ts +0 -359
  651. package/src/utils/serialization.ts +0 -98
  652. package/src/utils/validation.ts +0 -36
  653. package/src/utils/volume-curve.ts +0 -131
  654. package/src/utils/x402-direct.ts +0 -370
@@ -1,583 +0,0 @@
1
- /**
2
- * @module core/client
3
- * @description Core SapClient — thin wrapper around the Anchor program
4
- * that wires up provider, IDL, and exposes typed module accessors.
5
- *
6
- * This is the primary entry point for the `@synapse-sap/sdk` package.
7
- * All protocol domains (agent lifecycle, reputation, vault, escrow, etc.)
8
- * are available as lazily-instantiated, strongly-typed module accessors.
9
- *
10
- * @since v0.1.0
11
- * @category Core
12
- *
13
- * @example
14
- * ```ts
15
- * import { SapClient } from "@synapse-sap/sdk";
16
- *
17
- * const client = SapClient.from(provider); // auto-IDL
18
- * const client = SapClient.fromProgram(program); // existing program
19
- *
20
- * // Use domain modules:
21
- * await client.agent.register({ ... });
22
- * await client.vault.initVault(vaultNonce);
23
- * const escrow = await client.escrow.fetch(escrowPda);
24
- * ```
25
- */
26
-
27
- import { type AnchorProvider, Program } from "@coral-xyz/anchor";
28
- import type { PublicKey } from "@solana/web3.js";
29
- import { SAP_PROGRAM_ID } from "../constants";
30
- import { AgentModule } from "../modules/agent";
31
- import { FeedbackModule } from "../modules/feedback";
32
- import { IndexingModule } from "../modules/indexing";
33
- import { ToolsModule } from "../modules/tools";
34
- import { VaultModule } from "../modules/vault";
35
- import { EscrowModule } from "../modules/escrow";
36
- import { EscrowV2Module } from "../modules/escrow-v2";
37
- import { ReceiptModule } from "../modules/receipt";
38
- import { StakingModule } from "../modules/staking";
39
- import { SubscriptionModule } from "../modules/subscription";
40
- import { AttestationModule } from "../modules/attestation";
41
- import { LedgerModule } from "../modules/ledger";
42
- import { EventParser } from "../events";
43
- import { TransactionParser } from "../parser/client";
44
- import { DiscoveryRegistry } from "../registries/discovery";
45
- import { X402Registry } from "../registries/x402";
46
- import { SessionManager } from "../registries/session";
47
- import { AgentBuilder } from "../registries/builder";
48
- import { MetaplexBridge } from "../registries/metaplex-bridge";
49
- import { FairScaleRegistry, type FairScaleConfig } from "../registries/fairscale";
50
-
51
- // IDL is embedded inside the SDK — no external workspace dependency
52
- import idl from "../idl/synapse_agent_sap.json";
53
-
54
- /** Re-usable Anchor program type (untyped — SDK provides its own types). */
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- type SapProgram = Program<any>;
57
-
58
- /**
59
- * @name SapClient
60
- * @description Root entry point for the Synapse Agent Protocol v2 TypeScript SDK.
61
- *
62
- * Each protocol domain is exposed as a lazily-instantiated module:
63
- * `agent`, `feedback`, `indexing`, `tools`, `vault`, `escrow`,
64
- * `attestation`, `ledger`, `events`.
65
- *
66
- * Higher-level abstractions (`discovery`, `x402`, `session`, `builder`)
67
- * compose the low-level modules into ergonomic workflows.
68
- *
69
- * Instantiate via the static factory methods {@link SapClient.from} or
70
- * {@link SapClient.fromProgram} — the constructor is private.
71
- *
72
- * @category Core
73
- * @since v0.1.0
74
- *
75
- * @example
76
- * ```ts
77
- * import { SapClient } from "@synapse-sap/sdk";
78
- * import { AnchorProvider } from "@coral-xyz/anchor";
79
- *
80
- * const provider = AnchorProvider.env();
81
- * const client = SapClient.from(provider);
82
- *
83
- * // Register an agent
84
- * await client.agent.register({
85
- * name: "SwapBot",
86
- * description: "AI-powered swap agent",
87
- * });
88
- *
89
- * // Discover agents
90
- * const agents = await client.discovery.findAgentsByProtocol("jupiter");
91
- * ```
92
- */
93
- export class SapClient {
94
- /**
95
- * @name program
96
- * @description The underlying Anchor `Program` instance used for all RPC
97
- * calls and account deserialization.
98
- * @readonly
99
- * @category Core
100
- * @since v0.1.0
101
- */
102
- readonly program: SapProgram;
103
-
104
- /**
105
- * @name walletPubkey
106
- * @description The provider wallet's public key, extracted from the
107
- * Anchor provider for convenience. This is the default authority /
108
- * payer used by module instructions unless overridden.
109
- * @readonly
110
- * @category Core
111
- * @since v0.1.0
112
- */
113
- readonly walletPubkey: PublicKey;
114
-
115
- // ── Lazy module singletons ────────────────────────
116
- #agent?: AgentModule;
117
- #feedback?: FeedbackModule;
118
- #indexing?: IndexingModule;
119
- #tools?: ToolsModule;
120
- #vault?: VaultModule;
121
- #escrow?: EscrowModule;
122
- #escrowV2?: EscrowV2Module;
123
- #receipt?: ReceiptModule;
124
- #staking?: StakingModule;
125
- #subscription?: SubscriptionModule;
126
- #attestation?: AttestationModule;
127
- #ledger?: LedgerModule;
128
- #events?: EventParser;
129
-
130
- // ── Lazy parser singleton ─────────────────────
131
- #parser?: TransactionParser;
132
-
133
- // ── Lazy registry singletons ──────────────────────
134
- #discovery?: DiscoveryRegistry;
135
- #x402?: X402Registry;
136
- #session?: SessionManager;
137
- #metaplex?: MetaplexBridge;
138
- #fairscale?: FairScaleRegistry;
139
- #fairscaleConfig?: FairScaleConfig;
140
-
141
- private constructor(program: SapProgram) {
142
- this.program = program;
143
- this.walletPubkey = (program.provider as AnchorProvider).wallet.publicKey;
144
- }
145
-
146
- // ═════════════════════════════════════════════
147
- // Factory Methods
148
- // ═════════════════════════════════════════════
149
-
150
- /**
151
- * @name from
152
- * @description Create a {@link SapClient} from an `AnchorProvider`.
153
- * Automatically loads the embedded IDL shipped with the SDK.
154
- *
155
- * @param provider - A configured `AnchorProvider` with wallet and connection.
156
- * @param programId - Optional override for the SAP program ID.
157
- * Defaults to `SAP_PROGRAM_ID` from `@synapse-sap/sdk/constants`.
158
- * @returns A fully-initialised `SapClient` ready for use.
159
- *
160
- * @category Core
161
- * @since v0.1.0
162
- * @see {@link SapClient.fromProgram} for an alternative accepting a pre-built `Program`.
163
- *
164
- * @example
165
- * ```ts
166
- * import { SapClient } from "@synapse-sap/sdk";
167
- * import { AnchorProvider } from "@coral-xyz/anchor";
168
- *
169
- * const provider = AnchorProvider.env();
170
- * const client = SapClient.from(provider);
171
- * ```
172
- *
173
- * @example Custom program ID (e.g. localnet)
174
- * ```ts
175
- * const client = SapClient.from(provider, myLocalProgramId);
176
- * ```
177
- */
178
- static from(
179
- provider: AnchorProvider,
180
- programId: PublicKey = SAP_PROGRAM_ID,
181
- ): SapClient {
182
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
183
- const program = new Program(idl as any, provider);
184
- // Override program ID if non-default
185
- if (!programId.equals(SAP_PROGRAM_ID)) {
186
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
187
- (program as any).programId = programId;
188
- }
189
- return new SapClient(program);
190
- }
191
-
192
- /**
193
- * @name fromProgram
194
- * @description Create a {@link SapClient} from an existing Anchor `Program`
195
- * instance. Useful when the caller already has a configured program or
196
- * needs full control over IDL resolution.
197
- *
198
- * @param program - A pre-built Anchor `Program` targeting the SAP program.
199
- * @returns A fully-initialised `SapClient` wrapping the supplied program.
200
- *
201
- * @category Core
202
- * @since v0.1.0
203
- * @see {@link SapClient.from} for the convenience factory that auto-loads the IDL.
204
- *
205
- * @example
206
- * ```ts
207
- * import { Program } from "@coral-xyz/anchor";
208
- * import { SapClient } from "@synapse-sap/sdk";
209
- *
210
- * const program = new Program(idl, provider);
211
- * const client = SapClient.fromProgram(program);
212
- * ```
213
- */
214
- static fromProgram(program: SapProgram): SapClient {
215
- return new SapClient(program);
216
- }
217
-
218
- // ═════════════════════════════════════════════
219
- // Module Accessors (lazy singletons)
220
- // ═════════════════════════════════════════════
221
-
222
- /**
223
- * @name agent
224
- * @description Agent lifecycle: register, update, deactivate, close, and
225
- * query agent metrics on-chain.
226
- * @returns {AgentModule} The lazily-instantiated `AgentModule` singleton.
227
- * @category Modules
228
- * @since v0.1.0
229
- * @see {@link AgentModule}
230
- */
231
- get agent(): AgentModule {
232
- return (this.#agent ??= new AgentModule(this.program));
233
- }
234
-
235
- /**
236
- * @name feedback
237
- * @description Trustless reputation: give, update, revoke, and close
238
- * on-chain feedback entries for agents.
239
- * @returns {FeedbackModule} The lazily-instantiated `FeedbackModule` singleton.
240
- * @category Modules
241
- * @since v0.1.0
242
- * @see {@link FeedbackModule}
243
- */
244
- get feedback(): FeedbackModule {
245
- return (this.#feedback ??= new FeedbackModule(this.program));
246
- }
247
-
248
- /**
249
- * @name indexing
250
- * @description Scalable discovery: capability, protocol, and tool-category
251
- * on-chain indexes for agent search.
252
- * @returns {IndexingModule} The lazily-instantiated `IndexingModule` singleton.
253
- * @category Modules
254
- * @since v0.1.0
255
- * @see {@link IndexingModule}
256
- */
257
- get indexing(): IndexingModule {
258
- return (this.#indexing ??= new IndexingModule(this.program));
259
- }
260
-
261
- /**
262
- * @name tools
263
- * @description Tool schema registry: publish, inscribe, update, and close
264
- * on-chain tool definitions.
265
- * @returns {ToolsModule} The lazily-instantiated `ToolsModule` singleton.
266
- * @category Modules
267
- * @since v0.1.0
268
- * @see {@link ToolsModule}
269
- */
270
- get tools(): ToolsModule {
271
- return (this.#tools ??= new ToolsModule(this.program));
272
- }
273
-
274
- /**
275
- * @name vault
276
- * @description Encrypted memory vault: initialise vaults, manage sessions,
277
- * inscribe data, and delegate access.
278
- * @returns {VaultModule} The lazily-instantiated `VaultModule` singleton.
279
- * @category Modules
280
- * @since v0.1.0
281
- * @see {@link VaultModule}
282
- */
283
- get vault(): VaultModule {
284
- return (this.#vault ??= new VaultModule(this.program));
285
- }
286
-
287
- /**
288
- * @name escrow
289
- * @description x402 escrow settlement: create escrow accounts, deposit
290
- * funds, settle payments, and withdraw balances.
291
- * @returns {EscrowModule} The lazily-instantiated `EscrowModule` singleton.
292
- * @category Modules
293
- * @since v0.1.0
294
- * @see {@link EscrowModule}
295
- */
296
- get escrow(): EscrowModule {
297
- return (this.#escrow ??= new EscrowModule(this.program));
298
- }
299
-
300
- /**
301
- * @name escrowV2
302
- * @description V2 escrow settlement with dispute windows, co-signing,
303
- * pending settlements, and migration from V1.
304
- * @returns {EscrowV2Module} The lazily-instantiated `EscrowV2Module` singleton.
305
- * @category Modules
306
- * @since v0.7.0
307
- * @see {@link EscrowV2Module}
308
- */
309
- get escrowV2(): EscrowV2Module {
310
- return (this.#escrowV2 ??= new EscrowV2Module(this.program));
311
- }
312
-
313
- /**
314
- * @name receipt
315
- * @description Receipt batch inscriptions and automatic dispute resolution (v0.7).
316
- * @returns {ReceiptModule} The lazily-instantiated `ReceiptModule` singleton.
317
- * @category Modules
318
- * @since v0.7.0
319
- * @see {@link ReceiptModule}
320
- */
321
- get receipt(): ReceiptModule {
322
- return (this.#receipt ??= new ReceiptModule(this.program));
323
- }
324
-
325
- /**
326
- * @name staking
327
- * @description Agent staking: init stake, deposit, request unstake,
328
- * and complete unstake.
329
- * @returns {StakingModule} The lazily-instantiated `StakingModule` singleton.
330
- * @category Modules
331
- * @since v0.7.0
332
- * @see {@link StakingModule}
333
- */
334
- get staking(): StakingModule {
335
- return (this.#staking ??= new StakingModule(this.program));
336
- }
337
-
338
- /**
339
- * @name subscription
340
- * @description Recurring subscriptions: create, fund, cancel, and close
341
- * subscriber-agent subscription accounts.
342
- * @returns {SubscriptionModule} The lazily-instantiated `SubscriptionModule` singleton.
343
- * @category Modules
344
- * @since v0.7.0
345
- * @see {@link SubscriptionModule}
346
- */
347
- get subscription(): SubscriptionModule {
348
- return (this.#subscription ??= new SubscriptionModule(this.program));
349
- }
350
-
351
- /**
352
- * @name attestation
353
- * @description Web of trust: create, revoke, and close on-chain
354
- * attestations between agents.
355
- * @returns {AttestationModule} The lazily-instantiated `AttestationModule` singleton.
356
- * @category Modules
357
- * @since v0.1.0
358
- * @see {@link AttestationModule}
359
- */
360
- get attestation(): AttestationModule {
361
- return (this.#attestation ??= new AttestationModule(this.program));
362
- }
363
-
364
- /**
365
- * @name ledger
366
- * @description Unified on-chain memory: initialise ledger accounts, write
367
- * entries, seal pages, and close ledgers.
368
- * @returns {LedgerModule} The lazily-instantiated `LedgerModule` singleton.
369
- * @category Modules
370
- * @since v0.1.0
371
- * @see {@link LedgerModule}
372
- */
373
- get ledger(): LedgerModule {
374
- return (this.#ledger ??= new LedgerModule(this.program));
375
- }
376
-
377
- /**
378
- * @name events
379
- * @description Decode SAP protocol events from on-chain transaction logs.
380
- * @returns {EventParser} The lazily-instantiated `EventParser` singleton.
381
- * @category Modules
382
- * @since v0.1.0
383
- * @see {@link EventParser}
384
- */
385
- get events(): EventParser {
386
- return (this.#events ??= new EventParser(this.program));
387
- }
388
-
389
- /**
390
- * @name parser
391
- * @description Transaction parser: decode instruction names, arguments,
392
- * accounts, inner CPI calls, and protocol events from raw transaction
393
- * responses. Designed for indexers and explorers.
394
- * @returns {TransactionParser} The lazily-instantiated `TransactionParser` singleton.
395
- * @category Modules
396
- * @since v0.5.0
397
- * @see {@link TransactionParser}
398
- *
399
- * @example
400
- * ```ts
401
- * const tx = await connection.getTransaction(sig, { ... });
402
- * const parsed = client.parser.parseTransaction(tx);
403
- * console.log(parsed?.instructions.map(i => i.name));
404
- * ```
405
- */
406
- get parser(): TransactionParser {
407
- return (this.#parser ??= new TransactionParser(this.program));
408
- }
409
-
410
- // ═════════════════════════════════════════════
411
- // Registry Accessors (high-level abstractions)
412
- // ═════════════════════════════════════════════
413
-
414
- /**
415
- * @name discovery
416
- * @description Agent & tool discovery across the SAP network.
417
- * Provides high-level queries for locating agents by capability,
418
- * protocol, or wallet address.
419
- *
420
- * @returns {DiscoveryRegistry} The lazily-instantiated `DiscoveryRegistry` singleton.
421
- * @category Registries
422
- * @since v0.1.0
423
- * @see {@link DiscoveryRegistry}
424
- *
425
- * @example
426
- * ```ts
427
- * const agents = await client.discovery.findAgentsByProtocol("jupiter");
428
- * const profile = await client.discovery.getAgentProfile(wallet);
429
- * ```
430
- */
431
- get discovery(): DiscoveryRegistry {
432
- return (this.#discovery ??= new DiscoveryRegistry(this.program));
433
- }
434
-
435
- /**
436
- * @name x402
437
- * @description x402 micropayment lifecycle — pricing, escrow, headers,
438
- * and settlement. Orchestrates the full pay-per-call flow between
439
- * consumer and agent.
440
- *
441
- * @returns {X402Registry} The lazily-instantiated `X402Registry` singleton.
442
- * @category Registries
443
- * @since v0.1.0
444
- * @see {@link X402Registry}
445
- *
446
- * @example
447
- * ```ts
448
- * const ctx = await client.x402.preparePayment(agentWallet, { ... });
449
- * const headers = client.x402.buildPaymentHeaders(ctx);
450
- * const receipt = await client.x402.settle(depositor, 5, serviceData);
451
- * ```
452
- */
453
- get x402(): X402Registry {
454
- return (this.#x402 ??= new X402Registry(this.program));
455
- }
456
-
457
- /**
458
- * @name session
459
- * @description Unified memory session lifecycle — vault, session, and
460
- * ledger management. Provides a single interface for starting
461
- * conversations, writing messages, and reading back history.
462
- *
463
- * @returns {SessionManager} The lazily-instantiated `SessionManager` singleton.
464
- * @category Registries
465
- * @since v0.1.0
466
- * @see {@link SessionManager}
467
- *
468
- * @example
469
- * ```ts
470
- * const ctx = await client.session.start("conversation-123");
471
- * await client.session.write(ctx, "Hello from agent");
472
- * const msgs = await client.session.readLatest(ctx);
473
- * ```
474
- */
475
- get session(): SessionManager {
476
- return (this.#session ??= new SessionManager(this.program));
477
- }
478
-
479
- /**
480
- * @name builder
481
- * @description Fluent agent registration builder.
482
- * Returns a **new** `AgentBuilder` on every access — use for one-shot
483
- * registration flows. Chain configuration calls and finalise with
484
- * `.register()`.
485
- *
486
- * @returns {AgentBuilder} A fresh `AgentBuilder` instance.
487
- * @category Registries
488
- * @since v0.1.0
489
- * @see {@link AgentBuilder}
490
- *
491
- * @example
492
- * ```ts
493
- * await client.builder
494
- * .agent("SwapBot")
495
- * .description("AI-powered swap agent")
496
- * .x402Endpoint("https://api.example.com/x402")
497
- * .addCapability("jupiter:swap", { protocol: "jupiter" })
498
- * .addPricingTier({ tierId: "standard", pricePerCall: 1000, rateLimit: 60 })
499
- * .register();
500
- * ```
501
- */
502
- get builder(): AgentBuilder {
503
- return new AgentBuilder(this.program);
504
- }
505
-
506
- /**
507
- * @name metaplex
508
- * @description Bridge between SAP and the Metaplex Agent Kit
509
- * (MPL Core Asset + AgentIdentity plugin). Read-side merges SAP
510
- * `AgentAccount` with MPL Core asset metadata; write-side composes
511
- * atomic dual-protocol delegation instructions.
512
- *
513
- * Requires the optional peer dependencies
514
- * `@metaplex-foundation/mpl-core` and
515
- * `@metaplex-foundation/umi-bundle-defaults`. They are imported lazily
516
- * the first time a method that needs them is called, so consumers that
517
- * do not use the bridge incur zero overhead.
518
- *
519
- * @returns {MetaplexBridge} The lazily-instantiated `MetaplexBridge` singleton.
520
- * @category Registries
521
- * @since v0.9.0
522
- * @see {@link MetaplexBridge}
523
- *
524
- * @example
525
- * ```ts
526
- * const profile = await client.metaplex.getUnifiedProfile({
527
- * wallet: agentWallet,
528
- * rpcUrl: "https://api.mainnet-beta.solana.com",
529
- * });
530
- * ```
531
- */
532
- get metaplex(): MetaplexBridge {
533
- return (this.#metaplex ??= new MetaplexBridge(this.program));
534
- }
535
-
536
- /**
537
- * @name configureFairScale
538
- * @description Set FairScale credentials / endpoints before the first
539
- * `client.fairscale` access. Calling after the registry is built has
540
- * no effect — set the API key here or via `FAIRSCALE_API_KEY` env.
541
- *
542
- * @param config - FairScale config (apiKey, baseUrl, humanBaseUrl, timeoutMs, fetch).
543
- * @returns `this` for chaining.
544
- * @category Registries
545
- * @since v0.11.0
546
- *
547
- * @example
548
- * ```ts
549
- * SapClient.from(provider).configureFairScale({ apiKey: process.env.FAIRSCALE_API_KEY });
550
- * ```
551
- */
552
- configureFairScale(config: FairScaleConfig): this {
553
- this.#fairscaleConfig = config;
554
- return this;
555
- }
556
-
557
- /**
558
- * @name fairscale
559
- * @description FairScale reputation aggregator — wraps both FairScale
560
- * REST APIs (Agent & Credit + Human Score) and exposes
561
- * `aggregate()` to merge SAP on-chain reputation with FairScale into
562
- * a single weighted signal.
563
- *
564
- * @returns {FairScaleRegistry} The lazily-instantiated `FairScaleRegistry` singleton.
565
- * @category Registries
566
- * @since v0.11.0
567
- * @see {@link FairScaleRegistry}
568
- *
569
- * @example
570
- * ```ts
571
- * const merged = await client.fairscale.aggregate(agentWallet, {
572
- * weights: { sap: 0.4, fairscale: 0.6 },
573
- * });
574
- * if (merged.combined.tier === "elite") accept();
575
- * ```
576
- */
577
- get fairscale(): FairScaleRegistry {
578
- return (this.#fairscale ??= new FairScaleRegistry(
579
- this.program,
580
- this.#fairscaleConfig,
581
- ));
582
- }
583
- }