@andrewkimjoseph/celina-sdk 0.15.0 → 0.15.1

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 (359) hide show
  1. package/README.md +7 -5
  2. package/build/config/celina-tag.d.ts +7 -3
  3. package/build/config/celina-tag.js +7 -3
  4. package/build/config/celina-tag.js.map +1 -1
  5. package/package.json +3 -2
  6. package/build/src/a2a/agent-card.d.ts +0 -37
  7. package/build/src/a2a/agent-card.js +0 -46
  8. package/build/src/a2a/agent-card.js.map +0 -1
  9. package/build/src/a2a/index.d.ts +0 -2
  10. package/build/src/a2a/index.js +0 -3
  11. package/build/src/a2a/index.js.map +0 -1
  12. package/build/src/a2a/skills.d.ts +0 -18
  13. package/build/src/a2a/skills.js +0 -106
  14. package/build/src/a2a/skills.js.map +0 -1
  15. package/build/src/aa/create-aa-client.d.ts +0 -44
  16. package/build/src/aa/create-aa-client.js +0 -115
  17. package/build/src/aa/create-aa-client.js.map +0 -1
  18. package/build/src/aa/gas-sponsorship.d.ts +0 -27
  19. package/build/src/aa/gas-sponsorship.js +0 -65
  20. package/build/src/aa/gas-sponsorship.js.map +0 -1
  21. package/build/src/aa/index.d.ts +0 -4
  22. package/build/src/aa/index.js +0 -4
  23. package/build/src/aa/index.js.map +0 -1
  24. package/build/src/aa/prepared-calls.d.ts +0 -8
  25. package/build/src/aa/prepared-calls.js +0 -27
  26. package/build/src/aa/prepared-calls.js.map +0 -1
  27. package/build/src/aa/types.d.ts +0 -61
  28. package/build/src/aa/types.js +0 -2
  29. package/build/src/aa/types.js.map +0 -1
  30. package/build/src/abis/aave-pool.d.ts +0 -37
  31. package/build/src/abis/aave-pool.js +0 -26
  32. package/build/src/abis/aave-pool.js.map +0 -1
  33. package/build/src/abis/accounts.d.ts +0 -13
  34. package/build/src/abis/accounts.js +0 -10
  35. package/build/src/abis/accounts.js.map +0 -1
  36. package/build/src/abis/election.d.ts +0 -124
  37. package/build/src/abis/election.js +0 -88
  38. package/build/src/abis/election.js.map +0 -1
  39. package/build/src/abis/gooddollar-broker.d.ts +0 -77
  40. package/build/src/abis/gooddollar-broker.js +0 -44
  41. package/build/src/abis/gooddollar-broker.js.map +0 -1
  42. package/build/src/abis/gooddollar-identity.d.ts +0 -85
  43. package/build/src/abis/gooddollar-identity.js +0 -52
  44. package/build/src/abis/gooddollar-identity.js.map +0 -1
  45. package/build/src/abis/governance.d.ts +0 -86
  46. package/build/src/abis/governance.js +0 -68
  47. package/build/src/abis/governance.js.map +0 -1
  48. package/build/src/abis/locked-gold.d.ts +0 -10
  49. package/build/src/abis/locked-gold.js +0 -10
  50. package/build/src/abis/locked-gold.js.map +0 -1
  51. package/build/src/abis/nft.d.ts +0 -107
  52. package/build/src/abis/nft.js +0 -75
  53. package/build/src/abis/nft.js.map +0 -1
  54. package/build/src/abis/permit2.d.ts +0 -43
  55. package/build/src/abis/permit2.js +0 -30
  56. package/build/src/abis/permit2.js.map +0 -1
  57. package/build/src/abis/self-registry.d.ts +0 -194
  58. package/build/src/abis/self-registry.js +0 -120
  59. package/build/src/abis/self-registry.js.map +0 -1
  60. package/build/src/abis/ubi-scheme.d.ts +0 -91
  61. package/build/src/abis/ubi-scheme.js +0 -66
  62. package/build/src/abis/ubi-scheme.js.map +0 -1
  63. package/build/src/abis/uniswap-state-view.d.ts +0 -34
  64. package/build/src/abis/uniswap-state-view.js +0 -22
  65. package/build/src/abis/uniswap-state-view.js.map +0 -1
  66. package/build/src/abis/uniswap-v4-quoter.d.ts +0 -86
  67. package/build/src/abis/uniswap-v4-quoter.js +0 -64
  68. package/build/src/abis/uniswap-v4-quoter.js.map +0 -1
  69. package/build/src/abis/universal-router.d.ts +0 -16
  70. package/build/src/abis/universal-router.js +0 -14
  71. package/build/src/abis/universal-router.js.map +0 -1
  72. package/build/src/abis/validators-minimal.d.ts +0 -65
  73. package/build/src/abis/validators-minimal.js +0 -39
  74. package/build/src/abis/validators-minimal.js.map +0 -1
  75. package/build/src/analytics/amplitude.d.ts +0 -11
  76. package/build/src/analytics/amplitude.js +0 -76
  77. package/build/src/analytics/amplitude.js.map +0 -1
  78. package/build/src/analytics/config.d.ts +0 -7
  79. package/build/src/analytics/config.js +0 -25
  80. package/build/src/analytics/config.js.map +0 -1
  81. package/build/src/analytics/consumer-package.d.ts +0 -9
  82. package/build/src/analytics/consumer-package.js +0 -143
  83. package/build/src/analytics/consumer-package.js.map +0 -1
  84. package/build/src/analytics/mcp-tool-events.d.ts +0 -5
  85. package/build/src/analytics/mcp-tool-events.js +0 -53
  86. package/build/src/analytics/mcp-tool-events.js.map +0 -1
  87. package/build/src/analytics/wallet-context.d.ts +0 -11
  88. package/build/src/analytics/wallet-context.js +0 -81
  89. package/build/src/analytics/wallet-context.js.map +0 -1
  90. package/build/src/analytics/wallet-extract.d.ts +0 -9
  91. package/build/src/analytics/wallet-extract.js +0 -21
  92. package/build/src/analytics/wallet-extract.js.map +0 -1
  93. package/build/src/analytics/wrap-service.d.ts +0 -5
  94. package/build/src/analytics/wrap-service.js +0 -38
  95. package/build/src/analytics/wrap-service.js.map +0 -1
  96. package/build/src/clients/celo-client.d.ts +0 -19
  97. package/build/src/clients/celo-client.js +0 -32
  98. package/build/src/clients/celo-client.js.map +0 -1
  99. package/build/src/clients/ens-client.d.ts +0 -17
  100. package/build/src/clients/ens-client.js +0 -30
  101. package/build/src/clients/ens-client.js.map +0 -1
  102. package/build/src/clients/mento-sdk.d.ts +0 -2
  103. package/build/src/clients/mento-sdk.js +0 -9
  104. package/build/src/clients/mento-sdk.js.map +0 -1
  105. package/build/src/clients/self-api.d.ts +0 -82
  106. package/build/src/clients/self-api.js +0 -242
  107. package/build/src/clients/self-api.js.map +0 -1
  108. package/build/src/clients/uniswap-sdk.d.ts +0 -4
  109. package/build/src/clients/uniswap-sdk.js +0 -13
  110. package/build/src/clients/uniswap-sdk.js.map +0 -1
  111. package/build/src/config/aave.d.ts +0 -17
  112. package/build/src/config/aave.js +0 -77
  113. package/build/src/config/aave.js.map +0 -1
  114. package/build/src/config/celina-tag.d.ts +0 -46
  115. package/build/src/config/celina-tag.js +0 -166
  116. package/build/src/config/celina-tag.js.map +0 -1
  117. package/build/src/config/celo-core-contracts.d.ts +0 -8
  118. package/build/src/config/celo-core-contracts.js +0 -9
  119. package/build/src/config/celo-core-contracts.js.map +0 -1
  120. package/build/src/config/chains.d.ts +0 -937
  121. package/build/src/config/chains.js +0 -319
  122. package/build/src/config/chains.js.map +0 -1
  123. package/build/src/config/gooddollar.d.ts +0 -16
  124. package/build/src/config/gooddollar.js +0 -24
  125. package/build/src/config/gooddollar.js.map +0 -1
  126. package/build/src/config/sdk-config.d.ts +0 -44
  127. package/build/src/config/sdk-config.js +0 -28
  128. package/build/src/config/sdk-config.js.map +0 -1
  129. package/build/src/config/self.d.ts +0 -22
  130. package/build/src/config/self.js +0 -27
  131. package/build/src/config/self.js.map +0 -1
  132. package/build/src/config/uniswap.d.ts +0 -42
  133. package/build/src/config/uniswap.js +0 -76
  134. package/build/src/config/uniswap.js.map +0 -1
  135. package/build/src/index.d.ts +0 -127
  136. package/build/src/index.js +0 -72
  137. package/build/src/index.js.map +0 -1
  138. package/build/src/oasf/index.d.ts +0 -2
  139. package/build/src/oasf/index.js +0 -3
  140. package/build/src/oasf/index.js.map +0 -1
  141. package/build/src/oasf/record.d.ts +0 -39
  142. package/build/src/oasf/record.js +0 -35
  143. package/build/src/oasf/record.js.map +0 -1
  144. package/build/src/oasf/taxonomy.d.ts +0 -19
  145. package/build/src/oasf/taxonomy.js +0 -46
  146. package/build/src/oasf/taxonomy.js.map +0 -1
  147. package/build/src/services/aave.service.d.ts +0 -59
  148. package/build/src/services/aave.service.js +0 -210
  149. package/build/src/services/aave.service.js.map +0 -1
  150. package/build/src/services/account.service.d.ts +0 -22
  151. package/build/src/services/account.service.js +0 -29
  152. package/build/src/services/account.service.js.map +0 -1
  153. package/build/src/services/agentkarma.service.d.ts +0 -89
  154. package/build/src/services/agentkarma.service.js +0 -102
  155. package/build/src/services/agentkarma.service.js.map +0 -1
  156. package/build/src/services/blockchain.service.d.ts +0 -126
  157. package/build/src/services/blockchain.service.js +0 -188
  158. package/build/src/services/blockchain.service.js.map +0 -1
  159. package/build/src/services/contract.service.d.ts +0 -78
  160. package/build/src/services/contract.service.js +0 -117
  161. package/build/src/services/contract.service.js.map +0 -1
  162. package/build/src/services/ens.service.d.ts +0 -44
  163. package/build/src/services/ens.service.js +0 -92
  164. package/build/src/services/ens.service.js.map +0 -1
  165. package/build/src/services/gooddollar.service.d.ts +0 -184
  166. package/build/src/services/gooddollar.service.js +0 -675
  167. package/build/src/services/gooddollar.service.js.map +0 -1
  168. package/build/src/services/governance.service.d.ts +0 -96
  169. package/build/src/services/governance.service.js +0 -255
  170. package/build/src/services/governance.service.js.map +0 -1
  171. package/build/src/services/mento-fx.service.d.ts +0 -81
  172. package/build/src/services/mento-fx.service.js +0 -318
  173. package/build/src/services/mento-fx.service.js.map +0 -1
  174. package/build/src/services/nft.service.d.ts +0 -58
  175. package/build/src/services/nft.service.js +0 -222
  176. package/build/src/services/nft.service.js.map +0 -1
  177. package/build/src/services/self-session-store.d.ts +0 -19
  178. package/build/src/services/self-session-store.js +0 -28
  179. package/build/src/services/self-session-store.js.map +0 -1
  180. package/build/src/services/self.service.d.ts +0 -241
  181. package/build/src/services/self.service.js +0 -699
  182. package/build/src/services/self.service.js.map +0 -1
  183. package/build/src/services/staking.service.d.ts +0 -140
  184. package/build/src/services/staking.service.js +0 -444
  185. package/build/src/services/staking.service.js.map +0 -1
  186. package/build/src/services/token.service.d.ts +0 -110
  187. package/build/src/services/token.service.js +0 -189
  188. package/build/src/services/token.service.js.map +0 -1
  189. package/build/src/services/transaction.service.d.ts +0 -69
  190. package/build/src/services/transaction.service.js +0 -197
  191. package/build/src/services/transaction.service.js.map +0 -1
  192. package/build/src/services/uniswap-path-router.d.ts +0 -40
  193. package/build/src/services/uniswap-path-router.js +0 -168
  194. package/build/src/services/uniswap-path-router.js.map +0 -1
  195. package/build/src/services/uniswap-pool-discovery.d.ts +0 -55
  196. package/build/src/services/uniswap-pool-discovery.js +0 -198
  197. package/build/src/services/uniswap-pool-discovery.js.map +0 -1
  198. package/build/src/services/uniswap.service.d.ts +0 -83
  199. package/build/src/services/uniswap.service.js +0 -352
  200. package/build/src/services/uniswap.service.js.map +0 -1
  201. package/build/src/simulation/index.d.ts +0 -5
  202. package/build/src/simulation/index.js +0 -2
  203. package/build/src/simulation/index.js.map +0 -1
  204. package/build/src/simulation/simulate-prepared-step.d.ts +0 -17
  205. package/build/src/simulation/simulate-prepared-step.js +0 -42
  206. package/build/src/simulation/simulate-prepared-step.js.map +0 -1
  207. package/build/src/tools/catalog.d.ts +0 -11
  208. package/build/src/tools/catalog.js +0 -43
  209. package/build/src/tools/catalog.js.map +0 -1
  210. package/build/src/tools/domains/aave.d.ts +0 -2
  211. package/build/src/tools/domains/aave.js +0 -115
  212. package/build/src/tools/domains/aave.js.map +0 -1
  213. package/build/src/tools/domains/agentkarma.d.ts +0 -2
  214. package/build/src/tools/domains/agentkarma.js +0 -92
  215. package/build/src/tools/domains/agentkarma.js.map +0 -1
  216. package/build/src/tools/domains/blockchain.d.ts +0 -2
  217. package/build/src/tools/domains/blockchain.js +0 -122
  218. package/build/src/tools/domains/blockchain.js.map +0 -1
  219. package/build/src/tools/domains/browser.d.ts +0 -2
  220. package/build/src/tools/domains/browser.js +0 -45
  221. package/build/src/tools/domains/browser.js.map +0 -1
  222. package/build/src/tools/domains/contract.d.ts +0 -2
  223. package/build/src/tools/domains/contract.js +0 -67
  224. package/build/src/tools/domains/contract.js.map +0 -1
  225. package/build/src/tools/domains/ens.d.ts +0 -2
  226. package/build/src/tools/domains/ens.js +0 -16
  227. package/build/src/tools/domains/ens.js.map +0 -1
  228. package/build/src/tools/domains/gooddollar.d.ts +0 -2
  229. package/build/src/tools/domains/gooddollar.js +0 -171
  230. package/build/src/tools/domains/gooddollar.js.map +0 -1
  231. package/build/src/tools/domains/governance.d.ts +0 -2
  232. package/build/src/tools/domains/governance.js +0 -41
  233. package/build/src/tools/domains/governance.js.map +0 -1
  234. package/build/src/tools/domains/index.d.ts +0 -1
  235. package/build/src/tools/domains/index.js +0 -33
  236. package/build/src/tools/domains/index.js.map +0 -1
  237. package/build/src/tools/domains/mento-fx.d.ts +0 -2
  238. package/build/src/tools/domains/mento-fx.js +0 -67
  239. package/build/src/tools/domains/mento-fx.js.map +0 -1
  240. package/build/src/tools/domains/nft.d.ts +0 -2
  241. package/build/src/tools/domains/nft.js +0 -38
  242. package/build/src/tools/domains/nft.js.map +0 -1
  243. package/build/src/tools/domains/self.d.ts +0 -2
  244. package/build/src/tools/domains/self.js +0 -187
  245. package/build/src/tools/domains/self.js.map +0 -1
  246. package/build/src/tools/domains/staking.d.ts +0 -2
  247. package/build/src/tools/domains/staking.js +0 -74
  248. package/build/src/tools/domains/staking.js.map +0 -1
  249. package/build/src/tools/domains/token.d.ts +0 -2
  250. package/build/src/tools/domains/token.js +0 -74
  251. package/build/src/tools/domains/token.js.map +0 -1
  252. package/build/src/tools/domains/transaction.d.ts +0 -2
  253. package/build/src/tools/domains/transaction.js +0 -120
  254. package/build/src/tools/domains/transaction.js.map +0 -1
  255. package/build/src/tools/domains/uniswap.d.ts +0 -2
  256. package/build/src/tools/domains/uniswap.js +0 -67
  257. package/build/src/tools/domains/uniswap.js.map +0 -1
  258. package/build/src/tools/filter.d.ts +0 -2
  259. package/build/src/tools/filter.js +0 -50
  260. package/build/src/tools/filter.js.map +0 -1
  261. package/build/src/tools/index.d.ts +0 -7
  262. package/build/src/tools/index.js +0 -7
  263. package/build/src/tools/index.js.map +0 -1
  264. package/build/src/tools/schemas/common.d.ts +0 -165
  265. package/build/src/tools/schemas/common.js +0 -207
  266. package/build/src/tools/schemas/common.js.map +0 -1
  267. package/build/src/tools/schemas/wallet-params.d.ts +0 -9
  268. package/build/src/tools/schemas/wallet-params.js +0 -52
  269. package/build/src/tools/schemas/wallet-params.js.map +0 -1
  270. package/build/src/tools/swap-routing.d.ts +0 -25
  271. package/build/src/tools/swap-routing.js +0 -174
  272. package/build/src/tools/swap-routing.js.map +0 -1
  273. package/build/src/tools/types.d.ts +0 -124
  274. package/build/src/tools/types.js +0 -2
  275. package/build/src/tools/types.js.map +0 -1
  276. package/build/src/tools/utils/normalize-token.d.ts +0 -2
  277. package/build/src/tools/utils/normalize-token.js +0 -12
  278. package/build/src/tools/utils/normalize-token.js.map +0 -1
  279. package/build/src/tools/utils/wallet.d.ts +0 -4
  280. package/build/src/tools/utils/wallet.js +0 -8
  281. package/build/src/tools/utils/wallet.js.map +0 -1
  282. package/build/src/tools/website-sync.d.ts +0 -28
  283. package/build/src/tools/website-sync.js +0 -198
  284. package/build/src/tools/website-sync.js.map +0 -1
  285. package/build/src/types/prepared.d.ts +0 -43
  286. package/build/src/types/prepared.js +0 -15
  287. package/build/src/types/prepared.js.map +0 -1
  288. package/build/src/utils/celo-format.d.ts +0 -6
  289. package/build/src/utils/celo-format.js +0 -17
  290. package/build/src/utils/celo-format.js.map +0 -1
  291. package/build/src/utils/erc20-allowance-storage.d.ts +0 -20
  292. package/build/src/utils/erc20-allowance-storage.js +0 -64
  293. package/build/src/utils/erc20-allowance-storage.js.map +0 -1
  294. package/build/src/utils/format-date.d.ts +0 -2
  295. package/build/src/utils/format-date.js +0 -13
  296. package/build/src/utils/format-date.js.map +0 -1
  297. package/build/src/utils/format-duration.d.ts +0 -2
  298. package/build/src/utils/format-duration.js +0 -17
  299. package/build/src/utils/format-duration.js.map +0 -1
  300. package/build/src/utils/format-unix-datetime.d.ts +0 -4
  301. package/build/src/utils/format-unix-datetime.js +0 -18
  302. package/build/src/utils/format-unix-datetime.js.map +0 -1
  303. package/build/src/utils/gooddollar-ubi-period.d.ts +0 -23
  304. package/build/src/utils/gooddollar-ubi-period.js +0 -23
  305. package/build/src/utils/gooddollar-ubi-period.js.map +0 -1
  306. package/build/src/utils/normalize-address.d.ts +0 -7
  307. package/build/src/utils/normalize-address.js +0 -16
  308. package/build/src/utils/normalize-address.js.map +0 -1
  309. package/build/src/utils/self-format.d.ts +0 -28
  310. package/build/src/utils/self-format.js +0 -79
  311. package/build/src/utils/self-format.js.map +0 -1
  312. package/build/src/utils/self-signing.d.ts +0 -4
  313. package/build/src/utils/self-signing.js +0 -38
  314. package/build/src/utils/self-signing.js.map +0 -1
  315. package/build/src/utils/transaction-errors.d.ts +0 -3
  316. package/build/src/utils/transaction-errors.js +0 -17
  317. package/build/src/utils/transaction-errors.js.map +0 -1
  318. package/build/tests/catalog/domains/blockchain.d.ts +0 -2
  319. package/build/tests/catalog/domains/blockchain.js +0 -127
  320. package/build/tests/catalog/domains/blockchain.js.map +0 -1
  321. package/build/tests/catalog/domains/chain-ext.d.ts +0 -5
  322. package/build/tests/catalog/domains/chain-ext.js +0 -207
  323. package/build/tests/catalog/domains/chain-ext.js.map +0 -1
  324. package/build/tests/catalog/domains/defi.d.ts +0 -6
  325. package/build/tests/catalog/domains/defi.js +0 -581
  326. package/build/tests/catalog/domains/defi.js.map +0 -1
  327. package/build/tests/catalog/domains/self.d.ts +0 -2
  328. package/build/tests/catalog/domains/self.js +0 -208
  329. package/build/tests/catalog/domains/self.js.map +0 -1
  330. package/build/tests/catalog/domains/token.d.ts +0 -2
  331. package/build/tests/catalog/domains/token.js +0 -70
  332. package/build/tests/catalog/domains/token.js.map +0 -1
  333. package/build/tests/catalog/domains/transaction.d.ts +0 -2
  334. package/build/tests/catalog/domains/transaction.js +0 -96
  335. package/build/tests/catalog/domains/transaction.js.map +0 -1
  336. package/build/tests/catalog/index.d.ts +0 -2
  337. package/build/tests/catalog/index.js +0 -2
  338. package/build/tests/catalog/index.js.map +0 -1
  339. package/build/tests/catalog/operations.d.ts +0 -12
  340. package/build/tests/catalog/operations.js +0 -29
  341. package/build/tests/catalog/operations.js.map +0 -1
  342. package/build/tests/catalog/types.d.ts +0 -24
  343. package/build/tests/catalog/types.js +0 -2
  344. package/build/tests/catalog/types.js.map +0 -1
  345. package/build/tests/fixtures/mainnet.d.ts +0 -54
  346. package/build/tests/fixtures/mainnet.js +0 -53
  347. package/build/tests/fixtures/mainnet.js.map +0 -1
  348. package/build/tests/helpers/assert.d.ts +0 -4
  349. package/build/tests/helpers/assert.js +0 -24
  350. package/build/tests/helpers/assert.js.map +0 -1
  351. package/build/tests/helpers/env.d.ts +0 -12
  352. package/build/tests/helpers/env.js +0 -29
  353. package/build/tests/helpers/env.js.map +0 -1
  354. package/build/tests/helpers/gating.d.ts +0 -3
  355. package/build/tests/helpers/gating.js +0 -23
  356. package/build/tests/helpers/gating.js.map +0 -1
  357. package/build/tests/testing-entry.d.ts +0 -6
  358. package/build/tests/testing-entry.js +0 -6
  359. package/build/tests/testing-entry.js.map +0 -1
