@oobe-protocol-labs/synapse-sap-sdk 0.1.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 (315) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +882 -0
  3. package/dist/cjs/constants/index.js +43 -0
  4. package/dist/cjs/constants/index.js.map +1 -0
  5. package/dist/cjs/constants/limits.js +161 -0
  6. package/dist/cjs/constants/limits.js.map +1 -0
  7. package/dist/cjs/constants/programs.js +78 -0
  8. package/dist/cjs/constants/programs.js.map +1 -0
  9. package/dist/cjs/constants/seeds.js +57 -0
  10. package/dist/cjs/constants/seeds.js.map +1 -0
  11. package/dist/cjs/core/client.js +391 -0
  12. package/dist/cjs/core/client.js.map +1 -0
  13. package/dist/cjs/core/connection.js +319 -0
  14. package/dist/cjs/core/connection.js.map +1 -0
  15. package/dist/cjs/core/index.js +24 -0
  16. package/dist/cjs/core/index.js.map +1 -0
  17. package/dist/cjs/errors/index.js +334 -0
  18. package/dist/cjs/errors/index.js.map +1 -0
  19. package/dist/cjs/events/index.js +136 -0
  20. package/dist/cjs/events/index.js.map +1 -0
  21. package/dist/cjs/idl/index.js +63 -0
  22. package/dist/cjs/idl/index.js.map +1 -0
  23. package/dist/cjs/idl/synapse_agent_sap.json +9710 -0
  24. package/dist/cjs/index.js +147 -0
  25. package/dist/cjs/index.js.map +1 -0
  26. package/dist/cjs/modules/agent.js +272 -0
  27. package/dist/cjs/modules/agent.js.map +1 -0
  28. package/dist/cjs/modules/attestation.js +147 -0
  29. package/dist/cjs/modules/attestation.js.map +1 -0
  30. package/dist/cjs/modules/base.js +128 -0
  31. package/dist/cjs/modules/base.js.map +1 -0
  32. package/dist/cjs/modules/escrow.js +246 -0
  33. package/dist/cjs/modules/escrow.js.map +1 -0
  34. package/dist/cjs/modules/feedback.js +166 -0
  35. package/dist/cjs/modules/feedback.js.map +1 -0
  36. package/dist/cjs/modules/index.js +35 -0
  37. package/dist/cjs/modules/index.js.map +1 -0
  38. package/dist/cjs/modules/indexing.js +375 -0
  39. package/dist/cjs/modules/indexing.js.map +1 -0
  40. package/dist/cjs/modules/ledger.js +234 -0
  41. package/dist/cjs/modules/ledger.js.map +1 -0
  42. package/dist/cjs/modules/tools.js +319 -0
  43. package/dist/cjs/modules/tools.js.map +1 -0
  44. package/dist/cjs/modules/vault.js +410 -0
  45. package/dist/cjs/modules/vault.js.map +1 -0
  46. package/dist/cjs/pda/index.js +377 -0
  47. package/dist/cjs/pda/index.js.map +1 -0
  48. package/dist/cjs/plugin/index.js +934 -0
  49. package/dist/cjs/plugin/index.js.map +1 -0
  50. package/dist/cjs/plugin/protocols.js +282 -0
  51. package/dist/cjs/plugin/protocols.js.map +1 -0
  52. package/dist/cjs/plugin/schemas.js +831 -0
  53. package/dist/cjs/plugin/schemas.js.map +1 -0
  54. package/dist/cjs/postgres/adapter.js +715 -0
  55. package/dist/cjs/postgres/adapter.js.map +1 -0
  56. package/dist/cjs/postgres/index.js +50 -0
  57. package/dist/cjs/postgres/index.js.map +1 -0
  58. package/dist/cjs/postgres/serializers.js +381 -0
  59. package/dist/cjs/postgres/serializers.js.map +1 -0
  60. package/dist/cjs/postgres/sync.js +221 -0
  61. package/dist/cjs/postgres/sync.js.map +1 -0
  62. package/dist/cjs/postgres/types.js +44 -0
  63. package/dist/cjs/postgres/types.js.map +1 -0
  64. package/dist/cjs/registries/builder.js +414 -0
  65. package/dist/cjs/registries/builder.js.map +1 -0
  66. package/dist/cjs/registries/discovery.js +362 -0
  67. package/dist/cjs/registries/discovery.js.map +1 -0
  68. package/dist/cjs/registries/index.js +51 -0
  69. package/dist/cjs/registries/index.js.map +1 -0
  70. package/dist/cjs/registries/session.js +433 -0
  71. package/dist/cjs/registries/session.js.map +1 -0
  72. package/dist/cjs/registries/x402.js +577 -0
  73. package/dist/cjs/registries/x402.js.map +1 -0
  74. package/dist/cjs/types/accounts.js +13 -0
  75. package/dist/cjs/types/accounts.js.map +1 -0
  76. package/dist/cjs/types/common.js +13 -0
  77. package/dist/cjs/types/common.js.map +1 -0
  78. package/dist/cjs/types/enums.js +174 -0
  79. package/dist/cjs/types/enums.js.map +1 -0
  80. package/dist/cjs/types/index.js +36 -0
  81. package/dist/cjs/types/index.js.map +1 -0
  82. package/dist/cjs/types/instructions.js +92 -0
  83. package/dist/cjs/types/instructions.js.map +1 -0
  84. package/dist/cjs/utils/hash.js +58 -0
  85. package/dist/cjs/utils/hash.js.map +1 -0
  86. package/dist/cjs/utils/index.js +27 -0
  87. package/dist/cjs/utils/index.js.map +1 -0
  88. package/dist/cjs/utils/serialization.js +105 -0
  89. package/dist/cjs/utils/serialization.js.map +1 -0
  90. package/dist/cjs/utils/validation.js +36 -0
  91. package/dist/cjs/utils/validation.js.map +1 -0
  92. package/dist/esm/constants/index.js +29 -0
  93. package/dist/esm/constants/index.js.map +1 -0
  94. package/dist/esm/constants/limits.js +158 -0
  95. package/dist/esm/constants/limits.js.map +1 -0
  96. package/dist/esm/constants/programs.js +75 -0
  97. package/dist/esm/constants/programs.js.map +1 -0
  98. package/dist/esm/constants/seeds.js +54 -0
  99. package/dist/esm/constants/seeds.js.map +1 -0
  100. package/dist/esm/core/client.js +384 -0
  101. package/dist/esm/core/client.js.map +1 -0
  102. package/dist/esm/core/connection.js +315 -0
  103. package/dist/esm/core/connection.js.map +1 -0
  104. package/dist/esm/core/index.js +19 -0
  105. package/dist/esm/core/index.js.map +1 -0
  106. package/dist/esm/errors/index.js +325 -0
  107. package/dist/esm/errors/index.js.map +1 -0
  108. package/dist/esm/events/index.js +132 -0
  109. package/dist/esm/events/index.js.map +1 -0
  110. package/dist/esm/idl/index.js +57 -0
  111. package/dist/esm/idl/index.js.map +1 -0
  112. package/dist/esm/idl/synapse_agent_sap.json +9710 -0
  113. package/dist/esm/index.js +70 -0
  114. package/dist/esm/index.js.map +1 -0
  115. package/dist/esm/modules/agent.js +268 -0
  116. package/dist/esm/modules/agent.js.map +1 -0
  117. package/dist/esm/modules/attestation.js +143 -0
  118. package/dist/esm/modules/attestation.js.map +1 -0
  119. package/dist/esm/modules/base.js +124 -0
  120. package/dist/esm/modules/base.js.map +1 -0
  121. package/dist/esm/modules/escrow.js +242 -0
  122. package/dist/esm/modules/escrow.js.map +1 -0
  123. package/dist/esm/modules/feedback.js +162 -0
  124. package/dist/esm/modules/feedback.js.map +1 -0
  125. package/dist/esm/modules/index.js +23 -0
  126. package/dist/esm/modules/index.js.map +1 -0
  127. package/dist/esm/modules/indexing.js +371 -0
  128. package/dist/esm/modules/indexing.js.map +1 -0
  129. package/dist/esm/modules/ledger.js +230 -0
  130. package/dist/esm/modules/ledger.js.map +1 -0
  131. package/dist/esm/modules/tools.js +315 -0
  132. package/dist/esm/modules/tools.js.map +1 -0
  133. package/dist/esm/modules/vault.js +406 -0
  134. package/dist/esm/modules/vault.js.map +1 -0
  135. package/dist/esm/pda/index.js +357 -0
  136. package/dist/esm/pda/index.js.map +1 -0
  137. package/dist/esm/plugin/index.js +927 -0
  138. package/dist/esm/plugin/index.js.map +1 -0
  139. package/dist/esm/plugin/protocols.js +279 -0
  140. package/dist/esm/plugin/protocols.js.map +1 -0
  141. package/dist/esm/plugin/schemas.js +828 -0
  142. package/dist/esm/plugin/schemas.js.map +1 -0
  143. package/dist/esm/postgres/adapter.js +678 -0
  144. package/dist/esm/postgres/adapter.js.map +1 -0
  145. package/dist/esm/postgres/index.js +27 -0
  146. package/dist/esm/postgres/index.js.map +1 -0
  147. package/dist/esm/postgres/serializers.js +362 -0
  148. package/dist/esm/postgres/serializers.js.map +1 -0
  149. package/dist/esm/postgres/sync.js +217 -0
  150. package/dist/esm/postgres/sync.js.map +1 -0
  151. package/dist/esm/postgres/types.js +41 -0
  152. package/dist/esm/postgres/types.js.map +1 -0
  153. package/dist/esm/registries/builder.js +410 -0
  154. package/dist/esm/registries/builder.js.map +1 -0
  155. package/dist/esm/registries/discovery.js +358 -0
  156. package/dist/esm/registries/discovery.js.map +1 -0
  157. package/dist/esm/registries/index.js +44 -0
  158. package/dist/esm/registries/index.js.map +1 -0
  159. package/dist/esm/registries/session.js +429 -0
  160. package/dist/esm/registries/session.js.map +1 -0
  161. package/dist/esm/registries/x402.js +573 -0
  162. package/dist/esm/registries/x402.js.map +1 -0
  163. package/dist/esm/types/accounts.js +12 -0
  164. package/dist/esm/types/accounts.js.map +1 -0
  165. package/dist/esm/types/common.js +12 -0
  166. package/dist/esm/types/common.js.map +1 -0
  167. package/dist/esm/types/enums.js +171 -0
  168. package/dist/esm/types/enums.js.map +1 -0
  169. package/dist/esm/types/index.js +25 -0
  170. package/dist/esm/types/index.js.map +1 -0
  171. package/dist/esm/types/instructions.js +89 -0
  172. package/dist/esm/types/instructions.js.map +1 -0
  173. package/dist/esm/utils/hash.js +53 -0
  174. package/dist/esm/utils/hash.js.map +1 -0
  175. package/dist/esm/utils/index.js +19 -0
  176. package/dist/esm/utils/index.js.map +1 -0
  177. package/dist/esm/utils/serialization.js +98 -0
  178. package/dist/esm/utils/serialization.js.map +1 -0
  179. package/dist/esm/utils/validation.js +33 -0
  180. package/dist/esm/utils/validation.js.map +1 -0
  181. package/dist/types/constants/index.d.ts +27 -0
  182. package/dist/types/constants/index.d.ts.map +1 -0
  183. package/dist/types/constants/limits.d.ts +149 -0
  184. package/dist/types/constants/limits.d.ts.map +1 -0
  185. package/dist/types/constants/programs.d.ts +69 -0
  186. package/dist/types/constants/programs.d.ts.map +1 -0
  187. package/dist/types/constants/seeds.d.ts +61 -0
  188. package/dist/types/constants/seeds.d.ts.map +1 -0
  189. package/dist/types/core/client.d.ts +323 -0
  190. package/dist/types/core/client.d.ts.map +1 -0
  191. package/dist/types/core/connection.d.ts +279 -0
  192. package/dist/types/core/connection.d.ts.map +1 -0
  193. package/dist/types/core/index.d.ts +20 -0
  194. package/dist/types/core/index.d.ts.map +1 -0
  195. package/dist/types/errors/index.d.ts +276 -0
  196. package/dist/types/errors/index.d.ts.map +1 -0
  197. package/dist/types/events/index.d.ts +248 -0
  198. package/dist/types/events/index.d.ts.map +1 -0
  199. package/dist/types/idl/index.d.ts +70 -0
  200. package/dist/types/idl/index.d.ts.map +1 -0
  201. package/dist/types/index.d.ts +68 -0
  202. package/dist/types/index.d.ts.map +1 -0
  203. package/dist/types/modules/agent.d.ts +166 -0
  204. package/dist/types/modules/agent.d.ts.map +1 -0
  205. package/dist/types/modules/attestation.d.ts +96 -0
  206. package/dist/types/modules/attestation.d.ts.map +1 -0
  207. package/dist/types/modules/base.d.ts +126 -0
  208. package/dist/types/modules/base.d.ts.map +1 -0
  209. package/dist/types/modules/escrow.d.ts +151 -0
  210. package/dist/types/modules/escrow.d.ts.map +1 -0
  211. package/dist/types/modules/feedback.d.ts +105 -0
  212. package/dist/types/modules/feedback.d.ts.map +1 -0
  213. package/dist/types/modules/index.d.ts +24 -0
  214. package/dist/types/modules/index.d.ts.map +1 -0
  215. package/dist/types/modules/indexing.d.ts +200 -0
  216. package/dist/types/modules/indexing.d.ts.map +1 -0
  217. package/dist/types/modules/ledger.d.ts +150 -0
  218. package/dist/types/modules/ledger.d.ts.map +1 -0
  219. package/dist/types/modules/tools.d.ts +182 -0
  220. package/dist/types/modules/tools.d.ts.map +1 -0
  221. package/dist/types/modules/vault.d.ts +240 -0
  222. package/dist/types/modules/vault.d.ts.map +1 -0
  223. package/dist/types/pda/index.d.ts +296 -0
  224. package/dist/types/pda/index.d.ts.map +1 -0
  225. package/dist/types/plugin/index.d.ts +171 -0
  226. package/dist/types/plugin/index.d.ts.map +1 -0
  227. package/dist/types/plugin/protocols.d.ts +152 -0
  228. package/dist/types/plugin/protocols.d.ts.map +1 -0
  229. package/dist/types/plugin/schemas.d.ts +823 -0
  230. package/dist/types/plugin/schemas.d.ts.map +1 -0
  231. package/dist/types/postgres/adapter.d.ts +355 -0
  232. package/dist/types/postgres/adapter.d.ts.map +1 -0
  233. package/dist/types/postgres/index.d.ts +24 -0
  234. package/dist/types/postgres/index.d.ts.map +1 -0
  235. package/dist/types/postgres/serializers.d.ts +30 -0
  236. package/dist/types/postgres/serializers.d.ts.map +1 -0
  237. package/dist/types/postgres/sync.d.ts +132 -0
  238. package/dist/types/postgres/sync.d.ts.map +1 -0
  239. package/dist/types/postgres/types.d.ts +167 -0
  240. package/dist/types/postgres/types.d.ts.map +1 -0
  241. package/dist/types/registries/builder.d.ts +340 -0
  242. package/dist/types/registries/builder.d.ts.map +1 -0
  243. package/dist/types/registries/discovery.d.ts +333 -0
  244. package/dist/types/registries/discovery.d.ts.map +1 -0
  245. package/dist/types/registries/index.d.ts +48 -0
  246. package/dist/types/registries/index.d.ts.map +1 -0
  247. package/dist/types/registries/session.d.ts +323 -0
  248. package/dist/types/registries/session.d.ts.map +1 -0
  249. package/dist/types/registries/x402.d.ts +463 -0
  250. package/dist/types/registries/x402.d.ts.map +1 -0
  251. package/dist/types/types/accounts.d.ts +565 -0
  252. package/dist/types/types/accounts.d.ts.map +1 -0
  253. package/dist/types/types/common.d.ts +166 -0
  254. package/dist/types/types/common.d.ts.map +1 -0
  255. package/dist/types/types/enums.d.ts +238 -0
  256. package/dist/types/types/enums.d.ts.map +1 -0
  257. package/dist/types/types/index.d.ts +28 -0
  258. package/dist/types/types/index.d.ts.map +1 -0
  259. package/dist/types/types/instructions.d.ts +366 -0
  260. package/dist/types/types/instructions.d.ts.map +1 -0
  261. package/dist/types/utils/hash.d.ts +48 -0
  262. package/dist/types/utils/hash.d.ts.map +1 -0
  263. package/dist/types/utils/index.d.ts +19 -0
  264. package/dist/types/utils/index.d.ts.map +1 -0
  265. package/dist/types/utils/serialization.d.ts +69 -0
  266. package/dist/types/utils/serialization.d.ts.map +1 -0
  267. package/dist/types/utils/validation.d.ts +29 -0
  268. package/dist/types/utils/validation.d.ts.map +1 -0
  269. package/package.json +178 -0
  270. package/src/constants/index.ts +44 -0
  271. package/src/constants/limits.ts +165 -0
  272. package/src/constants/programs.ts +83 -0
  273. package/src/constants/seeds.ts +66 -0
  274. package/src/core/client.ts +416 -0
  275. package/src/core/connection.ts +409 -0
  276. package/src/core/index.ts +20 -0
  277. package/src/errors/index.ts +346 -0
  278. package/src/events/index.ts +335 -0
  279. package/src/idl/index.ts +76 -0
  280. package/src/idl/synapse_agent_sap.json +9710 -0
  281. package/src/index.ts +253 -0
  282. package/src/modules/agent.ts +319 -0
  283. package/src/modules/attestation.ts +168 -0
  284. package/src/modules/base.ts +158 -0
  285. package/src/modules/escrow.ts +308 -0
  286. package/src/modules/feedback.ts +186 -0
  287. package/src/modules/index.ts +24 -0
  288. package/src/modules/indexing.ts +444 -0
  289. package/src/modules/ledger.ts +262 -0
  290. package/src/modules/tools.ts +411 -0
  291. package/src/modules/vault.ts +533 -0
  292. package/src/pda/index.ts +512 -0
  293. package/src/plugin/index.ts +1202 -0
  294. package/src/plugin/protocols.ts +404 -0
  295. package/src/plugin/schemas.ts +909 -0
  296. package/src/postgres/adapter.ts +904 -0
  297. package/src/postgres/index.ts +59 -0
  298. package/src/postgres/schema.sql +683 -0
  299. package/src/postgres/serializers.ts +485 -0
  300. package/src/postgres/sync.ts +254 -0
  301. package/src/postgres/types.ts +245 -0
  302. package/src/registries/builder.ts +607 -0
  303. package/src/registries/discovery.ts +572 -0
  304. package/src/registries/index.ts +77 -0
  305. package/src/registries/session.ts +613 -0
  306. package/src/registries/x402.ts +906 -0
  307. package/src/types/accounts.ts +618 -0
  308. package/src/types/common.ts +187 -0
  309. package/src/types/enums.ts +214 -0
  310. package/src/types/index.ts +92 -0
  311. package/src/types/instructions.ts +413 -0
  312. package/src/utils/hash.ts +57 -0
  313. package/src/utils/index.ts +19 -0
  314. package/src/utils/serialization.ts +98 -0
  315. package/src/utils/validation.ts +36 -0
