@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,248 @@
1
+ /**
2
+ * @module events
3
+ * @description Decode SAP v2 events from transaction logs.
4
+ *
5
+ * Uses Anchor's event parser under the hood. Provides a
6
+ * strongly-typed, filterable event stream.
7
+ *
8
+ * @category Events
9
+ * @since v0.1.0
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { EventParser } from "@synapse-sap/sdk/events";
14
+ *
15
+ * const events = client.events.parseLogs(txLogs);
16
+ * for (const event of events) {
17
+ * if (event.name === "PaymentSettledEvent") {
18
+ * console.log(event.data);
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ import { type Program, BN } from "@coral-xyz/anchor";
24
+ import type { PublicKey } from "@solana/web3.js";
25
+ /**
26
+ * Decoded payload for the `RegisteredEvent` emitted when a new agent is registered.
27
+ *
28
+ * @interface RegisteredEventData
29
+ * @name RegisteredEventData
30
+ * @description Contains the agent PDA, owner wallet, display name, capabilities list, and timestamp.
31
+ * @category Events
32
+ * @since v0.1.0
33
+ * @see {@link SapEvent}
34
+ */
35
+ export interface RegisteredEventData {
36
+ readonly name: "RegisteredEvent";
37
+ readonly data: {
38
+ agent: PublicKey;
39
+ wallet: PublicKey;
40
+ name: string;
41
+ capabilities: string[];
42
+ timestamp: BN;
43
+ };
44
+ }
45
+ /**
46
+ * Decoded payload for the `UpdatedEvent` emitted when an agent’s profile is modified.
47
+ *
48
+ * @interface UpdatedEventData
49
+ * @name UpdatedEventData
50
+ * @description Contains the agent PDA, owner wallet, a list of changed field names, and timestamp.
51
+ * @category Events
52
+ * @since v0.1.0
53
+ * @see {@link SapEvent}
54
+ */
55
+ export interface UpdatedEventData {
56
+ readonly name: "UpdatedEvent";
57
+ readonly data: {
58
+ agent: PublicKey;
59
+ wallet: PublicKey;
60
+ updatedFields: string[];
61
+ timestamp: BN;
62
+ };
63
+ }
64
+ /**
65
+ * Decoded payload for the `FeedbackEvent` emitted when a reviewer submits feedback.
66
+ *
67
+ * @interface FeedbackEventData
68
+ * @name FeedbackEventData
69
+ * @description Contains the agent PDA, reviewer wallet, numeric score, tag, and timestamp.
70
+ * @category Events
71
+ * @since v0.1.0
72
+ * @see {@link SapEvent}
73
+ */
74
+ export interface FeedbackEventData {
75
+ readonly name: "FeedbackEvent";
76
+ readonly data: {
77
+ agent: PublicKey;
78
+ reviewer: PublicKey;
79
+ score: number;
80
+ tag: string;
81
+ timestamp: BN;
82
+ };
83
+ }
84
+ /**
85
+ * Decoded payload for the `MemoryInscribedEvent` emitted when data is written to a vault.
86
+ *
87
+ * @interface MemoryInscribedEventData
88
+ * @name MemoryInscribedEventData
89
+ * @description Contains vault/session PDAs, sequence info, encrypted data, nonce, content hash,
90
+ * fragment metadata, compression flag, and timestamp.
91
+ * @category Events
92
+ * @since v0.1.0
93
+ * @see {@link SapEvent}
94
+ */
95
+ export interface MemoryInscribedEventData {
96
+ readonly name: "MemoryInscribedEvent";
97
+ readonly data: {
98
+ vault: PublicKey;
99
+ session: PublicKey;
100
+ sequence: number;
101
+ epochIndex: number;
102
+ encryptedData: number[];
103
+ nonce: number[];
104
+ contentHash: number[];
105
+ totalFragments: number;
106
+ fragmentIndex: number;
107
+ compression: number;
108
+ dataLen: number;
109
+ nonceVersion: number;
110
+ timestamp: BN;
111
+ };
112
+ }
113
+ /**
114
+ * Decoded payload for the `PaymentSettledEvent` emitted when an escrow settlement occurs.
115
+ *
116
+ * @interface PaymentSettledEventData
117
+ * @name PaymentSettledEventData
118
+ * @description Contains escrow/agent/depositor PDAs, settlement counts, amounts, service hash,
119
+ * and remaining balance.
120
+ * @category Events
121
+ * @since v0.1.0
122
+ * @see {@link SapEvent}
123
+ */
124
+ export interface PaymentSettledEventData {
125
+ readonly name: "PaymentSettledEvent";
126
+ readonly data: {
127
+ escrow: PublicKey;
128
+ agent: PublicKey;
129
+ depositor: PublicKey;
130
+ callsSettled: BN;
131
+ amount: BN;
132
+ serviceHash: number[];
133
+ totalCallsSettled: BN;
134
+ remainingBalance: BN;
135
+ timestamp: BN;
136
+ };
137
+ }
138
+ /**
139
+ * Decoded payload for the `LedgerEntryEvent` emitted when data is appended to a ledger.
140
+ *
141
+ * @interface LedgerEntryEventData
142
+ * @name LedgerEntryEventData
143
+ * @description Contains session/ledger PDAs, entry index, raw data, content hash,
144
+ * Merkle root, and timestamp.
145
+ * @category Events
146
+ * @since v0.1.0
147
+ * @see {@link SapEvent}
148
+ */
149
+ export interface LedgerEntryEventData {
150
+ readonly name: "LedgerEntryEvent";
151
+ readonly data: {
152
+ session: PublicKey;
153
+ ledger: PublicKey;
154
+ entryIndex: number;
155
+ data: number[];
156
+ contentHash: number[];
157
+ dataLen: number;
158
+ merkleRoot: number[];
159
+ timestamp: BN;
160
+ };
161
+ }
162
+ /**
163
+ * Discriminated union of all known SAP v2 event types.
164
+ *
165
+ * @name SapEvent
166
+ * @description Use the `name` discriminant to narrow to a specific event payload.
167
+ * @category Events
168
+ * @since v0.1.0
169
+ */
170
+ export type SapEvent = RegisteredEventData | UpdatedEventData | FeedbackEventData | MemoryInscribedEventData | PaymentSettledEventData | LedgerEntryEventData;
171
+ /**
172
+ * Exhaustive list of all SAP v2 event name strings.
173
+ *
174
+ * @name SAP_EVENT_NAMES
175
+ * @description Frozen array of every event discriminant emitted by the program.
176
+ * Useful for log filtering and exhaustive switch checks.
177
+ * @category Events
178
+ * @since v0.1.0
179
+ * @see {@link SapEventName}
180
+ */
181
+ export declare const SAP_EVENT_NAMES: readonly ["RegisteredEvent", "UpdatedEvent", "DeactivatedEvent", "ReactivatedEvent", "ClosedEvent", "FeedbackEvent", "FeedbackUpdatedEvent", "FeedbackRevokedEvent", "ReputationUpdatedEvent", "CallsReportedEvent", "VaultInitializedEvent", "SessionOpenedEvent", "MemoryInscribedEvent", "EpochOpenedEvent", "SessionClosedEvent", "VaultClosedEvent", "SessionPdaClosedEvent", "EpochPageClosedEvent", "VaultNonceRotatedEvent", "DelegateAddedEvent", "DelegateRevokedEvent", "ToolPublishedEvent", "ToolSchemaInscribedEvent", "ToolUpdatedEvent", "ToolDeactivatedEvent", "ToolReactivatedEvent", "ToolClosedEvent", "ToolInvocationReportedEvent", "CheckpointCreatedEvent", "EscrowCreatedEvent", "EscrowDepositedEvent", "PaymentSettledEvent", "EscrowWithdrawnEvent", "BatchSettledEvent", "AttestationCreatedEvent", "AttestationRevokedEvent", "LedgerEntryEvent", "LedgerSealedEvent"];
182
+ /**
183
+ * String literal union of all SAP v2 event names.
184
+ *
185
+ * @name SapEventName
186
+ * @description Derived from {@link SAP_EVENT_NAMES} for compile-time exhaustiveness.
187
+ * @category Events
188
+ * @since v0.1.0
189
+ */
190
+ export type SapEventName = (typeof SAP_EVENT_NAMES)[number];
191
+ /**
192
+ * A single parsed event extracted from transaction logs.
193
+ *
194
+ * @interface ParsedEvent
195
+ * @name ParsedEvent
196
+ * @description Lightweight container with a `name` discriminant and untyped `data` record.
197
+ * Narrow via {@link SapEventName} for type-safe access.
198
+ * @category Events
199
+ * @since v0.1.0
200
+ */
201
+ export interface ParsedEvent {
202
+ readonly name: string;
203
+ readonly data: Record<string, any>;
204
+ }
205
+ /**
206
+ * Typed wrapper around Anchor’s `EventParser` for SAP v2 programs.
207
+ *
208
+ * Extracts strongly-typed {@link ParsedEvent} objects from raw
209
+ * transaction log lines.
210
+ *
211
+ * @name EventParser
212
+ * @description Instantiate with an Anchor `Program` and call {@link EventParser.parseLogs}
213
+ * to decode events, or {@link EventParser.filterByName} to narrow results.
214
+ * @category Events
215
+ * @since v0.1.0
216
+ *
217
+ * @example
218
+ * ```ts
219
+ * const parser = new EventParser(program);
220
+ * const events = parser.parseLogs(txLogs);
221
+ * const settled = parser.filterByName(events, "PaymentSettledEvent");
222
+ * ```
223
+ */
224
+ export declare class EventParser {
225
+ private readonly parser;
226
+ /**
227
+ * Create a new `EventParser`.
228
+ *
229
+ * @param program - An Anchor `Program` instance whose IDL defines the events to decode.
230
+ */
231
+ constructor(program: Program<any>);
232
+ /**
233
+ * Parse raw transaction log lines into typed events.
234
+ *
235
+ * @param logs - Array of log strings from a confirmed transaction.
236
+ * @returns {ParsedEvent[]} Decoded events found in the logs.
237
+ */
238
+ parseLogs(logs: string[]): ParsedEvent[];
239
+ /**
240
+ * Filter a list of parsed events by event name.
241
+ *
242
+ * @param events - The full array of {@link ParsedEvent} objects to filter.
243
+ * @param name - The {@link SapEventName} to match against.
244
+ * @returns {ParsedEvent[]} Only events whose `name` matches.
245
+ */
246
+ filterByName<N extends SapEventName>(events: ParsedEvent[], name: N): ParsedEvent[];
247
+ }
248
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/events/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @module idl
3
+ * @description Embedded IDL for the SAP v2 program.
4
+ *
5
+ * The JSON artifact is bundled with the SDK so it works as a
6
+ * standalone package without needing the program workspace.
7
+ *
8
+ * ### Updating the IDL
9
+ *
10
+ * After rebuilding the Anchor program, run:
11
+ * ```sh
12
+ * yarn sync-idl # copies from ../target/idl/
13
+ * ```
14
+ * or manually copy the file into `src/idl/synapse_agent_sap.json`.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { SAP_IDL, type SynapseAgentSapIDL } from "@synapse-sap/sdk/idl";
19
+ * ```
20
+ *
21
+ * @category IDL
22
+ * @since v0.1.0
23
+ */
24
+ /**
25
+ * TypeScript type representing the Anchor IDL for the `synapse_agent_sap` program.
26
+ *
27
+ * @name SynapseAgentSapIDL
28
+ * @description Anchor IDL type derived from the bundled JSON artifact.
29
+ * Automatically stays in sync with the program — no manual maintenance needed.
30
+ * @category IDL
31
+ * @since v0.1.0
32
+ */
33
+ export type SynapseAgentSapIDL = any;
34
+ /**
35
+ * The complete Anchor IDL object for the `synapse_agent_sap` program.
36
+ *
37
+ * @name SAP_IDL
38
+ * @description Pre-loaded IDL JSON artifact bundled with the SDK.
39
+ * Can be passed directly to `new anchor.Program()` or used for
40
+ * instruction introspection.
41
+ * @category IDL
42
+ * @since v0.1.0
43
+ */
44
+ export declare const SAP_IDL: any;
45
+ /**
46
+ * Program address embedded in the IDL metadata.
47
+ *
48
+ * @name IDL_PROGRAM_ADDRESS
49
+ * @description The deployed program address as declared in the Anchor IDL.
50
+ * @category IDL
51
+ * @since v0.1.0
52
+ */
53
+ export declare const IDL_PROGRAM_ADDRESS: string;
54
+ /**
55
+ * IDL metadata block (name, version, spec, description).
56
+ *
57
+ * @name IDL_METADATA
58
+ * @description Anchor IDL metadata containing program name, version string,
59
+ * spec version, and human-readable description.
60
+ * @category IDL
61
+ * @since v0.1.0
62
+ */
63
+ export declare const IDL_METADATA: {
64
+ name: string;
65
+ version: string;
66
+ spec: string;
67
+ description: string;
68
+ };
69
+ export default SAP_IDL;
70
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/idl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH;;;;;;;;GAQG;AAEH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAErC;;;;;;;;;GASG;AAEH,eAAO,MAAM,OAAO,EAAc,GAAG,CAAC;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAwB,CAAC;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;;;;;CAAmB,CAAC;AAE7C,eAAe,OAAO,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @synapse-sap/sdk — TypeScript SDK for SAP v2 (Solana Agent Protocol)
3
+ *
4
+ * Modular architecture:
5
+ *
6
+ * | Path | Description |
7
+ * |-------------------|-----------------------------------------------|
8
+ * | `core/` | SapClient, SapConnection (RPC factory) |
9
+ * | `types/` | On-chain enums, account data, instruction DTOs|
10
+ * | `constants/` | Program IDs, PDA seeds, size limits |
11
+ * | `pda/` | Deterministic PDA derivation helpers |
12
+ * | `events/` | Transaction-log event parser |
13
+ * | `errors/` | Typed SDK error classes |
14
+ * | `utils/` | Hashing, validation, serialization |
15
+ * | `modules/` | Low-level per-domain instruction wrappers |
16
+ * | `registries/` | High-level abstractions (discovery, x402, …) |
17
+ * | `plugin/` | SynapseAgentKit adapter (52 tools) |
18
+ * | `idl/` | Embedded Anchor IDL |
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { SapClient, SapConnection } from "@synapse-sap/sdk";
23
+ *
24
+ * // Quick start — from Anchor provider
25
+ * const client = SapClient.from(provider);
26
+ *
27
+ * // Or from RPC URL (synapse-client-sdk compatible)
28
+ * const conn = SapConnection.devnet();
29
+ * const client2 = conn.fromKeypair(keypair);
30
+ *
31
+ * // Use domain modules:
32
+ * await client.agent.register({ ... });
33
+ * await client.escrow.create(agentWallet, { ... });
34
+ * await client.ledger.write(sessionPda, data, contentHash);
35
+ *
36
+ * // Use registries (high-level):
37
+ * const agents = await client.discovery.findAgentsByProtocol("jupiter");
38
+ * const ctx = await client.session.start("conv-123");
39
+ * ```
40
+ *
41
+ * @packageDocumentation
42
+ * @category SDK
43
+ * @since v0.1.0
44
+ */
45
+ export { SapClient, SapConnection } from "./core";
46
+ export type { SapCluster, SapConnectionConfig } from "./core";
47
+ export type { TokenTypeKind, PluginTypeKind, SettlementModeKind, ToolHttpMethodKind, ToolCategoryKind, DelegatePermissionBit, SchemaTypeValue, CompressionTypeValue, Capability, VolumeCurveBreakpoint, PricingTier, PluginRef, Settlement, AgentAccountData, FeedbackAccountData, CapabilityIndexData, ProtocolIndexData, GlobalRegistryData, MemoryVaultData, SessionLedgerData, EpochPageData, VaultDelegateData, ToolDescriptorData, SessionCheckpointData, EscrowAccountData, AgentStatsData, ToolCategoryIndexData, AgentAttestationData, MemoryLedgerData, LedgerPageData, RegisterAgentArgs, UpdateAgentArgs, GiveFeedbackArgs, UpdateFeedbackArgs, PublishToolArgs, UpdateToolArgs, InscribeMemoryArgs, CompactInscribeArgs, CreateEscrowArgs, CreateAttestationArgs, InscribeToolSchemaArgs, } from "./types";
48
+ export { TokenType, PluginType, SettlementMode, ToolHttpMethod, ToolCategory, DelegatePermission, SchemaType, CompressionType, } from "./types";
49
+ export { SAP_PROGRAM_ADDRESS, SAP_PROGRAM_ID, MAINNET_SAP_PROGRAM_ID, DEVNET_SAP_PROGRAM_ID, LOCALNET_SAP_PROGRAM_ID, SEEDS, LIMITS, AGENT_VERSION, VAULT_PROTOCOL_VERSION, TOOL_CATEGORY_VALUES, HTTP_METHOD_VALUES, } from "./constants";
50
+ export { SAP_IDL, IDL_PROGRAM_ADDRESS, IDL_METADATA } from "./idl/index";
51
+ export type { SynapseAgentSapIDL } from "./idl/index";
52
+ export { deriveGlobalRegistry, deriveAgent, deriveAgentStats, deriveFeedback, deriveCapabilityIndex, deriveProtocolIndex, deriveToolCategoryIndex, deriveVault, deriveSession, deriveEpochPage, deriveVaultDelegate, deriveCheckpoint, deriveTool, deriveEscrow, deriveAttestation, deriveLedger, deriveLedgerPage, } from "./pda";
53
+ export { sha256, hashToArray, assert } from "./utils";
54
+ export { serializeAccount, serializeValue } from "./utils";
55
+ export { SapError, SapValidationError, SapRpcError, SapAccountNotFoundError, SapTimeoutError, SapPermissionError, } from "./errors";
56
+ export { EventParser, SAP_EVENT_NAMES } from "./events";
57
+ export type { SapEvent, SapEventName, ParsedEvent, RegisteredEventData, UpdatedEventData, FeedbackEventData, MemoryInscribedEventData, PaymentSettledEventData, LedgerEntryEventData, } from "./events";
58
+ export { AgentModule, FeedbackModule, IndexingModule, ToolsModule, VaultModule, EscrowModule, AttestationModule, LedgerModule, BaseModule, } from "./modules/index";
59
+ export type { SapProgram, SapTransactionResult } from "./modules/base";
60
+ export { createSAPPlugin, SAPPlugin } from "./plugin/index";
61
+ export type { SAPPluginConfig, SynapsePlugin, PluginMeta, PluginContext, PluginInstallResult, } from "./plugin/index";
62
+ export type { ProtocolMethod, PluginProtocol, } from "./plugin/protocols";
63
+ export { SAP_PROTOCOLS } from "./plugin/protocols";
64
+ export { SapPostgres, SapSyncEngine, SAP_TABLE_MAP } from "./postgres";
65
+ export type { PgClient, SyncAllResult, SapAccountType, SyncMeta, AgentRow, EscrowRow, ToolRow, LedgerRow, EventRow, SyncCursorRow, SyncOptions, } from "./postgres";
66
+ export { DiscoveryRegistry, X402Registry, SessionManager, AgentBuilder, } from "./registries/index";
67
+ export type { DiscoveredAgent, AgentProfile, DiscoveredTool, NetworkOverview, ToolCategoryName, CostEstimate, PaymentContext, PreparePaymentOptions, X402Headers, EscrowBalance, SettlementResult, BatchSettlementResult, SessionContext, WriteResult, SealResult, RingBufferEntry, SessionStatus, CapabilityInput, PricingTierInput, ToolInput, RegisterResult, RegisterWithToolsResult, } from "./registries/index";
68
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * @module agent
3
+ * @description Agent lifecycle operations for the Solana Agent Protocol.
4
+ *
5
+ * Covers: register, update, deactivate, reactivate, close,
6
+ * report calls, update reputation metrics, and account fetching.
7
+ *
8
+ * @category Modules
9
+ * @since v0.1.0
10
+ * @packageDocumentation
11
+ */
12
+ import { type PublicKey, type TransactionSignature } from "@solana/web3.js";
13
+ import { BaseModule } from "./base";
14
+ import type { AgentAccountData, AgentStatsData, RegisterAgentArgs, UpdateAgentArgs } from "../types";
15
+ /**
16
+ * @name AgentModule
17
+ * @description Manages the full agent lifecycle on the Solana Agent Protocol.
18
+ * Provides methods to register, update, deactivate, reactivate, and close
19
+ * agent identities, as well as self-report call metrics and reputation data.
20
+ *
21
+ * @category Modules
22
+ * @since v0.1.0
23
+ * @extends BaseModule
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const sap = new SapClient(provider);
28
+ * // Register a new agent
29
+ * const sig = await sap.agent.register({
30
+ * name: "my-agent",
31
+ * description: "An example agent",
32
+ * capabilities: [0, 1],
33
+ * pricing: { free: {} },
34
+ * protocols: [0],
35
+ * });
36
+ * // Fetch agent data
37
+ * const data = await sap.agent.fetch();
38
+ * ```
39
+ */
40
+ export declare class AgentModule extends BaseModule {
41
+ /**
42
+ * @name deriveAgent
43
+ * @description Derive the `AgentAccount` PDA for a wallet.
44
+ * @param wallet - The wallet public key. Defaults to the connected wallet.
45
+ * @returns A tuple of `[PublicKey, bump]` for the agent PDA.
46
+ * @see {@link deriveAgent} from `pda/` module for the underlying derivation.
47
+ * @since v0.1.0
48
+ */
49
+ deriveAgent(wallet?: PublicKey): readonly [PublicKey, number];
50
+ /**
51
+ * @name deriveStats
52
+ * @description Derive the `AgentStats` PDA for a given agent.
53
+ * @param agentPda - The agent account PDA.
54
+ * @returns A tuple of `[PublicKey, bump]` for the stats PDA.
55
+ * @see {@link deriveAgentStats} from `pda/` module for the underlying derivation.
56
+ * @since v0.1.0
57
+ */
58
+ deriveStats(agentPda: PublicKey): readonly [PublicKey, number];
59
+ /**
60
+ * @name register
61
+ * @description Register a new agent identity on-chain. Creates the
62
+ * `AgentAccount`, `AgentStats`, and updates the `GlobalRegistry`.
63
+ * @param args - Registration parameters (name, description, capabilities, pricing, protocols, etc.).
64
+ * @returns {Promise<TransactionSignature>} The transaction signature.
65
+ * @since v0.1.0
66
+ */
67
+ register(args: RegisterAgentArgs): Promise<TransactionSignature>;
68
+ /**
69
+ * @name update
70
+ * @description Update an existing agent's metadata fields. All fields
71
+ * are optional — only non-null values are written.
72
+ * @param args - Partial update parameters.
73
+ * @returns {Promise<TransactionSignature>} The transaction signature.
74
+ * @since v0.1.0
75
+ */
76
+ update(args: UpdateAgentArgs): Promise<TransactionSignature>;
77
+ /**
78
+ * @name deactivate
79
+ * @description Deactivate an agent, setting `is_active = false`.
80
+ * The agent remains on-chain but is excluded from active discovery.
81
+ * @returns {Promise<TransactionSignature>} The transaction signature.
82
+ * @since v0.1.0
83
+ */
84
+ deactivate(): Promise<TransactionSignature>;
85
+ /**
86
+ * @name reactivate
87
+ * @description Reactivate a previously deactivated agent, restoring
88
+ * it to active status.
89
+ * @returns {Promise<TransactionSignature>} The transaction signature.
90
+ * @since v0.1.0
91
+ */
92
+ reactivate(): Promise<TransactionSignature>;
93
+ /**
94
+ * @name close
95
+ * @description Close an agent PDA and its associated stats PDA.
96
+ * Rent is returned to the owner wallet.
97
+ * @returns {Promise<TransactionSignature>} The transaction signature.
98
+ * @since v0.1.0
99
+ */
100
+ close(): Promise<TransactionSignature>;
101
+ /**
102
+ * @name reportCalls
103
+ * @description Self-report call metrics for the agent. This updates the
104
+ * `AgentStats` counter but does not affect on-chain reputation.
105
+ * @param callsServed - The number of calls to report.
106
+ * @returns {Promise<TransactionSignature>} The transaction signature.
107
+ * @since v0.1.0
108
+ */
109
+ reportCalls(callsServed: number | bigint): Promise<TransactionSignature>;
110
+ /**
111
+ * @name updateReputation
112
+ * @description Update self-reported latency and uptime metrics.
113
+ * These are informational and do not affect on-chain reputation scoring.
114
+ * @param avgLatencyMs - Average response latency in milliseconds.
115
+ * @param uptimePercent - Uptime percentage (0–100).
116
+ * @returns {Promise<TransactionSignature>} The transaction signature.
117
+ * @since v0.1.0
118
+ */
119
+ updateReputation(avgLatencyMs: number, uptimePercent: number): Promise<TransactionSignature>;
120
+ /**
121
+ * @name fetch
122
+ * @description Fetch the deserialized `AgentAccount` data for a wallet.
123
+ * @param wallet - The wallet public key. Defaults to the connected wallet.
124
+ * @returns {Promise<AgentAccountData>} The agent account data.
125
+ * @throws Will throw if the agent account does not exist.
126
+ * @since v0.1.0
127
+ */
128
+ fetch(wallet?: PublicKey): Promise<AgentAccountData>;
129
+ /**
130
+ * @name fetchNullable
131
+ * @description Fetch the deserialized `AgentAccount` data, or `null`
132
+ * if the account doesn't exist on-chain.
133
+ * @param wallet - The wallet public key. Defaults to the connected wallet.
134
+ * @returns {Promise<AgentAccountData | null>} The agent data or `null`.
135
+ * @since v0.1.0
136
+ */
137
+ fetchNullable(wallet?: PublicKey): Promise<AgentAccountData | null>;
138
+ /**
139
+ * @name fetchStats
140
+ * @description Fetch the deserialized `AgentStats` data for an agent.
141
+ * @param agentPda - The agent account PDA.
142
+ * @returns {Promise<AgentStatsData>} The agent stats data.
143
+ * @throws Will throw if the stats account does not exist.
144
+ * @since v0.1.0
145
+ */
146
+ fetchStats(agentPda: PublicKey): Promise<AgentStatsData>;
147
+ /**
148
+ * @name fetchStatsNullable
149
+ * @description Fetch the deserialized `AgentStats` data, or `null`
150
+ * if the account doesn't exist on-chain.
151
+ * @param agentPda - The agent account PDA.
152
+ * @returns {Promise<AgentStatsData | null>} The stats data or `null`.
153
+ * @since v0.1.0
154
+ */
155
+ fetchStatsNullable(agentPda: PublicKey): Promise<AgentStatsData | null>;
156
+ /**
157
+ * @name fetchGlobalRegistry
158
+ * @description Fetch the `GlobalRegistry` singleton account that tracks
159
+ * aggregate protocol statistics.
160
+ * @returns {Promise<GlobalRegistryData>} The global registry data.
161
+ * @throws Will throw if the registry has not been initialized.
162
+ * @since v0.1.0
163
+ */
164
+ fetchGlobalRegistry(): Promise<import("../types").GlobalRegistryData>;
165
+ }
166
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/modules/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,WAAY,SAAQ,UAAU;IAGzC;;;;;;;OAOG;IACH,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAI7D;;;;;;;OAOG;IACH,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAM9D;;;;;;;OAOG;IACG,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0BtE;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsBlE;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAcjD;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAcjD;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAiB5C;;;;;;;OAOG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAc9E;;;;;;;;OAQG;IACG,gBAAgB,CACpB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC;IAchC;;;;;;;OAOG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK1D;;;;;;;OAOG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAKzE;;;;;;;OAOG;IACG,UAAU,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IAK9D;;;;;;;OAOG;IACG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAK7E;;;;;;;OAOG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,UAAU,EAAE,kBAAkB,CAAC;CAI5E"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @module attestation
3
+ * @description Web-of-trust attestations — create, revoke, and close
4
+ * on-chain attestations that vouch for agent trustworthiness.
5
+ *
6
+ * Attestations are signed endorsements from one wallet to an agent,
7
+ * forming a composable trust graph on Solana.
8
+ *
9
+ * @category Modules
10
+ * @since v0.1.0
11
+ * @packageDocumentation
12
+ */
13
+ import { type PublicKey, type TransactionSignature } from "@solana/web3.js";
14
+ import { BaseModule } from "./base";
15
+ import type { AgentAttestationData, CreateAttestationArgs } from "../types";
16
+ /**
17
+ * @name AttestationModule
18
+ * @description Manages on-chain attestations for the Solana Agent Protocol.
19
+ * Provides methods to create, revoke, close, and fetch attestation PDAs
20
+ * that form the web-of-trust layer.
21
+ *
22
+ * @category Modules
23
+ * @since v0.1.0
24
+ * @extends BaseModule
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const sap = new SapClient(provider);
29
+ * // Create an attestation for an agent
30
+ * const sig = await sap.attestation.create(agentWallet, {
31
+ * attestationType: { identity: {} },
32
+ * metadataHash: [...],
33
+ * expiresAt: null,
34
+ * });
35
+ * ```
36
+ */
37
+ export declare class AttestationModule extends BaseModule {
38
+ /**
39
+ * @name deriveAttestation
40
+ * @description Derive the `AgentAttestation` PDA for a given agent and attester.
41
+ * @param agentPda - The agent account PDA to attest.
42
+ * @param attester - The attester wallet. Defaults to the connected wallet.
43
+ * @returns A tuple of `[PublicKey, bump]` for the attestation PDA.
44
+ * @see {@link deriveAttestation} from `pda/` module for the underlying derivation.
45
+ * @since v0.1.0
46
+ */
47
+ deriveAttestation(agentPda: PublicKey, attester?: PublicKey): readonly [PublicKey, number];
48
+ /**
49
+ * @name create
50
+ * @description Create an on-chain attestation vouching for an agent.
51
+ * The connected wallet becomes the attester.
52
+ * @param agentWallet - The wallet that owns the target agent.
53
+ * @param args - Attestation parameters (type, metadata hash, optional expiry).
54
+ * @returns {Promise<TransactionSignature>} The transaction signature.
55
+ * @since v0.1.0
56
+ */
57
+ create(agentWallet: PublicKey, args: CreateAttestationArgs): Promise<TransactionSignature>;
58
+ /**
59
+ * @name revoke
60
+ * @description Revoke a previously issued attestation. Only the original
61
+ * attester may revoke.
62
+ * @param agentWallet - The wallet of the attested agent.
63
+ * @returns {Promise<TransactionSignature>} The transaction signature.
64
+ * @since v0.1.0
65
+ */
66
+ revoke(agentWallet: PublicKey): Promise<TransactionSignature>;
67
+ /**
68
+ * @name close
69
+ * @description Close a revoked attestation PDA and reclaim rent to the attester.
70
+ * @param agentWallet - The wallet of the attested agent.
71
+ * @returns {Promise<TransactionSignature>} The transaction signature.
72
+ * @since v0.1.0
73
+ */
74
+ close(agentWallet: PublicKey): Promise<TransactionSignature>;
75
+ /**
76
+ * @name fetch
77
+ * @description Fetch a deserialized `AgentAttestation` account.
78
+ * @param agentPda - The agent account PDA.
79
+ * @param attester - The attester wallet. Defaults to the connected wallet.
80
+ * @returns {Promise<AgentAttestationData>} The attestation account data.
81
+ * @throws Will throw if the attestation account does not exist.
82
+ * @since v0.1.0
83
+ */
84
+ fetch(agentPda: PublicKey, attester?: PublicKey): Promise<AgentAttestationData>;
85
+ /**
86
+ * @name fetchNullable
87
+ * @description Fetch a deserialized `AgentAttestation` account, or `null`
88
+ * if it does not exist on-chain.
89
+ * @param agentPda - The agent account PDA.
90
+ * @param attester - The attester wallet. Defaults to the connected wallet.
91
+ * @returns {Promise<AgentAttestationData | null>} The attestation data or `null`.
92
+ * @since v0.1.0
93
+ */
94
+ fetchNullable(agentPda: PublicKey, attester?: PublicKey): Promise<AgentAttestationData | null>;
95
+ }
96
+ //# sourceMappingURL=attestation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attestation.d.ts","sourceRoot":"","sources":["../../../src/modules/attestation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAG/C;;;;;;;;OAQG;IACH,iBAAiB,CACf,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,SAAS,GACnB,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAM/B;;;;;;;;OAQG;IACG,MAAM,CACV,WAAW,EAAE,SAAS,EACtB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAiBhC;;;;;;;OAOG;IACG,MAAM,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAanE;;;;;;OAMG;IACG,KAAK,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiBlE;;;;;;;;OAQG;IACG,KAAK,CACT,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,SAAS,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAKhC;;;;;;;;OAQG;IACG,aAAa,CACjB,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,SAAS,GACnB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;CAIxC"}