@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,351 @@
1
+ /**
2
+ * @module utils/schemas
3
+ * @description Zod schemas for runtime validation of environment variables,
4
+ * tool arguments, agent manifests, and x402 payment parameters.
5
+ *
6
+ * These schemas enforce correctness at the boundary: CLI scripts refuse
7
+ * to run if required fields are missing or mis-typed, and SDK methods
8
+ * validate inputs before hitting the chain.
9
+ *
10
+ * Zod is a peer dependency — these schemas are tree-shaken if not imported.
11
+ *
12
+ * @category Utils
13
+ * @since v0.6.0
14
+ */
15
+ /**
16
+ * @name createEnvSchema
17
+ * @description Create a Zod schema for SAP SDK environment variables.
18
+ * Validates that all required env vars are present and correctly typed.
19
+ *
20
+ * @returns A Zod schema object for env validation.
21
+ *
22
+ * @category Utils
23
+ * @since v0.6.0
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * import { createEnvSchema } from "@synapse-sap/sdk";
28
+ *
29
+ * const schema = createEnvSchema();
30
+ * const env = schema.parse(process.env);
31
+ * // env.SOLANA_CLUSTER is typed as "mainnet-beta" | "devnet" | "localnet"
32
+ * ```
33
+ */
34
+ export declare function createEnvSchema(): import("zod").ZodObject<{
35
+ SOLANA_CLUSTER: import("zod").ZodDefault<import("zod").ZodEnum<{
36
+ "mainnet-beta": "mainnet-beta";
37
+ devnet: "devnet";
38
+ localnet: "localnet";
39
+ }>>;
40
+ SOLANA_RPC_URL: import("zod").ZodOptional<import("zod").ZodString>;
41
+ SOLANA_FALLBACK_RPC_URL: import("zod").ZodOptional<import("zod").ZodString>;
42
+ SOLANA_WS_URL: import("zod").ZodOptional<import("zod").ZodString>;
43
+ WALLET_KEYPAIR_PATH: import("zod").ZodOptional<import("zod").ZodString>;
44
+ WALLET_PRIVATE_KEY: import("zod").ZodOptional<import("zod").ZodString>;
45
+ SAP_PROGRAM_ID: import("zod").ZodOptional<import("zod").ZodString>;
46
+ DATABASE_URL: import("zod").ZodOptional<import("zod").ZodString>;
47
+ LOG_LEVEL: import("zod").ZodDefault<import("zod").ZodEnum<{
48
+ error: "error";
49
+ info: "info";
50
+ debug: "debug";
51
+ warn: "warn";
52
+ }>>;
53
+ X402_ENDPOINT: import("zod").ZodOptional<import("zod").ZodString>;
54
+ AGENT_URI: import("zod").ZodOptional<import("zod").ZodString>;
55
+ }, import("zod/v4/core").$strip>;
56
+ /**
57
+ * @name createEndpointDescriptorSchema
58
+ * @description Zod schema for {@link EndpointDescriptor}.
59
+ * @returns A Zod schema for endpoint descriptor validation.
60
+ * @category Utils
61
+ * @since v0.6.0
62
+ */
63
+ export declare function createEndpointDescriptorSchema(): import("zod").ZodObject<{
64
+ url: import("zod").ZodString;
65
+ method: import("zod").ZodDefault<import("zod").ZodEnum<{
66
+ GET: "GET";
67
+ POST: "POST";
68
+ PUT: "PUT";
69
+ DELETE: "DELETE";
70
+ }>>;
71
+ contentType: import("zod").ZodDefault<import("zod").ZodString>;
72
+ requiresAuth: import("zod").ZodDefault<import("zod").ZodBoolean>;
73
+ authType: import("zod").ZodOptional<import("zod").ZodEnum<{
74
+ bearer: "bearer";
75
+ "api-key": "api-key";
76
+ x402: "x402";
77
+ none: "none";
78
+ }>>;
79
+ requiresCSRF: import("zod").ZodDefault<import("zod").ZodBoolean>;
80
+ requiresCookies: import("zod").ZodDefault<import("zod").ZodBoolean>;
81
+ corsOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
82
+ requiredHeaders: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
83
+ }, import("zod/v4/core").$strip>;
84
+ /**
85
+ * @name createHealthCheckSchema
86
+ * @description Zod schema for {@link HealthCheckDescriptor}.
87
+ * @returns A Zod schema for health check validation.
88
+ * @category Utils
89
+ * @since v0.6.0
90
+ */
91
+ export declare function createHealthCheckSchema(): import("zod").ZodObject<{
92
+ url: import("zod").ZodString;
93
+ expectedStatus: import("zod").ZodDefault<import("zod").ZodNumber>;
94
+ timeoutMs: import("zod").ZodDefault<import("zod").ZodNumber>;
95
+ method: import("zod").ZodDefault<import("zod").ZodEnum<{
96
+ GET: "GET";
97
+ HEAD: "HEAD";
98
+ }>>;
99
+ }, import("zod/v4/core").$strip>;
100
+ /**
101
+ * @name createToolManifestEntrySchema
102
+ * @description Zod schema for a single tool in an agent manifest.
103
+ * @returns A Zod schema for tool manifest entry validation.
104
+ * @category Utils
105
+ * @since v0.6.0
106
+ */
107
+ export declare function createToolManifestEntrySchema(): import("zod").ZodObject<{
108
+ name: import("zod").ZodString;
109
+ description: import("zod").ZodString;
110
+ protocol: import("zod").ZodString;
111
+ category: import("zod").ZodString;
112
+ inputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
113
+ outputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
114
+ httpMethod: import("zod").ZodDefault<import("zod").ZodEnum<{
115
+ GET: "GET";
116
+ POST: "POST";
117
+ PUT: "PUT";
118
+ DELETE: "DELETE";
119
+ COMPOUND: "COMPOUND";
120
+ }>>;
121
+ paymentMode: import("zod").ZodDefault<import("zod").ZodEnum<{
122
+ subscription: "subscription";
123
+ x402: "x402";
124
+ free: "free";
125
+ prepaid: "prepaid";
126
+ }>>;
127
+ pricePerCall: import("zod").ZodDefault<import("zod").ZodNumber>;
128
+ requiredArgs: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
129
+ prerequisites: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
130
+ endpointOverride: import("zod").ZodOptional<import("zod").ZodObject<{
131
+ url: import("zod").ZodString;
132
+ method: import("zod").ZodDefault<import("zod").ZodEnum<{
133
+ GET: "GET";
134
+ POST: "POST";
135
+ PUT: "PUT";
136
+ DELETE: "DELETE";
137
+ }>>;
138
+ contentType: import("zod").ZodDefault<import("zod").ZodString>;
139
+ requiresAuth: import("zod").ZodDefault<import("zod").ZodBoolean>;
140
+ authType: import("zod").ZodOptional<import("zod").ZodEnum<{
141
+ bearer: "bearer";
142
+ "api-key": "api-key";
143
+ x402: "x402";
144
+ none: "none";
145
+ }>>;
146
+ requiresCSRF: import("zod").ZodDefault<import("zod").ZodBoolean>;
147
+ requiresCookies: import("zod").ZodDefault<import("zod").ZodBoolean>;
148
+ corsOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
149
+ requiredHeaders: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
150
+ }, import("zod/v4/core").$strip>>;
151
+ }, import("zod/v4/core").$strip>;
152
+ /**
153
+ * @name createAgentManifestSchema
154
+ * @description Zod schema for a complete agent manifest.
155
+ * @returns A Zod schema for manifest validation.
156
+ * @category Utils
157
+ * @since v0.6.0
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * import { createAgentManifestSchema } from "@synapse-sap/sdk";
162
+ *
163
+ * const schema = createAgentManifestSchema();
164
+ * const manifest = schema.parse(JSON.parse(fs.readFileSync("manifest.json", "utf-8")));
165
+ * ```
166
+ */
167
+ export declare function createAgentManifestSchema(): import("zod").ZodObject<{
168
+ version: import("zod").ZodLiteral<"1.0.0">;
169
+ wallet: import("zod").ZodString;
170
+ name: import("zod").ZodString;
171
+ description: import("zod").ZodString;
172
+ endpoint: import("zod").ZodObject<{
173
+ url: import("zod").ZodString;
174
+ method: import("zod").ZodDefault<import("zod").ZodEnum<{
175
+ GET: "GET";
176
+ POST: "POST";
177
+ PUT: "PUT";
178
+ DELETE: "DELETE";
179
+ }>>;
180
+ contentType: import("zod").ZodDefault<import("zod").ZodString>;
181
+ requiresAuth: import("zod").ZodDefault<import("zod").ZodBoolean>;
182
+ authType: import("zod").ZodOptional<import("zod").ZodEnum<{
183
+ bearer: "bearer";
184
+ "api-key": "api-key";
185
+ x402: "x402";
186
+ none: "none";
187
+ }>>;
188
+ requiresCSRF: import("zod").ZodDefault<import("zod").ZodBoolean>;
189
+ requiresCookies: import("zod").ZodDefault<import("zod").ZodBoolean>;
190
+ corsOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
191
+ requiredHeaders: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
192
+ }, import("zod/v4/core").$strip>;
193
+ healthCheck: import("zod").ZodOptional<import("zod").ZodObject<{
194
+ url: import("zod").ZodString;
195
+ expectedStatus: import("zod").ZodDefault<import("zod").ZodNumber>;
196
+ timeoutMs: import("zod").ZodDefault<import("zod").ZodNumber>;
197
+ method: import("zod").ZodDefault<import("zod").ZodEnum<{
198
+ GET: "GET";
199
+ HEAD: "HEAD";
200
+ }>>;
201
+ }, import("zod/v4/core").$strip>>;
202
+ tools: import("zod").ZodArray<import("zod").ZodObject<{
203
+ name: import("zod").ZodString;
204
+ description: import("zod").ZodString;
205
+ protocol: import("zod").ZodString;
206
+ category: import("zod").ZodString;
207
+ inputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
208
+ outputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
209
+ httpMethod: import("zod").ZodDefault<import("zod").ZodEnum<{
210
+ GET: "GET";
211
+ POST: "POST";
212
+ PUT: "PUT";
213
+ DELETE: "DELETE";
214
+ COMPOUND: "COMPOUND";
215
+ }>>;
216
+ paymentMode: import("zod").ZodDefault<import("zod").ZodEnum<{
217
+ subscription: "subscription";
218
+ x402: "x402";
219
+ free: "free";
220
+ prepaid: "prepaid";
221
+ }>>;
222
+ pricePerCall: import("zod").ZodDefault<import("zod").ZodNumber>;
223
+ requiredArgs: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
224
+ prerequisites: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
225
+ endpointOverride: import("zod").ZodOptional<import("zod").ZodObject<{
226
+ url: import("zod").ZodString;
227
+ method: import("zod").ZodDefault<import("zod").ZodEnum<{
228
+ GET: "GET";
229
+ POST: "POST";
230
+ PUT: "PUT";
231
+ DELETE: "DELETE";
232
+ }>>;
233
+ contentType: import("zod").ZodDefault<import("zod").ZodString>;
234
+ requiresAuth: import("zod").ZodDefault<import("zod").ZodBoolean>;
235
+ authType: import("zod").ZodOptional<import("zod").ZodEnum<{
236
+ bearer: "bearer";
237
+ "api-key": "api-key";
238
+ x402: "x402";
239
+ none: "none";
240
+ }>>;
241
+ requiresCSRF: import("zod").ZodDefault<import("zod").ZodBoolean>;
242
+ requiresCookies: import("zod").ZodDefault<import("zod").ZodBoolean>;
243
+ corsOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
244
+ requiredHeaders: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
245
+ }, import("zod/v4/core").$strip>>;
246
+ }, import("zod/v4/core").$strip>>;
247
+ supportedNetworks: import("zod").ZodArray<import("zod").ZodString>;
248
+ generatedAt: import("zod").ZodString;
249
+ }, import("zod/v4/core").$strip>;
250
+ /**
251
+ * @name createPreparePaymentSchema
252
+ * @description Zod schema for x402 payment preparation parameters.
253
+ * @returns A Zod schema for payment option validation.
254
+ * @category Utils
255
+ * @since v0.6.0
256
+ */
257
+ export declare function createPreparePaymentSchema(): import("zod").ZodObject<{
258
+ pricePerCall: import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodString, import("zod").ZodBigInt]>;
259
+ maxCalls: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodString, import("zod").ZodBigInt]>>;
260
+ deposit: import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodString, import("zod").ZodBigInt]>;
261
+ expiresAt: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodString, import("zod").ZodBigInt]>>;
262
+ volumeCurve: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
263
+ afterCalls: import("zod").ZodNumber;
264
+ pricePerCall: import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodString, import("zod").ZodBigInt]>;
265
+ }, import("zod/v4/core").$strip>>>;
266
+ tokenMint: import("zod").ZodOptional<import("zod").ZodString>;
267
+ tokenDecimals: import("zod").ZodDefault<import("zod").ZodNumber>;
268
+ networkIdentifier: import("zod").ZodOptional<import("zod").ZodString>;
269
+ }, import("zod/v4/core").$strip>;
270
+ /**
271
+ * @name createRegisterAgentSchema
272
+ * @description Zod schema for agent registration arguments.
273
+ * @returns A Zod schema for registration validation.
274
+ * @category Utils
275
+ * @since v0.6.0
276
+ */
277
+ export declare function createRegisterAgentSchema(): import("zod").ZodObject<{
278
+ name: import("zod").ZodString;
279
+ description: import("zod").ZodString;
280
+ agentId: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
281
+ agentUri: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
282
+ x402Endpoint: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
283
+ capabilities: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
284
+ id: import("zod").ZodString;
285
+ description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
286
+ protocolId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
287
+ version: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
288
+ }, import("zod/v4/core").$strip>>>;
289
+ protocols: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
290
+ pricing: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
291
+ tierId: import("zod").ZodString;
292
+ pricePerCall: import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodString]>;
293
+ rateLimit: import("zod").ZodNumber;
294
+ tokenType: import("zod").ZodDefault<import("zod").ZodEnum<{
295
+ sol: "sol";
296
+ usdc: "usdc";
297
+ spl: "spl";
298
+ }>>;
299
+ settlementMode: import("zod").ZodDefault<import("zod").ZodEnum<{
300
+ escrow: "escrow";
301
+ x402: "x402";
302
+ instant: "instant";
303
+ batched: "batched";
304
+ }>>;
305
+ }, import("zod/v4/core").$strip>>>;
306
+ }, import("zod/v4/core").$strip>;
307
+ /**
308
+ * @name createCallArgsSchema
309
+ * @description Zod schema for `npm run call` script arguments.
310
+ * Ensures all required fields are present before executing an x402 call.
311
+ *
312
+ * @returns A Zod schema for call argument validation.
313
+ * @category Utils
314
+ * @since v0.6.0
315
+ */
316
+ export declare function createCallArgsSchema(): import("zod").ZodObject<{
317
+ agentWallet: import("zod").ZodString;
318
+ tool: import("zod").ZodString;
319
+ args: import("zod").ZodDefault<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
320
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
321
+ network: import("zod").ZodOptional<import("zod").ZodString>;
322
+ maxRetries: import("zod").ZodDefault<import("zod").ZodNumber>;
323
+ timeoutMs: import("zod").ZodDefault<import("zod").ZodNumber>;
324
+ }, import("zod/v4/core").$strip>;
325
+ /**
326
+ * @name validateOrThrow
327
+ * @description Validate a value against a Zod schema, throwing a SapValidationError
328
+ * with a friendly message if validation fails.
329
+ *
330
+ * @param schema - A Zod schema.
331
+ * @param value - The value to validate.
332
+ * @param label - A label for error messages (e.g. "environment", "call args").
333
+ * @returns The parsed and typed value.
334
+ * @throws {Error} With formatted validation errors.
335
+ *
336
+ * @category Utils
337
+ * @since v0.6.0
338
+ */
339
+ export declare function validateOrThrow<T>(schema: {
340
+ parse: (v: unknown) => T;
341
+ safeParse: (v: unknown) => {
342
+ success: boolean;
343
+ error?: {
344
+ issues: Array<{
345
+ path: Array<string | number>;
346
+ message: string;
347
+ }>;
348
+ };
349
+ };
350
+ }, value: unknown, label: string): T;
351
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/utils/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2BH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe;;;;;;;;;;;;;;;;;;;;;iCAsD9B;AAMD;;;;;;GAMG;AACH,wBAAgB,8BAA8B;;;;;;;;;;;;;;;;;;;;iCAc7C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB;;;;;;;;iCAStC;AAMD;;;;;;GAMG;AACH,wBAAgB,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAiB5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAcxC;AAMD;;;;;;GAMG;AACH,wBAAgB,0BAA0B;;;;;;;;;;;;iCAoBzC;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAkCxC;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB;;;;;;;;iCAYnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,MAAM,EAAE;IAAE,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC;IAAC,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,MAAM,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,EACnK,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,CAAC,CAYH"}
@@ -0,0 +1,320 @@
1
+ /**
2
+ * @module utils/schemas
3
+ * @description Zod schemas for runtime validation of environment variables,
4
+ * tool arguments, agent manifests, and x402 payment parameters.
5
+ *
6
+ * These schemas enforce correctness at the boundary: CLI scripts refuse
7
+ * to run if required fields are missing or mis-typed, and SDK methods
8
+ * validate inputs before hitting the chain.
9
+ *
10
+ * Zod is a peer dependency — these schemas are tree-shaken if not imported.
11
+ *
12
+ * @category Utils
13
+ * @since v0.6.0
14
+ */
15
+ // ═══════════════════════════════════════════════════════════════════
16
+ // Dynamic Zod import (peer dependency)
17
+ // ═══════════════════════════════════════════════════════════════════
18
+ // We use a lazy getter pattern to avoid hard failures when zod is not installed
19
+ let _z = null;
20
+ function getZod() {
21
+ if (!_z) {
22
+ try {
23
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
24
+ _z = require("zod");
25
+ }
26
+ catch {
27
+ throw new Error("[SAP SDK] Zod is required for schema validation. Install it: npm install zod");
28
+ }
29
+ }
30
+ return _z;
31
+ }
32
+ // ═══════════════════════════════════════════════════════════════════
33
+ // Environment Schemas
34
+ // ═══════════════════════════════════════════════════════════════════
35
+ /**
36
+ * @name createEnvSchema
37
+ * @description Create a Zod schema for SAP SDK environment variables.
38
+ * Validates that all required env vars are present and correctly typed.
39
+ *
40
+ * @returns A Zod schema object for env validation.
41
+ *
42
+ * @category Utils
43
+ * @since v0.6.0
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * import { createEnvSchema } from "@synapse-sap/sdk";
48
+ *
49
+ * const schema = createEnvSchema();
50
+ * const env = schema.parse(process.env);
51
+ * // env.SOLANA_CLUSTER is typed as "mainnet-beta" | "devnet" | "localnet"
52
+ * ```
53
+ */
54
+ export function createEnvSchema() {
55
+ const z = getZod();
56
+ return z.object({
57
+ SOLANA_CLUSTER: z
58
+ .enum(["mainnet-beta", "devnet", "localnet"])
59
+ .default("devnet")
60
+ .describe("Solana cluster"),
61
+ SOLANA_RPC_URL: z
62
+ .string()
63
+ .url()
64
+ .optional()
65
+ .describe("Primary RPC endpoint URL"),
66
+ SOLANA_FALLBACK_RPC_URL: z
67
+ .string()
68
+ .url()
69
+ .optional()
70
+ .describe("Fallback RPC for SPL token ops"),
71
+ SOLANA_WS_URL: z
72
+ .string()
73
+ .url()
74
+ .optional()
75
+ .describe("WebSocket endpoint URL"),
76
+ WALLET_KEYPAIR_PATH: z
77
+ .string()
78
+ .optional()
79
+ .describe("Path to keypair JSON file"),
80
+ WALLET_PRIVATE_KEY: z
81
+ .string()
82
+ .optional()
83
+ .describe("Base58 private key (alternative to file)"),
84
+ SAP_PROGRAM_ID: z
85
+ .string()
86
+ .optional()
87
+ .describe("Custom SAP program ID override"),
88
+ DATABASE_URL: z
89
+ .string()
90
+ .optional()
91
+ .describe("PostgreSQL connection URL"),
92
+ LOG_LEVEL: z
93
+ .enum(["debug", "info", "warn", "error"])
94
+ .default("info")
95
+ .describe("Log level"),
96
+ X402_ENDPOINT: z
97
+ .string()
98
+ .url()
99
+ .optional()
100
+ .describe("Agent x402 payment endpoint"),
101
+ AGENT_URI: z
102
+ .string()
103
+ .url()
104
+ .optional()
105
+ .describe("Agent public API URI"),
106
+ });
107
+ }
108
+ // ═══════════════════════════════════════════════════════════════════
109
+ // Endpoint Schemas
110
+ // ═══════════════════════════════════════════════════════════════════
111
+ /**
112
+ * @name createEndpointDescriptorSchema
113
+ * @description Zod schema for {@link EndpointDescriptor}.
114
+ * @returns A Zod schema for endpoint descriptor validation.
115
+ * @category Utils
116
+ * @since v0.6.0
117
+ */
118
+ export function createEndpointDescriptorSchema() {
119
+ const z = getZod();
120
+ return z.object({
121
+ url: z.string().url(),
122
+ method: z.enum(["GET", "POST", "PUT", "DELETE"]).default("POST"),
123
+ contentType: z.string().default("application/json"),
124
+ requiresAuth: z.boolean().default(false),
125
+ authType: z.enum(["bearer", "api-key", "x402", "none"]).optional(),
126
+ requiresCSRF: z.boolean().default(false),
127
+ requiresCookies: z.boolean().default(false),
128
+ corsOrigins: z.array(z.string()).optional(),
129
+ requiredHeaders: z.record(z.string(), z.string()).optional(),
130
+ });
131
+ }
132
+ /**
133
+ * @name createHealthCheckSchema
134
+ * @description Zod schema for {@link HealthCheckDescriptor}.
135
+ * @returns A Zod schema for health check validation.
136
+ * @category Utils
137
+ * @since v0.6.0
138
+ */
139
+ export function createHealthCheckSchema() {
140
+ const z = getZod();
141
+ return z.object({
142
+ url: z.string().url(),
143
+ expectedStatus: z.number().int().min(100).max(599).default(200),
144
+ timeoutMs: z.number().int().min(100).max(60_000).default(5000),
145
+ method: z.enum(["GET", "HEAD"]).default("GET"),
146
+ });
147
+ }
148
+ // ═══════════════════════════════════════════════════════════════════
149
+ // Tool Manifest Schemas
150
+ // ═══════════════════════════════════════════════════════════════════
151
+ /**
152
+ * @name createToolManifestEntrySchema
153
+ * @description Zod schema for a single tool in an agent manifest.
154
+ * @returns A Zod schema for tool manifest entry validation.
155
+ * @category Utils
156
+ * @since v0.6.0
157
+ */
158
+ export function createToolManifestEntrySchema() {
159
+ const z = getZod();
160
+ return z.object({
161
+ name: z.string().min(1).max(64),
162
+ description: z.string().max(256),
163
+ protocol: z.string().min(1).max(64),
164
+ category: z.string().min(1),
165
+ inputSchema: z.record(z.string(), z.unknown()),
166
+ outputSchema: z.record(z.string(), z.unknown()),
167
+ httpMethod: z.enum(["GET", "POST", "PUT", "DELETE", "COMPOUND"]).default("POST"),
168
+ paymentMode: z.enum(["x402", "free", "prepaid", "subscription"]).default("x402"),
169
+ pricePerCall: z.number().int().min(0).default(0),
170
+ requiredArgs: z.array(z.string()).default([]),
171
+ prerequisites: z.array(z.string()).default([]),
172
+ endpointOverride: createEndpointDescriptorSchema().optional(),
173
+ });
174
+ }
175
+ /**
176
+ * @name createAgentManifestSchema
177
+ * @description Zod schema for a complete agent manifest.
178
+ * @returns A Zod schema for manifest validation.
179
+ * @category Utils
180
+ * @since v0.6.0
181
+ *
182
+ * @example
183
+ * ```ts
184
+ * import { createAgentManifestSchema } from "@synapse-sap/sdk";
185
+ *
186
+ * const schema = createAgentManifestSchema();
187
+ * const manifest = schema.parse(JSON.parse(fs.readFileSync("manifest.json", "utf-8")));
188
+ * ```
189
+ */
190
+ export function createAgentManifestSchema() {
191
+ const z = getZod();
192
+ return z.object({
193
+ version: z.literal("1.0.0"),
194
+ wallet: z.string().min(32).max(50),
195
+ name: z.string().min(1).max(64),
196
+ description: z.string().max(256),
197
+ endpoint: createEndpointDescriptorSchema(),
198
+ healthCheck: createHealthCheckSchema().optional(),
199
+ tools: z.array(createToolManifestEntrySchema()),
200
+ supportedNetworks: z.array(z.string()).min(1),
201
+ generatedAt: z.string().datetime(),
202
+ });
203
+ }
204
+ // ═══════════════════════════════════════════════════════════════════
205
+ // x402 Payment Schemas
206
+ // ═══════════════════════════════════════════════════════════════════
207
+ /**
208
+ * @name createPreparePaymentSchema
209
+ * @description Zod schema for x402 payment preparation parameters.
210
+ * @returns A Zod schema for payment option validation.
211
+ * @category Utils
212
+ * @since v0.6.0
213
+ */
214
+ export function createPreparePaymentSchema() {
215
+ const z = getZod();
216
+ return z.object({
217
+ pricePerCall: z.union([z.number(), z.string(), z.bigint()]),
218
+ maxCalls: z.union([z.number(), z.string(), z.bigint()]).optional(),
219
+ deposit: z.union([z.number(), z.string(), z.bigint()]),
220
+ expiresAt: z.union([z.number(), z.string(), z.bigint()]).optional(),
221
+ volumeCurve: z
222
+ .array(z.object({
223
+ afterCalls: z.number().int().min(1),
224
+ pricePerCall: z.union([z.number(), z.string(), z.bigint()]),
225
+ }))
226
+ .optional(),
227
+ tokenMint: z.string().optional(),
228
+ tokenDecimals: z.number().int().min(0).max(18).default(9),
229
+ networkIdentifier: z.string().optional(),
230
+ });
231
+ }
232
+ // ═══════════════════════════════════════════════════════════════════
233
+ // Agent Registration Schemas
234
+ // ═══════════════════════════════════════════════════════════════════
235
+ /**
236
+ * @name createRegisterAgentSchema
237
+ * @description Zod schema for agent registration arguments.
238
+ * @returns A Zod schema for registration validation.
239
+ * @category Utils
240
+ * @since v0.6.0
241
+ */
242
+ export function createRegisterAgentSchema() {
243
+ const z = getZod();
244
+ return z.object({
245
+ name: z.string().min(1).max(64),
246
+ description: z.string().min(1).max(256),
247
+ agentId: z.string().max(128).optional().nullable(),
248
+ agentUri: z.string().max(256).optional().nullable(),
249
+ x402Endpoint: z.string().url().max(256).optional().nullable(),
250
+ capabilities: z
251
+ .array(z.object({
252
+ id: z.string().min(1),
253
+ description: z.string().nullable().optional(),
254
+ protocolId: z.string().nullable().optional(),
255
+ version: z.string().nullable().optional(),
256
+ }))
257
+ .max(10)
258
+ .default([]),
259
+ protocols: z.array(z.string()).max(5).default([]),
260
+ pricing: z
261
+ .array(z.object({
262
+ tierId: z.string().min(1),
263
+ pricePerCall: z.union([z.number(), z.string()]),
264
+ rateLimit: z.number().int().min(0),
265
+ tokenType: z.enum(["sol", "usdc", "spl"]).default("sol"),
266
+ settlementMode: z.enum(["instant", "escrow", "batched", "x402"]).default("x402"),
267
+ }))
268
+ .max(5)
269
+ .default([]),
270
+ });
271
+ }
272
+ // ═══════════════════════════════════════════════════════════════════
273
+ // CLI Script Argument Schemas
274
+ // ═══════════════════════════════════════════════════════════════════
275
+ /**
276
+ * @name createCallArgsSchema
277
+ * @description Zod schema for `npm run call` script arguments.
278
+ * Ensures all required fields are present before executing an x402 call.
279
+ *
280
+ * @returns A Zod schema for call argument validation.
281
+ * @category Utils
282
+ * @since v0.6.0
283
+ */
284
+ export function createCallArgsSchema() {
285
+ const z = getZod();
286
+ return z.object({
287
+ agentWallet: z.string().min(32).max(50).describe("Agent wallet (base58)"),
288
+ tool: z.string().min(1).describe("Tool name to invoke"),
289
+ args: z.record(z.string(), z.unknown()).default({}).describe("Tool arguments (JSON)"),
290
+ endpoint: z.string().url().optional().describe("Endpoint URL override"),
291
+ network: z.string().optional().describe("Network identifier override"),
292
+ maxRetries: z.number().int().min(0).max(10).default(2),
293
+ timeoutMs: z.number().int().min(1000).max(120_000).default(30_000),
294
+ });
295
+ }
296
+ /**
297
+ * @name validateOrThrow
298
+ * @description Validate a value against a Zod schema, throwing a SapValidationError
299
+ * with a friendly message if validation fails.
300
+ *
301
+ * @param schema - A Zod schema.
302
+ * @param value - The value to validate.
303
+ * @param label - A label for error messages (e.g. "environment", "call args").
304
+ * @returns The parsed and typed value.
305
+ * @throws {Error} With formatted validation errors.
306
+ *
307
+ * @category Utils
308
+ * @since v0.6.0
309
+ */
310
+ export function validateOrThrow(schema, value, label) {
311
+ const result = schema.safeParse(value);
312
+ if (result.success)
313
+ return schema.parse(value);
314
+ const issues = result.error?.issues ?? [];
315
+ const formatted = issues
316
+ .map((i) => ` • ${i.path.join(".")}: ${i.message}`)
317
+ .join("\n");
318
+ throw new Error(`[SAP SDK] Invalid ${label}:\n${formatted}`);
319
+ }
320
+ //# sourceMappingURL=schemas.js.map