@@ -1,81 +0,0 @@
1
- import { AsyncLocalStorage } from "node:async_hooks";
2
- import { WALLET_EXTRACT_BY_SDK_METHOD } from "./wallet-extract.js";
3
- const WALLET_RE = /^0x[a-fA-F0-9]{40}$/;
4
- const analyticsWalletStorage = new AsyncLocalStorage();
5
- /** Validate and normalize a Celo address for telemetry `user_id`. */
6
- export function normalizeWalletAddress(value) {
7
- if (typeof value !== "string") {
8
- return undefined;
9
- }
10
- const trimmed = value.trim();
11
- if (!WALLET_RE.test(trimmed)) {
12
- return undefined;
13
- }
14
- return trimmed.toLowerCase();
15
- }
16
- function walletFromArgValue(value) {
17
- const direct = normalizeWalletAddress(value);
18
- if (direct) {
19
- return direct;
20
- }
21
- if (value && typeof value === "object" && !Array.isArray(value)) {
22
- for (const key of [
23
- "address",
24
- "wallet_address",
25
- "from",
26
- "owner",
27
- "accountAddress",
28
- "fromAddress",
29
- ]) {
30
- const nested = normalizeWalletAddress(value[key]);
31
- if (nested) {
32
- return nested;
33
- }
34
- }
35
- }
36
- return undefined;
37
- }
38
- /** Extract wallet from read args using catalog-generated rules. */
39
- export function extractWalletFromReadArgs(methodKey, args) {
40
- const rule = WALLET_EXTRACT_BY_SDK_METHOD[methodKey];
41
- if (!rule) {
42
- return undefined;
43
- }
44
- if (rule.positional !== undefined) {
45
- const fromPos = walletFromArgValue(args[rule.positional]);
46
- if (fromPos) {
47
- return fromPos;
48
- }
49
- }
50
- if (rule.objectKeys) {
51
- for (const arg of args) {
52
- if (!arg || typeof arg !== "object" || Array.isArray(arg)) {
53
- continue;
54
- }
55
- const obj = arg;
56
- for (const key of rule.objectKeys) {
57
- const found = normalizeWalletAddress(obj[key]);
58
- if (found) {
59
- return found;
60
- }
61
- }
62
- }
63
- }
64
- return undefined;
65
- }
66
- /** Run async/sync work with a request-scoped analytics wallet (singleton SDK clients). */
67
- export function runWithAnalyticsWallet(address, fn) {
68
- const normalized = normalizeWalletAddress(address);
69
- return analyticsWalletStorage.run(normalized, fn);
70
- }
71
- /** Resolve wallet for telemetry: read args → ALS → config default. */
72
- export function resolveAnalyticsWallet(methodKey, args, config) {
73
- return (extractWalletFromReadArgs(methodKey, args) ??
74
- analyticsWalletStorage.getStore() ??
75
- normalizeWalletAddress(config.analyticsWalletAddress));
76
- }
77
- /** Test-only: clear ALS between cases. */
78
- export function resetAnalyticsWalletStorageForTests() {
79
- analyticsWalletStorage.disable();
80
- }
81
- //# sourceMappingURL=wallet-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-context.js","sourceRoot":"","sources":["../../../src/analytics/wallet-context.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Generated by scripts/generate-mcp-analytics-map.mjs — do not edit by hand.
3
- * Catalog-derived rules for extracting wallet addresses from SDK read call args.
4
- */
5
- export type WalletExtractRule = {
6
- positional?: number;
7
- objectKeys?: readonly string[];
8
- };
9
- export declare const WALLET_EXTRACT_BY_SDK_METHOD: Readonly<Record<string, WalletExtractRule>>;
@@ -1,21 +0,0 @@
1
- export const WALLET_EXTRACT_BY_SDK_METHOD = {
2
- "aave.getBalances": { positional: 0, objectKeys: ["address"] },
3
- "account.getAccount": { positional: 0, objectKeys: ["address"] },
4
- "contract.callFunction": { objectKeys: ["address"] },
5
- "contract.estimateGas": { objectKeys: ["address"] },
6
- "gooddollar.getIdentityLink": { positional: 0, objectKeys: ["address"] },
7
- "gooddollar.getUbiClaimEligibility": { positional: 0, objectKeys: ["address"] },
8
- "gooddollar.getWhitelistingInfo": { positional: 0, objectKeys: ["address"] },
9
- "nft.getNftBalance": { objectKeys: ["address"] },
10
- "nft.getNftInfo": { objectKeys: ["address"] },
11
- "self.verifySelfAgent": { objectKeys: ["address", "agent_address"] },
12
- "staking.getActivatableStakes": { positional: 0, objectKeys: ["address"] },
13
- "staking.getStakingBalances": { positional: 0, objectKeys: ["address"] },
14
- "staking.getValidatorGroupDetails": { objectKeys: ["address"] },
15
- "token.getBalances": { objectKeys: ["address"] },
16
- "token.getStablecoinBalances": { positional: 0, objectKeys: ["address"] },
17
- "token.getTokenBalance": { positional: 1, objectKeys: ["address"] },
18
- "transaction.estimateSend": { positional: 1 },
19
- "transaction.estimateTransaction": { objectKeys: ["from"] },
20
- };
21
- //# sourceMappingURL=wallet-extract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-extract.js","sourceRoot":"","sources":["../../../src/analytics/wallet-extract.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,4BAA4B,GAErC;IACF,kBAAkB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAC9D,oBAAoB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAChE,uBAAuB,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IACpD,sBAAsB,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IACnD,4BAA4B,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IACxE,mCAAmC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAC/E,gCAAgC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAC5E,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAChD,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAC7C,sBAAsB,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,EAAC,eAAe,CAAC,EAAE;IACnE,8BAA8B,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAC1E,4BAA4B,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IACxE,kCAAkC,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAC/D,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IAChD,6BAA6B,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IACzE,uBAAuB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;IACnE,0BAA0B,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;IAC7C,iCAAiC,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE;CACnD,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { SdkConfig } from "../config/sdk-config.js";
2
- /**
3
- * Wrap a domain service so catalog-mapped async reads emit Amplitude events (MCP tool names).
4
- */
5
- export declare function wrapServiceForAnalytics<T extends object>(serviceKey: string, service: T, config: SdkConfig): T;
@@ -1,38 +0,0 @@
1
- import { trackMcpTool } from "./amplitude.js";
2
- import { isAnalyticsEnabled } from "./config.js";
3
- import { MCP_TOOL_EVENT_BY_SDK_METHOD } from "./mcp-tool-events.js";
4
- /**
5
- * Wrap a domain service so catalog-mapped async reads emit Amplitude events (MCP tool names).
6
- */
7
- export function wrapServiceForAnalytics(serviceKey, service, config) {
8
- if (!isAnalyticsEnabled(config)) {
9
- return service;
10
- }
11
- return new Proxy(service, {
12
- get(target, prop, receiver) {
13
- const value = Reflect.get(target, prop, receiver);
14
- if (typeof prop !== "string" || typeof value !== "function") {
15
- return value;
16
- }
17
- const methodKey = `${serviceKey}.${prop}`;
18
- const eventName = MCP_TOOL_EVENT_BY_SDK_METHOD[methodKey];
19
- if (!eventName) {
20
- return value.bind(target);
21
- }
22
- const fn = value;
23
- return (...args) => {
24
- const result = fn.apply(target, args);
25
- const context = { methodKey, args };
26
- if (result !== null && typeof result === "object" && "then" in result) {
27
- return result.then((resolved) => {
28
- trackMcpTool(eventName, config, context);
29
- return resolved;
30
- });
31
- }
32
- trackMcpTool(eventName, config, context);
33
- return result;
34
- };
35
- },
36
- });
37
- }
38
- //# sourceMappingURL=wrap-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-service.js","sourceRoot":"","sources":["../../../src/analytics/wrap-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,OAAU,EACV,MAAiB;IAEjB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;QACxB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,EAAE,GAAG,KAAwC,CAAC;YACpD,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBACpC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;oBACtE,OAAQ,MAA2B,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACpD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;wBACzC,OAAO,QAAQ,CAAC;oBAClB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACzC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Cached viem public client for Celo mainnet RPC reads.
3
- */
4
- import { type PublicClient } from "viem";
5
- import type { SdkConfig } from "../config/sdk-config.js";
6
- /** viem public client bundle for Celo mainnet. */
7
- export interface CeloClients {
8
- public: PublicClient;
9
- }
10
- /** Lazily constructs and caches a Celo mainnet public client from `SdkConfig`. */
11
- export declare class CeloClientFactory {
12
- private readonly config;
13
- private clients;
14
- constructor(config: SdkConfig);
15
- /** Return resolved SDK config used by this factory. */
16
- getConfig(): Readonly<SdkConfig>;
17
- /** Return a shared public client (created on first call). */
18
- getClients(): CeloClients;
19
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * Cached viem public client for Celo mainnet RPC reads.
3
- */
4
- import { createPublicClient, http, } from "viem";
5
- import { CHAIN, DEFAULT_RPC_URL } from "../config/chains.js";
6
- /** Lazily constructs and caches a Celo mainnet public client from `SdkConfig`. */
7
- export class CeloClientFactory {
8
- config;
9
- clients = null;
10
- constructor(config) {
11
- this.config = config;
12
- }
13
- /** Return resolved SDK config used by this factory. */
14
- getConfig() {
15
- return this.config;
16
- }
17
- /** Return a shared public client (created on first call). */
18
- getClients() {
19
- if (this.clients) {
20
- return this.clients;
21
- }
22
- const rpcUrl = this.config.rpcUrl ?? DEFAULT_RPC_URL;
23
- const transport = http(rpcUrl);
24
- const publicClient = createPublicClient({
25
- chain: CHAIN,
26
- transport,
27
- });
28
- this.clients = { public: publicClient };
29
- return this.clients;
30
- }
31
- }
32
- //# sourceMappingURL=celo-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo-client.js","sourceRoot":"","sources":["../../../src/clients/celo-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,kBAAkB,EAClB,IAAI,GAEL,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO7D,kFAAkF;AAClF,MAAM,OAAO,iBAAiB;IAGC;IAFrB,OAAO,GAAuB,IAAI,CAAC;IAE3C,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,uDAAuD;IACvD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,6DAA6D;IAC7D,UAAU;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,KAAK,EAAE,KAAK;YACZ,SAAS;SACV,CAAiB,CAAC;QAEnB,IAAI,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Ethereum mainnet public client for ENS resolution (CCIP-read gateway).
3
- */
4
- import { type PublicClient } from "viem";
5
- import type { SdkConfig } from "../config/sdk-config.js";
6
- /** Default Ethereum RPC when `ethRpcUrl` is not set in `SdkConfig`. */
7
- export declare const DEFAULT_ETH_RPC_URL = "https://ethereum.publicnode.com";
8
- /** CCIP-read gateway used by viem ENS helpers. */
9
- export declare const ENS_CCIP_GATEWAY = "https://ccip.ens.xyz";
10
- /** Lazily constructs and caches an Ethereum mainnet client for ENS lookups. */
11
- export declare class EnsClientFactory {
12
- private readonly config;
13
- private client;
14
- constructor(config: SdkConfig);
15
- /** Return a shared Ethereum public client (created on first call). */
16
- getClient(): PublicClient;
17
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * Ethereum mainnet public client for ENS resolution (CCIP-read gateway).
3
- */
4
- import { createPublicClient, http } from "viem";
5
- import { mainnet } from "viem/chains";
6
- /** Default Ethereum RPC when `ethRpcUrl` is not set in `SdkConfig`. */
7
- export const DEFAULT_ETH_RPC_URL = "https://ethereum.publicnode.com";
8
- /** CCIP-read gateway used by viem ENS helpers. */
9
- export const ENS_CCIP_GATEWAY = "https://ccip.ens.xyz";
10
- /** Lazily constructs and caches an Ethereum mainnet client for ENS lookups. */
11
- export class EnsClientFactory {
12
- config;
13
- client = null;
14
- constructor(config) {
15
- this.config = config;
16
- }
17
- /** Return a shared Ethereum public client (created on first call). */
18
- getClient() {
19
- if (this.client) {
20
- return this.client;
21
- }
22
- const rpcUrl = this.config.ethRpcUrl ?? DEFAULT_ETH_RPC_URL;
23
- this.client = createPublicClient({
24
- chain: mainnet,
25
- transport: http(rpcUrl, { timeout: 15_000 }),
26
- });
27
- return this.client;
28
- }
29
- }
30
- //# sourceMappingURL=ens-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ens-client.js","sourceRoot":"","sources":["../../../src/clients/ens-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAqB,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,uEAAuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAErE,kDAAkD;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEvD,+EAA+E;AAC/E,MAAM,OAAO,gBAAgB;IAGE;IAFrB,MAAM,GAAwB,IAAI,CAAC;IAE3C,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,sEAAsE;IACtE,SAAS;QACP,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC;YAC/B,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;SAC7C,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export declare const Mento: typeof import("@mento-protocol/mento-sdk").Mento, ChainId: typeof import("@mento-protocol/mento-sdk").ChainId, deadlineFromMinutes: typeof import("@mento-protocol/mento-sdk").deadlineFromMinutes, RouteNotFoundError: typeof import("@mento-protocol/mento-sdk").RouteNotFoundError, FXMarketClosedError: typeof import("@mento-protocol/mento-sdk").FXMarketClosedError;
2
- export type { CallParams } from "@mento-protocol/mento-sdk";
@@ -1,9 +0,0 @@
1
- import { createRequire } from "node:module";
2
- /**
3
- * @mento-protocol/mento-sdk's ESM build omits .js extensions on internal imports.
4
- * Load the CJS entry via createRequire until upstream fixes exports.
5
- */
6
- const require = createRequire(import.meta.url);
7
- const mentoSdk = require("@mento-protocol/mento-sdk");
8
- export const { Mento, ChainId, deadlineFromMinutes, RouteNotFoundError, FXMarketClosedError, } = mentoSdk;
9
- //# sourceMappingURL=mento-sdk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mento-sdk.js","sourceRoot":"","sources":["../../../src/clients/mento-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;GAGG;AACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,QAAQ,GAAG,OAAO,CAAC,2BAA2B,CAA+C,CAAC;AAEpG,MAAM,CAAC,MAAM,EACX,KAAK,EACL,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,GAAG,QAAQ,CAAC"}
@@ -1,82 +0,0 @@
1
- import { type SelfRegistrationMode } from "../config/self.js";
2
- export declare class SelfApiError extends Error {
3
- constructor(message: string);
4
- }
5
- export declare class SelfExpiredSessionError extends Error {
6
- constructor(message?: string);
7
- }
8
- export interface SelfRegistrationDisclosures {
9
- minimumAge?: number;
10
- ofac?: boolean;
11
- }
12
- export interface SelfRegistrationResult {
13
- agentId: number;
14
- agentAddress: string;
15
- credentials?: unknown;
16
- txHash?: string;
17
- }
18
- export interface SelfRefreshResult {
19
- proofExpiresAt: Date;
20
- }
21
- export interface SelfRegistrationSession {
22
- sessionToken: string;
23
- stage: string;
24
- deepLink: string;
25
- scanUrl?: string;
26
- agentAddress: string;
27
- expiresAt: string;
28
- timeRemainingMs?: number;
29
- humanInstructions: string[];
30
- waitForCompletion(opts?: {
31
- timeoutMs?: number;
32
- pollIntervalMs?: number;
33
- }): Promise<SelfRegistrationResult>;
34
- exportKey(): Promise<string>;
35
- }
36
- export interface SelfRefreshSession {
37
- sessionToken: string;
38
- stage: string;
39
- deepLink: string;
40
- scanUrl?: string;
41
- expiresAt: string;
42
- timeRemainingMs?: number;
43
- humanInstructions: string[];
44
- waitForCompletion(opts?: {
45
- timeoutMs?: number;
46
- pollIntervalMs?: number;
47
- }): Promise<SelfRefreshResult>;
48
- }
49
- export interface SelfDeregistrationSession {
50
- sessionToken: string;
51
- stage: string;
52
- deepLink: string;
53
- scanUrl?: string;
54
- expiresAt: string;
55
- timeRemainingMs?: number;
56
- humanInstructions: string[];
57
- waitForCompletion(opts?: {
58
- timeoutMs?: number;
59
- pollIntervalMs?: number;
60
- }): Promise<void>;
61
- }
62
- export declare function requestRegistration(opts: {
63
- mode?: SelfRegistrationMode;
64
- disclosures?: SelfRegistrationDisclosures;
65
- humanAddress?: string;
66
- agentName?: string;
67
- agentDescription?: string;
68
- apiBase?: string;
69
- }): Promise<SelfRegistrationSession>;
70
- export declare function requestDeregistration(opts: {
71
- agentAddress: string;
72
- disclosures?: SelfRegistrationDisclosures;
73
- apiBase?: string;
74
- }): Promise<SelfDeregistrationSession>;
75
- export declare function requestProofRefresh(opts: {
76
- agentId: number;
77
- disclosures?: SelfRegistrationDisclosures;
78
- apiBase?: string;
79
- }): Promise<SelfRefreshSession>;
80
- export declare function getAgentInfo(agentId: number, apiBase?: string): Promise<Record<string, unknown>>;
81
- export declare function getAgentsForHuman(address: string, apiBase?: string): Promise<Record<string, unknown>>;
82
- export declare function selfQrUrl(sessionToken: string, apiBase?: string): string;
@@ -1,242 +0,0 @@
1
- import { SELF_API_BASE, SELF_API_NETWORK, SELF_CHAIN_ID, } from "../config/self.js";
2
- const DEFAULT_POLL_INTERVAL_MS = 5000;
3
- const DEFAULT_TIMEOUT_MS = 30 * 60 * 1000;
4
- export class SelfApiError extends Error {
5
- constructor(message) {
6
- super(message);
7
- this.name = "SelfApiError";
8
- }
9
- }
10
- export class SelfExpiredSessionError extends Error {
11
- constructor(message = "Session expired. Start a new registration flow.") {
12
- super(message);
13
- this.name = "SelfExpiredSessionError";
14
- }
15
- }
16
- function resolveApiBase(apiBase) {
17
- return (apiBase ?? process.env.SELF_AGENT_API_BASE ?? SELF_API_BASE).replace(/\/+$/, "");
18
- }
19
- function sleep(ms) {
20
- return new Promise((resolve) => setTimeout(resolve, ms));
21
- }
22
- async function apiFetch(url, init) {
23
- const res = await fetch(url, init);
24
- const body = (await res.json());
25
- if (!res.ok) {
26
- const errorMsg = typeof body.error === "string" ? body.error : `HTTP ${res.status}`;
27
- throw new SelfApiError(errorMsg);
28
- }
29
- return body;
30
- }
31
- function sessionAuthHeaders(sessionToken) {
32
- return { Authorization: `Bearer ${sessionToken}` };
33
- }
34
- async function fetchSessionStatus(apiBase, path, sessionToken) {
35
- return apiFetch(`${apiBase}${path}?token=${encodeURIComponent(sessionToken)}`, { headers: sessionAuthHeaders(sessionToken) });
36
- }
37
- function handleSessionStatusError(error, expiredMessage) {
38
- if (error instanceof SelfApiError &&
39
- error.message.toLowerCase().includes("expired")) {
40
- throw new SelfExpiredSessionError(expiredMessage);
41
- }
42
- throw error;
43
- }
44
- function optionalScanUrl(data) {
45
- return typeof data.scanUrl === "string" ? data.scanUrl : undefined;
46
- }
47
- function buildRegistrationSession(data, apiBase) {
48
- let currentToken = String(data.sessionToken);
49
- return {
50
- sessionToken: currentToken,
51
- stage: String(data.stage),
52
- deepLink: String(data.deepLink),
53
- scanUrl: optionalScanUrl(data),
54
- agentAddress: String(data.agentAddress),
55
- expiresAt: String(data.expiresAt),
56
- timeRemainingMs: typeof data.timeRemainingMs === "number" ? data.timeRemainingMs : undefined,
57
- humanInstructions: Array.isArray(data.humanInstructions)
58
- ? data.humanInstructions.map(String)
59
- : [],
60
- async waitForCompletion(opts) {
61
- const timeout = opts?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
62
- const interval = opts?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
63
- const deadline = Date.now() + timeout;
64
- while (Date.now() < deadline) {
65
- await sleep(interval);
66
- let status;
67
- try {
68
- status = await fetchSessionStatus(apiBase, "/api/agent/register/status", currentToken);
69
- }
70
- catch (error) {
71
- handleSessionStatusError(error, "Session expired. Start a new registration flow.");
72
- }
73
- currentToken = String(status.sessionToken);
74
- if (status.stage === "completed") {
75
- return {
76
- agentId: Number(status.agentId),
77
- agentAddress: String(status.agentAddress ?? data.agentAddress),
78
- credentials: status.credentials,
79
- txHash: typeof status.txHash === "string" ? status.txHash : undefined,
80
- };
81
- }
82
- if (status.stage === "failed") {
83
- throw new SelfApiError("Registration failed on-chain.");
84
- }
85
- if (status.stage === "expired") {
86
- throw new SelfExpiredSessionError();
87
- }
88
- }
89
- throw new SelfApiError(`Registration did not complete within ${timeout}ms. Call check_self_registration again to resume polling.`);
90
- },
91
- async exportKey() {
92
- const result = await apiFetch(`${apiBase}/api/agent/register/export`, {
93
- method: "POST",
94
- headers: {
95
- "Content-Type": "application/json",
96
- ...sessionAuthHeaders(currentToken),
97
- },
98
- body: JSON.stringify({ token: currentToken }),
99
- });
100
- return result.privateKey;
101
- },
102
- };
103
- }
104
- function buildRefreshSession(data, apiBase) {
105
- let currentToken = String(data.sessionToken);
106
- return {
107
- sessionToken: currentToken,
108
- stage: String(data.stage),
109
- deepLink: String(data.deepLink),
110
- scanUrl: optionalScanUrl(data),
111
- expiresAt: String(data.expiresAt),
112
- timeRemainingMs: typeof data.timeRemainingMs === "number" ? data.timeRemainingMs : undefined,
113
- humanInstructions: Array.isArray(data.humanInstructions)
114
- ? data.humanInstructions.map(String)
115
- : [],
116
- async waitForCompletion(opts) {
117
- const timeout = opts?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
118
- const interval = opts?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
119
- const deadline = Date.now() + timeout;
120
- while (Date.now() < deadline) {
121
- await sleep(interval);
122
- let status;
123
- try {
124
- status = await fetchSessionStatus(apiBase, "/api/agent/refresh/status", currentToken);
125
- }
126
- catch (error) {
127
- handleSessionStatusError(error, "Proof refresh session expired. Call refresh_self_proof to start a new session.");
128
- }
129
- currentToken = String(status.sessionToken);
130
- if (status.stage === "completed") {
131
- const expiresAtRaw = status.proofExpiresAt;
132
- const proofExpiresAt = typeof expiresAtRaw === "string" || typeof expiresAtRaw === "number"
133
- ? new Date(expiresAtRaw)
134
- : new Date(Date.now() + 365 * 24 * 60 * 60 * 1000);
135
- return { proofExpiresAt };
136
- }
137
- if (status.stage === "failed") {
138
- throw new SelfApiError("Proof refresh failed on-chain.");
139
- }
140
- if (status.stage === "expired") {
141
- throw new SelfExpiredSessionError("Proof refresh session expired. Call refresh_self_proof to start a new session.");
142
- }
143
- }
144
- throw new SelfApiError(`Proof refresh did not complete within ${timeout}ms. Call check_self_registration again to resume polling.`);
145
- },
146
- };
147
- }
148
- function buildDeregistrationSession(data, apiBase) {
149
- let currentToken = String(data.sessionToken);
150
- return {
151
- sessionToken: currentToken,
152
- stage: String(data.stage),
153
- deepLink: String(data.deepLink),
154
- scanUrl: optionalScanUrl(data),
155
- expiresAt: String(data.expiresAt),
156
- timeRemainingMs: typeof data.timeRemainingMs === "number" ? data.timeRemainingMs : undefined,
157
- humanInstructions: Array.isArray(data.humanInstructions)
158
- ? data.humanInstructions.map(String)
159
- : [],
160
- async waitForCompletion(opts) {
161
- const timeout = opts?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
162
- const interval = opts?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
163
- const deadline = Date.now() + timeout;
164
- while (Date.now() < deadline) {
165
- await sleep(interval);
166
- let status;
167
- try {
168
- status = await fetchSessionStatus(apiBase, "/api/agent/deregister/status", currentToken);
169
- }
170
- catch (error) {
171
- handleSessionStatusError(error, "Deregistration session expired. Call deregister_self_agent to start a new session.");
172
- }
173
- currentToken = String(status.sessionToken);
174
- if (status.stage === "completed") {
175
- return;
176
- }
177
- if (status.stage === "failed") {
178
- throw new SelfApiError("Deregistration failed on-chain.");
179
- }
180
- if (status.stage === "expired") {
181
- throw new SelfExpiredSessionError("Deregistration session expired. Call deregister_self_agent to start a new session.");
182
- }
183
- }
184
- throw new SelfApiError(`Deregistration did not complete within ${timeout}ms. Call check_self_registration again to resume polling.`);
185
- },
186
- };
187
- }
188
- export async function requestRegistration(opts) {
189
- const base = resolveApiBase(opts.apiBase);
190
- const payload = {
191
- mode: opts.mode ?? "wallet-free",
192
- network: SELF_API_NETWORK,
193
- disclosures: opts.disclosures,
194
- humanAddress: opts.humanAddress,
195
- agentName: opts.agentName,
196
- agentDescription: opts.agentDescription,
197
- };
198
- const data = await apiFetch(`${base}/api/agent/register`, {
199
- method: "POST",
200
- headers: { "Content-Type": "application/json" },
201
- body: JSON.stringify(payload),
202
- });
203
- return buildRegistrationSession(data, base);
204
- }
205
- export async function requestDeregistration(opts) {
206
- const base = resolveApiBase(opts.apiBase);
207
- const data = await apiFetch(`${base}/api/agent/deregister`, {
208
- method: "POST",
209
- headers: { "Content-Type": "application/json" },
210
- body: JSON.stringify({
211
- network: SELF_API_NETWORK,
212
- agentAddress: opts.agentAddress,
213
- disclosures: opts.disclosures,
214
- }),
215
- });
216
- return buildDeregistrationSession(data, base);
217
- }
218
- export async function requestProofRefresh(opts) {
219
- const base = resolveApiBase(opts.apiBase);
220
- const data = await apiFetch(`${base}/api/agent/refresh`, {
221
- method: "POST",
222
- headers: { "Content-Type": "application/json" },
223
- body: JSON.stringify({
224
- agentId: opts.agentId,
225
- network: SELF_API_NETWORK,
226
- disclosures: opts.disclosures,
227
- }),
228
- });
229
- return buildRefreshSession(data, base);
230
- }
231
- export async function getAgentInfo(agentId, apiBase) {
232
- const base = resolveApiBase(apiBase);
233
- return apiFetch(`${base}/api/agent/info/${SELF_CHAIN_ID}/${agentId}`);
234
- }
235
- export async function getAgentsForHuman(address, apiBase) {
236
- const base = resolveApiBase(apiBase);
237
- return apiFetch(`${base}/api/agent/agents/${SELF_CHAIN_ID}/${address}`);
238
- }
239
- export function selfQrUrl(sessionToken, apiBase) {
240
- return `${resolveApiBase(apiBase)}/scan/${sessionToken}`;
241
- }
242
- //# sourceMappingURL=self-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"self-api.js","sourceRoot":"","sources":["../../../src/clients/self-api.ts"],"names":[],"mappings":"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"}