@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,447 @@
1
+ /**
2
+ * @module utils/anchor-errors
3
+ * @description Full SAP program error table (147 entries, codes 6000-6146)
4
+ * plus decoder utilities. Mirrors `programs/synapse-agent-sap/src/errors.rs`.
5
+ *
6
+ * Use {@link decodeAnchorError} to extract a structured error from any
7
+ * thrown RPC / simulation error. Use {@link SAP_ERRORS} for direct lookups.
8
+ *
9
+ * @category Utils
10
+ * @since v0.13.0
11
+ */
12
+ export const SAP_ERRORS = Object.freeze({
13
+ 6000: { code: 6000, name: "NameTooLong", msg: "name>64" },
14
+ 6001: { code: 6001, name: "DescriptionTooLong", msg: "desc>256" },
15
+ 6002: { code: 6002, name: "UriTooLong", msg: "uri>256" },
16
+ 6003: { code: 6003, name: "TooManyCapabilities", msg: "caps>10" },
17
+ 6004: { code: 6004, name: "TooManyPricingTiers", msg: "tiers>5" },
18
+ 6005: { code: 6005, name: "TooManyProtocols", msg: "protos>5" },
19
+ 6006: { code: 6006, name: "TooManyPlugins", msg: "plugins>5" },
20
+ 6007: { code: 6007, name: "AlreadyActive", msg: "already active" },
21
+ 6008: { code: 6008, name: "AlreadyInactive", msg: "already inactive" },
22
+ 6009: { code: 6009, name: "InvalidFeedbackScore", msg: "score 0-1000" },
23
+ 6010: { code: 6010, name: "TagTooLong", msg: "tag>32" },
24
+ 6011: { code: 6011, name: "SelfReviewNotAllowed", msg: "self review" },
25
+ 6012: { code: 6012, name: "FeedbackAlreadyRevoked", msg: "already revoked" },
26
+ 6013: { code: 6013, name: "CapabilityIndexFull", msg: "cap idx full" },
27
+ 6014: { code: 6014, name: "ProtocolIndexFull", msg: "proto idx full" },
28
+ 6015: { code: 6015, name: "AgentNotInIndex", msg: "not in idx" },
29
+ 6016: { code: 6016, name: "InvalidCapabilityHash", msg: "cap hash" },
30
+ 6017: { code: 6017, name: "InvalidProtocolHash", msg: "proto hash" },
31
+ 6018: { code: 6018, name: "InvalidPluginType", msg: "bad plugin type" },
32
+ 6019: { code: 6019, name: "ChunkDataTooLarge", msg: "chunk>900" },
33
+ 6020: { code: 6020, name: "ContentTypeTooLong", msg: "ctype>max" },
34
+ 6021: { code: 6021, name: "IpfsCidTooLong", msg: "cid>max" },
35
+ 6022: { code: 6022, name: "EmptyName", msg: "empty name" },
36
+ 6023: { code: 6023, name: "ControlCharInName", msg: "ctrl char" },
37
+ 6024: { code: 6024, name: "EmptyDescription", msg: "empty desc" },
38
+ 6025: { code: 6025, name: "AgentIdTooLong", msg: "agentid>128" },
39
+ 6026: { code: 6026, name: "InvalidCapabilityFormat", msg: "cap format" },
40
+ 6027: { code: 6027, name: "DuplicateCapability", msg: "dup cap" },
41
+ 6028: { code: 6028, name: "EmptyTierId", msg: "empty tier" },
42
+ 6029: { code: 6029, name: "DuplicateTierId", msg: "dup tier" },
43
+ 6030: { code: 6030, name: "InvalidRateLimit", msg: "rate=0" },
44
+ 6031: { code: 6031, name: "SplRequiresTokenMint", msg: "spl needs mint" },
45
+ 6032: { code: 6032, name: "InvalidX402Endpoint", msg: "x402 https" },
46
+ 6033: { code: 6033, name: "InvalidVolumeCurve", msg: "curve order" },
47
+ 6034: { code: 6034, name: "TooManyVolumeCurvePoints", msg: "curve>5" },
48
+ 6035: { code: 6035, name: "MinPriceExceedsMax", msg: "min>max price" },
49
+ 6036: { code: 6036, name: "InvalidUptimePercent", msg: "uptime 0-100" },
50
+ 6037: { code: 6037, name: "SessionClosed", msg: "session closed" },
51
+ 6038: { code: 6038, name: "InvalidSequence", msg: "bad seq" },
52
+ 6039: { code: 6039, name: "InvalidFragmentIndex", msg: "frag idx" },
53
+ 6040: { code: 6040, name: "InscriptionTooLarge", msg: "data>750" },
54
+ 6041: { code: 6041, name: "EmptyInscription", msg: "empty data" },
55
+ 6042: { code: 6042, name: "InvalidTotalFragments", msg: "frags<1" },
56
+ 6043: { code: 6043, name: "EpochMismatch", msg: "epoch mismatch" },
57
+ 6044: { code: 6044, name: "VaultNotClosed", msg: "vault open" },
58
+ 6045: { code: 6045, name: "SessionNotClosed", msg: "session open" },
59
+ 6046: { code: 6046, name: "DelegateExpired", msg: "delegate expired" },
60
+ 6047: { code: 6047, name: "InvalidDelegate", msg: "bad delegate" },
61
+ 6048: { code: 6048, name: "ToolNameTooLong", msg: "tool>32" },
62
+ 6049: { code: 6049, name: "EmptyToolName", msg: "empty tool" },
63
+ 6050: { code: 6050, name: "InvalidToolNameHash", msg: "tool hash" },
64
+ 6051: { code: 6051, name: "InvalidToolHttpMethod", msg: "bad method" },
65
+ 6052: { code: 6052, name: "InvalidToolCategory", msg: "bad category" },
66
+ 6053: { code: 6053, name: "ToolAlreadyInactive", msg: "tool inactive" },
67
+ 6054: { code: 6054, name: "ToolAlreadyActive", msg: "tool active" },
68
+ 6055: { code: 6055, name: "InvalidSchemaHash", msg: "schema hash" },
69
+ 6056: { code: 6056, name: "InvalidSchemaType", msg: "schema type" },
70
+ 6057: { code: 6057, name: "InvalidCheckpointIndex", msg: "cp index" },
71
+ 6058: { code: 6058, name: "FeedbackNotRevoked", msg: "not revoked" },
72
+ 6059: { code: 6059, name: "IndexNotEmpty", msg: "idx not empty" },
73
+ 6060: { code: 6060, name: "SessionStillOpen", msg: "session open" },
74
+ 6061: { code: 6061, name: "NoFieldsToUpdate", msg: "no fields" },
75
+ 6062: { code: 6062, name: "InsufficientEscrowBalance", msg: "low balance" },
76
+ 6063: { code: 6063, name: "EscrowMaxCallsExceeded", msg: "max calls" },
77
+ 6064: { code: 6064, name: "EscrowEmpty", msg: "escrow empty" },
78
+ 6065: { code: 6065, name: "EscrowNotEmpty", msg: "escrow!=0" },
79
+ 6066: { code: 6066, name: "InvalidSettlementCalls", msg: "calls<1" },
80
+ 6067: { code: 6067, name: "AttestationTypeTooLong", msg: "atype>32" },
81
+ 6068: { code: 6068, name: "EmptyAttestationType", msg: "empty atype" },
82
+ 6069: { code: 6069, name: "SelfAttestationNotAllowed", msg: "self attest" },
83
+ 6070: { code: 6070, name: "AttestationAlreadyRevoked", msg: "already revoked" },
84
+ 6071: { code: 6071, name: "AttestationNotRevoked", msg: "not revoked" },
85
+ 6072: { code: 6072, name: "ToolCategoryIndexFull", msg: "cat idx full" },
86
+ 6073: { code: 6073, name: "ToolNotInCategoryIndex", msg: "not in cat" },
87
+ 6074: { code: 6074, name: "ToolCategoryMismatch", msg: "cat mismatch" },
88
+ 6075: { code: 6075, name: "ArithmeticOverflow", msg: "overflow" },
89
+ 6076: { code: 6076, name: "EscrowExpired", msg: "escrow expired" },
90
+ 6077: { code: 6077, name: "AgentInactive", msg: "agent inactive" },
91
+ 6078: { code: 6078, name: "AttestationExpired", msg: "attest expired" },
92
+ 6079: { code: 6079, name: "BufferFull", msg: "buf full" },
93
+ 6080: { code: 6080, name: "BufferDataTooLarge", msg: "buf>750" },
94
+ 6081: { code: 6081, name: "Unauthorized", msg: "unauthorized" },
95
+ 6082: { code: 6082, name: "InvalidSession", msg: "bad session" },
96
+ 6083: { code: 6083, name: "EmptyDigestHash", msg: "empty hash" },
97
+ 6084: { code: 6084, name: "LedgerDataTooLarge", msg: "ledger>750" },
98
+ 6085: { code: 6085, name: "LedgerRingEmpty", msg: "ring empty" },
99
+ 6086: { code: 6086, name: "BatchEmpty", msg: "batch empty" },
100
+ 6087: { code: 6087, name: "BatchTooLarge", msg: "batch>10" },
101
+ 6088: { code: 6088, name: "SplTokenRequired", msg: "spl accts" },
102
+ 6089: { code: 6089, name: "InvalidTokenAccount", msg: "bad token" },
103
+ 6090: { code: 6090, name: "InvalidTokenProgram", msg: "bad prog" },
104
+ 6091: { code: 6091, name: "InvalidSettlementSecurity", msg: "bad security" },
105
+ 6092: { code: 6092, name: "CoSignerRequired", msg: "cosigner" },
106
+ 6093: { code: 6093, name: "InvalidCoSigner", msg: "bad cosigner" },
107
+ 6094: { code: 6094, name: "InvalidArbiter", msg: "bad arbiter" },
108
+ 6095: { code: 6095, name: "ArbiterRequired", msg: "arbiter=0" },
109
+ 6096: { code: 6096, name: "EscrowNonceReused", msg: "nonce reused" },
110
+ 6097: { code: 6097, name: "SettlementNotPending", msg: "not pending" },
111
+ 6098: { code: 6098, name: "SettlementAlreadyFinalized", msg: "already final" },
112
+ 6099: { code: 6099, name: "DisputeWindowNotExpired", msg: "too early" },
113
+ 6100: { code: 6100, name: "DisputeWindowExpired", msg: "window closed" },
114
+ 6101: { code: 6101, name: "NotDepositor", msg: "not depositor" },
115
+ 6102: { code: 6102, name: "DisputeAlreadyFiled", msg: "dup dispute" },
116
+ 6103: { code: 6103, name: "DisputeStillOpen", msg: "dispute open" },
117
+ 6104: { code: 6104, name: "NotArbiter", msg: "not arbiter" },
118
+ 6105: { code: 6105, name: "InvalidDisputeOutcome", msg: "bad outcome" },
119
+ 6106: { code: 6106, name: "StakeBelowMinimum", msg: "stake<min" },
120
+ 6107: { code: 6107, name: "NoStakeAccount", msg: "no stake" },
121
+ 6108: { code: 6108, name: "UnstakeAlreadyPending", msg: "unstake pending" },
122
+ 6109: { code: 6109, name: "UnstakeCooldownNotMet", msg: "cooldown" },
123
+ 6110: { code: 6110, name: "NoUnstakePending", msg: "no unstake" },
124
+ 6111: { code: 6111, name: "SlashExceedsStake", msg: "slash>stake" },
125
+ 6112: { code: 6112, name: "SubscriptionAlreadyActive", msg: "sub active" },
126
+ 6113: { code: 6113, name: "SubscriptionCancelled", msg: "sub cancelled" },
127
+ 6114: { code: 6114, name: "NoIntervalDue", msg: "no due" },
128
+ 6115: { code: 6115, name: "SubscriptionInsufficientBalance", msg: "sub low bal" },
129
+ 6116: { code: 6116, name: "InvalidBillingInterval", msg: "bad interval" },
130
+ 6117: { code: 6117, name: "InvalidShardIndex", msg: "bad shard" },
131
+ 6118: { code: 6118, name: "IndexPageFull", msg: "page full" },
132
+ 6119: { code: 6119, name: "InvalidPageIndex", msg: "bad page" },
133
+ 6120: { code: 6120, name: "IndexPageNotEmpty", msg: "page≠empty" },
134
+ 6121: { code: 6121, name: "AlreadyMigrated", msg: "already v2" },
135
+ 6122: { code: 6122, name: "MigrationV1Only", msg: "v1 only" },
136
+ 6123: { code: 6123, name: "SettlementDisputed", msg: "disputed" },
137
+ 6124: { code: 6124, name: "InvalidAgentWallet", msg: "bad agent wallet" },
138
+ 6125: { code: 6125, name: "StakeAgentMismatch", msg: "stake agent mismatch" },
139
+ 6126: { code: 6126, name: "NotAuthority", msg: "not authority" },
140
+ 6127: { code: 6127, name: "UnstakeBelowRent", msg: "unstake below rent" },
141
+ 6128: { code: 6128, name: "InsufficientStake", msg: "insufficient stake" },
142
+ 6129: { code: 6129, name: "SelfReportDeprecated", msg: "SelfReport deprecated" },
143
+ 6130: { code: 6130, name: "ArbiterDeprecated", msg: "arbiter deprecated" },
144
+ 6131: { code: 6131, name: "InvalidBatchIndex", msg: "bad batch idx" },
145
+ 6132: { code: 6132, name: "InvalidPeriod", msg: "bad period" },
146
+ 6133: { code: 6133, name: "InvalidDisputeType", msg: "bad dispute type" },
147
+ 6134: { code: 6134, name: "ProofDeadlineExpired", msg: "proof expired" },
148
+ 6135: { code: 6135, name: "ProofDeadlineNotExpired", msg: "proof not expired" },
149
+ 6136: { code: 6136, name: "InvalidReceiptProof", msg: "bad receipt proof" },
150
+ 6137: { code: 6137, name: "SettlementReplay", msg: "settlement replay" },
151
+ 6138: { code: 6138, name: "PaymentTokenNotAllowed", msg: "token not allowed" },
152
+ 6139: { code: 6139, name: "AgentStakeRequired", msg: "agent stake required" },
153
+ 6140: { code: 6140, name: "DelegateExpiryInvalid", msg: "delegate expiry invalid" },
154
+ 6141: { code: 6141, name: "EscrowNotClosed", msg: "escrow not closed" },
155
+ 6142: { code: 6142, name: "VolumeCurveNotDescending", msg: "curve not descending" },
156
+ 6143: { code: 6143, name: "DuplicateServiceHash", msg: "dup service hash" },
157
+ 6144: { code: 6144, name: "StakeBelowCoverage", msg: "stake under coverage" },
158
+ 6145: { code: 6145, name: "StakeNotClosable", msg: "stake not closable" },
159
+ 6146: { code: 6146, name: "AgentStakeAccountMissing", msg: "agent stake account missing" },
160
+ });
161
+ export const SAP_ERROR_BY_NAME = Object.freeze({
162
+ NameTooLong: 6000,
163
+ DescriptionTooLong: 6001,
164
+ UriTooLong: 6002,
165
+ TooManyCapabilities: 6003,
166
+ TooManyPricingTiers: 6004,
167
+ TooManyProtocols: 6005,
168
+ TooManyPlugins: 6006,
169
+ AlreadyActive: 6007,
170
+ AlreadyInactive: 6008,
171
+ InvalidFeedbackScore: 6009,
172
+ TagTooLong: 6010,
173
+ SelfReviewNotAllowed: 6011,
174
+ FeedbackAlreadyRevoked: 6012,
175
+ CapabilityIndexFull: 6013,
176
+ ProtocolIndexFull: 6014,
177
+ AgentNotInIndex: 6015,
178
+ InvalidCapabilityHash: 6016,
179
+ InvalidProtocolHash: 6017,
180
+ InvalidPluginType: 6018,
181
+ ChunkDataTooLarge: 6019,
182
+ ContentTypeTooLong: 6020,
183
+ IpfsCidTooLong: 6021,
184
+ EmptyName: 6022,
185
+ ControlCharInName: 6023,
186
+ EmptyDescription: 6024,
187
+ AgentIdTooLong: 6025,
188
+ InvalidCapabilityFormat: 6026,
189
+ DuplicateCapability: 6027,
190
+ EmptyTierId: 6028,
191
+ DuplicateTierId: 6029,
192
+ InvalidRateLimit: 6030,
193
+ SplRequiresTokenMint: 6031,
194
+ InvalidX402Endpoint: 6032,
195
+ InvalidVolumeCurve: 6033,
196
+ TooManyVolumeCurvePoints: 6034,
197
+ MinPriceExceedsMax: 6035,
198
+ InvalidUptimePercent: 6036,
199
+ SessionClosed: 6037,
200
+ InvalidSequence: 6038,
201
+ InvalidFragmentIndex: 6039,
202
+ InscriptionTooLarge: 6040,
203
+ EmptyInscription: 6041,
204
+ InvalidTotalFragments: 6042,
205
+ EpochMismatch: 6043,
206
+ VaultNotClosed: 6044,
207
+ SessionNotClosed: 6045,
208
+ DelegateExpired: 6046,
209
+ InvalidDelegate: 6047,
210
+ ToolNameTooLong: 6048,
211
+ EmptyToolName: 6049,
212
+ InvalidToolNameHash: 6050,
213
+ InvalidToolHttpMethod: 6051,
214
+ InvalidToolCategory: 6052,
215
+ ToolAlreadyInactive: 6053,
216
+ ToolAlreadyActive: 6054,
217
+ InvalidSchemaHash: 6055,
218
+ InvalidSchemaType: 6056,
219
+ InvalidCheckpointIndex: 6057,
220
+ FeedbackNotRevoked: 6058,
221
+ IndexNotEmpty: 6059,
222
+ SessionStillOpen: 6060,
223
+ NoFieldsToUpdate: 6061,
224
+ InsufficientEscrowBalance: 6062,
225
+ EscrowMaxCallsExceeded: 6063,
226
+ EscrowEmpty: 6064,
227
+ EscrowNotEmpty: 6065,
228
+ InvalidSettlementCalls: 6066,
229
+ AttestationTypeTooLong: 6067,
230
+ EmptyAttestationType: 6068,
231
+ SelfAttestationNotAllowed: 6069,
232
+ AttestationAlreadyRevoked: 6070,
233
+ AttestationNotRevoked: 6071,
234
+ ToolCategoryIndexFull: 6072,
235
+ ToolNotInCategoryIndex: 6073,
236
+ ToolCategoryMismatch: 6074,
237
+ ArithmeticOverflow: 6075,
238
+ EscrowExpired: 6076,
239
+ AgentInactive: 6077,
240
+ AttestationExpired: 6078,
241
+ BufferFull: 6079,
242
+ BufferDataTooLarge: 6080,
243
+ Unauthorized: 6081,
244
+ InvalidSession: 6082,
245
+ EmptyDigestHash: 6083,
246
+ LedgerDataTooLarge: 6084,
247
+ LedgerRingEmpty: 6085,
248
+ BatchEmpty: 6086,
249
+ BatchTooLarge: 6087,
250
+ SplTokenRequired: 6088,
251
+ InvalidTokenAccount: 6089,
252
+ InvalidTokenProgram: 6090,
253
+ InvalidSettlementSecurity: 6091,
254
+ CoSignerRequired: 6092,
255
+ InvalidCoSigner: 6093,
256
+ InvalidArbiter: 6094,
257
+ ArbiterRequired: 6095,
258
+ EscrowNonceReused: 6096,
259
+ SettlementNotPending: 6097,
260
+ SettlementAlreadyFinalized: 6098,
261
+ DisputeWindowNotExpired: 6099,
262
+ DisputeWindowExpired: 6100,
263
+ NotDepositor: 6101,
264
+ DisputeAlreadyFiled: 6102,
265
+ DisputeStillOpen: 6103,
266
+ NotArbiter: 6104,
267
+ InvalidDisputeOutcome: 6105,
268
+ StakeBelowMinimum: 6106,
269
+ NoStakeAccount: 6107,
270
+ UnstakeAlreadyPending: 6108,
271
+ UnstakeCooldownNotMet: 6109,
272
+ NoUnstakePending: 6110,
273
+ SlashExceedsStake: 6111,
274
+ SubscriptionAlreadyActive: 6112,
275
+ SubscriptionCancelled: 6113,
276
+ NoIntervalDue: 6114,
277
+ SubscriptionInsufficientBalance: 6115,
278
+ InvalidBillingInterval: 6116,
279
+ InvalidShardIndex: 6117,
280
+ IndexPageFull: 6118,
281
+ InvalidPageIndex: 6119,
282
+ IndexPageNotEmpty: 6120,
283
+ AlreadyMigrated: 6121,
284
+ MigrationV1Only: 6122,
285
+ SettlementDisputed: 6123,
286
+ InvalidAgentWallet: 6124,
287
+ StakeAgentMismatch: 6125,
288
+ NotAuthority: 6126,
289
+ UnstakeBelowRent: 6127,
290
+ InsufficientStake: 6128,
291
+ SelfReportDeprecated: 6129,
292
+ ArbiterDeprecated: 6130,
293
+ InvalidBatchIndex: 6131,
294
+ InvalidPeriod: 6132,
295
+ InvalidDisputeType: 6133,
296
+ ProofDeadlineExpired: 6134,
297
+ ProofDeadlineNotExpired: 6135,
298
+ InvalidReceiptProof: 6136,
299
+ SettlementReplay: 6137,
300
+ PaymentTokenNotAllowed: 6138,
301
+ AgentStakeRequired: 6139,
302
+ DelegateExpiryInvalid: 6140,
303
+ EscrowNotClosed: 6141,
304
+ VolumeCurveNotDescending: 6142,
305
+ DuplicateServiceHash: 6143,
306
+ StakeBelowCoverage: 6144,
307
+ StakeNotClosable: 6145,
308
+ AgentStakeAccountMissing: 6146,
309
+ });
310
+ const FRIENDLY_OVERRIDES = Object.freeze({
311
+ Unauthorized: "Unauthorized — wallet does not match the on-chain authority for this PDA.",
312
+ AgentInactive: "Agent is inactive (deactivated). Reactivate before publishing tools or accepting escrows.",
313
+ AgentStakeRequired: "Agent stake account missing or below MIN_STAKE (0.1 SOL). Initialize stake first.",
314
+ StakeBelowMinimum: "Stake below minimum (0.1 SOL). Top up before requesting unstake or accepting escrows.",
315
+ StakeBelowCoverage: "Stake below coverage requirement for outstanding escrow. Increase stake or wait for escrows to settle.",
316
+ PaymentTokenNotAllowed: "Token mint not in allowlist. Use SOL (null) or USDC (mainnet/devnet).",
317
+ DelegateExpiryInvalid: "Delegate expiry exceeds MAX_DELEGATE_DURATION_SECS (365 days) from now.",
318
+ EscrowNotEmpty: "Escrow balance != 0. Withdraw or settle remaining funds before closing.",
319
+ EscrowEmpty: "Escrow balance is zero — cannot settle.",
320
+ InsufficientEscrowBalance: "Insufficient escrow balance for the requested settlement amount.",
321
+ ArithmeticOverflow: "Arithmetic overflow — likely an orphan PendingSettlement, mismatched amount, or unsigned subtraction. Run `escrowV2.diagnoseOrphanPending()` to inspect.",
322
+ EscrowNonceReused: "Escrow nonce already used by this depositor. Pick a fresh nonce.",
323
+ SettlementNotPending: "PendingSettlement is not in pending state (already finalized or never created).",
324
+ SettlementAlreadyFinalized: "PendingSettlement already finalized — cannot finalize twice.",
325
+ DisputeWindowNotExpired: "Dispute window still open. Wait until escrow.dispute_window_slots elapse before finalizing.",
326
+ DisputeWindowExpired: "Dispute window already closed. Cannot file dispute.",
327
+ CoSignerRequired: "Settlement security mode requires a co-signer. Pass the co-signer keypair.",
328
+ InvalidCoSigner: "Co-signer pubkey does not match the on-chain `escrow.co_signer`.",
329
+ InvalidSettlementSecurity: "Settlement security mode mismatch with on-chain escrow config.",
330
+ SettlementReplay: "Settlement receipt PDA already exists for this serviceHash/batchRoot. Replay blocked.",
331
+ DuplicateServiceHash: "Two settlements in the same batch share the same serviceHash. Make each call unique.",
332
+ BatchTooLarge: "Batch settle exceeds 10 entries. Split across multiple transactions.",
333
+ BatchEmpty: "Batch settle requires at least 1 settlement.",
334
+ InscriptionTooLarge: "Inscription chunk exceeds 750 bytes. Split into more fragments.",
335
+ InvalidSchemaHash: "Tool schema hash is empty / invalid. v0.2.0+ requires every tool to publish a JSON schema (or schema_hash).",
336
+ EmptyToolName: "Tool name cannot be empty.",
337
+ ToolNameTooLong: "Tool name exceeds 32 bytes.",
338
+ EscrowExpired: "Escrow expired (expiresAt passed). Create a new escrow.",
339
+ UnstakeCooldownNotMet: "Unstake cooldown not elapsed. Wait for the cooldown window before completing unstake.",
340
+ UnstakeBelowRent: "Resulting stake balance would fall below the rent-exempt minimum. Reduce unstake amount.",
341
+ });
342
+ /**
343
+ * @name decodeAnchorError
344
+ * @description Pull an Anchor / SAP error out of any caught value.
345
+ * Handles: AnchorError, raw RPC SimulateError, `0x...` hex codes,
346
+ * nested `error.errorCode.number`, and direct `code` numbers.
347
+ * @returns Structured {@link DecodedAnchorError} or `null` if not a SAP error.
348
+ * @since v0.13.0
349
+ */
350
+ export function decodeAnchorError(err) {
351
+ if (err == null || typeof err !== "object")
352
+ return null;
353
+ const code = extractCode(err);
354
+ if (code == null)
355
+ return null;
356
+ const entry = SAP_ERRORS[code];
357
+ if (!entry) {
358
+ return {
359
+ code,
360
+ name: "Unknown",
361
+ msg: `custom program error 0x${code.toString(16)}`,
362
+ friendly: `Unknown SAP error (code ${code}). Check IDL.`,
363
+ logs: extractLogs(err),
364
+ };
365
+ }
366
+ return {
367
+ code: entry.code,
368
+ name: entry.name,
369
+ msg: entry.msg,
370
+ friendly: FRIENDLY_OVERRIDES[entry.name] ?? `${entry.name}: ${entry.msg}`,
371
+ logs: extractLogs(err),
372
+ };
373
+ }
374
+ function extractCode(err) {
375
+ if (typeof err !== "object" || err == null)
376
+ return null;
377
+ const e = err;
378
+ if (typeof e.code === "number")
379
+ return e.code;
380
+ const nested = e.error;
381
+ if (nested && typeof nested === "object") {
382
+ const errorCode = nested.errorCode;
383
+ if (errorCode && typeof errorCode === "object") {
384
+ const num = errorCode.number;
385
+ if (typeof num === "number")
386
+ return num;
387
+ }
388
+ }
389
+ const msg = err.message;
390
+ if (typeof msg === "string") {
391
+ const hex = msg.match(/custom program error:\s*0x([0-9a-fA-F]+)/);
392
+ if (hex?.[1])
393
+ return parseInt(hex[1], 16);
394
+ const dec = msg.match(/Error Number:\s*(\d+)/);
395
+ if (dec?.[1])
396
+ return parseInt(dec[1], 10);
397
+ }
398
+ return null;
399
+ }
400
+ function extractLogs(err) {
401
+ if (typeof err !== "object" || err == null)
402
+ return undefined;
403
+ const logs = err.logs;
404
+ if (Array.isArray(logs))
405
+ return logs;
406
+ const nested = err.simulationResponse;
407
+ if (nested && typeof nested === "object") {
408
+ const inner = nested.logs;
409
+ if (Array.isArray(inner))
410
+ return inner;
411
+ }
412
+ return undefined;
413
+ }
414
+ /**
415
+ * @name SapPreflightError
416
+ * @description Thrown by SDK preflights when an on-chain check is guaranteed
417
+ * to fail. Carries the predicted error code/name so callers can branch
418
+ * without parsing strings.
419
+ * @since v0.13.0
420
+ */
421
+ export class SapPreflightError extends Error {
422
+ predictedCode;
423
+ predictedName;
424
+ hint;
425
+ preflight = true;
426
+ constructor(message, predictedCode, predictedName, hint) {
427
+ super(message);
428
+ this.predictedCode = predictedCode;
429
+ this.predictedName = predictedName;
430
+ this.hint = hint;
431
+ this.name = "SapPreflightError";
432
+ }
433
+ }
434
+ /**
435
+ * @name throwPredicted
436
+ * @description Helper for SDK preflights. Throws a {@link SapPreflightError}
437
+ * carrying the on-chain error name + friendly message.
438
+ * @since v0.13.0
439
+ */
440
+ export function throwPredicted(name, hint) {
441
+ const code = SAP_ERROR_BY_NAME[name] ?? -1;
442
+ const entry = code >= 0 ? SAP_ERRORS[code] : undefined;
443
+ const friendly = FRIENDLY_OVERRIDES[name] ?? `${String(name)}: ${entry?.msg ?? ""}`;
444
+ const full = hint ? `${friendly} (${hint})` : friendly;
445
+ throw new SapPreflightError(full, code, name, hint);
446
+ }
447
+ //# sourceMappingURL=anchor-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor-errors.js","sourceRoot":"","sources":["../../../src/utils/anchor-errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @module utils/endpoint-validator
3
+ * @description Endpoint validation utilities for SAP agent discovery.
4
+ *
5
+ * Fetches advertised endpoints and verifies they respond with JSON,
6
+ * proper CORS headers, and SAP-compatible behavior. Designed to
7
+ * fail fast when an endpoint 404s, requires CSRF tokens, or
8
+ * serves HTML instead of JSON.
9
+ *
10
+ * Used by:
11
+ * - CLI `discovery validate` command
12
+ * - SDK programmatic validation before x402 calls
13
+ * - Integration test harnesses
14
+ *
15
+ * @category Utils
16
+ * @since v0.6.0
17
+ */
18
+ import type { EndpointDescriptor, HealthCheckDescriptor, EndpointValidationResult } from "../types/endpoint";
19
+ /**
20
+ * @interface ValidateEndpointOptions
21
+ * @description Options for endpoint validation.
22
+ * @category Utils
23
+ * @since v0.6.0
24
+ */
25
+ export interface ValidateEndpointOptions {
26
+ /** Timeout in milliseconds (default: 10000). */
27
+ readonly timeoutMs?: number;
28
+ /** Number of retries on failure (default: 1). */
29
+ readonly retries?: number;
30
+ /** HTTP method override (default: uses descriptor or HEAD). */
31
+ readonly method?: string;
32
+ /** Custom headers to include in the validation request. */
33
+ readonly headers?: Record<string, string>;
34
+ /** If true, also sends a preflight OPTIONS request. */
35
+ readonly checkCors?: boolean;
36
+ }
37
+ /**
38
+ * @name validateEndpoint
39
+ * @description Validate a single endpoint URL for SAP compatibility.
40
+ *
41
+ * Performs the following checks:
42
+ * 1. URL is reachable (no 4xx/5xx)
43
+ * 2. Response Content-Type is JSON
44
+ * 3. CORS headers are present (if checkCors enabled)
45
+ * 4. No redirect to HTML login pages
46
+ * 5. Measures response latency
47
+ *
48
+ * @param url - The endpoint URL to validate.
49
+ * @param opts - Validation options.
50
+ * @returns An {@link EndpointValidationResult} with detailed check results.
51
+ *
52
+ * @category Utils
53
+ * @since v0.6.0
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const result = await validateEndpoint("https://api.example.com/x402");
58
+ * if (!result.reachable) console.error(result.error);
59
+ * ```
60
+ */
61
+ export declare function validateEndpoint(url: string, opts?: ValidateEndpointOptions): Promise<EndpointValidationResult>;
62
+ /**
63
+ * @name validateEndpointDescriptor
64
+ * @description Validate an {@link EndpointDescriptor} with context-aware checks.
65
+ *
66
+ * Uses the descriptor's method, auth requirements, and other metadata to
67
+ * perform a more targeted validation than raw URL checking.
68
+ *
69
+ * @param descriptor - The endpoint descriptor to validate.
70
+ * @param opts - Additional options.
71
+ * @returns An {@link EndpointValidationResult}.
72
+ *
73
+ * @category Utils
74
+ * @since v0.6.0
75
+ */
76
+ export declare function validateEndpointDescriptor(descriptor: EndpointDescriptor, opts?: ValidateEndpointOptions): Promise<EndpointValidationResult>;
77
+ /**
78
+ * @name validateHealthCheck
79
+ * @description Validate an agent's health-check endpoint.
80
+ *
81
+ * @param health - The health-check descriptor.
82
+ * @returns An {@link EndpointValidationResult}.
83
+ *
84
+ * @category Utils
85
+ * @since v0.6.0
86
+ */
87
+ export declare function validateHealthCheck(health: HealthCheckDescriptor): Promise<EndpointValidationResult>;
88
+ /**
89
+ * @name validateAgentEndpoints
90
+ * @description Validate all endpoints for an agent (primary + health + tool overrides).
91
+ *
92
+ * @param params - Object containing the endpoints to validate.
93
+ * @param params.endpoint - Primary endpoint descriptor.
94
+ * @param params.healthCheck - Optional health-check descriptor.
95
+ * @param params.toolEndpoints - Optional array of tool-specific endpoint overrides.
96
+ * @param opts - Validation options.
97
+ * @returns A map of `label → EndpointValidationResult`.
98
+ *
99
+ * @category Utils
100
+ * @since v0.6.0
101
+ */
102
+ export declare function validateAgentEndpoints(params: {
103
+ endpoint: EndpointDescriptor;
104
+ healthCheck?: HealthCheckDescriptor;
105
+ toolEndpoints?: Array<{
106
+ name: string;
107
+ endpoint: EndpointDescriptor;
108
+ }>;
109
+ }, opts?: ValidateEndpointOptions): Promise<Map<string, EndpointValidationResult>>;
110
+ //# sourceMappingURL=endpoint-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-validator.d.ts","sourceRoot":"","sources":["../../../src/utils/endpoint-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAM3B;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,wBAAwB,CAAC,CA+FnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,kBAAkB,EAC9B,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,wBAAwB,CAAC,CA6BnC;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,wBAAwB,CAAC,CAmBnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE;IACN,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAAC;CACvE,EACD,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAsBhD"}