@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,414 @@
1
+ "use strict";
2
+ /**
3
+ * @module registries/builder
4
+ * @description Fluent agent registration builder.
5
+ *
6
+ * Provides a chainable API for registering a fully-configured agent
7
+ * in a single flow — identity, capabilities, pricing tiers, tools,
8
+ * x402 endpoint, and discovery indexes.
9
+ *
10
+ * Instead of calling 5+ separate instructions manually, developers
11
+ * use a single builder chain that validates inputs and batches
12
+ * the registration cleanly.
13
+ *
14
+ * @category Registries
15
+ * @since v0.1.0
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const result = await client.builder
20
+ * .agent("SwapBot")
21
+ * .description("AI-powered Jupiter swap agent")
22
+ * .x402Endpoint("https://swapbot.example.com/x402")
23
+ * .addCapability("jupiter:swap", { protocol: "jupiter", version: "6.0" })
24
+ * .addCapability("jupiter:quote", { protocol: "jupiter", version: "6.0" })
25
+ * .addPricingTier({
26
+ * tierId: "standard",
27
+ * pricePerCall: 1000,
28
+ * rateLimit: 60,
29
+ * tokenType: "sol",
30
+ * settlementMode: "x402",
31
+ * })
32
+ * .addProtocol("jupiter")
33
+ * .register();
34
+ *
35
+ * // Or register with tools:
36
+ * const result = await client.builder
37
+ * .agent("DataBot")
38
+ * .description("Real-time DeFi data feeds")
39
+ * .addTool({ name: "getPrice", protocol: "pyth", category: "data", ... })
40
+ * .registerWithTools();
41
+ * ```
42
+ */
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.AgentBuilder = void 0;
45
+ const web3_js_1 = require("@solana/web3.js");
46
+ const anchor_1 = require("@coral-xyz/anchor");
47
+ const pda_1 = require("../pda");
48
+ const utils_1 = require("../utils");
49
+ const constants_1 = require("../constants");
50
+ const types_1 = require("../types");
51
+ // ═══════════════════════════════════════════════════════════════════
52
+ // Agent Builder
53
+ // ═══════════════════════════════════════════════════════════════════
54
+ /**
55
+ * @name AgentBuilder
56
+ * @description Fluent builder for registering a fully-configured agent on-chain.
57
+ *
58
+ * Chains identity setters, capability/pricing/protocol adders, and tool
59
+ * definitions into a single validated registration flow. Validates all
60
+ * inputs against on-chain limits before sending transactions.
61
+ *
62
+ * @category Registries
63
+ * @since v0.1.0
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const result = await client.builder
68
+ * .agent("SwapBot")
69
+ * .description("AI-powered Jupiter swap agent")
70
+ * .x402Endpoint("https://swapbot.example.com/x402")
71
+ * .addCapability("jupiter:swap", { protocol: "jupiter", version: "6.0" })
72
+ * .addPricingTier({ tierId: "standard", pricePerCall: 1000, rateLimit: 60 })
73
+ * .register();
74
+ * ```
75
+ */
76
+ class AgentBuilder {
77
+ program;
78
+ wallet;
79
+ _name = "";
80
+ _description = "";
81
+ _agentId = null;
82
+ _agentUri = null;
83
+ _x402Endpoint = null;
84
+ _capabilities = [];
85
+ _pricing = [];
86
+ _protocols = [];
87
+ _tools = [];
88
+ constructor(program) {
89
+ this.program = program;
90
+ this.wallet = program.provider.wallet.publicKey;
91
+ }
92
+ // ── Fluent Setters ───────────────────────────────────
93
+ /**
94
+ * @name agent
95
+ * @description Set the agent display name.
96
+ * @param name - Display name (max 64 characters).
97
+ * @returns `this` for chaining.
98
+ * @since v0.1.0
99
+ */
100
+ agent(name) {
101
+ (0, utils_1.assert)(name.length <= constants_1.LIMITS.MAX_NAME_LEN, `Name exceeds ${constants_1.LIMITS.MAX_NAME_LEN} chars`);
102
+ this._name = name;
103
+ return this;
104
+ }
105
+ /**
106
+ * @name description
107
+ * @description Set the agent description.
108
+ * @param desc - Description text (max 256 characters).
109
+ * @returns `this` for chaining.
110
+ * @since v0.1.0
111
+ */
112
+ description(desc) {
113
+ (0, utils_1.assert)(desc.length <= constants_1.LIMITS.MAX_DESC_LEN, `Description exceeds ${constants_1.LIMITS.MAX_DESC_LEN} chars`);
114
+ this._description = desc;
115
+ return this;
116
+ }
117
+ /**
118
+ * @name agentId
119
+ * @description Set a DID-style agent identifier.
120
+ * @param id - Agent identifier string.
121
+ * @returns `this` for chaining.
122
+ * @since v0.1.0
123
+ */
124
+ agentId(id) {
125
+ (0, utils_1.assert)(id.length <= constants_1.LIMITS.MAX_AGENT_ID_LEN, `Agent ID exceeds ${constants_1.LIMITS.MAX_AGENT_ID_LEN} chars`);
126
+ this._agentId = id;
127
+ return this;
128
+ }
129
+ /**
130
+ * @name agentUri
131
+ * @description Set an agent metadata URI.
132
+ * @param uri - Metadata URI string.
133
+ * @returns `this` for chaining.
134
+ * @since v0.1.0
135
+ */
136
+ agentUri(uri) {
137
+ (0, utils_1.assert)(uri.length <= constants_1.LIMITS.MAX_URI_LEN, `URI exceeds ${constants_1.LIMITS.MAX_URI_LEN} chars`);
138
+ this._agentUri = uri;
139
+ return this;
140
+ }
141
+ /**
142
+ * @name x402Endpoint
143
+ * @description Set the x402 payment endpoint URL.
144
+ * @param url - The x402 endpoint URL for the agent.
145
+ * @returns `this` for chaining.
146
+ * @since v0.1.0
147
+ */
148
+ x402Endpoint(url) {
149
+ (0, utils_1.assert)(url.length <= constants_1.LIMITS.MAX_URI_LEN, `x402 endpoint exceeds ${constants_1.LIMITS.MAX_URI_LEN} chars`);
150
+ this._x402Endpoint = url;
151
+ return this;
152
+ }
153
+ /**
154
+ * @name addCapability
155
+ * @description Add a capability to the agent.
156
+ *
157
+ * @param id - Capability identifier string (e.g. `"jupiter:swap"`).
158
+ * @param opts - Optional capability metadata.
159
+ * @param opts.protocol - Protocol the capability belongs to.
160
+ * @param opts.version - Capability version string.
161
+ * @param opts.description - Human-readable capability description.
162
+ * @returns `this` for chaining.
163
+ * @since v0.1.0
164
+ *
165
+ * @example
166
+ * ```ts
167
+ * builder.addCapability("jupiter:swap", { protocol: "jupiter", version: "6.0" })
168
+ * ```
169
+ */
170
+ addCapability(id, opts) {
171
+ (0, utils_1.assert)(this._capabilities.length < constants_1.LIMITS.MAX_CAPABILITIES, `Max ${constants_1.LIMITS.MAX_CAPABILITIES} capabilities`);
172
+ this._capabilities.push({
173
+ id,
174
+ description: opts?.description ?? null,
175
+ protocolId: opts?.protocol ?? null,
176
+ version: opts?.version ?? null,
177
+ });
178
+ return this;
179
+ }
180
+ /**
181
+ * @name addPricingTier
182
+ * @description Add a pricing tier for the agent's services.
183
+ * Supports flat-rate, volume-curve, and configurable settlement modes.
184
+ *
185
+ * @param input - Pricing tier configuration.
186
+ * @returns `this` for chaining.
187
+ * @since v0.1.0
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * builder.addPricingTier({
192
+ * tierId: "standard",
193
+ * pricePerCall: 1000,
194
+ * rateLimit: 60,
195
+ * tokenType: "sol",
196
+ * settlementMode: "x402",
197
+ * })
198
+ * ```
199
+ */
200
+ addPricingTier(input) {
201
+ (0, utils_1.assert)(this._pricing.length < constants_1.LIMITS.MAX_PRICING_TIERS, `Max ${constants_1.LIMITS.MAX_PRICING_TIERS} pricing tiers`);
202
+ const tokenType = this.resolveTokenType(input.tokenType ?? "sol");
203
+ const settlementMode = input.settlementMode
204
+ ? this.resolveSettlementMode(input.settlementMode)
205
+ : null;
206
+ const volumeCurve = input.volumeCurve
207
+ ? input.volumeCurve.map((v) => ({
208
+ afterCalls: v.afterCalls,
209
+ pricePerCall: new anchor_1.BN(v.pricePerCall.toString()),
210
+ }))
211
+ : null;
212
+ this._pricing.push({
213
+ tierId: input.tierId,
214
+ pricePerCall: new anchor_1.BN(input.pricePerCall.toString()),
215
+ minPricePerCall: input.minPricePerCall
216
+ ? new anchor_1.BN(input.minPricePerCall.toString())
217
+ : null,
218
+ maxPricePerCall: input.maxPricePerCall
219
+ ? new anchor_1.BN(input.maxPricePerCall.toString())
220
+ : null,
221
+ rateLimit: input.rateLimit,
222
+ maxCallsPerSession: input.maxCallsPerSession ?? 0,
223
+ burstLimit: input.burstLimit ?? null,
224
+ tokenType,
225
+ tokenMint: input.tokenMint ?? null,
226
+ tokenDecimals: input.tokenDecimals ?? null,
227
+ settlementMode,
228
+ minEscrowDeposit: input.minEscrowDeposit
229
+ ? new anchor_1.BN(input.minEscrowDeposit.toString())
230
+ : null,
231
+ batchIntervalSec: input.batchIntervalSec ?? null,
232
+ volumeCurve,
233
+ });
234
+ return this;
235
+ }
236
+ /**
237
+ * @name addProtocol
238
+ * @description Add a protocol the agent supports.
239
+ * Duplicates are silently ignored.
240
+ *
241
+ * @param protocolId - Protocol identifier string (e.g. `"jupiter"`).
242
+ * @returns `this` for chaining.
243
+ * @since v0.1.0
244
+ *
245
+ * @example
246
+ * ```ts
247
+ * builder.addProtocol("jupiter")
248
+ * ```
249
+ */
250
+ addProtocol(protocolId) {
251
+ (0, utils_1.assert)(this._protocols.length < constants_1.LIMITS.MAX_PROTOCOLS, `Max ${constants_1.LIMITS.MAX_PROTOCOLS} protocols`);
252
+ if (!this._protocols.includes(protocolId)) {
253
+ this._protocols.push(protocolId);
254
+ }
255
+ return this;
256
+ }
257
+ /**
258
+ * @name addTool
259
+ * @description Add a tool to be published after registration.
260
+ * Only used with {@link AgentBuilder.registerWithTools}.
261
+ *
262
+ * @param tool - Tool configuration.
263
+ * @returns `this` for chaining.
264
+ * @since v0.1.0
265
+ */
266
+ addTool(tool) {
267
+ this._tools.push(tool);
268
+ return this;
269
+ }
270
+ // ── Registration ─────────────────────────────────────
271
+ /**
272
+ * @name register
273
+ * @description Register the agent on-chain.
274
+ * Validates all inputs before sending the transaction.
275
+ *
276
+ * @returns A {@link RegisterResult} with the transaction signature and derived PDAs.
277
+ * @throws If validation fails (missing name, description, or limit exceeded).
278
+ * @since v0.1.0
279
+ */
280
+ async register() {
281
+ this.validate();
282
+ const [agentPda] = (0, pda_1.deriveAgent)(this.wallet);
283
+ const [statsPda] = (0, pda_1.deriveAgentStats)(agentPda);
284
+ const [globalPda] = (0, pda_1.deriveGlobalRegistry)();
285
+ const txSignature = await this.methods
286
+ .registerAgent(this._name, this._description, this._capabilities, this._pricing, this._protocols, this._agentId, this._agentUri, this._x402Endpoint)
287
+ .accounts({
288
+ wallet: this.wallet,
289
+ agent: agentPda,
290
+ agentStats: statsPda,
291
+ globalRegistry: globalPda,
292
+ systemProgram: web3_js_1.SystemProgram.programId,
293
+ })
294
+ .rpc();
295
+ return { txSignature, agentPda, statsPda };
296
+ }
297
+ /**
298
+ * @name registerWithTools
299
+ * @description Register the agent AND publish all configured tools.
300
+ * Sends agent registration first, then tool publications sequentially.
301
+ *
302
+ * @returns A {@link RegisterWithToolsResult} with agent and tool transaction signatures.
303
+ * @throws If validation fails or any tool publication fails.
304
+ * @since v0.1.0
305
+ */
306
+ async registerWithTools() {
307
+ const result = await this.register();
308
+ const toolSignatures = [];
309
+ const [globalPda] = (0, pda_1.deriveGlobalRegistry)();
310
+ for (const tool of this._tools) {
311
+ const toolNameHash = (0, utils_1.hashToArray)((0, utils_1.sha256)(tool.name));
312
+ const [toolPda] = (0, pda_1.deriveTool)(result.agentPda, new Uint8Array(toolNameHash));
313
+ const httpMethod = constants_1.HTTP_METHOD_VALUES[(tool.httpMethod ?? "post")] ?? 1;
314
+ const category = constants_1.TOOL_CATEGORY_VALUES[(tool.category ?? "Custom")] ?? 9;
315
+ const txSignature = await this.methods
316
+ .publishTool(tool.name, toolNameHash, (0, utils_1.hashToArray)((0, utils_1.sha256)(tool.protocol)), (0, utils_1.hashToArray)((0, utils_1.sha256)(tool.description)), (0, utils_1.hashToArray)((0, utils_1.sha256)(tool.inputSchema)), (0, utils_1.hashToArray)((0, utils_1.sha256)(tool.outputSchema)), httpMethod, category, tool.paramsCount, tool.requiredParams, tool.isCompound ?? false)
317
+ .accounts({
318
+ wallet: this.wallet,
319
+ agent: result.agentPda,
320
+ tool: toolPda,
321
+ globalRegistry: globalPda,
322
+ systemProgram: web3_js_1.SystemProgram.programId,
323
+ })
324
+ .rpc();
325
+ toolSignatures.push({ name: tool.name, txSignature });
326
+ }
327
+ return { ...result, toolSignatures };
328
+ }
329
+ // ── Reset ────────────────────────────────────────────
330
+ /**
331
+ * @name reset
332
+ * @description Reset the builder to its initial state.
333
+ * Clears all configured values so the builder can be reused.
334
+ *
335
+ * @returns `this` for chaining.
336
+ * @since v0.1.0
337
+ */
338
+ reset() {
339
+ this._name = "";
340
+ this._description = "";
341
+ this._agentId = null;
342
+ this._agentUri = null;
343
+ this._x402Endpoint = null;
344
+ this._capabilities = [];
345
+ this._pricing = [];
346
+ this._protocols = [];
347
+ this._tools = [];
348
+ return this;
349
+ }
350
+ // ── Validation ───────────────────────────────────────
351
+ /**
352
+ * @name validate
353
+ * @description Validate all builder inputs against on-chain limits.
354
+ * @throws If any required field is missing or any limit is exceeded.
355
+ * @private
356
+ */
357
+ validate() {
358
+ (0, utils_1.assert)(this._name.length > 0, "Agent name is required");
359
+ (0, utils_1.assert)(this._description.length > 0, "Agent description is required");
360
+ (0, utils_1.assert)(this._capabilities.length <= constants_1.LIMITS.MAX_CAPABILITIES, `Max ${constants_1.LIMITS.MAX_CAPABILITIES} capabilities`);
361
+ (0, utils_1.assert)(this._pricing.length <= constants_1.LIMITS.MAX_PRICING_TIERS, `Max ${constants_1.LIMITS.MAX_PRICING_TIERS} pricing tiers`);
362
+ (0, utils_1.assert)(this._protocols.length <= constants_1.LIMITS.MAX_PROTOCOLS, `Max ${constants_1.LIMITS.MAX_PROTOCOLS} protocols`);
363
+ }
364
+ // ── Helpers ──────────────────────────────────────────
365
+ /**
366
+ * @name resolveTokenType
367
+ * @description Resolve a token type string to the on-chain enum variant.
368
+ * @param t - Token type string (`"sol"`, `"usdc"`, or `"spl"`).
369
+ * @returns The corresponding {@link TokenTypeKind} enum value.
370
+ * @private
371
+ */
372
+ resolveTokenType(t) {
373
+ switch (t) {
374
+ case "sol":
375
+ return types_1.TokenType.Sol;
376
+ case "usdc":
377
+ return types_1.TokenType.Usdc;
378
+ case "spl":
379
+ return types_1.TokenType.Spl;
380
+ }
381
+ }
382
+ /**
383
+ * @name resolveSettlementMode
384
+ * @description Resolve a settlement mode string to the on-chain enum variant.
385
+ * @param m - Settlement mode string (`"instant"`, `"escrow"`, `"batched"`, or `"x402"`).
386
+ * @returns The corresponding {@link SettlementModeKind} enum value.
387
+ * @private
388
+ */
389
+ resolveSettlementMode(m) {
390
+ switch (m) {
391
+ case "instant":
392
+ return types_1.SettlementMode.Instant;
393
+ case "escrow":
394
+ return types_1.SettlementMode.Escrow;
395
+ case "batched":
396
+ return types_1.SettlementMode.Batched;
397
+ case "x402":
398
+ return types_1.SettlementMode.X402;
399
+ }
400
+ }
401
+ /**
402
+ * @name methods
403
+ * @description Accessor for the Anchor program methods namespace.
404
+ * @returns The program methods object for building RPC calls.
405
+ * @private
406
+ */
407
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
408
+ get methods() {
409
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
410
+ return this.program.methods;
411
+ }
412
+ }
413
+ exports.AgentBuilder = AgentBuilder;
414
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/registries/builder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;AAEH,6CAIyB;AACzB,8CAA4D;AAE5D,gCAKgB;AAChB,oCAAuD;AACvD,4CAAgF;AAQhF,oCAAqD;AAuGrD,sEAAsE;AACtE,iBAAiB;AACjB,sEAAsE;AAEtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,YAAY;IAYM;IAXZ,MAAM,CAAY;IAC3B,KAAK,GAAG,EAAE,CAAC;IACX,YAAY,GAAG,EAAE,CAAC;IAClB,QAAQ,GAAkB,IAAI,CAAC;IAC/B,SAAS,GAAkB,IAAI,CAAC;IAChC,aAAa,GAAkB,IAAI,CAAC;IACpC,aAAa,GAAiB,EAAE,CAAC;IACjC,QAAQ,GAAkB,EAAE,CAAC;IAC7B,UAAU,GAAa,EAAE,CAAC;IAC1B,MAAM,GAAgB,EAAE,CAAC;IAEjC,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QAC9C,IAAI,CAAC,MAAM,GAAI,OAAO,CAAC,QAA2B,CAAC,MAAM,CAAC,SAAS,CAAC;IACtE,CAAC;IAED,wDAAwD;IAExD;;;;;;OAMG;IACH,KAAK,CAAC,IAAY;QAChB,IAAA,cAAM,EAAC,IAAI,CAAC,MAAM,IAAI,kBAAM,CAAC,YAAY,EAAE,gBAAgB,kBAAM,CAAC,YAAY,QAAQ,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,IAAY;QACtB,IAAA,cAAM,EAAC,IAAI,CAAC,MAAM,IAAI,kBAAM,CAAC,YAAY,EAAE,uBAAuB,kBAAM,CAAC,YAAY,QAAQ,CAAC,CAAC;QAC/F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,EAAU;QAChB,IAAA,cAAM,EAAC,EAAE,CAAC,MAAM,IAAI,kBAAM,CAAC,gBAAgB,EAAE,oBAAoB,kBAAM,CAAC,gBAAgB,QAAQ,CAAC,CAAC;QAClG,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,GAAW;QAClB,IAAA,cAAM,EAAC,GAAG,CAAC,MAAM,IAAI,kBAAM,CAAC,WAAW,EAAE,eAAe,kBAAM,CAAC,WAAW,QAAQ,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,GAAW;QACtB,IAAA,cAAM,EAAC,GAAG,CAAC,MAAM,IAAI,kBAAM,CAAC,WAAW,EAAE,yBAAyB,kBAAM,CAAC,WAAW,QAAQ,CAAC,CAAC;QAC9F,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EAAU,EAAE,IAAsB;QAC9C,IAAA,cAAM,EACJ,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAM,CAAC,gBAAgB,EACnD,OAAO,kBAAM,CAAC,gBAAgB,eAAe,CAC9C,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACtB,EAAE;YACF,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI;YACtC,UAAU,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;YAClC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;SAC/B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,KAAuB;QACpC,IAAA,cAAM,EACJ,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,kBAAM,CAAC,iBAAiB,EAC/C,OAAO,kBAAM,CAAC,iBAAiB,gBAAgB,CAChD,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc;YACzC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,cAAc,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAmC,KAAK,CAAC,WAAW;YACnE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,YAAY,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;aAChD,CAAC,CAAC;YACL,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,YAAY,EAAE,IAAI,WAAE,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACnD,eAAe,EAAE,KAAK,CAAC,eAAe;gBACpC,CAAC,CAAC,IAAI,WAAE,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAC1C,CAAC,CAAC,IAAI;YACR,eAAe,EAAE,KAAK,CAAC,eAAe;gBACpC,CAAC,CAAC,IAAI,WAAE,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAC1C,CAAC,CAAC,IAAI;YACR,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,CAAC;YACjD,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;YACpC,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;YAC1C,cAAc;YACd,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACtC,CAAC,CAAC,IAAI,WAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC3C,CAAC,CAAC,IAAI;YACR,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI;YAChD,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,UAAkB;QAC5B,IAAA,cAAM,EACJ,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,kBAAM,CAAC,aAAa,EAC7C,OAAO,kBAAM,CAAC,aAAa,YAAY,CACxC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAe;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IAExD;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,sBAAgB,EAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,0BAAoB,GAAE,CAAC;QAE3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO;aACnC,aAAa,CACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,CACnB;aACA,QAAQ,CAAC;YACR,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,GAAG,EAAE,CAAC;QAET,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,cAAc,GAGf,EAAE,CAAC;QAER,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,0BAAoB,GAAE,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,IAAA,cAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,gBAAU,EAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YAE5E,MAAM,UAAU,GACd,8BAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAoC,CAAC,IAAI,CAAC,CAAC;YAC1F,MAAM,QAAQ,GACZ,gCAAoB,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAsC,CAAC,IAAI,CAAC,CAAC;YAE9F,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO;iBACnC,WAAW,CACV,IAAI,CAAC,IAAI,EACT,YAAY,EACZ,IAAA,mBAAW,EAAC,IAAA,cAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAClC,IAAA,mBAAW,EAAC,IAAA,cAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EACrC,IAAA,mBAAW,EAAC,IAAA,cAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EACrC,IAAA,mBAAW,EAAC,IAAA,cAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EACtC,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,IAAI,KAAK,CACzB;iBACA,QAAQ,CAAC;gBACR,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,MAAM,CAAC,QAAQ;gBACtB,IAAI,EAAE,OAAO;gBACb,cAAc,EAAE,SAAS;gBACzB,aAAa,EAAE,uBAAa,CAAC,SAAS;aACvC,CAAC;iBACD,GAAG,EAAE,CAAC;YAET,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC;IACvC,CAAC;IAED,wDAAwD;IAExD;;;;;;;OAOG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IAExD;;;;;OAKG;IACK,QAAQ;QACd,IAAA,cAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACxD,IAAA,cAAM,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACtE,IAAA,cAAM,EACJ,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,kBAAM,CAAC,gBAAgB,EACpD,OAAO,kBAAM,CAAC,gBAAgB,eAAe,CAC9C,CAAC;QACF,IAAA,cAAM,EACJ,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,kBAAM,CAAC,iBAAiB,EAChD,OAAO,kBAAM,CAAC,iBAAiB,gBAAgB,CAChD,CAAC;QACF,IAAA,cAAM,EACJ,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,kBAAM,CAAC,aAAa,EAC9C,OAAO,kBAAM,CAAC,aAAa,YAAY,CACxC,CAAC;IACJ,CAAC;IAED,wDAAwD;IAExD;;;;;;OAMG;IACK,gBAAgB,CAAC,CAAyB;QAChD,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,KAAK;gBACR,OAAO,iBAAS,CAAC,GAAG,CAAC;YACvB,KAAK,MAAM;gBACT,OAAO,iBAAS,CAAC,IAAI,CAAC;YACxB,KAAK,KAAK;gBACR,OAAO,iBAAS,CAAC,GAAG,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAC3B,CAA4C;QAE5C,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,SAAS;gBACZ,OAAO,sBAAc,CAAC,OAAO,CAAC;YAChC,KAAK,QAAQ;gBACX,OAAO,sBAAc,CAAC,MAAM,CAAC;YAC/B,KAAK,SAAS;gBACZ,OAAO,sBAAc,CAAC,OAAO,CAAC;YAChC,KAAK,MAAM;gBACT,OAAO,sBAAc,CAAC,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,8DAA8D;IAC9D,IAAY,OAAO;QACjB,+DAA+D;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;CACF;AA7ZD,oCA6ZC"}