@oobe-protocol-labs/synapse-sap-sdk 0.14.0 → 0.15.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 (651) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +986 -0
  3. package/dist/cjs/client.js +30 -13
  4. package/dist/cjs/client.js.map +1 -1
  5. package/dist/cjs/constants/addresses.js +143 -0
  6. package/dist/cjs/constants/addresses.js.map +1 -0
  7. package/dist/cjs/constants/index.js +64 -0
  8. package/dist/cjs/constants/index.js.map +1 -0
  9. package/dist/cjs/constants/limits.js +161 -0
  10. package/dist/cjs/constants/limits.js.map +1 -0
  11. package/dist/cjs/constants/network.js +81 -0
  12. package/dist/cjs/constants/network.js.map +1 -0
  13. package/dist/cjs/constants/payments.js +137 -0
  14. package/dist/cjs/constants/payments.js.map +1 -0
  15. package/dist/cjs/constants/programs.js +78 -0
  16. package/dist/cjs/constants/programs.js.map +1 -0
  17. package/dist/cjs/constants/seeds.js +76 -0
  18. package/dist/cjs/constants/seeds.js.map +1 -0
  19. package/dist/cjs/constants.js +39 -32
  20. package/dist/cjs/constants.js.map +1 -1
  21. package/dist/cjs/core/client.js +546 -0
  22. package/dist/cjs/core/client.js.map +1 -0
  23. package/dist/cjs/core/connection.js +350 -0
  24. package/dist/cjs/core/connection.js.map +1 -0
  25. package/dist/cjs/core/index.js +25 -0
  26. package/dist/cjs/core/index.js.map +1 -0
  27. package/dist/cjs/errors/index.js +334 -0
  28. package/dist/cjs/errors/index.js.map +1 -0
  29. package/dist/cjs/errors.js +15 -5
  30. package/dist/cjs/errors.js.map +1 -1
  31. package/dist/cjs/events/geyser.js +295 -0
  32. package/dist/cjs/events/geyser.js.map +1 -0
  33. package/dist/cjs/events/index.js +32 -26
  34. package/dist/cjs/events/index.js.map +1 -1
  35. package/dist/cjs/idl/index.js +63 -0
  36. package/dist/cjs/idl/index.js.map +1 -0
  37. package/dist/cjs/idl/synapse_agent_sap.json +14595 -0
  38. package/dist/cjs/instructions/agent.js +1 -0
  39. package/dist/cjs/instructions/agent.js.map +1 -1
  40. package/dist/cjs/instructions/attestation.js +1 -0
  41. package/dist/cjs/instructions/attestation.js.map +1 -1
  42. package/dist/cjs/instructions/digest.js +1 -0
  43. package/dist/cjs/instructions/digest.js.map +1 -1
  44. package/dist/cjs/instructions/dispute.js +1 -0
  45. package/dist/cjs/instructions/dispute.js.map +1 -1
  46. package/dist/cjs/instructions/escrow.js +1 -0
  47. package/dist/cjs/instructions/escrow.js.map +1 -1
  48. package/dist/cjs/instructions/global.js +1 -0
  49. package/dist/cjs/instructions/global.js.map +1 -1
  50. package/dist/cjs/instructions/indexing.js +1 -0
  51. package/dist/cjs/instructions/indexing.js.map +1 -1
  52. package/dist/cjs/instructions/misc.js +1 -0
  53. package/dist/cjs/instructions/misc.js.map +1 -1
  54. package/dist/cjs/instructions/session.js +1 -0
  55. package/dist/cjs/instructions/session.js.map +1 -1
  56. package/dist/cjs/instructions/staking.js +1 -0
  57. package/dist/cjs/instructions/staking.js.map +1 -1
  58. package/dist/cjs/instructions/subscription.js +1 -0
  59. package/dist/cjs/instructions/subscription.js.map +1 -1
  60. package/dist/cjs/instructions/tools.js +1 -0
  61. package/dist/cjs/instructions/tools.js.map +1 -1
  62. package/dist/cjs/instructions/vault.js +1 -0
  63. package/dist/cjs/instructions/vault.js.map +1 -1
  64. package/dist/cjs/modules/agent.js +272 -0
  65. package/dist/cjs/modules/agent.js.map +1 -0
  66. package/dist/cjs/modules/attestation.js +147 -0
  67. package/dist/cjs/modules/attestation.js.map +1 -0
  68. package/dist/cjs/modules/base.js +189 -0
  69. package/dist/cjs/modules/base.js.map +1 -0
  70. package/dist/cjs/modules/escrow-v2.js +607 -0
  71. package/dist/cjs/modules/escrow-v2.js.map +1 -0
  72. package/dist/cjs/modules/escrow.js +336 -0
  73. package/dist/cjs/modules/escrow.js.map +1 -0
  74. package/dist/cjs/modules/feedback.js +166 -0
  75. package/dist/cjs/modules/feedback.js.map +1 -0
  76. package/dist/cjs/modules/index.js +43 -0
  77. package/dist/cjs/modules/index.js.map +1 -0
  78. package/dist/cjs/modules/indexing.js +375 -0
  79. package/dist/cjs/modules/indexing.js.map +1 -0
  80. package/dist/cjs/modules/ledger.js +234 -0
  81. package/dist/cjs/modules/ledger.js.map +1 -0
  82. package/dist/cjs/modules/receipt.js +148 -0
  83. package/dist/cjs/modules/receipt.js.map +1 -0
  84. package/dist/cjs/modules/staking.js +159 -0
  85. package/dist/cjs/modules/staking.js.map +1 -0
  86. package/dist/cjs/modules/subscription.js +96 -0
  87. package/dist/cjs/modules/subscription.js.map +1 -0
  88. package/dist/cjs/modules/tools.js +345 -0
  89. package/dist/cjs/modules/tools.js.map +1 -0
  90. package/dist/cjs/modules/vault.js +427 -0
  91. package/dist/cjs/modules/vault.js.map +1 -0
  92. package/dist/cjs/parser/client.js +146 -0
  93. package/dist/cjs/parser/client.js.map +1 -0
  94. package/dist/cjs/parser/complete.js +177 -0
  95. package/dist/cjs/parser/complete.js.map +1 -0
  96. package/dist/cjs/parser/index.js +57 -0
  97. package/dist/cjs/parser/index.js.map +1 -0
  98. package/dist/cjs/parser/inner.js +185 -0
  99. package/dist/cjs/parser/inner.js.map +1 -0
  100. package/dist/cjs/parser/instructions.js +114 -0
  101. package/dist/cjs/parser/instructions.js.map +1 -0
  102. package/dist/cjs/parser/transaction.js +153 -0
  103. package/dist/cjs/parser/transaction.js.map +1 -0
  104. package/dist/cjs/parser/types.js +14 -0
  105. package/dist/cjs/parser/types.js.map +1 -0
  106. package/dist/cjs/pda/index.js +672 -0
  107. package/dist/cjs/pda/index.js.map +1 -0
  108. package/dist/cjs/plugin/index.js +952 -0
  109. package/dist/cjs/plugin/index.js.map +1 -0
  110. package/dist/cjs/plugin/protocols.js +282 -0
  111. package/dist/cjs/plugin/protocols.js.map +1 -0
  112. package/dist/cjs/plugin/schemas.js +863 -0
  113. package/dist/cjs/plugin/schemas.js.map +1 -0
  114. package/dist/cjs/postgres/adapter.js +715 -0
  115. package/dist/cjs/postgres/adapter.js.map +1 -0
  116. package/dist/cjs/postgres/index.js +50 -0
  117. package/dist/cjs/postgres/index.js.map +1 -0
  118. package/dist/cjs/postgres/serializers.js +381 -0
  119. package/dist/cjs/postgres/serializers.js.map +1 -0
  120. package/dist/cjs/postgres/sync.js +289 -0
  121. package/dist/cjs/postgres/sync.js.map +1 -0
  122. package/dist/cjs/postgres/types.js +44 -0
  123. package/dist/cjs/postgres/types.js.map +1 -0
  124. package/dist/cjs/registries/builder.js +414 -0
  125. package/dist/cjs/registries/builder.js.map +1 -0
  126. package/dist/cjs/registries/discovery.js +362 -0
  127. package/dist/cjs/registries/discovery.js.map +1 -0
  128. package/dist/cjs/registries/fairscale.js +639 -0
  129. package/dist/cjs/registries/fairscale.js.map +1 -0
  130. package/dist/cjs/registries/index.js +58 -0
  131. package/dist/cjs/registries/index.js.map +1 -0
  132. package/dist/cjs/registries/metaplex-bridge.js +743 -0
  133. package/dist/cjs/registries/metaplex-bridge.js.map +1 -0
  134. package/dist/cjs/registries/session.js +433 -0
  135. package/dist/cjs/registries/session.js.map +1 -0
  136. package/dist/cjs/registries/x402.js +668 -0
  137. package/dist/cjs/registries/x402.js.map +1 -0
  138. package/dist/cjs/types/accounts.js +13 -0
  139. package/dist/cjs/types/accounts.js.map +1 -0
  140. package/dist/cjs/types/common.js +13 -0
  141. package/dist/cjs/types/common.js.map +1 -0
  142. package/dist/cjs/types/endpoint.js +15 -0
  143. package/dist/cjs/types/endpoint.js.map +1 -0
  144. package/dist/cjs/types/enums.js +269 -0
  145. package/dist/cjs/types/enums.js.map +1 -0
  146. package/dist/cjs/types/index.js +41 -0
  147. package/dist/cjs/types/index.js.map +1 -0
  148. package/dist/cjs/types/instructions.js +92 -0
  149. package/dist/cjs/types/instructions.js.map +1 -0
  150. package/dist/cjs/types.js +4 -1
  151. package/dist/cjs/types.js.map +1 -1
  152. package/dist/cjs/utils/anchor-errors.js +453 -0
  153. package/dist/cjs/utils/anchor-errors.js.map +1 -0
  154. package/dist/cjs/utils/endpoint-validator.js +232 -0
  155. package/dist/cjs/utils/endpoint-validator.js.map +1 -0
  156. package/dist/cjs/utils/escrow-validation.js +219 -0
  157. package/dist/cjs/utils/escrow-validation.js.map +1 -0
  158. package/dist/cjs/utils/hash.js +109 -0
  159. package/dist/cjs/utils/hash.js.map +1 -0
  160. package/dist/cjs/utils/index.js +10 -4
  161. package/dist/cjs/utils/index.js.map +1 -1
  162. package/dist/cjs/utils/merchant-validator.js +246 -0
  163. package/dist/cjs/utils/merchant-validator.js.map +1 -0
  164. package/dist/cjs/utils/network-normalizer.js +236 -0
  165. package/dist/cjs/utils/network-normalizer.js.map +1 -0
  166. package/dist/cjs/utils/priority-fee.js +215 -0
  167. package/dist/cjs/utils/priority-fee.js.map +1 -0
  168. package/dist/cjs/utils/rpc-strategy.js +239 -0
  169. package/dist/cjs/utils/rpc-strategy.js.map +1 -0
  170. package/dist/cjs/utils/schemas.js +331 -0
  171. package/dist/cjs/utils/schemas.js.map +1 -0
  172. package/dist/cjs/utils/serialization.js +105 -0
  173. package/dist/cjs/utils/serialization.js.map +1 -0
  174. package/dist/cjs/utils/validate.js +1 -1
  175. package/dist/cjs/utils/validate.js.map +1 -1
  176. package/dist/cjs/utils/validation.js +36 -0
  177. package/dist/cjs/utils/validation.js.map +1 -0
  178. package/dist/cjs/utils/volume-curve.js +117 -0
  179. package/dist/cjs/utils/volume-curve.js.map +1 -0
  180. package/dist/cjs/utils/x402-direct.js +231 -0
  181. package/dist/cjs/utils/x402-direct.js.map +1 -0
  182. package/dist/esm/client.js +30 -13
  183. package/dist/esm/client.js.map +1 -1
  184. package/dist/esm/constants/addresses.d.ts +117 -0
  185. package/dist/esm/constants/addresses.d.ts.map +1 -0
  186. package/dist/esm/constants/addresses.js +140 -0
  187. package/dist/esm/constants/addresses.js.map +1 -0
  188. package/dist/esm/constants/index.d.ts +31 -0
  189. package/dist/esm/constants/index.d.ts.map +1 -0
  190. package/dist/esm/constants/index.js +35 -0
  191. package/dist/esm/constants/index.js.map +1 -0
  192. package/dist/esm/constants/limits.d.ts +149 -0
  193. package/dist/esm/constants/limits.d.ts.map +1 -0
  194. package/dist/esm/constants/limits.js +158 -0
  195. package/dist/esm/constants/limits.js.map +1 -0
  196. package/dist/esm/constants/network.d.ts +81 -0
  197. package/dist/esm/constants/network.d.ts.map +1 -0
  198. package/dist/esm/constants/network.js +78 -0
  199. package/dist/esm/constants/network.js.map +1 -0
  200. package/dist/esm/constants/payments.d.ts +121 -0
  201. package/dist/esm/constants/payments.d.ts.map +1 -0
  202. package/dist/esm/constants/payments.js +131 -0
  203. package/dist/esm/constants/payments.js.map +1 -0
  204. package/dist/esm/constants/programs.d.ts +69 -0
  205. package/dist/esm/constants/programs.d.ts.map +1 -0
  206. package/dist/esm/constants/programs.js +75 -0
  207. package/dist/esm/constants/programs.js.map +1 -0
  208. package/dist/esm/constants/seeds.d.ts +80 -0
  209. package/dist/esm/constants/seeds.d.ts.map +1 -0
  210. package/dist/esm/constants/seeds.js +73 -0
  211. package/dist/esm/constants/seeds.js.map +1 -0
  212. package/dist/esm/constants.d.ts +14 -27
  213. package/dist/esm/constants.d.ts.map +1 -1
  214. package/dist/esm/constants.js +16 -31
  215. package/dist/esm/constants.js.map +1 -1
  216. package/dist/esm/core/client.d.ts +452 -0
  217. package/dist/esm/core/client.d.ts.map +1 -0
  218. package/dist/esm/core/client.js +539 -0
  219. package/dist/esm/core/client.js.map +1 -0
  220. package/dist/esm/core/connection.d.ts +305 -0
  221. package/dist/esm/core/connection.d.ts.map +1 -0
  222. package/dist/esm/core/connection.js +345 -0
  223. package/dist/esm/core/connection.js.map +1 -0
  224. package/dist/esm/core/index.d.ts +20 -0
  225. package/dist/esm/core/index.d.ts.map +1 -0
  226. package/dist/esm/core/index.js +19 -0
  227. package/dist/esm/core/index.js.map +1 -0
  228. package/dist/esm/errors/index.d.ts +276 -0
  229. package/dist/esm/errors/index.d.ts.map +1 -0
  230. package/dist/esm/errors/index.js +325 -0
  231. package/dist/esm/errors/index.js.map +1 -0
  232. package/dist/esm/errors.d.ts +8 -0
  233. package/dist/esm/errors.d.ts.map +1 -1
  234. package/dist/esm/errors.js +8 -0
  235. package/dist/esm/errors.js.map +1 -1
  236. package/dist/esm/events/geyser.d.ts +150 -0
  237. package/dist/esm/events/geyser.d.ts.map +1 -0
  238. package/dist/esm/events/geyser.js +258 -0
  239. package/dist/esm/events/geyser.js.map +1 -0
  240. package/dist/esm/events/index.d.ts +11 -7
  241. package/dist/esm/events/index.d.ts.map +1 -1
  242. package/dist/esm/events/index.js +30 -26
  243. package/dist/esm/events/index.js.map +1 -1
  244. package/dist/esm/idl/index.d.ts +70 -0
  245. package/dist/esm/idl/index.d.ts.map +1 -0
  246. package/dist/esm/idl/index.js +57 -0
  247. package/dist/esm/idl/index.js.map +1 -0
  248. package/dist/esm/idl/synapse_agent_sap.json +14595 -0
  249. package/dist/esm/instructions/agent.js +1 -0
  250. package/dist/esm/instructions/agent.js.map +1 -1
  251. package/dist/esm/instructions/attestation.js +1 -0
  252. package/dist/esm/instructions/attestation.js.map +1 -1
  253. package/dist/esm/instructions/digest.js +1 -0
  254. package/dist/esm/instructions/digest.js.map +1 -1
  255. package/dist/esm/instructions/dispute.js +1 -0
  256. package/dist/esm/instructions/dispute.js.map +1 -1
  257. package/dist/esm/instructions/escrow.js +1 -0
  258. package/dist/esm/instructions/escrow.js.map +1 -1
  259. package/dist/esm/instructions/global.js +1 -0
  260. package/dist/esm/instructions/global.js.map +1 -1
  261. package/dist/esm/instructions/indexing.js +1 -0
  262. package/dist/esm/instructions/indexing.js.map +1 -1
  263. package/dist/esm/instructions/misc.js +1 -0
  264. package/dist/esm/instructions/misc.js.map +1 -1
  265. package/dist/esm/instructions/session.js +1 -0
  266. package/dist/esm/instructions/session.js.map +1 -1
  267. package/dist/esm/instructions/staking.js +1 -0
  268. package/dist/esm/instructions/staking.js.map +1 -1
  269. package/dist/esm/instructions/subscription.js +1 -0
  270. package/dist/esm/instructions/subscription.js.map +1 -1
  271. package/dist/esm/instructions/tools.js +1 -0
  272. package/dist/esm/instructions/tools.js.map +1 -1
  273. package/dist/esm/instructions/vault.js +1 -0
  274. package/dist/esm/instructions/vault.js.map +1 -1
  275. package/dist/esm/modules/agent.d.ts +166 -0
  276. package/dist/esm/modules/agent.d.ts.map +1 -0
  277. package/dist/esm/modules/agent.js +268 -0
  278. package/dist/esm/modules/agent.js.map +1 -0
  279. package/dist/esm/modules/attestation.d.ts +96 -0
  280. package/dist/esm/modules/attestation.d.ts.map +1 -0
  281. package/dist/esm/modules/attestation.js +143 -0
  282. package/dist/esm/modules/attestation.js.map +1 -0
  283. package/dist/esm/modules/base.d.ts +161 -0
  284. package/dist/esm/modules/base.d.ts.map +1 -0
  285. package/dist/esm/modules/base.js +185 -0
  286. package/dist/esm/modules/base.js.map +1 -0
  287. package/dist/esm/modules/escrow-v2.d.ts +169 -0
  288. package/dist/esm/modules/escrow-v2.d.ts.map +1 -0
  289. package/dist/esm/modules/escrow-v2.js +603 -0
  290. package/dist/esm/modules/escrow-v2.js.map +1 -0
  291. package/dist/esm/modules/escrow.d.ts +168 -0
  292. package/dist/esm/modules/escrow.d.ts.map +1 -0
  293. package/dist/esm/modules/escrow.js +332 -0
  294. package/dist/esm/modules/escrow.js.map +1 -0
  295. package/dist/esm/modules/feedback.d.ts +105 -0
  296. package/dist/esm/modules/feedback.d.ts.map +1 -0
  297. package/dist/esm/modules/feedback.js +162 -0
  298. package/dist/esm/modules/feedback.js.map +1 -0
  299. package/dist/esm/modules/index.d.ts +28 -0
  300. package/dist/esm/modules/index.d.ts.map +1 -0
  301. package/dist/esm/modules/index.js +27 -0
  302. package/dist/esm/modules/index.js.map +1 -0
  303. package/dist/esm/modules/indexing.d.ts +200 -0
  304. package/dist/esm/modules/indexing.d.ts.map +1 -0
  305. package/dist/esm/modules/indexing.js +371 -0
  306. package/dist/esm/modules/indexing.js.map +1 -0
  307. package/dist/esm/modules/ledger.d.ts +150 -0
  308. package/dist/esm/modules/ledger.d.ts.map +1 -0
  309. package/dist/esm/modules/ledger.js +230 -0
  310. package/dist/esm/modules/ledger.js.map +1 -0
  311. package/dist/esm/modules/receipt.d.ts +77 -0
  312. package/dist/esm/modules/receipt.d.ts.map +1 -0
  313. package/dist/esm/modules/receipt.js +144 -0
  314. package/dist/esm/modules/receipt.js.map +1 -0
  315. package/dist/esm/modules/staking.d.ts +51 -0
  316. package/dist/esm/modules/staking.d.ts.map +1 -0
  317. package/dist/esm/modules/staking.js +155 -0
  318. package/dist/esm/modules/staking.js.map +1 -0
  319. package/dist/esm/modules/subscription.d.ts +33 -0
  320. package/dist/esm/modules/subscription.d.ts.map +1 -0
  321. package/dist/esm/modules/subscription.js +92 -0
  322. package/dist/esm/modules/subscription.js.map +1 -0
  323. package/dist/esm/modules/tools.d.ts +182 -0
  324. package/dist/esm/modules/tools.d.ts.map +1 -0
  325. package/dist/esm/modules/tools.js +341 -0
  326. package/dist/esm/modules/tools.js.map +1 -0
  327. package/dist/esm/modules/vault.d.ts +240 -0
  328. package/dist/esm/modules/vault.d.ts.map +1 -0
  329. package/dist/esm/modules/vault.js +423 -0
  330. package/dist/esm/modules/vault.js.map +1 -0
  331. package/dist/esm/parser/client.d.ts +123 -0
  332. package/dist/esm/parser/client.d.ts.map +1 -0
  333. package/dist/esm/parser/client.js +142 -0
  334. package/dist/esm/parser/client.js.map +1 -0
  335. package/dist/esm/parser/complete.d.ts +90 -0
  336. package/dist/esm/parser/complete.d.ts.map +1 -0
  337. package/dist/esm/parser/complete.js +173 -0
  338. package/dist/esm/parser/complete.js.map +1 -0
  339. package/dist/esm/parser/index.d.ts +40 -0
  340. package/dist/esm/parser/index.d.ts.map +1 -0
  341. package/dist/esm/parser/index.js +43 -0
  342. package/dist/esm/parser/index.js.map +1 -0
  343. package/dist/esm/parser/inner.d.ts +114 -0
  344. package/dist/esm/parser/inner.d.ts.map +1 -0
  345. package/dist/esm/parser/inner.js +180 -0
  346. package/dist/esm/parser/inner.js.map +1 -0
  347. package/dist/esm/parser/instructions.d.ts +76 -0
  348. package/dist/esm/parser/instructions.d.ts.map +1 -0
  349. package/dist/esm/parser/instructions.js +109 -0
  350. package/dist/esm/parser/instructions.js.map +1 -0
  351. package/dist/esm/parser/transaction.d.ts +77 -0
  352. package/dist/esm/parser/transaction.d.ts.map +1 -0
  353. package/dist/esm/parser/transaction.js +149 -0
  354. package/dist/esm/parser/transaction.js.map +1 -0
  355. package/dist/esm/parser/types.d.ts +154 -0
  356. package/dist/esm/parser/types.d.ts.map +1 -0
  357. package/dist/esm/parser/types.js +13 -0
  358. package/dist/esm/parser/types.js.map +1 -0
  359. package/dist/esm/pda/index.d.ts +510 -0
  360. package/dist/esm/pda/index.d.ts.map +1 -0
  361. package/dist/esm/pda/index.js +638 -0
  362. package/dist/esm/pda/index.js.map +1 -0
  363. package/dist/esm/plugin/index.d.ts +171 -0
  364. package/dist/esm/plugin/index.d.ts.map +1 -0
  365. package/dist/esm/plugin/index.js +945 -0
  366. package/dist/esm/plugin/index.js.map +1 -0
  367. package/dist/esm/plugin/protocols.d.ts +152 -0
  368. package/dist/esm/plugin/protocols.d.ts.map +1 -0
  369. package/dist/esm/plugin/protocols.js +279 -0
  370. package/dist/esm/plugin/protocols.js.map +1 -0
  371. package/dist/esm/plugin/schemas.d.ts +829 -0
  372. package/dist/esm/plugin/schemas.d.ts.map +1 -0
  373. package/dist/esm/plugin/schemas.js +860 -0
  374. package/dist/esm/plugin/schemas.js.map +1 -0
  375. package/dist/esm/postgres/adapter.d.ts +355 -0
  376. package/dist/esm/postgres/adapter.d.ts.map +1 -0
  377. package/dist/esm/postgres/adapter.js +678 -0
  378. package/dist/esm/postgres/adapter.js.map +1 -0
  379. package/dist/esm/postgres/index.d.ts +24 -0
  380. package/dist/esm/postgres/index.d.ts.map +1 -0
  381. package/dist/esm/postgres/index.js +27 -0
  382. package/dist/esm/postgres/index.js.map +1 -0
  383. package/dist/esm/postgres/serializers.d.ts +30 -0
  384. package/dist/esm/postgres/serializers.d.ts.map +1 -0
  385. package/dist/esm/postgres/serializers.js +362 -0
  386. package/dist/esm/postgres/serializers.js.map +1 -0
  387. package/dist/esm/postgres/sync.d.ts +156 -0
  388. package/dist/esm/postgres/sync.d.ts.map +1 -0
  389. package/dist/esm/postgres/sync.js +285 -0
  390. package/dist/esm/postgres/sync.js.map +1 -0
  391. package/dist/esm/postgres/types.d.ts +167 -0
  392. package/dist/esm/postgres/types.d.ts.map +1 -0
  393. package/dist/esm/postgres/types.js +41 -0
  394. package/dist/esm/postgres/types.js.map +1 -0
  395. package/dist/esm/registries/builder.d.ts +340 -0
  396. package/dist/esm/registries/builder.d.ts.map +1 -0
  397. package/dist/esm/registries/builder.js +410 -0
  398. package/dist/esm/registries/builder.js.map +1 -0
  399. package/dist/esm/registries/discovery.d.ts +333 -0
  400. package/dist/esm/registries/discovery.d.ts.map +1 -0
  401. package/dist/esm/registries/discovery.js +358 -0
  402. package/dist/esm/registries/discovery.js.map +1 -0
  403. package/dist/esm/registries/fairscale.d.ts +680 -0
  404. package/dist/esm/registries/fairscale.d.ts.map +1 -0
  405. package/dist/esm/registries/fairscale.js +633 -0
  406. package/dist/esm/registries/fairscale.js.map +1 -0
  407. package/dist/esm/registries/index.d.ts +52 -0
  408. package/dist/esm/registries/index.d.ts.map +1 -0
  409. package/dist/esm/registries/index.js +46 -0
  410. package/dist/esm/registries/index.js.map +1 -0
  411. package/dist/esm/registries/metaplex-bridge.d.ts +489 -0
  412. package/dist/esm/registries/metaplex-bridge.d.ts.map +1 -0
  413. package/dist/esm/registries/metaplex-bridge.js +706 -0
  414. package/dist/esm/registries/metaplex-bridge.js.map +1 -0
  415. package/dist/esm/registries/session.d.ts +323 -0
  416. package/dist/esm/registries/session.d.ts.map +1 -0
  417. package/dist/esm/registries/session.js +429 -0
  418. package/dist/esm/registries/session.js.map +1 -0
  419. package/dist/esm/registries/x402.d.ts +530 -0
  420. package/dist/esm/registries/x402.d.ts.map +1 -0
  421. package/dist/esm/registries/x402.js +664 -0
  422. package/dist/esm/registries/x402.js.map +1 -0
  423. package/dist/esm/types/accounts.d.ts +765 -0
  424. package/dist/esm/types/accounts.d.ts.map +1 -0
  425. package/dist/esm/types/accounts.js +12 -0
  426. package/dist/esm/types/accounts.js.map +1 -0
  427. package/dist/esm/types/common.d.ts +166 -0
  428. package/dist/esm/types/common.d.ts.map +1 -0
  429. package/dist/esm/types/common.js +12 -0
  430. package/dist/esm/types/common.js.map +1 -0
  431. package/dist/esm/types/endpoint.d.ts +161 -0
  432. package/dist/esm/types/endpoint.d.ts.map +1 -0
  433. package/dist/esm/types/endpoint.js +14 -0
  434. package/dist/esm/types/endpoint.js.map +1 -0
  435. package/dist/esm/types/enums.d.ts +353 -0
  436. package/dist/esm/types/enums.d.ts.map +1 -0
  437. package/dist/esm/types/enums.js +266 -0
  438. package/dist/esm/types/enums.js.map +1 -0
  439. package/dist/esm/types/index.d.ts +29 -0
  440. package/dist/esm/types/index.d.ts.map +1 -0
  441. package/dist/esm/types/index.js +25 -0
  442. package/dist/esm/types/index.js.map +1 -0
  443. package/dist/esm/types/instructions.d.ts +400 -0
  444. package/dist/esm/types/instructions.d.ts.map +1 -0
  445. package/dist/esm/types/instructions.js +89 -0
  446. package/dist/esm/types/instructions.js.map +1 -0
  447. package/dist/esm/types.d.ts +28 -0
  448. package/dist/esm/types.d.ts.map +1 -1
  449. package/dist/esm/types.js +1 -0
  450. package/dist/esm/types.js.map +1 -1
  451. package/dist/esm/utils/anchor-errors.d.ts +61 -0
  452. package/dist/esm/utils/anchor-errors.d.ts.map +1 -0
  453. package/dist/esm/utils/anchor-errors.js +447 -0
  454. package/dist/esm/utils/anchor-errors.js.map +1 -0
  455. package/dist/esm/utils/endpoint-validator.d.ts +110 -0
  456. package/dist/esm/utils/endpoint-validator.d.ts.map +1 -0
  457. package/dist/esm/utils/endpoint-validator.js +226 -0
  458. package/dist/esm/utils/endpoint-validator.js.map +1 -0
  459. package/dist/esm/utils/escrow-validation.d.ts +145 -0
  460. package/dist/esm/utils/escrow-validation.d.ts.map +1 -0
  461. package/dist/esm/utils/escrow-validation.js +212 -0
  462. package/dist/esm/utils/escrow-validation.js.map +1 -0
  463. package/dist/esm/utils/hash.d.ts +75 -0
  464. package/dist/esm/utils/hash.d.ts.map +1 -0
  465. package/dist/esm/utils/hash.js +103 -0
  466. package/dist/esm/utils/hash.js.map +1 -0
  467. package/dist/esm/utils/index.d.ts +3 -1
  468. package/dist/esm/utils/index.d.ts.map +1 -1
  469. package/dist/esm/utils/index.js +6 -3
  470. package/dist/esm/utils/index.js.map +1 -1
  471. package/dist/esm/utils/merchant-validator.d.ts +176 -0
  472. package/dist/esm/utils/merchant-validator.d.ts.map +1 -0
  473. package/dist/esm/utils/merchant-validator.js +241 -0
  474. package/dist/esm/utils/merchant-validator.js.map +1 -0
  475. package/dist/esm/utils/network-normalizer.d.ts +120 -0
  476. package/dist/esm/utils/network-normalizer.d.ts.map +1 -0
  477. package/dist/esm/utils/network-normalizer.js +229 -0
  478. package/dist/esm/utils/network-normalizer.js.map +1 -0
  479. package/dist/esm/utils/priority-fee.d.ts +205 -0
  480. package/dist/esm/utils/priority-fee.d.ts.map +1 -0
  481. package/dist/esm/utils/priority-fee.js +209 -0
  482. package/dist/esm/utils/priority-fee.js.map +1 -0
  483. package/dist/esm/utils/rpc-strategy.d.ts +172 -0
  484. package/dist/esm/utils/rpc-strategy.d.ts.map +1 -0
  485. package/dist/esm/utils/rpc-strategy.js +231 -0
  486. package/dist/esm/utils/rpc-strategy.js.map +1 -0
  487. package/dist/esm/utils/schemas.d.ts +351 -0
  488. package/dist/esm/utils/schemas.d.ts.map +1 -0
  489. package/dist/esm/utils/schemas.js +320 -0
  490. package/dist/esm/utils/schemas.js.map +1 -0
  491. package/dist/esm/utils/serialization.d.ts +69 -0
  492. package/dist/esm/utils/serialization.d.ts.map +1 -0
  493. package/dist/esm/utils/serialization.js +98 -0
  494. package/dist/esm/utils/serialization.js.map +1 -0
  495. package/dist/esm/utils/validate.js +1 -1
  496. package/dist/esm/utils/validate.js.map +1 -1
  497. package/dist/esm/utils/validation.d.ts +29 -0
  498. package/dist/esm/utils/validation.d.ts.map +1 -0
  499. package/dist/esm/utils/validation.js +33 -0
  500. package/dist/esm/utils/validation.js.map +1 -0
  501. package/dist/esm/utils/volume-curve.d.ts +60 -0
  502. package/dist/esm/utils/volume-curve.d.ts.map +1 -0
  503. package/dist/esm/utils/volume-curve.js +114 -0
  504. package/dist/esm/utils/volume-curve.js.map +1 -0
  505. package/dist/esm/utils/x402-direct.d.ts +114 -0
  506. package/dist/esm/utils/x402-direct.d.ts.map +1 -0
  507. package/dist/esm/utils/x402-direct.js +228 -0
  508. package/dist/esm/utils/x402-direct.js.map +1 -0
  509. package/dist/types/constants/addresses.d.ts +117 -0
  510. package/dist/types/constants/addresses.d.ts.map +1 -0
  511. package/dist/types/constants/index.d.ts +31 -0
  512. package/dist/types/constants/index.d.ts.map +1 -0
  513. package/dist/types/constants/limits.d.ts +149 -0
  514. package/dist/types/constants/limits.d.ts.map +1 -0
  515. package/dist/types/constants/network.d.ts +81 -0
  516. package/dist/types/constants/network.d.ts.map +1 -0
  517. package/dist/types/constants/payments.d.ts +121 -0
  518. package/dist/types/constants/payments.d.ts.map +1 -0
  519. package/dist/types/constants/programs.d.ts +69 -0
  520. package/dist/types/constants/programs.d.ts.map +1 -0
  521. package/dist/types/constants/seeds.d.ts +82 -0
  522. package/dist/types/constants/seeds.d.ts.map +1 -0
  523. package/dist/types/core/client.d.ts +467 -0
  524. package/dist/types/core/client.d.ts.map +1 -0
  525. package/dist/types/core/connection.d.ts +305 -0
  526. package/dist/types/core/connection.d.ts.map +1 -0
  527. package/dist/types/core/index.d.ts +20 -0
  528. package/dist/types/core/index.d.ts.map +1 -0
  529. package/dist/types/errors/index.d.ts +335 -0
  530. package/dist/types/errors/index.d.ts.map +1 -0
  531. package/dist/types/events/geyser.d.ts +150 -0
  532. package/dist/types/events/geyser.d.ts.map +1 -0
  533. package/dist/types/events/index.d.ts +248 -0
  534. package/dist/types/events/index.d.ts.map +1 -0
  535. package/dist/types/idl/index.d.ts +70 -0
  536. package/dist/types/idl/index.d.ts.map +1 -0
  537. package/dist/types/index.d.ts +86 -0
  538. package/dist/types/index.d.ts.map +1 -0
  539. package/dist/types/modules/agent.d.ts +156 -0
  540. package/dist/types/modules/agent.d.ts.map +1 -0
  541. package/dist/types/modules/attestation.d.ts +96 -0
  542. package/dist/types/modules/attestation.d.ts.map +1 -0
  543. package/dist/types/modules/base.d.ts +215 -0
  544. package/dist/types/modules/base.d.ts.map +1 -0
  545. package/dist/types/modules/escrow-v2.d.ts +285 -0
  546. package/dist/types/modules/escrow-v2.d.ts.map +1 -0
  547. package/dist/types/modules/feedback.d.ts +105 -0
  548. package/dist/types/modules/feedback.d.ts.map +1 -0
  549. package/dist/types/modules/index.d.ts +27 -0
  550. package/dist/types/modules/index.d.ts.map +1 -0
  551. package/dist/types/modules/indexing.d.ts +200 -0
  552. package/dist/types/modules/indexing.d.ts.map +1 -0
  553. package/dist/types/modules/ledger.d.ts +150 -0
  554. package/dist/types/modules/ledger.d.ts.map +1 -0
  555. package/dist/types/modules/receipt.d.ts +91 -0
  556. package/dist/types/modules/receipt.d.ts.map +1 -0
  557. package/dist/types/modules/staking.d.ts +51 -0
  558. package/dist/types/modules/staking.d.ts.map +1 -0
  559. package/dist/types/modules/subscription.d.ts +33 -0
  560. package/dist/types/modules/subscription.d.ts.map +1 -0
  561. package/dist/types/modules/tools.d.ts +172 -0
  562. package/dist/types/modules/tools.d.ts.map +1 -0
  563. package/dist/types/modules/vault.d.ts +240 -0
  564. package/dist/types/modules/vault.d.ts.map +1 -0
  565. package/dist/types/parser/client.d.ts +123 -0
  566. package/dist/types/parser/client.d.ts.map +1 -0
  567. package/dist/types/parser/complete.d.ts +90 -0
  568. package/dist/types/parser/complete.d.ts.map +1 -0
  569. package/dist/types/parser/index.d.ts +40 -0
  570. package/dist/types/parser/index.d.ts.map +1 -0
  571. package/dist/types/parser/inner.d.ts +114 -0
  572. package/dist/types/parser/inner.d.ts.map +1 -0
  573. package/dist/types/parser/instructions.d.ts +76 -0
  574. package/dist/types/parser/instructions.d.ts.map +1 -0
  575. package/dist/types/parser/transaction.d.ts +77 -0
  576. package/dist/types/parser/transaction.d.ts.map +1 -0
  577. package/dist/types/parser/types.d.ts +154 -0
  578. package/dist/types/parser/types.d.ts.map +1 -0
  579. package/dist/types/pda/index.d.ts +527 -0
  580. package/dist/types/pda/index.d.ts.map +1 -0
  581. package/dist/types/plugin/index.d.ts +171 -0
  582. package/dist/types/plugin/index.d.ts.map +1 -0
  583. package/dist/types/plugin/protocols.d.ts +152 -0
  584. package/dist/types/plugin/protocols.d.ts.map +1 -0
  585. package/dist/types/plugin/schemas.d.ts +829 -0
  586. package/dist/types/plugin/schemas.d.ts.map +1 -0
  587. package/dist/types/postgres/adapter.d.ts +355 -0
  588. package/dist/types/postgres/adapter.d.ts.map +1 -0
  589. package/dist/types/postgres/index.d.ts +24 -0
  590. package/dist/types/postgres/index.d.ts.map +1 -0
  591. package/dist/types/postgres/serializers.d.ts +30 -0
  592. package/dist/types/postgres/serializers.d.ts.map +1 -0
  593. package/dist/types/postgres/sync.d.ts +156 -0
  594. package/dist/types/postgres/sync.d.ts.map +1 -0
  595. package/dist/types/postgres/types.d.ts +167 -0
  596. package/dist/types/postgres/types.d.ts.map +1 -0
  597. package/dist/types/registries/builder.d.ts +333 -0
  598. package/dist/types/registries/builder.d.ts.map +1 -0
  599. package/dist/types/registries/discovery.d.ts +333 -0
  600. package/dist/types/registries/discovery.d.ts.map +1 -0
  601. package/dist/types/registries/fairscale.d.ts +680 -0
  602. package/dist/types/registries/fairscale.d.ts.map +1 -0
  603. package/dist/types/registries/index.d.ts +52 -0
  604. package/dist/types/registries/index.d.ts.map +1 -0
  605. package/dist/types/registries/metaplex-bridge.d.ts +488 -0
  606. package/dist/types/registries/metaplex-bridge.d.ts.map +1 -0
  607. package/dist/types/registries/session.d.ts +317 -0
  608. package/dist/types/registries/session.d.ts.map +1 -0
  609. package/dist/types/registries/x402.d.ts +523 -0
  610. package/dist/types/registries/x402.d.ts.map +1 -0
  611. package/dist/types/types/accounts.d.ts +817 -0
  612. package/dist/types/types/accounts.d.ts.map +1 -0
  613. package/dist/types/types/common.d.ts +166 -0
  614. package/dist/types/types/common.d.ts.map +1 -0
  615. package/dist/types/types/endpoint.d.ts +161 -0
  616. package/dist/types/types/endpoint.d.ts.map +1 -0
  617. package/dist/types/types/enums.d.ts +353 -0
  618. package/dist/types/types/enums.d.ts.map +1 -0
  619. package/dist/types/types/index.d.ts +29 -0
  620. package/dist/types/types/index.d.ts.map +1 -0
  621. package/dist/types/types/instructions.d.ts +400 -0
  622. package/dist/types/types/instructions.d.ts.map +1 -0
  623. package/dist/types/utils/anchor-errors.d.ts +61 -0
  624. package/dist/types/utils/anchor-errors.d.ts.map +1 -0
  625. package/dist/types/utils/endpoint-validator.d.ts +110 -0
  626. package/dist/types/utils/endpoint-validator.d.ts.map +1 -0
  627. package/dist/types/utils/escrow-validation.d.ts +145 -0
  628. package/dist/types/utils/escrow-validation.d.ts.map +1 -0
  629. package/dist/types/utils/hash.d.ts +75 -0
  630. package/dist/types/utils/hash.d.ts.map +1 -0
  631. package/dist/types/utils/index.d.ts +36 -0
  632. package/dist/types/utils/index.d.ts.map +1 -0
  633. package/dist/types/utils/merchant-validator.d.ts +176 -0
  634. package/dist/types/utils/merchant-validator.d.ts.map +1 -0
  635. package/dist/types/utils/network-normalizer.d.ts +120 -0
  636. package/dist/types/utils/network-normalizer.d.ts.map +1 -0
  637. package/dist/types/utils/priority-fee.d.ts +205 -0
  638. package/dist/types/utils/priority-fee.d.ts.map +1 -0
  639. package/dist/types/utils/rpc-strategy.d.ts +179 -0
  640. package/dist/types/utils/rpc-strategy.d.ts.map +1 -0
  641. package/dist/types/utils/schemas.d.ts +351 -0
  642. package/dist/types/utils/schemas.d.ts.map +1 -0
  643. package/dist/types/utils/serialization.d.ts +69 -0
  644. package/dist/types/utils/serialization.d.ts.map +1 -0
  645. package/dist/types/utils/validation.d.ts +29 -0
  646. package/dist/types/utils/validation.d.ts.map +1 -0
  647. package/dist/types/utils/volume-curve.d.ts +60 -0
  648. package/dist/types/utils/volume-curve.d.ts.map +1 -0
  649. package/dist/types/utils/x402-direct.d.ts +114 -0
  650. package/dist/types/utils/x402-direct.d.ts.map +1 -0
  651. package/package.json +2 -2
