@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 @@
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"}
@@ -0,0 +1,362 @@
1
+ "use strict";
2
+ /**
3
+ * @module registries/discovery
4
+ * @description High-level agent and tool discovery registry.
5
+ *
6
+ * Abstracts the raw PDA-level indexing + fetching into a single
7
+ * developer-friendly interface for finding agents, tools, and
8
+ * services across the SAP network.
9
+ *
10
+ * Use cases:
11
+ * - "Find all agents that support Jupiter swaps"
12
+ * - "Find all Swap tools across all agents"
13
+ * - "Get the full profile of agent X (identity + stats + tools)"
14
+ * - "Get network-wide statistics"
15
+ *
16
+ * @category Registries
17
+ * @since v0.1.0
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const discovery = client.discovery;
22
+ *
23
+ * // Find agents that support Jupiter protocol
24
+ * const agents = await discovery.findAgentsByProtocol("jupiter");
25
+ *
26
+ * // Get full agent profile (identity + stats + attestations)
27
+ * const profile = await discovery.getAgentProfile(agentWallet);
28
+ *
29
+ * // Find all Swap tools across the network
30
+ * const tools = await discovery.findToolsByCategory("swap");
31
+ *
32
+ * // Network overview
33
+ * const stats = await discovery.getNetworkOverview();
34
+ * ```
35
+ */
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.DiscoveryRegistry = void 0;
38
+ const pda_1 = require("../pda");
39
+ const utils_1 = require("../utils");
40
+ const constants_1 = require("../constants");
41
+ // ═══════════════════════════════════════════════════════════════════
42
+ // Discovery Registry
43
+ // ═══════════════════════════════════════════════════════════════════
44
+ /**
45
+ * @name DiscoveryRegistry
46
+ * @description High-level agent and tool discovery registry for the SAP network.
47
+ *
48
+ * Provides a developer-friendly API for finding agents by capability,
49
+ * protocol, or tool category, fetching full agent profiles, and
50
+ * retrieving network-wide statistics.
51
+ *
52
+ * @category Registries
53
+ * @since v0.1.0
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const discovery = client.discovery;
58
+ *
59
+ * // Find agents by capability
60
+ * const swapAgents = await discovery.findAgentsByCapability("jupiter:swap");
61
+ *
62
+ * // Get agent profile
63
+ * const profile = await discovery.getAgentProfile(agentWallet);
64
+ *
65
+ * // Network statistics
66
+ * const overview = await discovery.getNetworkOverview();
67
+ * ```
68
+ */
69
+ class DiscoveryRegistry {
70
+ program;
71
+ constructor(program) {
72
+ this.program = program;
73
+ }
74
+ // ── Agent Discovery ──────────────────────────────────
75
+ /**
76
+ * @name findAgentsByCapability
77
+ * @description Find all agent PDAs registered for a specific capability.
78
+ * Hashes the capability ID with SHA-256 and looks up the capability index PDA.
79
+ *
80
+ * @param capabilityId - The capability identifier string (e.g. `"jupiter:swap"`).
81
+ * @param opts - Optional settings.
82
+ * @param opts.hydrate - If `false`, returns only PDAs without fetching identity/stats. Defaults to `true`.
83
+ * @returns An array of {@link DiscoveredAgent} matching the capability.
84
+ * @since v0.1.0
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * const agents = await discovery.findAgentsByCapability("jupiter:swap");
89
+ * ```
90
+ */
91
+ async findAgentsByCapability(capabilityId, opts) {
92
+ const capHash = (0, utils_1.sha256)(capabilityId);
93
+ const [pda] = (0, pda_1.deriveCapabilityIndex)(capHash);
94
+ const index = await this.fetchNullable("capabilityIndex", pda);
95
+ if (!index)
96
+ return [];
97
+ if (opts?.hydrate === false) {
98
+ return index.agents.map((agentPda) => ({
99
+ pda: agentPda,
100
+ identity: null,
101
+ stats: null,
102
+ }));
103
+ }
104
+ return this.hydrateAgents(index.agents);
105
+ }
106
+ /**
107
+ * @name findAgentsByProtocol
108
+ * @description Find all agent PDAs registered for a specific protocol.
109
+ * Hashes the protocol ID with SHA-256 and looks up the protocol index PDA.
110
+ *
111
+ * @param protocolId - The protocol identifier string (e.g. `"jupiter"`).
112
+ * @param opts - Optional settings.
113
+ * @param opts.hydrate - If `false`, returns only PDAs without fetching identity/stats. Defaults to `true`.
114
+ * @returns An array of {@link DiscoveredAgent} matching the protocol.
115
+ * @since v0.1.0
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * const agents = await discovery.findAgentsByProtocol("jupiter");
120
+ * ```
121
+ */
122
+ async findAgentsByProtocol(protocolId, opts) {
123
+ const protoHash = (0, utils_1.sha256)(protocolId);
124
+ const [pda] = (0, pda_1.deriveProtocolIndex)(protoHash);
125
+ const index = await this.fetchNullable("protocolIndex", pda);
126
+ if (!index)
127
+ return [];
128
+ if (opts?.hydrate === false) {
129
+ return index.agents.map((agentPda) => ({
130
+ pda: agentPda,
131
+ identity: null,
132
+ stats: null,
133
+ }));
134
+ }
135
+ return this.hydrateAgents(index.agents);
136
+ }
137
+ /**
138
+ * @name findToolsByCategory
139
+ * @description Find all tool PDAs registered in a specific category.
140
+ * Accepts either a category name string or a numeric category value.
141
+ *
142
+ * @param category - Tool category name (e.g. `"swap"`) or numeric category value.
143
+ * @param opts - Optional settings.
144
+ * @param opts.hydrate - If `false`, returns only PDAs without fetching descriptors. Defaults to `true`.
145
+ * @returns An array of {@link DiscoveredTool} matching the category.
146
+ * @since v0.1.0
147
+ *
148
+ * @example
149
+ * ```ts
150
+ * const tools = await discovery.findToolsByCategory("swap");
151
+ * const tools = await discovery.findToolsByCategory(0); // numeric
152
+ * ```
153
+ */
154
+ async findToolsByCategory(category, opts) {
155
+ const categoryNum = typeof category === "number"
156
+ ? category
157
+ : constants_1.TOOL_CATEGORY_VALUES[category] ?? 9;
158
+ const [pda] = (0, pda_1.deriveToolCategoryIndex)(categoryNum);
159
+ const index = await this.fetchNullable("toolCategoryIndex", pda);
160
+ if (!index)
161
+ return [];
162
+ if (opts?.hydrate === false) {
163
+ return index.tools.map((toolPda) => ({
164
+ pda: toolPda,
165
+ descriptor: null,
166
+ }));
167
+ }
168
+ return this.hydrateTools(index.tools);
169
+ }
170
+ // ── Agent Profile ────────────────────────────────────
171
+ /**
172
+ * @name getAgentProfile
173
+ * @description Get the full profile of an agent by wallet address.
174
+ * Combines identity + stats into a single response with computed fields
175
+ * for easy display (active status, total calls, reputation, etc.).
176
+ *
177
+ * @param wallet - The agent owner's wallet public key.
178
+ * @returns The full {@link AgentProfile}, or `null` if the agent does not exist.
179
+ * @since v0.1.0
180
+ *
181
+ * @example
182
+ * ```ts
183
+ * const profile = await discovery.getAgentProfile(agentWallet);
184
+ * console.log(profile.identity.name);
185
+ * console.log(profile.computed.isActive);
186
+ * console.log(profile.computed.totalCalls);
187
+ * ```
188
+ */
189
+ async getAgentProfile(wallet) {
190
+ const [agentPda] = (0, pda_1.deriveAgent)(wallet);
191
+ const [statsPda] = (0, pda_1.deriveAgentStats)(agentPda);
192
+ const [identity, stats] = await Promise.all([
193
+ this.fetchNullable("agentAccount", agentPda),
194
+ this.fetchNullable("agentStats", statsPda),
195
+ ]);
196
+ if (!identity)
197
+ return null;
198
+ const totalCallsBN = stats?.totalCallsServed ?? identity.totalCallsServed;
199
+ return {
200
+ pda: agentPda,
201
+ identity,
202
+ stats,
203
+ computed: {
204
+ isActive: identity.isActive,
205
+ totalCalls: totalCallsBN.toString(),
206
+ reputationScore: identity.reputationScore,
207
+ hasX402: !!identity.x402Endpoint,
208
+ capabilityCount: identity.capabilities.length,
209
+ pricingTierCount: identity.pricing.length,
210
+ protocols: [...identity.protocols],
211
+ },
212
+ };
213
+ }
214
+ /**
215
+ * @name isAgentActive
216
+ * @description Check if an agent exists and is currently active.
217
+ * Reads the agent stats account to determine active status.
218
+ *
219
+ * @param wallet - The agent owner's wallet public key.
220
+ * @returns `true` if the agent exists and is active, `false` otherwise.
221
+ * @since v0.1.0
222
+ */
223
+ async isAgentActive(wallet) {
224
+ const [agentPda] = (0, pda_1.deriveAgent)(wallet);
225
+ const [statsPda] = (0, pda_1.deriveAgentStats)(agentPda);
226
+ const stats = await this.fetchNullable("agentStats", statsPda);
227
+ return stats?.isActive ?? false;
228
+ }
229
+ // ── Network Overview ─────────────────────────────────
230
+ /**
231
+ * @name getNetworkOverview
232
+ * @description Get network-wide statistics from the GlobalRegistry account.
233
+ * Returns aggregated counts and metadata for the entire SAP network.
234
+ *
235
+ * @returns A {@link NetworkOverview} with all network-level statistics.
236
+ * @since v0.1.0
237
+ */
238
+ async getNetworkOverview() {
239
+ const [pda] = (0, pda_1.deriveGlobalRegistry)();
240
+ const reg = await this.fetch("globalRegistry", pda);
241
+ return {
242
+ totalAgents: reg.totalAgents.toString(),
243
+ activeAgents: reg.activeAgents.toString(),
244
+ totalFeedbacks: reg.totalFeedbacks.toString(),
245
+ totalTools: reg.totalTools,
246
+ totalVaults: reg.totalVaults,
247
+ totalAttestations: reg.totalAttestations,
248
+ totalCapabilities: reg.totalCapabilities,
249
+ totalProtocols: reg.totalProtocols,
250
+ authority: reg.authority,
251
+ };
252
+ }
253
+ // ── Multi-category Search ────────────────────────────
254
+ /**
255
+ * @name findAgentsByCapabilities
256
+ * @description Search across multiple capability IDs at once.
257
+ * Returns deduplicated agent PDAs aggregated from all matching capability indexes.
258
+ *
259
+ * @param capabilityIds - Array of capability identifier strings to search.
260
+ * @param opts - Optional settings.
261
+ * @param opts.hydrate - If `false`, returns only PDAs without fetching identity/stats. Defaults to `true`.
262
+ * @returns A deduplicated array of {@link DiscoveredAgent} matching any of the capabilities.
263
+ * @since v0.1.0
264
+ */
265
+ async findAgentsByCapabilities(capabilityIds, opts) {
266
+ const seen = new Set();
267
+ const results = [];
268
+ for (const capId of capabilityIds) {
269
+ const agents = await this.findAgentsByCapability(capId, opts);
270
+ for (const agent of agents) {
271
+ const key = agent.pda.toBase58();
272
+ if (!seen.has(key)) {
273
+ seen.add(key);
274
+ results.push(agent);
275
+ }
276
+ }
277
+ }
278
+ return results;
279
+ }
280
+ /**
281
+ * @name getToolCategorySummary
282
+ * @description Search across all 10 tool categories and return a summary.
283
+ * Lists each category with its name, numeric value, and tool count.
284
+ *
285
+ * @returns An array of category summary objects with `category`, `categoryNum`, and `toolCount`.
286
+ * @since v0.1.0
287
+ */
288
+ async getToolCategorySummary() {
289
+ const categories = Object.entries(constants_1.TOOL_CATEGORY_VALUES);
290
+ const results = [];
291
+ for (const [name, num] of categories) {
292
+ const [pda] = (0, pda_1.deriveToolCategoryIndex)(num);
293
+ const index = await this.fetchNullable("toolCategoryIndex", pda);
294
+ results.push({
295
+ category: name,
296
+ categoryNum: num,
297
+ toolCount: index?.tools.length ?? 0,
298
+ });
299
+ }
300
+ return results;
301
+ }
302
+ // ── Internals ────────────────────────────────────────
303
+ /**
304
+ * @name hydrateAgents
305
+ * @description Hydrate an array of agent PDAs by fetching identity and stats data.
306
+ * @param agentPdas - Array of agent PDA public keys.
307
+ * @returns An array of {@link DiscoveredAgent} with populated identity and stats fields.
308
+ * @private
309
+ */
310
+ async hydrateAgents(agentPdas) {
311
+ return Promise.all(agentPdas.map(async (agentPda) => {
312
+ const [statsPda] = (0, pda_1.deriveAgentStats)(agentPda);
313
+ const [identity, stats] = await Promise.all([
314
+ this.fetchNullable("agentAccount", agentPda),
315
+ this.fetchNullable("agentStats", statsPda),
316
+ ]);
317
+ return { pda: agentPda, identity, stats };
318
+ }));
319
+ }
320
+ /**
321
+ * @name hydrateTools
322
+ * @description Hydrate an array of tool PDAs by fetching descriptor data.
323
+ * @param toolPdas - Array of tool PDA public keys.
324
+ * @returns An array of {@link DiscoveredTool} with populated descriptor fields.
325
+ * @private
326
+ */
327
+ async hydrateTools(toolPdas) {
328
+ return Promise.all(toolPdas.map(async (toolPda) => {
329
+ const descriptor = await this.fetchNullable("toolDescriptor", toolPda);
330
+ return { pda: toolPda, descriptor };
331
+ }));
332
+ }
333
+ /**
334
+ * @name fetch
335
+ * @description Fetch an on-chain account by name and PDA. Throws if not found.
336
+ * @param name - Anchor account discriminator name.
337
+ * @param pda - Account public key to fetch.
338
+ * @returns The deserialized account data.
339
+ * @throws If the account does not exist.
340
+ * @private
341
+ */
342
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
343
+ async fetch(name, pda) {
344
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
345
+ return this.program.account[name].fetch(pda);
346
+ }
347
+ /**
348
+ * @name fetchNullable
349
+ * @description Fetch an on-chain account by name and PDA. Returns `null` if not found.
350
+ * @param name - Anchor account discriminator name.
351
+ * @param pda - Account public key to fetch.
352
+ * @returns The deserialized account data, or `null` if the account does not exist.
353
+ * @private
354
+ */
355
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
356
+ async fetchNullable(name, pda) {
357
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
358
+ return this.program.account[name].fetchNullable(pda);
359
+ }
360
+ }
361
+ exports.DiscoveryRegistry = DiscoveryRegistry;
362
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/registries/discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /**
3
+ * @module registries
4
+ * @description High-level registry barrel export.
5
+ *
6
+ * Registries are developer-facing abstractions that combine
7
+ * multiple raw SDK modules into cohesive, workflow-oriented APIs:
8
+ *
9
+ * - **DiscoveryRegistry** — Find agents, tools, and services across
10
+ * the SAP network by capability, protocol, or tool category.
11
+ *
12
+ * - **X402Registry** — Full x402 micropayment lifecycle: pricing
13
+ * estimation, escrow management, HTTP header generation,
14
+ * settlement, and balance monitoring.
15
+ *
16
+ * - **SessionManager** — Unified memory session lifecycle: create
17
+ * vault, open session, write data, read ring buffer, seal
18
+ * archives, and close sessions in a single API.
19
+ *
20
+ * - **AgentBuilder** — Fluent builder for agent registration with
21
+ * capabilities, pricing tiers, tools, and x402 endpoint config.
22
+ *
23
+ * All registries are accessible as lazy singletons on `SapClient`:
24
+ *
25
+ * ```ts
26
+ * const client = SapClient.from(provider);
27
+ *
28
+ * client.discovery // → DiscoveryRegistry
29
+ * client.x402 // → X402Registry
30
+ * client.session // → SessionManager
31
+ * client.builder // → AgentBuilder (fresh instance each access)
32
+ * ```
33
+ *
34
+ * @category Registries
35
+ * @since v0.1.0
36
+ * @see {@link DiscoveryRegistry}
37
+ * @see {@link X402Registry}
38
+ * @see {@link SessionManager}
39
+ * @see {@link AgentBuilder}
40
+ */
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.AgentBuilder = exports.SessionManager = exports.X402Registry = exports.DiscoveryRegistry = void 0;
43
+ var discovery_1 = require("./discovery");
44
+ Object.defineProperty(exports, "DiscoveryRegistry", { enumerable: true, get: function () { return discovery_1.DiscoveryRegistry; } });
45
+ var x402_1 = require("./x402");
46
+ Object.defineProperty(exports, "X402Registry", { enumerable: true, get: function () { return x402_1.X402Registry; } });
47
+ var session_1 = require("./session");
48
+ Object.defineProperty(exports, "SessionManager", { enumerable: true, get: function () { return session_1.SessionManager; } });
49
+ var builder_1 = require("./builder");
50
+ Object.defineProperty(exports, "AgentBuilder", { enumerable: true, get: function () { return builder_1.AgentBuilder; } });
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/registries/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;AAEH,yCAAgD;AAAvC,8GAAA,iBAAiB,OAAA;AAS1B,+BAAsC;AAA7B,oGAAA,YAAY,OAAA;AAWrB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AASvB,qCAAyC;AAAhC,uGAAA,YAAY,OAAA"}