@@ -0,0 +1,149 @@
1
+ /**
2
+ * @module constants/limits
3
+ * @description Protocol size limits, version constants, and enum numeric values.
4
+ *
5
+ * All values mirror the on-chain Rust constraints exactly.
6
+ * Used for client-side validation before sending transactions.
7
+ *
8
+ * @category Constants
9
+ * @since v0.1.0
10
+ */
11
+ /**
12
+ * Protocol size constraints mirroring the Rust `impl` blocks.
13
+ *
14
+ * Use these values for client-side validation before submitting
15
+ * transactions — exceeding any limit will cause an on-chain error.
16
+ *
17
+ * @name LIMITS
18
+ * @description A frozen object containing all protocol-enforced size and length bounds.
19
+ * @category Constants
20
+ * @since v0.1.0
21
+ * @example
22
+ * ```ts
23
+ * import { LIMITS } from "@synapse-sap/sdk/constants";
24
+ *
25
+ * if (name.length > LIMITS.MAX_NAME_LEN) {
26
+ * throw new Error("Agent name too long");
27
+ * }
28
+ * ```
29
+ */
30
+ export declare const LIMITS: {
31
+ /** Max agent name length in bytes. */
32
+ readonly MAX_NAME_LEN: 64;
33
+ /** Max agent description length in bytes. */
34
+ readonly MAX_DESC_LEN: 256;
35
+ /** Max URI length (agent_uri, x402_endpoint). */
36
+ readonly MAX_URI_LEN: 256;
37
+ /** Max agent DID-style identifier length. */
38
+ readonly MAX_AGENT_ID_LEN: 128;
39
+ /** Max capabilities per agent. */
40
+ readonly MAX_CAPABILITIES: 10;
41
+ /** Max pricing tiers per agent. */
42
+ readonly MAX_PRICING_TIERS: 5;
43
+ /** Max protocol strings per agent. */
44
+ readonly MAX_PROTOCOLS: 5;
45
+ /** Max active plugins per agent. */
46
+ readonly MAX_PLUGINS: 5;
47
+ /** Max volume curve breakpoints per tier. */
48
+ readonly MAX_VOLUME_CURVE_POINTS: 5;
49
+ /** Max feedback tag length. */
50
+ readonly MAX_TAG_LEN: 32;
51
+ /** Max agents in a capability/protocol index. */
52
+ readonly MAX_AGENTS_PER_INDEX: 100;
53
+ /** Max tool name length. */
54
+ readonly MAX_TOOL_NAME_LEN: 32;
55
+ /** Max tools in a category index. */
56
+ readonly MAX_TOOLS_PER_CATEGORY: 100;
57
+ /** Max attestation type length. */
58
+ readonly MAX_ATTESTATION_TYPE_LEN: 32;
59
+ /** Max inscription size (encrypted_data per fragment). */
60
+ readonly MAX_INSCRIPTION_SIZE: 750;
61
+ /** Inscriptions per epoch page. */
62
+ readonly INSCRIPTIONS_PER_EPOCH: 1000;
63
+ /** Max memory chunk size (legacy). */
64
+ readonly MAX_CHUNK_SIZE: 900;
65
+ /** Max write size per buffer append (legacy). */
66
+ readonly MAX_BUFFER_WRITE_SIZE: 750;
67
+ /** Max total buffer page size (legacy). */
68
+ readonly MAX_BUFFER_TOTAL_SIZE: 10000;
69
+ /** Ring buffer capacity for MemoryLedger. */
70
+ readonly RING_CAPACITY: 4096;
71
+ /** Max ledger write size per call. */
72
+ readonly MAX_LEDGER_WRITE_SIZE: 750;
73
+ /** Max settlements in a batch. */
74
+ readonly MAX_BATCH_SETTLEMENTS: 10;
75
+ /** Feedback score range: 0–1000. */
76
+ readonly MAX_FEEDBACK_SCORE: 1000;
77
+ };
78
+ /**
79
+ * Current on-chain protocol version for `AgentAccount`.
80
+ *
81
+ * @name AGENT_VERSION
82
+ * @description Integer version stamped into every agent account on registration.
83
+ * @category Constants
84
+ * @since v0.1.0
85
+ */
86
+ export declare const AGENT_VERSION = 1;
87
+ /**
88
+ * Current on-chain protocol version for `MemoryVault`.
89
+ *
90
+ * @name VAULT_PROTOCOL_VERSION
91
+ * @description Integer version stamped into every vault account on initialisation.
92
+ * @category Constants
93
+ * @since v0.1.0
94
+ */
95
+ export declare const VAULT_PROTOCOL_VERSION = 1;
96
+ /**
97
+ * Tool category to `u8` discriminant mapping.
98
+ *
99
+ * Mirrors the Rust `ToolCategory` enum ordinals. Use these values
100
+ * when constructing or filtering tool-related instructions.
101
+ *
102
+ * @name TOOL_CATEGORY_VALUES
103
+ * @description Frozen mapping of tool category names to their on-chain `u8` discriminants.
104
+ * @category Constants
105
+ * @since v0.1.0
106
+ * @example
107
+ * ```ts
108
+ * import { TOOL_CATEGORY_VALUES } from "@synapse-sap/sdk/constants";
109
+ *
110
+ * const categoryByte = TOOL_CATEGORY_VALUES.Swap; // 0
111
+ * ```
112
+ */
113
+ export declare const TOOL_CATEGORY_VALUES: {
114
+ readonly Swap: 0;
115
+ readonly Lend: 1;
116
+ readonly Stake: 2;
117
+ readonly Nft: 3;
118
+ readonly Payment: 4;
119
+ readonly Data: 5;
120
+ readonly Governance: 6;
121
+ readonly Bridge: 7;
122
+ readonly Analytics: 8;
123
+ readonly Custom: 9;
124
+ };
125
+ /**
126
+ * HTTP method to `u8` discriminant mapping.
127
+ *
128
+ * Mirrors the Rust `HttpMethod` enum ordinals. Used when publishing
129
+ * or filtering tool endpoints.
130
+ *
131
+ * @name HTTP_METHOD_VALUES
132
+ * @description Frozen mapping of HTTP method names to their on-chain `u8` discriminants.
133
+ * @category Constants
134
+ * @since v0.1.0
135
+ * @example
136
+ * ```ts
137
+ * import { HTTP_METHOD_VALUES } from "@synapse-sap/sdk/constants";
138
+ *
139
+ * const method = HTTP_METHOD_VALUES.Post; // 1
140
+ * ```
141
+ */
142
+ export declare const HTTP_METHOD_VALUES: {
143
+ readonly Get: 0;
144
+ readonly Post: 1;
145
+ readonly Put: 2;
146
+ readonly Delete: 3;
147
+ readonly Compound: 4;
148
+ };
149
+ //# sourceMappingURL=limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../../src/constants/limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,MAAM;IACjB,sCAAsC;;IAEtC,6CAA6C;;IAE7C,iDAAiD;;IAEjD,6CAA6C;;IAE7C,kCAAkC;;IAElC,mCAAmC;;IAEnC,sCAAsC;;IAEtC,oCAAoC;;IAEpC,6CAA6C;;IAE7C,+BAA+B;;IAE/B,iDAAiD;;IAEjD,4BAA4B;;IAE5B,qCAAqC;;IAErC,mCAAmC;;IAEnC,0DAA0D;;IAE1D,mCAAmC;;IAEnC,sCAAsC;;IAEtC,iDAAiD;;IAEjD,2CAA2C;;IAE3C,6CAA6C;;IAE7C,sCAAsC;;IAEtC,kCAAkC;;IAElC,oCAAoC;;CAE5B,CAAC;AAMX;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAMxC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;CAWvB,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @module constants/programs
3
+ * @description SAP v2 program IDs for each Solana cluster.
4
+ *
5
+ * The canonical program address is shared across mainnet, devnet,
6
+ * and localnet. If you deploy a custom instance, override the
7
+ * program ID in `SapClient.from(provider, customProgramId)`.
8
+ *
9
+ * @category Constants
10
+ * @since v0.1.0
11
+ */
12
+ import { PublicKey } from "@solana/web3.js";
13
+ /**
14
+ * SAP v2 program address string (base58).
15
+ *
16
+ * Vanity keypair derived from the `SAPTU7a…` prefix.
17
+ *
18
+ * @name SAP_PROGRAM_ADDRESS
19
+ * @description The canonical on-chain program address shared by all Solana clusters.
20
+ * @category Constants
21
+ * @since v0.1.0
22
+ * @see {@link SAP_PROGRAM_ID}
23
+ */
24
+ export declare const SAP_PROGRAM_ADDRESS = "SAPTU7aUXk2AaAdktexae1iuxXpokxzNDBAYYhaVyQL";
25
+ /**
26
+ * SAP v2 mainnet-beta program ID.
27
+ *
28
+ * @name MAINNET_SAP_PROGRAM_ID
29
+ * @description `PublicKey` instance of {@link SAP_PROGRAM_ADDRESS} for mainnet-beta.
30
+ * @category Constants
31
+ * @since v0.1.0
32
+ * @see {@link SAP_PROGRAM_ADDRESS}
33
+ */
34
+ export declare const MAINNET_SAP_PROGRAM_ID: PublicKey;
35
+ /**
36
+ * SAP v2 devnet program ID.
37
+ *
38
+ * @name DEVNET_SAP_PROGRAM_ID
39
+ * @description `PublicKey` instance of {@link SAP_PROGRAM_ADDRESS} for devnet.
40
+ * @category Constants
41
+ * @since v0.1.0
42
+ * @see {@link SAP_PROGRAM_ADDRESS}
43
+ */
44
+ export declare const DEVNET_SAP_PROGRAM_ID: PublicKey;
45
+ /**
46
+ * Localnet / solana-test-validator program ID.
47
+ *
48
+ * Override with your own keypair if deploying locally at a different address.
49
+ *
50
+ * @name LOCALNET_SAP_PROGRAM_ID
51
+ * @description `PublicKey` instance of {@link SAP_PROGRAM_ADDRESS} for localnet / `solana-test-validator`.
52
+ * @category Constants
53
+ * @since v0.1.0
54
+ * @see {@link SAP_PROGRAM_ADDRESS}
55
+ */
56
+ export declare const LOCALNET_SAP_PROGRAM_ID: PublicKey;
57
+ /**
58
+ * Default program ID used by `SapClient.from()` when no explicit ID is provided.
59
+ *
60
+ * Alias for {@link MAINNET_SAP_PROGRAM_ID}.
61
+ *
62
+ * @name SAP_PROGRAM_ID
63
+ * @description Convenience alias pointing to the mainnet-beta program ID.
64
+ * @category Constants
65
+ * @since v0.1.0
66
+ * @see {@link MAINNET_SAP_PROGRAM_ID}
67
+ */
68
+ export declare const SAP_PROGRAM_ID: PublicKey;
69
+ //# sourceMappingURL=programs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"programs.d.ts","sourceRoot":"","sources":["../../../src/constants/programs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,gDACe,CAAC;AAMhD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,WAAqC,CAAC;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,WAAqC,CAAC;AAExE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,WAAqC,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,WAAyB,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @module constants/seeds
3
+ * @description PDA seed prefix constants.
4
+ *
5
+ * Every seed string mirrors the Rust `#[account(seeds = [...])]` definitions.
6
+ *
7
+ * @category Constants
8
+ * @since v0.1.0
9
+ */
10
+ /**
11
+ * PDA seed prefix lookup table.
12
+ *
13
+ * Each key corresponds to an on-chain account type, and the value is the
14
+ * UTF-8 string used as the first seed segment in
15
+ * `PublicKey.findProgramAddressSync`.
16
+ *
17
+ * @name SEEDS
18
+ * @description Maps logical account names to their Rust-defined PDA seed prefix strings.
19
+ * @category Constants
20
+ * @since v0.1.0
21
+ * @example
22
+ * ```ts
23
+ * import { SEEDS } from "@synapse-sap/sdk/constants";
24
+ *
25
+ * Buffer.from(SEEDS.AGENT); // => "sap_agent"
26
+ * ```
27
+ * @see {@link SeedKey}
28
+ */
29
+ export declare const SEEDS: {
30
+ readonly AGENT: "sap_agent";
31
+ readonly FEEDBACK: "sap_feedback";
32
+ readonly CAPABILITY_INDEX: "sap_cap_idx";
33
+ readonly PROTOCOL_INDEX: "sap_proto_idx";
34
+ readonly GLOBAL: "sap_global";
35
+ readonly PLUGIN: "sap_plugin";
36
+ readonly MEMORY: "sap_memory";
37
+ readonly MEMORY_CHUNK: "sap_mem_chunk";
38
+ readonly VAULT: "sap_vault";
39
+ readonly SESSION: "sap_session";
40
+ readonly EPOCH: "sap_epoch";
41
+ readonly DELEGATE: "sap_delegate";
42
+ readonly TOOL: "sap_tool";
43
+ readonly CHECKPOINT: "sap_checkpoint";
44
+ readonly ESCROW: "sap_escrow";
45
+ readonly STATS: "sap_stats";
46
+ readonly TOOL_CATEGORY: "sap_tool_cat";
47
+ readonly ATTESTATION: "sap_attest";
48
+ readonly LEDGER: "sap_ledger";
49
+ readonly LEDGER_PAGE: "sap_page";
50
+ };
51
+ /**
52
+ * Union type of all valid keys in the {@link SEEDS} object.
53
+ *
54
+ * @name SeedKey
55
+ * @description String literal union derived from `keyof typeof SEEDS`.
56
+ * @category Constants
57
+ * @since v0.1.0
58
+ * @see {@link SEEDS}
59
+ */
60
+ export type SeedKey = keyof typeof SEEDS;
61
+ //# sourceMappingURL=seeds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../../../src/constants/seeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,KAAK,CAAC"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * @module core/client
3
+ * @description Core SapClient — thin wrapper around the Anchor program
4
+ * that wires up provider, IDL, and exposes typed module accessors.
5
+ *
6
+ * This is the primary entry point for the `@synapse-sap/sdk` package.
7
+ * All protocol domains (agent lifecycle, reputation, vault, escrow, etc.)
8
+ * are available as lazily-instantiated, strongly-typed module accessors.
9
+ *
10
+ * @since v0.1.0
11
+ * @category Core
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { SapClient } from "@synapse-sap/sdk";
16
+ *
17
+ * const client = SapClient.from(provider); // auto-IDL
18
+ * const client = SapClient.fromProgram(program); // existing program
19
+ *
20
+ * // Use domain modules:
21
+ * await client.agent.register({ ... });
22
+ * await client.vault.initVault(vaultNonce);
23
+ * const escrow = await client.escrow.fetch(escrowPda);
24
+ * ```
25
+ */
26
+ import { type AnchorProvider, Program } from "@coral-xyz/anchor";
27
+ import type { PublicKey } from "@solana/web3.js";
28
+ import { AgentModule } from "../modules/agent";
29
+ import { FeedbackModule } from "../modules/feedback";
30
+ import { IndexingModule } from "../modules/indexing";
31
+ import { ToolsModule } from "../modules/tools";
32
+ import { VaultModule } from "../modules/vault";
33
+ import { EscrowModule } from "../modules/escrow";
34
+ import { AttestationModule } from "../modules/attestation";
35
+ import { LedgerModule } from "../modules/ledger";
36
+ import { EventParser } from "../events";
37
+ import { DiscoveryRegistry } from "../registries/discovery";
38
+ import { X402Registry } from "../registries/x402";
39
+ import { SessionManager } from "../registries/session";
40
+ import { AgentBuilder } from "../registries/builder";
41
+ /** Re-usable Anchor program type (untyped — SDK provides its own types). */
42
+ type SapProgram = Program<any>;
43
+ /**
44
+ * @name SapClient
45
+ * @description Root entry point for the Solana Agent Protocol v2 TypeScript SDK.
46
+ *
47
+ * Each protocol domain is exposed as a lazily-instantiated module:
48
+ * `agent`, `feedback`, `indexing`, `tools`, `vault`, `escrow`,
49
+ * `attestation`, `ledger`, `events`.
50
+ *
51
+ * Higher-level abstractions (`discovery`, `x402`, `session`, `builder`)
52
+ * compose the low-level modules into ergonomic workflows.
53
+ *
54
+ * Instantiate via the static factory methods {@link SapClient.from} or
55
+ * {@link SapClient.fromProgram} — the constructor is private.
56
+ *
57
+ * @category Core
58
+ * @since v0.1.0
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * import { SapClient } from "@synapse-sap/sdk";
63
+ * import { AnchorProvider } from "@coral-xyz/anchor";
64
+ *
65
+ * const provider = AnchorProvider.env();
66
+ * const client = SapClient.from(provider);
67
+ *
68
+ * // Register an agent
69
+ * await client.agent.register({
70
+ * name: "SwapBot",
71
+ * description: "AI-powered swap agent",
72
+ * });
73
+ *
74
+ * // Discover agents
75
+ * const agents = await client.discovery.findAgentsByProtocol("jupiter");
76
+ * ```
77
+ */
78
+ export declare class SapClient {
79
+ #private;
80
+ /**
81
+ * @name program
82
+ * @description The underlying Anchor `Program` instance used for all RPC
83
+ * calls and account deserialization.
84
+ * @readonly
85
+ * @category Core
86
+ * @since v0.1.0
87
+ */
88
+ readonly program: SapProgram;
89
+ /**
90
+ * @name walletPubkey
91
+ * @description The provider wallet's public key, extracted from the
92
+ * Anchor provider for convenience. This is the default authority /
93
+ * payer used by module instructions unless overridden.
94
+ * @readonly
95
+ * @category Core
96
+ * @since v0.1.0
97
+ */
98
+ readonly walletPubkey: PublicKey;
99
+ private constructor();
100
+ /**
101
+ * @name from
102
+ * @description Create a {@link SapClient} from an `AnchorProvider`.
103
+ * Automatically loads the embedded IDL shipped with the SDK.
104
+ *
105
+ * @param provider - A configured `AnchorProvider` with wallet and connection.
106
+ * @param programId - Optional override for the SAP program ID.
107
+ * Defaults to `SAP_PROGRAM_ID` from `@synapse-sap/sdk/constants`.
108
+ * @returns A fully-initialised `SapClient` ready for use.
109
+ *
110
+ * @category Core
111
+ * @since v0.1.0
112
+ * @see {@link SapClient.fromProgram} for an alternative accepting a pre-built `Program`.
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * import { SapClient } from "@synapse-sap/sdk";
117
+ * import { AnchorProvider } from "@coral-xyz/anchor";
118
+ *
119
+ * const provider = AnchorProvider.env();
120
+ * const client = SapClient.from(provider);
121
+ * ```
122
+ *
123
+ * @example Custom program ID (e.g. localnet)
124
+ * ```ts
125
+ * const client = SapClient.from(provider, myLocalProgramId);
126
+ * ```
127
+ */
128
+ static from(provider: AnchorProvider, programId?: PublicKey): SapClient;
129
+ /**
130
+ * @name fromProgram
131
+ * @description Create a {@link SapClient} from an existing Anchor `Program`
132
+ * instance. Useful when the caller already has a configured program or
133
+ * needs full control over IDL resolution.
134
+ *
135
+ * @param program - A pre-built Anchor `Program` targeting the SAP program.
136
+ * @returns A fully-initialised `SapClient` wrapping the supplied program.
137
+ *
138
+ * @category Core
139
+ * @since v0.1.0
140
+ * @see {@link SapClient.from} for the convenience factory that auto-loads the IDL.
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * import { Program } from "@coral-xyz/anchor";
145
+ * import { SapClient } from "@synapse-sap/sdk";
146
+ *
147
+ * const program = new Program(idl, provider);
148
+ * const client = SapClient.fromProgram(program);
149
+ * ```
150
+ */
151
+ static fromProgram(program: SapProgram): SapClient;
152
+ /**
153
+ * @name agent
154
+ * @description Agent lifecycle: register, update, deactivate, close, and
155
+ * query agent metrics on-chain.
156
+ * @returns {AgentModule} The lazily-instantiated `AgentModule` singleton.
157
+ * @category Modules
158
+ * @since v0.1.0
159
+ * @see {@link AgentModule}
160
+ */
161
+ get agent(): AgentModule;
162
+ /**
163
+ * @name feedback
164
+ * @description Trustless reputation: give, update, revoke, and close
165
+ * on-chain feedback entries for agents.
166
+ * @returns {FeedbackModule} The lazily-instantiated `FeedbackModule` singleton.
167
+ * @category Modules
168
+ * @since v0.1.0
169
+ * @see {@link FeedbackModule}
170
+ */
171
+ get feedback(): FeedbackModule;
172
+ /**
173
+ * @name indexing
174
+ * @description Scalable discovery: capability, protocol, and tool-category
175
+ * on-chain indexes for agent search.
176
+ * @returns {IndexingModule} The lazily-instantiated `IndexingModule` singleton.
177
+ * @category Modules
178
+ * @since v0.1.0
179
+ * @see {@link IndexingModule}
180
+ */
181
+ get indexing(): IndexingModule;
182
+ /**
183
+ * @name tools
184
+ * @description Tool schema registry: publish, inscribe, update, and close
185
+ * on-chain tool definitions.
186
+ * @returns {ToolsModule} The lazily-instantiated `ToolsModule` singleton.
187
+ * @category Modules
188
+ * @since v0.1.0
189
+ * @see {@link ToolsModule}
190
+ */
191
+ get tools(): ToolsModule;
192
+ /**
193
+ * @name vault
194
+ * @description Encrypted memory vault: initialise vaults, manage sessions,
195
+ * inscribe data, and delegate access.
196
+ * @returns {VaultModule} The lazily-instantiated `VaultModule` singleton.
197
+ * @category Modules
198
+ * @since v0.1.0
199
+ * @see {@link VaultModule}
200
+ */
201
+ get vault(): VaultModule;
202
+ /**
203
+ * @name escrow
204
+ * @description x402 escrow settlement: create escrow accounts, deposit
205
+ * funds, settle payments, and withdraw balances.
206
+ * @returns {EscrowModule} The lazily-instantiated `EscrowModule` singleton.
207
+ * @category Modules
208
+ * @since v0.1.0
209
+ * @see {@link EscrowModule}
210
+ */
211
+ get escrow(): EscrowModule;
212
+ /**
213
+ * @name attestation
214
+ * @description Web of trust: create, revoke, and close on-chain
215
+ * attestations between agents.
216
+ * @returns {AttestationModule} The lazily-instantiated `AttestationModule` singleton.
217
+ * @category Modules
218
+ * @since v0.1.0
219
+ * @see {@link AttestationModule}
220
+ */
221
+ get attestation(): AttestationModule;
222
+ /**
223
+ * @name ledger
224
+ * @description Unified on-chain memory: initialise ledger accounts, write
225
+ * entries, seal pages, and close ledgers.
226
+ * @returns {LedgerModule} The lazily-instantiated `LedgerModule` singleton.
227
+ * @category Modules
228
+ * @since v0.1.0
229
+ * @see {@link LedgerModule}
230
+ */
231
+ get ledger(): LedgerModule;
232
+ /**
233
+ * @name events
234
+ * @description Decode SAP protocol events from on-chain transaction logs.
235
+ * @returns {EventParser} The lazily-instantiated `EventParser` singleton.
236
+ * @category Modules
237
+ * @since v0.1.0
238
+ * @see {@link EventParser}
239
+ */
240
+ get events(): EventParser;
241
+ /**
242
+ * @name discovery
243
+ * @description Agent & tool discovery across the SAP network.
244
+ * Provides high-level queries for locating agents by capability,
245
+ * protocol, or wallet address.
246
+ *
247
+ * @returns {DiscoveryRegistry} The lazily-instantiated `DiscoveryRegistry` singleton.
248
+ * @category Registries
249
+ * @since v0.1.0
250
+ * @see {@link DiscoveryRegistry}
251
+ *
252
+ * @example
253
+ * ```ts
254
+ * const agents = await client.discovery.findAgentsByProtocol("jupiter");
255
+ * const profile = await client.discovery.getAgentProfile(wallet);
256
+ * ```
257
+ */
258
+ get discovery(): DiscoveryRegistry;
259
+ /**
260
+ * @name x402
261
+ * @description x402 micropayment lifecycle — pricing, escrow, headers,
262
+ * and settlement. Orchestrates the full pay-per-call flow between
263
+ * consumer and agent.
264
+ *
265
+ * @returns {X402Registry} The lazily-instantiated `X402Registry` singleton.
266
+ * @category Registries
267
+ * @since v0.1.0
268
+ * @see {@link X402Registry}
269
+ *
270
+ * @example
271
+ * ```ts
272
+ * const ctx = await client.x402.preparePayment(agentWallet, { ... });
273
+ * const headers = client.x402.buildPaymentHeaders(ctx);
274
+ * const receipt = await client.x402.settle(depositor, 5, serviceData);
275
+ * ```
276
+ */
277
+ get x402(): X402Registry;
278
+ /**
279
+ * @name session
280
+ * @description Unified memory session lifecycle — vault, session, and
281
+ * ledger management. Provides a single interface for starting
282
+ * conversations, writing messages, and reading back history.
283
+ *
284
+ * @returns {SessionManager} The lazily-instantiated `SessionManager` singleton.
285
+ * @category Registries
286
+ * @since v0.1.0
287
+ * @see {@link SessionManager}
288
+ *
289
+ * @example
290
+ * ```ts
291
+ * const ctx = await client.session.start("conversation-123");
292
+ * await client.session.write(ctx, "Hello from agent");
293
+ * const msgs = await client.session.readLatest(ctx);
294
+ * ```
295
+ */
296
+ get session(): SessionManager;
297
+ /**
298
+ * @name builder
299
+ * @description Fluent agent registration builder.
300
+ * Returns a **new** `AgentBuilder` on every access — use for one-shot
301
+ * registration flows. Chain configuration calls and finalise with
302
+ * `.register()`.
303
+ *
304
+ * @returns {AgentBuilder} A fresh `AgentBuilder` instance.
305
+ * @category Registries
306
+ * @since v0.1.0
307
+ * @see {@link AgentBuilder}
308
+ *
309
+ * @example
310
+ * ```ts
311
+ * await client.builder
312
+ * .agent("SwapBot")
313
+ * .description("AI-powered swap agent")
314
+ * .x402Endpoint("https://api.example.com/x402")
315
+ * .addCapability("jupiter:swap", { protocol: "jupiter" })
316
+ * .addPricingTier({ tierId: "standard", pricePerCall: 1000, rateLimit: 60 })
317
+ * .register();
318
+ * ```
319
+ */
320
+ get builder(): AgentBuilder;
321
+ }
322
+ export {};
323
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,4EAA4E;AAE5E,KAAK,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,SAAS;;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IAkBjC,OAAO;IASP;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,IAAI,CACT,QAAQ,EAAE,cAAc,EACxB,SAAS,GAAE,SAA0B,GACpC,SAAS;IAWZ;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS;IAQlD;;;;;;;;OAQG;IACH,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED;;;;;;;;OAQG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;;;;;OAQG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;;;;;OAQG;IACH,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED;;;;;;;;OAQG;IACH,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED;;;;;;;;OAQG;IACH,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED;;;;;;;;OAQG;IACH,IAAI,WAAW,IAAI,iBAAiB,CAEnC;IAED;;;;;;;;OAQG;IACH,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED;;;;;;;OAOG;IACH,IAAI,MAAM,IAAI,WAAW,CAExB;IAMD;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,SAAS,IAAI,iBAAiB,CAEjC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,OAAO,IAAI,YAAY,CAE1B;CACF"}