@@ -0,0 +1,331 @@
1
+ "use strict";
2
+ /**
3
+ * @module utils/schemas
4
+ * @description Zod schemas for runtime validation of environment variables,
5
+ * tool arguments, agent manifests, and x402 payment parameters.
6
+ *
7
+ * These schemas enforce correctness at the boundary: CLI scripts refuse
8
+ * to run if required fields are missing or mis-typed, and SDK methods
9
+ * validate inputs before hitting the chain.
10
+ *
11
+ * Zod is a peer dependency — these schemas are tree-shaken if not imported.
12
+ *
13
+ * @category Utils
14
+ * @since v0.6.0
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createEnvSchema = createEnvSchema;
18
+ exports.createEndpointDescriptorSchema = createEndpointDescriptorSchema;
19
+ exports.createHealthCheckSchema = createHealthCheckSchema;
20
+ exports.createToolManifestEntrySchema = createToolManifestEntrySchema;
21
+ exports.createAgentManifestSchema = createAgentManifestSchema;
22
+ exports.createPreparePaymentSchema = createPreparePaymentSchema;
23
+ exports.createRegisterAgentSchema = createRegisterAgentSchema;
24
+ exports.createCallArgsSchema = createCallArgsSchema;
25
+ exports.validateOrThrow = validateOrThrow;
26
+ // ═══════════════════════════════════════════════════════════════════
27
+ // Dynamic Zod import (peer dependency)
28
+ // ═══════════════════════════════════════════════════════════════════
29
+ // We use a lazy getter pattern to avoid hard failures when zod is not installed
30
+ let _z = null;
31
+ function getZod() {
32
+ if (!_z) {
33
+ try {
34
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
35
+ _z = require("zod");
36
+ }
37
+ catch {
38
+ throw new Error("[SAP SDK] Zod is required for schema validation. Install it: npm install zod");
39
+ }
40
+ }
41
+ return _z;
42
+ }
43
+ // ═══════════════════════════════════════════════════════════════════
44
+ // Environment Schemas
45
+ // ═══════════════════════════════════════════════════════════════════
46
+ /**
47
+ * @name createEnvSchema
48
+ * @description Create a Zod schema for SAP SDK environment variables.
49
+ * Validates that all required env vars are present and correctly typed.
50
+ *
51
+ * @returns A Zod schema object for env validation.
52
+ *
53
+ * @category Utils
54
+ * @since v0.6.0
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * import { createEnvSchema } from "@synapse-sap/sdk";
59
+ *
60
+ * const schema = createEnvSchema();
61
+ * const env = schema.parse(process.env);
62
+ * // env.SOLANA_CLUSTER is typed as "mainnet-beta" | "devnet" | "localnet"
63
+ * ```
64
+ */
65
+ function createEnvSchema() {
66
+ const z = getZod();
67
+ return z.object({
68
+ SOLANA_CLUSTER: z
69
+ .enum(["mainnet-beta", "devnet", "localnet"])
70
+ .default("devnet")
71
+ .describe("Solana cluster"),
72
+ SOLANA_RPC_URL: z
73
+ .string()
74
+ .url()
75
+ .optional()
76
+ .describe("Primary RPC endpoint URL"),
77
+ SOLANA_FALLBACK_RPC_URL: z
78
+ .string()
79
+ .url()
80
+ .optional()
81
+ .describe("Fallback RPC for SPL token ops"),
82
+ SOLANA_WS_URL: z
83
+ .string()
84
+ .url()
85
+ .optional()
86
+ .describe("WebSocket endpoint URL"),
87
+ WALLET_KEYPAIR_PATH: z
88
+ .string()
89
+ .optional()
90
+ .describe("Path to keypair JSON file"),
91
+ WALLET_PRIVATE_KEY: z
92
+ .string()
93
+ .optional()
94
+ .describe("Base58 private key (alternative to file)"),
95
+ SAP_PROGRAM_ID: z
96
+ .string()
97
+ .optional()
98
+ .describe("Custom SAP program ID override"),
99
+ DATABASE_URL: z
100
+ .string()
101
+ .optional()
102
+ .describe("PostgreSQL connection URL"),
103
+ LOG_LEVEL: z
104
+ .enum(["debug", "info", "warn", "error"])
105
+ .default("info")
106
+ .describe("Log level"),
107
+ X402_ENDPOINT: z
108
+ .string()
109
+ .url()
110
+ .optional()
111
+ .describe("Agent x402 payment endpoint"),
112
+ AGENT_URI: z
113
+ .string()
114
+ .url()
115
+ .optional()
116
+ .describe("Agent public API URI"),
117
+ });
118
+ }
119
+ // ═══════════════════════════════════════════════════════════════════
120
+ // Endpoint Schemas
121
+ // ═══════════════════════════════════════════════════════════════════
122
+ /**
123
+ * @name createEndpointDescriptorSchema
124
+ * @description Zod schema for {@link EndpointDescriptor}.
125
+ * @returns A Zod schema for endpoint descriptor validation.
126
+ * @category Utils
127
+ * @since v0.6.0
128
+ */
129
+ function createEndpointDescriptorSchema() {
130
+ const z = getZod();
131
+ return z.object({
132
+ url: z.string().url(),
133
+ method: z.enum(["GET", "POST", "PUT", "DELETE"]).default("POST"),
134
+ contentType: z.string().default("application/json"),
135
+ requiresAuth: z.boolean().default(false),
136
+ authType: z.enum(["bearer", "api-key", "x402", "none"]).optional(),
137
+ requiresCSRF: z.boolean().default(false),
138
+ requiresCookies: z.boolean().default(false),
139
+ corsOrigins: z.array(z.string()).optional(),
140
+ requiredHeaders: z.record(z.string(), z.string()).optional(),
141
+ });
142
+ }
143
+ /**
144
+ * @name createHealthCheckSchema
145
+ * @description Zod schema for {@link HealthCheckDescriptor}.
146
+ * @returns A Zod schema for health check validation.
147
+ * @category Utils
148
+ * @since v0.6.0
149
+ */
150
+ function createHealthCheckSchema() {
151
+ const z = getZod();
152
+ return z.object({
153
+ url: z.string().url(),
154
+ expectedStatus: z.number().int().min(100).max(599).default(200),
155
+ timeoutMs: z.number().int().min(100).max(60_000).default(5000),
156
+ method: z.enum(["GET", "HEAD"]).default("GET"),
157
+ });
158
+ }
159
+ // ═══════════════════════════════════════════════════════════════════
160
+ // Tool Manifest Schemas
161
+ // ═══════════════════════════════════════════════════════════════════
162
+ /**
163
+ * @name createToolManifestEntrySchema
164
+ * @description Zod schema for a single tool in an agent manifest.
165
+ * @returns A Zod schema for tool manifest entry validation.
166
+ * @category Utils
167
+ * @since v0.6.0
168
+ */
169
+ function createToolManifestEntrySchema() {
170
+ const z = getZod();
171
+ return z.object({
172
+ name: z.string().min(1).max(64),
173
+ description: z.string().max(256),
174
+ protocol: z.string().min(1).max(64),
175
+ category: z.string().min(1),
176
+ inputSchema: z.record(z.string(), z.unknown()),
177
+ outputSchema: z.record(z.string(), z.unknown()),
178
+ httpMethod: z.enum(["GET", "POST", "PUT", "DELETE", "COMPOUND"]).default("POST"),
179
+ paymentMode: z.enum(["x402", "free", "prepaid", "subscription"]).default("x402"),
180
+ pricePerCall: z.number().int().min(0).default(0),
181
+ requiredArgs: z.array(z.string()).default([]),
182
+ prerequisites: z.array(z.string()).default([]),
183
+ endpointOverride: createEndpointDescriptorSchema().optional(),
184
+ });
185
+ }
186
+ /**
187
+ * @name createAgentManifestSchema
188
+ * @description Zod schema for a complete agent manifest.
189
+ * @returns A Zod schema for manifest validation.
190
+ * @category Utils
191
+ * @since v0.6.0
192
+ *
193
+ * @example
194
+ * ```ts
195
+ * import { createAgentManifestSchema } from "@synapse-sap/sdk";
196
+ *
197
+ * const schema = createAgentManifestSchema();
198
+ * const manifest = schema.parse(JSON.parse(fs.readFileSync("manifest.json", "utf-8")));
199
+ * ```
200
+ */
201
+ function createAgentManifestSchema() {
202
+ const z = getZod();
203
+ return z.object({
204
+ version: z.literal("1.0.0"),
205
+ wallet: z.string().min(32).max(50),
206
+ name: z.string().min(1).max(64),
207
+ description: z.string().max(256),
208
+ endpoint: createEndpointDescriptorSchema(),
209
+ healthCheck: createHealthCheckSchema().optional(),
210
+ tools: z.array(createToolManifestEntrySchema()),
211
+ supportedNetworks: z.array(z.string()).min(1),
212
+ generatedAt: z.string().datetime(),
213
+ });
214
+ }
215
+ // ═══════════════════════════════════════════════════════════════════
216
+ // x402 Payment Schemas
217
+ // ═══════════════════════════════════════════════════════════════════
218
+ /**
219
+ * @name createPreparePaymentSchema
220
+ * @description Zod schema for x402 payment preparation parameters.
221
+ * @returns A Zod schema for payment option validation.
222
+ * @category Utils
223
+ * @since v0.6.0
224
+ */
225
+ function createPreparePaymentSchema() {
226
+ const z = getZod();
227
+ return z.object({
228
+ pricePerCall: z.union([z.number(), z.string(), z.bigint()]),
229
+ maxCalls: z.union([z.number(), z.string(), z.bigint()]).optional(),
230
+ deposit: z.union([z.number(), z.string(), z.bigint()]),
231
+ expiresAt: z.union([z.number(), z.string(), z.bigint()]).optional(),
232
+ volumeCurve: z
233
+ .array(z.object({
234
+ afterCalls: z.number().int().min(1),
235
+ pricePerCall: z.union([z.number(), z.string(), z.bigint()]),
236
+ }))
237
+ .optional(),
238
+ tokenMint: z.string().optional(),
239
+ tokenDecimals: z.number().int().min(0).max(18).default(9),
240
+ networkIdentifier: z.string().optional(),
241
+ });
242
+ }
243
+ // ═══════════════════════════════════════════════════════════════════
244
+ // Agent Registration Schemas
245
+ // ═══════════════════════════════════════════════════════════════════
246
+ /**
247
+ * @name createRegisterAgentSchema
248
+ * @description Zod schema for agent registration arguments.
249
+ * @returns A Zod schema for registration validation.
250
+ * @category Utils
251
+ * @since v0.6.0
252
+ */
253
+ function createRegisterAgentSchema() {
254
+ const z = getZod();
255
+ return z.object({
256
+ name: z.string().min(1).max(64),
257
+ description: z.string().min(1).max(256),
258
+ agentId: z.string().max(128).optional().nullable(),
259
+ agentUri: z.string().max(256).optional().nullable(),
260
+ x402Endpoint: z.string().url().max(256).optional().nullable(),
261
+ capabilities: z
262
+ .array(z.object({
263
+ id: z.string().min(1),
264
+ description: z.string().nullable().optional(),
265
+ protocolId: z.string().nullable().optional(),
266
+ version: z.string().nullable().optional(),
267
+ }))
268
+ .max(10)
269
+ .default([]),
270
+ protocols: z.array(z.string()).max(5).default([]),
271
+ pricing: z
272
+ .array(z.object({
273
+ tierId: z.string().min(1),
274
+ pricePerCall: z.union([z.number(), z.string()]),
275
+ rateLimit: z.number().int().min(0),
276
+ tokenType: z.enum(["sol", "usdc", "spl"]).default("sol"),
277
+ settlementMode: z.enum(["instant", "escrow", "batched", "x402"]).default("x402"),
278
+ }))
279
+ .max(5)
280
+ .default([]),
281
+ });
282
+ }
283
+ // ═══════════════════════════════════════════════════════════════════
284
+ // CLI Script Argument Schemas
285
+ // ═══════════════════════════════════════════════════════════════════
286
+ /**
287
+ * @name createCallArgsSchema
288
+ * @description Zod schema for `npm run call` script arguments.
289
+ * Ensures all required fields are present before executing an x402 call.
290
+ *
291
+ * @returns A Zod schema for call argument validation.
292
+ * @category Utils
293
+ * @since v0.6.0
294
+ */
295
+ function createCallArgsSchema() {
296
+ const z = getZod();
297
+ return z.object({
298
+ agentWallet: z.string().min(32).max(50).describe("Agent wallet (base58)"),
299
+ tool: z.string().min(1).describe("Tool name to invoke"),
300
+ args: z.record(z.string(), z.unknown()).default({}).describe("Tool arguments (JSON)"),
301
+ endpoint: z.string().url().optional().describe("Endpoint URL override"),
302
+ network: z.string().optional().describe("Network identifier override"),
303
+ maxRetries: z.number().int().min(0).max(10).default(2),
304
+ timeoutMs: z.number().int().min(1000).max(120_000).default(30_000),
305
+ });
306
+ }
307
+ /**
308
+ * @name validateOrThrow
309
+ * @description Validate a value against a Zod schema, throwing a SapValidationError
310
+ * with a friendly message if validation fails.
311
+ *
312
+ * @param schema - A Zod schema.
313
+ * @param value - The value to validate.
314
+ * @param label - A label for error messages (e.g. "environment", "call args").
315
+ * @returns The parsed and typed value.
316
+ * @throws {Error} With formatted validation errors.
317
+ *
318
+ * @category Utils
319
+ * @since v0.6.0
320
+ */
321
+ function validateOrThrow(schema, value, label) {
322
+ const result = schema.safeParse(value);
323
+ if (result.success)
324
+ return schema.parse(value);
325
+ const issues = result.error?.issues ?? [];
326
+ const formatted = issues
327
+ .map((i) => ` • ${i.path.join(".")}: ${i.message}`)
328
+ .join("\n");
329
+ throw new Error(`[SAP SDK] Invalid ${label}:\n${formatted}`);
330
+ }
331
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/utils/schemas.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AA8CH,0CAsDC;AAaD,wEAcC;AASD,0DASC;AAaD,sEAiBC;AAiBD,8DAcC;AAaD,gEAoBC;AAaD,8DAkCC;AAeD,oDAYC;AAgBD,0CAgBC;AAvVD,sEAAsE;AACtE,wCAAwC;AACxC,sEAAsE;AAEtE,gFAAgF;AAChF,IAAI,EAAE,GAAgC,IAAI,CAAC;AAE3C,SAAS,MAAM;IACb,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,IAAI,CAAC;YACH,iEAAiE;YACjE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAG,CAAC;AACb,CAAC;AAED,sEAAsE;AACtE,uBAAuB;AACvB,sEAAsE;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,eAAe;IAC7B,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,cAAc,EAAE,CAAC;aACd,IAAI,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC5C,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,gBAAgB,CAAC;QAC7B,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,0BAA0B,CAAC;QACvC,uBAAuB,EAAE,CAAC;aACvB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,wBAAwB,CAAC;QACrC,mBAAmB,EAAE,CAAC;aACnB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2BAA2B,CAAC;QACxC,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;QACvD,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2BAA2B,CAAC;QACxC,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aACxC,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CAAC,WAAW,CAAC;QACxB,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,6BAA6B,CAAC;QAC1C,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,sBAAsB,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,oBAAoB;AACpB,sEAAsE;AAEtE;;;;;;GAMG;AACH,SAAgB,8BAA8B;IAC5C,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACrB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACnD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;QAClE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3C,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC7D,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB;IACrC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACrB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,yBAAyB;AACzB,sEAAsE;AAEtE;;;;;;GAMG;AACH,SAAgB,6BAA6B;IAC3C,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAChF,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAChF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,gBAAgB,EAAE,8BAA8B,EAAE,CAAC,QAAQ,EAAE;KAC9D,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,yBAAyB;IACvC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAChC,QAAQ,EAAE,8BAA8B,EAAE;QAC1C,WAAW,EAAE,uBAAuB,EAAE,CAAC,QAAQ,EAAE;QACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC;QAC/C,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,wBAAwB;AACxB,sEAAsE;AAEtE;;;;;;GAMG;AACH,SAAgB,0BAA0B;IACxC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QAClE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QACnE,WAAW,EAAE,CAAC;aACX,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5D,CAAC,CACH;aACA,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACzC,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,8BAA8B;AAC9B,sEAAsE;AAEtE;;;;;;GAMG;AACH,SAAgB,yBAAyB;IACvC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACnD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC7D,YAAY,EAAE,CAAC;aACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAC1C,CAAC,CACH;aACA,GAAG,CAAC,EAAE,CAAC;aACP,OAAO,CAAC,EAAE,CAAC;QACd,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACxD,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;SACjF,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,OAAO,CAAC,EAAE,CAAC;KACf,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,+BAA+B;AAC/B,sEAAsE;AAEtE;;;;;;;;GAQG;AACH,SAAgB,oBAAoB;IAClC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACvD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,eAAe,CAC7B,MAAmK,EACnK,KAAc,EACd,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,MAAM,SAAS,EAAE,CAC5C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ /**
3
+ * @module utils/serialization
4
+ * @description JSON-safe serialization helpers for on-chain account data.
5
+ *
6
+ * On-chain Anchor account objects contain `PublicKey` and `BN` instances
7
+ * that are not JSON-serializable. These helpers convert them to plain
8
+ * strings (`base58` and decimal `string`) recursively.
9
+ *
10
+ * @category Utils
11
+ * @since v0.1.0
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { serializeAccount } from "@synapse-sap/sdk/utils";
16
+ *
17
+ * const raw = await program.account.agent.fetch(pda);
18
+ * const json = serializeAccount(raw);
19
+ * // { authority: "GBL...", totalCalls: "42", ... }
20
+ * ```
21
+ */
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.serializeValue = serializeValue;
27
+ exports.serializeAccount = serializeAccount;
28
+ const web3_js_1 = require("@solana/web3.js");
29
+ const bn_js_1 = __importDefault(require("bn.js"));
30
+ /**
31
+ * Recursively convert a single value for JSON serialization.
32
+ *
33
+ * - `PublicKey` → base58 string
34
+ * - `BN` → decimal string
35
+ * - `Uint8Array` / `Buffer` → hex string
36
+ * - `Array` → recursed
37
+ * - plain `object` → recursed via {@link serializeAccount}
38
+ * - primitives → identity
39
+ *
40
+ * @name serializeValue
41
+ * @description Transforms a single Anchor-typed value into its JSON-safe equivalent.
42
+ * @param value - The value to serialize.
43
+ * @returns The JSON-safe representation of `value`.
44
+ * @category Utils
45
+ * @since v0.1.0
46
+ * @example
47
+ * ```ts
48
+ * import { serializeValue } from "@synapse-sap/sdk/utils";
49
+ *
50
+ * serializeValue(new PublicKey("11111111111111111111111111111111")); // "1111..."
51
+ * serializeValue(new BN(42)); // "42"
52
+ * ```
53
+ */
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ function serializeValue(value) {
56
+ if (value === null || value === undefined)
57
+ return null;
58
+ if (value instanceof web3_js_1.PublicKey)
59
+ return value.toBase58();
60
+ if (bn_js_1.default.isBN(value))
61
+ return value.toString();
62
+ if (value instanceof Uint8Array || Buffer.isBuffer(value))
63
+ return Buffer.from(value).toString("hex");
64
+ if (Array.isArray(value))
65
+ return value.map(serializeValue);
66
+ if (typeof value === "object") {
67
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
+ return serializeAccount(value);
69
+ }
70
+ return value;
71
+ }
72
+ /**
73
+ * Serialize an entire on-chain account object to a JSON-safe shape.
74
+ *
75
+ * Iterates over each key and delegates to {@link serializeValue}.
76
+ * Handles `PublicKey` → base58, `BN` → string, and nested
77
+ * objects / arrays recursively.
78
+ *
79
+ * @name serializeAccount
80
+ * @description Converts all non-primitive fields in an Anchor account record to JSON-safe strings.
81
+ * @param obj - The raw account object returned by `program.account.<name>.fetch()`.
82
+ * @returns A new plain object with all values converted.
83
+ * @category Utils
84
+ * @since v0.1.0
85
+ * @example
86
+ * ```ts
87
+ * import { serializeAccount } from "@synapse-sap/sdk/utils";
88
+ *
89
+ * const raw = await program.account.agent.fetch(pda);
90
+ * const safe = serializeAccount(raw);
91
+ * console.log(JSON.stringify(safe));
92
+ * ```
93
+ */
94
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
95
+ function serializeAccount(
96
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
97
+ obj) {
98
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
+ const result = {};
100
+ for (const [key, value] of Object.entries(obj)) {
101
+ result[key] = serializeValue(value);
102
+ }
103
+ return result;
104
+ }
105
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/utils/serialization.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;AA8BH,wCAYC;AAyBD,4CAWC;AA5ED,6CAA4C;AAC5C,kDAAuB;AAEvB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,KAAK,YAAY,mBAAS;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxD,IAAI,eAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,KAAK,YAAY,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,OAAO,gBAAgB,CAAC,KAA4B,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,8DAA8D;AAC9D,SAAgB,gBAAgB;AAC9B,8DAA8D;AAC9D,GAAwB;IAGxB,8DAA8D;IAC9D,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -45,7 +45,7 @@ function computeEscrowMaxObligation(pricePerCall, maxCalls, initialDeposit) {
45
45
  return initialDeposit;
46
46
  const maxPotential = pricePerCall.mul(maxCalls);
47
47
  // On-chain: required = maxPotential * 50% (5000 bps)
48
- const coverage = maxPotential.mul(new bn_js_1.default(constants_1.STAKE_COVERAGE_BPS)).div(new bn_js_1.default(10000));
48
+ const coverage = maxPotential.mul(new bn_js_1.default(constants_1.STAKE_COVERAGE_BPS)).div(new bn_js_1.default(10_000));
49
49
  const min = new bn_js_1.default(constants_1.MIN_STAKE_LAMPORTS);
50
50
  return bn_js_1.default.max(coverage, min);
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/utils/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/utils/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * @module utils/validation
4
+ * @description Runtime assertion helpers.
5
+ *
6
+ * @category Utils
7
+ * @since v0.1.0
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.assert = assert;
11
+ /**
12
+ * Assert that a condition holds, throwing a descriptive error otherwise.
13
+ *
14
+ * Uses TypeScript’s `asserts condition` return type so the compiler
15
+ * narrows the guarded value after the call.
16
+ *
17
+ * @name assert
18
+ * @description Runtime guard — throws `RangeError` with a `[SAP SDK]` prefix when the condition is falsy.
19
+ * @param condition - The boolean expression to verify.
20
+ * @param message - Human-readable message included in the thrown error.
21
+ * @throws {RangeError} When `condition` is `false`.
22
+ * @category Utils
23
+ * @since v0.1.0
24
+ * @example
25
+ * ```ts
26
+ * import { assert } from "@synapse-sap/sdk/utils";
27
+ *
28
+ * assert(name.length <= 64, "Agent name exceeds MAX_NAME_LEN");
29
+ * ```
30
+ */
31
+ function assert(condition, message) {
32
+ if (!condition) {
33
+ throw new RangeError(`[SAP SDK] ${message}`);
34
+ }
35
+ }
36
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAsBH,wBAOC;AA3BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,MAAM,CACpB,SAAkB,EAClB,OAAe;IAEf,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ /**
3
+ * @module volume-curve
4
+ * @description Client-side mirror of the on-chain `calculate_settle_amount`
5
+ * function from `programs/synapse-agent-sap/src/instructions/escrow_v2.rs`.
6
+ *
7
+ * Used by {@link EscrowV2Module.settle} to pre-compute the settlement
8
+ * `amount` so it can chain `createPendingSettlement` in the same transaction
9
+ * as `settleCallsV2` (DisputeWindow flow). Keeping the math in one place
10
+ * here ensures the SDK stays byte-for-byte aligned with the program; if the
11
+ * on-chain curve algorithm ever changes, this file is the single source of
12
+ * truth on the client.
13
+ *
14
+ * @category Utilities
15
+ * @since v0.13.0
16
+ * @packageDocumentation
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.calculateSettleAmount = calculateSettleAmount;
20
+ const anchor_1 = require("@coral-xyz/anchor");
21
+ const U64_MAX = new anchor_1.BN("18446744073709551615");
22
+ function checkedMul(a, b) {
23
+ const r = a.mul(b);
24
+ if (r.gt(U64_MAX)) {
25
+ throw new Error(`volume-curve: u64 overflow on multiply (${a.toString()} * ${b.toString()})`);
26
+ }
27
+ return r;
28
+ }
29
+ function checkedAdd(a, b) {
30
+ const r = a.add(b);
31
+ if (r.gt(U64_MAX)) {
32
+ throw new Error(`volume-curve: u64 overflow on add (${a.toString()} + ${b.toString()})`);
33
+ }
34
+ return r;
35
+ }
36
+ /**
37
+ * @function calculateSettleAmount
38
+ * @description Compute the lamport (or token base-unit) amount the on-chain
39
+ * `settle_calls_v2` handler will charge for `calls` calls, given the escrow's
40
+ * `pricePerCall`, `volumeCurve`, and the current settled+pending counter.
41
+ *
42
+ * Mirrors the exact algorithm of `calculate_settle_amount` in
43
+ * `escrow_v2.rs` (v0.7+):
44
+ *
45
+ * ```rust
46
+ * if curve.is_empty() { calls * base_price } else { walk-the-curve }
47
+ * ```
48
+ *
49
+ * Walks the curve from `cursor = totalCallsBefore` and at each cursor
50
+ * position picks the breakpoint price whose `afterCalls` threshold the
51
+ * cursor has passed. Calls are charged at the active price up to the next
52
+ * threshold, then the cursor advances and the loop repeats until all
53
+ * `calls` are accounted for.
54
+ *
55
+ * @param basePrice - Escrow's `pricePerCall` (BN, u64 lamports/base-units).
56
+ * @param curve - The escrow's `volumeCurve` array (may be empty).
57
+ * @param totalCallsBefore - `escrow.totalCallsSettled + escrow.pendingCalls`
58
+ * AT THE MOMENT `settleCallsV2` runs on-chain.
59
+ * @param calls - Number of calls being settled in this batch.
60
+ * @returns The amount the on-chain handler will compute (BN, u64).
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * import { calculateSettleAmount } from "@oobe-protocol-labs/synapse-sap-sdk";
65
+ *
66
+ * const amount = calculateSettleAmount(
67
+ * escrow.pricePerCall,
68
+ * escrow.volumeCurve,
69
+ * escrow.totalCallsSettled.add(escrow.pendingCalls),
70
+ * new BN(5),
71
+ * );
72
+ * ```
73
+ *
74
+ * @since v0.13.0
75
+ */
76
+ function calculateSettleAmount(basePrice, curve, totalCallsBefore, calls) {
77
+ if (calls.isZero())
78
+ return new anchor_1.BN(0);
79
+ if (!curve || curve.length === 0) {
80
+ return checkedMul(calls, basePrice);
81
+ }
82
+ let amount = new anchor_1.BN(0);
83
+ let remaining = calls.clone();
84
+ let cursor = totalCallsBefore.clone();
85
+ while (remaining.gt(new anchor_1.BN(0))) {
86
+ let currentPrice = basePrice;
87
+ let nextThreshold = null;
88
+ for (const bp of curve) {
89
+ const threshold = new anchor_1.BN(bp.afterCalls);
90
+ if (cursor.gte(threshold)) {
91
+ currentPrice = bp.pricePerCall;
92
+ }
93
+ else {
94
+ nextThreshold = threshold;
95
+ break;
96
+ }
97
+ }
98
+ let callsAtPrice;
99
+ if (nextThreshold) {
100
+ const room = nextThreshold.sub(cursor);
101
+ callsAtPrice = anchor_1.BN.min(remaining, room.isNeg() ? new anchor_1.BN(0) : room);
102
+ if (callsAtPrice.isZero()) {
103
+ // Defensive: shouldn't happen because cursor < nextThreshold by
104
+ // the `else` branch above, but guard anyway.
105
+ callsAtPrice = remaining;
106
+ }
107
+ }
108
+ else {
109
+ callsAtPrice = remaining;
110
+ }
111
+ amount = checkedAdd(amount, checkedMul(callsAtPrice, currentPrice));
112
+ remaining = remaining.sub(callsAtPrice);
113
+ cursor = cursor.add(callsAtPrice);
114
+ }
115
+ return amount;
116
+ }
117
+ //# sourceMappingURL=volume-curve.js.map