@waiaas/daemon 2.0.0-rc.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 (480) hide show
  1. package/dist/api/error-hints.d.ts +15 -0
  2. package/dist/api/error-hints.d.ts.map +1 -0
  3. package/dist/api/error-hints.js +71 -0
  4. package/dist/api/error-hints.js.map +1 -0
  5. package/dist/api/index.d.ts +11 -0
  6. package/dist/api/index.d.ts.map +1 -0
  7. package/dist/api/index.js +14 -0
  8. package/dist/api/index.js.map +1 -0
  9. package/dist/api/middleware/address-validation.d.ts +38 -0
  10. package/dist/api/middleware/address-validation.d.ts.map +1 -0
  11. package/dist/api/middleware/address-validation.js +134 -0
  12. package/dist/api/middleware/address-validation.js.map +1 -0
  13. package/dist/api/middleware/csp.d.ts +17 -0
  14. package/dist/api/middleware/csp.d.ts.map +1 -0
  15. package/dist/api/middleware/csp.js +31 -0
  16. package/dist/api/middleware/csp.js.map +1 -0
  17. package/dist/api/middleware/error-handler.d.ts +16 -0
  18. package/dist/api/middleware/error-handler.d.ts.map +1 -0
  19. package/dist/api/middleware/error-handler.js +46 -0
  20. package/dist/api/middleware/error-handler.js.map +1 -0
  21. package/dist/api/middleware/host-guard.d.ts +11 -0
  22. package/dist/api/middleware/host-guard.d.ts.map +1 -0
  23. package/dist/api/middleware/host-guard.js +25 -0
  24. package/dist/api/middleware/host-guard.js.map +1 -0
  25. package/dist/api/middleware/index.d.ts +13 -0
  26. package/dist/api/middleware/index.d.ts.map +1 -0
  27. package/dist/api/middleware/index.js +13 -0
  28. package/dist/api/middleware/index.js.map +1 -0
  29. package/dist/api/middleware/kill-switch-guard.d.ts +19 -0
  30. package/dist/api/middleware/kill-switch-guard.d.ts.map +1 -0
  31. package/dist/api/middleware/kill-switch-guard.js +49 -0
  32. package/dist/api/middleware/kill-switch-guard.js.map +1 -0
  33. package/dist/api/middleware/master-auth.d.ts +15 -0
  34. package/dist/api/middleware/master-auth.d.ts.map +1 -0
  35. package/dist/api/middleware/master-auth.js +35 -0
  36. package/dist/api/middleware/master-auth.js.map +1 -0
  37. package/dist/api/middleware/owner-auth.d.ts +30 -0
  38. package/dist/api/middleware/owner-auth.d.ts.map +1 -0
  39. package/dist/api/middleware/owner-auth.js +133 -0
  40. package/dist/api/middleware/owner-auth.js.map +1 -0
  41. package/dist/api/middleware/request-id.d.ts +10 -0
  42. package/dist/api/middleware/request-id.d.ts.map +1 -0
  43. package/dist/api/middleware/request-id.js +18 -0
  44. package/dist/api/middleware/request-id.js.map +1 -0
  45. package/dist/api/middleware/request-logger.d.ts +9 -0
  46. package/dist/api/middleware/request-logger.d.ts.map +1 -0
  47. package/dist/api/middleware/request-logger.js +18 -0
  48. package/dist/api/middleware/request-logger.js.map +1 -0
  49. package/dist/api/middleware/session-auth.d.ts +21 -0
  50. package/dist/api/middleware/session-auth.d.ts.map +1 -0
  51. package/dist/api/middleware/session-auth.js +51 -0
  52. package/dist/api/middleware/session-auth.js.map +1 -0
  53. package/dist/api/middleware/siwe-verify.d.ts +31 -0
  54. package/dist/api/middleware/siwe-verify.d.ts.map +1 -0
  55. package/dist/api/middleware/siwe-verify.js +55 -0
  56. package/dist/api/middleware/siwe-verify.js.map +1 -0
  57. package/dist/api/routes/actions.d.ts +56 -0
  58. package/dist/api/routes/actions.d.ts.map +1 -0
  59. package/dist/api/routes/actions.js +291 -0
  60. package/dist/api/routes/actions.js.map +1 -0
  61. package/dist/api/routes/admin.d.ts +99 -0
  62. package/dist/api/routes/admin.d.ts.map +1 -0
  63. package/dist/api/routes/admin.js +1304 -0
  64. package/dist/api/routes/admin.js.map +1 -0
  65. package/dist/api/routes/display-currency-helper.d.ts +26 -0
  66. package/dist/api/routes/display-currency-helper.d.ts.map +1 -0
  67. package/dist/api/routes/display-currency-helper.js +47 -0
  68. package/dist/api/routes/display-currency-helper.js.map +1 -0
  69. package/dist/api/routes/health.d.ts +14 -0
  70. package/dist/api/routes/health.d.ts.map +1 -0
  71. package/dist/api/routes/health.js +47 -0
  72. package/dist/api/routes/health.js.map +1 -0
  73. package/dist/api/routes/index.d.ts +15 -0
  74. package/dist/api/routes/index.d.ts.map +1 -0
  75. package/dist/api/routes/index.js +15 -0
  76. package/dist/api/routes/index.js.map +1 -0
  77. package/dist/api/routes/mcp.d.ts +30 -0
  78. package/dist/api/routes/mcp.d.ts.map +1 -0
  79. package/dist/api/routes/mcp.js +156 -0
  80. package/dist/api/routes/mcp.js.map +1 -0
  81. package/dist/api/routes/nonce.d.ts +20 -0
  82. package/dist/api/routes/nonce.d.ts.map +1 -0
  83. package/dist/api/routes/nonce.js +48 -0
  84. package/dist/api/routes/nonce.js.map +1 -0
  85. package/dist/api/routes/openapi-schemas.d.ts +2281 -0
  86. package/dist/api/routes/openapi-schemas.d.ts.map +1 -0
  87. package/dist/api/routes/openapi-schemas.js +770 -0
  88. package/dist/api/routes/openapi-schemas.js.map +1 -0
  89. package/dist/api/routes/policies.d.ts +29 -0
  90. package/dist/api/routes/policies.d.ts.map +1 -0
  91. package/dist/api/routes/policies.js +332 -0
  92. package/dist/api/routes/policies.js.map +1 -0
  93. package/dist/api/routes/sessions.d.ts +35 -0
  94. package/dist/api/routes/sessions.d.ts.map +1 -0
  95. package/dist/api/routes/sessions.js +347 -0
  96. package/dist/api/routes/sessions.js.map +1 -0
  97. package/dist/api/routes/skills.d.ts +9 -0
  98. package/dist/api/routes/skills.d.ts.map +1 -0
  99. package/dist/api/routes/skills.js +59 -0
  100. package/dist/api/routes/skills.js.map +1 -0
  101. package/dist/api/routes/tokens.d.ts +25 -0
  102. package/dist/api/routes/tokens.d.ts.map +1 -0
  103. package/dist/api/routes/tokens.js +161 -0
  104. package/dist/api/routes/tokens.js.map +1 -0
  105. package/dist/api/routes/transactions.d.ts +68 -0
  106. package/dist/api/routes/transactions.d.ts.map +1 -0
  107. package/dist/api/routes/transactions.js +576 -0
  108. package/dist/api/routes/transactions.js.map +1 -0
  109. package/dist/api/routes/utils.d.ts +9 -0
  110. package/dist/api/routes/utils.d.ts.map +1 -0
  111. package/dist/api/routes/utils.js +52 -0
  112. package/dist/api/routes/utils.js.map +1 -0
  113. package/dist/api/routes/wallet.d.ts +36 -0
  114. package/dist/api/routes/wallet.d.ts.map +1 -0
  115. package/dist/api/routes/wallet.js +358 -0
  116. package/dist/api/routes/wallet.js.map +1 -0
  117. package/dist/api/routes/wallets.d.ts +43 -0
  118. package/dist/api/routes/wallets.d.ts.map +1 -0
  119. package/dist/api/routes/wallets.js +630 -0
  120. package/dist/api/routes/wallets.js.map +1 -0
  121. package/dist/api/routes/wc.d.ts +46 -0
  122. package/dist/api/routes/wc.d.ts.map +1 -0
  123. package/dist/api/routes/wc.js +354 -0
  124. package/dist/api/routes/wc.js.map +1 -0
  125. package/dist/api/routes/x402.d.ts +61 -0
  126. package/dist/api/routes/x402.d.ts.map +1 -0
  127. package/dist/api/routes/x402.js +493 -0
  128. package/dist/api/routes/x402.js.map +1 -0
  129. package/dist/api/server.d.ts +81 -0
  130. package/dist/api/server.d.ts.map +1 -0
  131. package/dist/api/server.js +406 -0
  132. package/dist/api/server.js.map +1 -0
  133. package/dist/index.d.ts +35 -0
  134. package/dist/index.d.ts.map +1 -0
  135. package/dist/index.js +43 -0
  136. package/dist/index.js.map +1 -0
  137. package/dist/infrastructure/action/action-provider-registry.d.ts +77 -0
  138. package/dist/infrastructure/action/action-provider-registry.d.ts.map +1 -0
  139. package/dist/infrastructure/action/action-provider-registry.js +239 -0
  140. package/dist/infrastructure/action/action-provider-registry.js.map +1 -0
  141. package/dist/infrastructure/action/api-key-store.d.ts +60 -0
  142. package/dist/infrastructure/action/api-key-store.d.ts.map +1 -0
  143. package/dist/infrastructure/action/api-key-store.js +130 -0
  144. package/dist/infrastructure/action/api-key-store.js.map +1 -0
  145. package/dist/infrastructure/action/index.d.ts +10 -0
  146. package/dist/infrastructure/action/index.d.ts.map +1 -0
  147. package/dist/infrastructure/action/index.js +9 -0
  148. package/dist/infrastructure/action/index.js.map +1 -0
  149. package/dist/infrastructure/adapter-pool.d.ts +50 -0
  150. package/dist/infrastructure/adapter-pool.d.ts.map +1 -0
  151. package/dist/infrastructure/adapter-pool.js +110 -0
  152. package/dist/infrastructure/adapter-pool.js.map +1 -0
  153. package/dist/infrastructure/backup/backup-service.d.ts +53 -0
  154. package/dist/infrastructure/backup/backup-service.d.ts.map +1 -0
  155. package/dist/infrastructure/backup/backup-service.js +158 -0
  156. package/dist/infrastructure/backup/backup-service.js.map +1 -0
  157. package/dist/infrastructure/backup/index.d.ts +2 -0
  158. package/dist/infrastructure/backup/index.d.ts.map +1 -0
  159. package/dist/infrastructure/backup/index.js +2 -0
  160. package/dist/infrastructure/backup/index.js.map +1 -0
  161. package/dist/infrastructure/config/index.d.ts +8 -0
  162. package/dist/infrastructure/config/index.d.ts.map +1 -0
  163. package/dist/infrastructure/config/index.js +7 -0
  164. package/dist/infrastructure/config/index.js.map +1 -0
  165. package/dist/infrastructure/config/loader.d.ts +555 -0
  166. package/dist/infrastructure/config/loader.d.ts.map +1 -0
  167. package/dist/infrastructure/config/loader.js +311 -0
  168. package/dist/infrastructure/config/loader.js.map +1 -0
  169. package/dist/infrastructure/database/checks.d.ts +19 -0
  170. package/dist/infrastructure/database/checks.d.ts.map +1 -0
  171. package/dist/infrastructure/database/checks.js +27 -0
  172. package/dist/infrastructure/database/checks.js.map +1 -0
  173. package/dist/infrastructure/database/compatibility.d.ts +36 -0
  174. package/dist/infrastructure/database/compatibility.d.ts.map +1 -0
  175. package/dist/infrastructure/database/compatibility.js +75 -0
  176. package/dist/infrastructure/database/compatibility.js.map +1 -0
  177. package/dist/infrastructure/database/connection.d.ts +36 -0
  178. package/dist/infrastructure/database/connection.d.ts.map +1 -0
  179. package/dist/infrastructure/database/connection.js +47 -0
  180. package/dist/infrastructure/database/connection.js.map +1 -0
  181. package/dist/infrastructure/database/id.d.ts +17 -0
  182. package/dist/infrastructure/database/id.d.ts.map +1 -0
  183. package/dist/infrastructure/database/id.js +20 -0
  184. package/dist/infrastructure/database/id.js.map +1 -0
  185. package/dist/infrastructure/database/index.d.ts +15 -0
  186. package/dist/infrastructure/database/index.d.ts.map +1 -0
  187. package/dist/infrastructure/database/index.js +12 -0
  188. package/dist/infrastructure/database/index.js.map +1 -0
  189. package/dist/infrastructure/database/migrate.d.ts +76 -0
  190. package/dist/infrastructure/database/migrate.d.ts.map +1 -0
  191. package/dist/infrastructure/database/migrate.js +1214 -0
  192. package/dist/infrastructure/database/migrate.js.map +1 -0
  193. package/dist/infrastructure/database/schema.d.ts +2352 -0
  194. package/dist/infrastructure/database/schema.d.ts.map +1 -0
  195. package/dist/infrastructure/database/schema.js +288 -0
  196. package/dist/infrastructure/database/schema.js.map +1 -0
  197. package/dist/infrastructure/jwt/index.d.ts +2 -0
  198. package/dist/infrastructure/jwt/index.d.ts.map +1 -0
  199. package/dist/infrastructure/jwt/index.js +2 -0
  200. package/dist/infrastructure/jwt/index.js.map +1 -0
  201. package/dist/infrastructure/jwt/jwt-secret-manager.d.ts +58 -0
  202. package/dist/infrastructure/jwt/jwt-secret-manager.d.ts.map +1 -0
  203. package/dist/infrastructure/jwt/jwt-secret-manager.js +222 -0
  204. package/dist/infrastructure/jwt/jwt-secret-manager.js.map +1 -0
  205. package/dist/infrastructure/keystore/crypto.d.ts +62 -0
  206. package/dist/infrastructure/keystore/crypto.d.ts.map +1 -0
  207. package/dist/infrastructure/keystore/crypto.js +89 -0
  208. package/dist/infrastructure/keystore/crypto.js.map +1 -0
  209. package/dist/infrastructure/keystore/index.d.ts +4 -0
  210. package/dist/infrastructure/keystore/index.d.ts.map +1 -0
  211. package/dist/infrastructure/keystore/index.js +5 -0
  212. package/dist/infrastructure/keystore/index.js.map +1 -0
  213. package/dist/infrastructure/keystore/keystore.d.ts +115 -0
  214. package/dist/infrastructure/keystore/keystore.d.ts.map +1 -0
  215. package/dist/infrastructure/keystore/keystore.js +327 -0
  216. package/dist/infrastructure/keystore/keystore.js.map +1 -0
  217. package/dist/infrastructure/keystore/memory.d.ts +45 -0
  218. package/dist/infrastructure/keystore/memory.d.ts.map +1 -0
  219. package/dist/infrastructure/keystore/memory.js +105 -0
  220. package/dist/infrastructure/keystore/memory.js.map +1 -0
  221. package/dist/infrastructure/oracle/coingecko-forex.d.ts +35 -0
  222. package/dist/infrastructure/oracle/coingecko-forex.d.ts.map +1 -0
  223. package/dist/infrastructure/oracle/coingecko-forex.js +69 -0
  224. package/dist/infrastructure/oracle/coingecko-forex.js.map +1 -0
  225. package/dist/infrastructure/oracle/coingecko-oracle.d.ts +73 -0
  226. package/dist/infrastructure/oracle/coingecko-oracle.d.ts.map +1 -0
  227. package/dist/infrastructure/oracle/coingecko-oracle.js +199 -0
  228. package/dist/infrastructure/oracle/coingecko-oracle.js.map +1 -0
  229. package/dist/infrastructure/oracle/coingecko-platform-ids.d.ts +32 -0
  230. package/dist/infrastructure/oracle/coingecko-platform-ids.d.ts.map +1 -0
  231. package/dist/infrastructure/oracle/coingecko-platform-ids.js +30 -0
  232. package/dist/infrastructure/oracle/coingecko-platform-ids.js.map +1 -0
  233. package/dist/infrastructure/oracle/forex-currencies.d.ts +36 -0
  234. package/dist/infrastructure/oracle/forex-currencies.d.ts.map +1 -0
  235. package/dist/infrastructure/oracle/forex-currencies.js +71 -0
  236. package/dist/infrastructure/oracle/forex-currencies.js.map +1 -0
  237. package/dist/infrastructure/oracle/forex-rate-service.d.ts +51 -0
  238. package/dist/infrastructure/oracle/forex-rate-service.d.ts.map +1 -0
  239. package/dist/infrastructure/oracle/forex-rate-service.js +149 -0
  240. package/dist/infrastructure/oracle/forex-rate-service.js.map +1 -0
  241. package/dist/infrastructure/oracle/index.d.ts +18 -0
  242. package/dist/infrastructure/oracle/index.d.ts.map +1 -0
  243. package/dist/infrastructure/oracle/index.js +19 -0
  244. package/dist/infrastructure/oracle/index.js.map +1 -0
  245. package/dist/infrastructure/oracle/oracle-chain.d.ts +101 -0
  246. package/dist/infrastructure/oracle/oracle-chain.d.ts.map +1 -0
  247. package/dist/infrastructure/oracle/oracle-chain.js +163 -0
  248. package/dist/infrastructure/oracle/oracle-chain.js.map +1 -0
  249. package/dist/infrastructure/oracle/oracle-errors.d.ts +42 -0
  250. package/dist/infrastructure/oracle/oracle-errors.d.ts.map +1 -0
  251. package/dist/infrastructure/oracle/oracle-errors.js +53 -0
  252. package/dist/infrastructure/oracle/oracle-errors.js.map +1 -0
  253. package/dist/infrastructure/oracle/price-age.d.ts +38 -0
  254. package/dist/infrastructure/oracle/price-age.d.ts.map +1 -0
  255. package/dist/infrastructure/oracle/price-age.js +44 -0
  256. package/dist/infrastructure/oracle/price-age.js.map +1 -0
  257. package/dist/infrastructure/oracle/price-cache.d.ts +99 -0
  258. package/dist/infrastructure/oracle/price-cache.d.ts.map +1 -0
  259. package/dist/infrastructure/oracle/price-cache.js +173 -0
  260. package/dist/infrastructure/oracle/price-cache.js.map +1 -0
  261. package/dist/infrastructure/oracle/pyth-feed-ids.d.ts +31 -0
  262. package/dist/infrastructure/oracle/pyth-feed-ids.d.ts.map +1 -0
  263. package/dist/infrastructure/oracle/pyth-feed-ids.js +44 -0
  264. package/dist/infrastructure/oracle/pyth-feed-ids.js.map +1 -0
  265. package/dist/infrastructure/oracle/pyth-oracle.d.ts +69 -0
  266. package/dist/infrastructure/oracle/pyth-oracle.d.ts.map +1 -0
  267. package/dist/infrastructure/oracle/pyth-oracle.js +149 -0
  268. package/dist/infrastructure/oracle/pyth-oracle.js.map +1 -0
  269. package/dist/infrastructure/settings/hot-reload.d.ts +71 -0
  270. package/dist/infrastructure/settings/hot-reload.d.ts.map +1 -0
  271. package/dist/infrastructure/settings/hot-reload.js +315 -0
  272. package/dist/infrastructure/settings/hot-reload.js.map +1 -0
  273. package/dist/infrastructure/settings/index.d.ts +13 -0
  274. package/dist/infrastructure/settings/index.d.ts.map +1 -0
  275. package/dist/infrastructure/settings/index.js +10 -0
  276. package/dist/infrastructure/settings/index.js.map +1 -0
  277. package/dist/infrastructure/settings/setting-keys.d.ts +28 -0
  278. package/dist/infrastructure/settings/setting-keys.d.ts.map +1 -0
  279. package/dist/infrastructure/settings/setting-keys.js +105 -0
  280. package/dist/infrastructure/settings/setting-keys.js.map +1 -0
  281. package/dist/infrastructure/settings/settings-crypto.d.ts +39 -0
  282. package/dist/infrastructure/settings/settings-crypto.d.ts.map +1 -0
  283. package/dist/infrastructure/settings/settings-crypto.js +73 -0
  284. package/dist/infrastructure/settings/settings-crypto.js.map +1 -0
  285. package/dist/infrastructure/settings/settings-service.d.ts +82 -0
  286. package/dist/infrastructure/settings/settings-service.d.ts.map +1 -0
  287. package/dist/infrastructure/settings/settings-service.js +267 -0
  288. package/dist/infrastructure/settings/settings-service.js.map +1 -0
  289. package/dist/infrastructure/telegram/index.d.ts +6 -0
  290. package/dist/infrastructure/telegram/index.d.ts.map +1 -0
  291. package/dist/infrastructure/telegram/index.js +5 -0
  292. package/dist/infrastructure/telegram/index.js.map +1 -0
  293. package/dist/infrastructure/telegram/telegram-api.d.ts +35 -0
  294. package/dist/infrastructure/telegram/telegram-api.d.ts.map +1 -0
  295. package/dist/infrastructure/telegram/telegram-api.js +82 -0
  296. package/dist/infrastructure/telegram/telegram-api.js.map +1 -0
  297. package/dist/infrastructure/telegram/telegram-auth.d.ts +57 -0
  298. package/dist/infrastructure/telegram/telegram-auth.d.ts.map +1 -0
  299. package/dist/infrastructure/telegram/telegram-auth.js +88 -0
  300. package/dist/infrastructure/telegram/telegram-auth.js.map +1 -0
  301. package/dist/infrastructure/telegram/telegram-bot-service.d.ts +95 -0
  302. package/dist/infrastructure/telegram/telegram-bot-service.d.ts.map +1 -0
  303. package/dist/infrastructure/telegram/telegram-bot-service.js +564 -0
  304. package/dist/infrastructure/telegram/telegram-bot-service.js.map +1 -0
  305. package/dist/infrastructure/telegram/telegram-keyboard.d.ts +27 -0
  306. package/dist/infrastructure/telegram/telegram-keyboard.d.ts.map +1 -0
  307. package/dist/infrastructure/telegram/telegram-keyboard.js +52 -0
  308. package/dist/infrastructure/telegram/telegram-keyboard.js.map +1 -0
  309. package/dist/infrastructure/telegram/telegram-types.d.ts +43 -0
  310. package/dist/infrastructure/telegram/telegram-types.d.ts.map +1 -0
  311. package/dist/infrastructure/telegram/telegram-types.js +8 -0
  312. package/dist/infrastructure/telegram/telegram-types.js.map +1 -0
  313. package/dist/infrastructure/token-registry/builtin-tokens.d.ts +39 -0
  314. package/dist/infrastructure/token-registry/builtin-tokens.d.ts.map +1 -0
  315. package/dist/infrastructure/token-registry/builtin-tokens.js +135 -0
  316. package/dist/infrastructure/token-registry/builtin-tokens.js.map +1 -0
  317. package/dist/infrastructure/token-registry/index.d.ts +8 -0
  318. package/dist/infrastructure/token-registry/index.d.ts.map +1 -0
  319. package/dist/infrastructure/token-registry/index.js +8 -0
  320. package/dist/infrastructure/token-registry/index.js.map +1 -0
  321. package/dist/infrastructure/token-registry/token-registry-service.d.ts +49 -0
  322. package/dist/infrastructure/token-registry/token-registry-service.d.ts.map +1 -0
  323. package/dist/infrastructure/token-registry/token-registry-service.js +93 -0
  324. package/dist/infrastructure/token-registry/token-registry-service.js.map +1 -0
  325. package/dist/infrastructure/version/index.d.ts +5 -0
  326. package/dist/infrastructure/version/index.d.ts.map +1 -0
  327. package/dist/infrastructure/version/index.js +5 -0
  328. package/dist/infrastructure/version/index.js.map +1 -0
  329. package/dist/infrastructure/version/version-check-service.d.ts +35 -0
  330. package/dist/infrastructure/version/version-check-service.d.ts.map +1 -0
  331. package/dist/infrastructure/version/version-check-service.js +92 -0
  332. package/dist/infrastructure/version/version-check-service.js.map +1 -0
  333. package/dist/lifecycle/daemon.d.ts +103 -0
  334. package/dist/lifecycle/daemon.d.ts.map +1 -0
  335. package/dist/lifecycle/daemon.js +934 -0
  336. package/dist/lifecycle/daemon.js.map +1 -0
  337. package/dist/lifecycle/index.d.ts +9 -0
  338. package/dist/lifecycle/index.d.ts.map +1 -0
  339. package/dist/lifecycle/index.js +9 -0
  340. package/dist/lifecycle/index.js.map +1 -0
  341. package/dist/lifecycle/signal-handler.d.ts +18 -0
  342. package/dist/lifecycle/signal-handler.d.ts.map +1 -0
  343. package/dist/lifecycle/signal-handler.js +37 -0
  344. package/dist/lifecycle/signal-handler.js.map +1 -0
  345. package/dist/lifecycle/workers.d.ts +46 -0
  346. package/dist/lifecycle/workers.d.ts.map +1 -0
  347. package/dist/lifecycle/workers.js +101 -0
  348. package/dist/lifecycle/workers.js.map +1 -0
  349. package/dist/notifications/channels/discord.d.ts +10 -0
  350. package/dist/notifications/channels/discord.d.ts.map +1 -0
  351. package/dist/notifications/channels/discord.js +54 -0
  352. package/dist/notifications/channels/discord.js.map +1 -0
  353. package/dist/notifications/channels/ntfy.d.ts +13 -0
  354. package/dist/notifications/channels/ntfy.d.ts.map +1 -0
  355. package/dist/notifications/channels/ntfy.js +58 -0
  356. package/dist/notifications/channels/ntfy.js.map +1 -0
  357. package/dist/notifications/channels/slack.d.ts +10 -0
  358. package/dist/notifications/channels/slack.d.ts.map +1 -0
  359. package/dist/notifications/channels/slack.js +55 -0
  360. package/dist/notifications/channels/slack.js.map +1 -0
  361. package/dist/notifications/channels/telegram.d.ts +10 -0
  362. package/dist/notifications/channels/telegram.d.ts.map +1 -0
  363. package/dist/notifications/channels/telegram.js +40 -0
  364. package/dist/notifications/channels/telegram.js.map +1 -0
  365. package/dist/notifications/index.d.ts +9 -0
  366. package/dist/notifications/index.d.ts.map +1 -0
  367. package/dist/notifications/index.js +7 -0
  368. package/dist/notifications/index.js.map +1 -0
  369. package/dist/notifications/notification-service.d.ts +75 -0
  370. package/dist/notifications/notification-service.d.ts.map +1 -0
  371. package/dist/notifications/notification-service.js +213 -0
  372. package/dist/notifications/notification-service.js.map +1 -0
  373. package/dist/notifications/templates/message-templates.d.ts +12 -0
  374. package/dist/notifications/templates/message-templates.d.ts.map +1 -0
  375. package/dist/notifications/templates/message-templates.js +22 -0
  376. package/dist/notifications/templates/message-templates.js.map +1 -0
  377. package/dist/pipeline/database-policy-engine.d.ts +286 -0
  378. package/dist/pipeline/database-policy-engine.d.ts.map +1 -0
  379. package/dist/pipeline/database-policy-engine.js +992 -0
  380. package/dist/pipeline/database-policy-engine.js.map +1 -0
  381. package/dist/pipeline/default-policy-engine.d.ts +26 -0
  382. package/dist/pipeline/default-policy-engine.d.ts.map +1 -0
  383. package/dist/pipeline/default-policy-engine.js +25 -0
  384. package/dist/pipeline/default-policy-engine.js.map +1 -0
  385. package/dist/pipeline/index.d.ts +9 -0
  386. package/dist/pipeline/index.d.ts.map +1 -0
  387. package/dist/pipeline/index.js +9 -0
  388. package/dist/pipeline/index.js.map +1 -0
  389. package/dist/pipeline/network-resolver.d.ts +22 -0
  390. package/dist/pipeline/network-resolver.d.ts.map +1 -0
  391. package/dist/pipeline/network-resolver.js +32 -0
  392. package/dist/pipeline/network-resolver.js.map +1 -0
  393. package/dist/pipeline/pipeline.d.ts +72 -0
  394. package/dist/pipeline/pipeline.d.ts.map +1 -0
  395. package/dist/pipeline/pipeline.js +87 -0
  396. package/dist/pipeline/pipeline.js.map +1 -0
  397. package/dist/pipeline/resolve-effective-amount-usd.d.ts +41 -0
  398. package/dist/pipeline/resolve-effective-amount-usd.d.ts.map +1 -0
  399. package/dist/pipeline/resolve-effective-amount-usd.js +208 -0
  400. package/dist/pipeline/resolve-effective-amount-usd.js.map +1 -0
  401. package/dist/pipeline/sign-only.d.ts +99 -0
  402. package/dist/pipeline/sign-only.d.ts.map +1 -0
  403. package/dist/pipeline/sign-only.js +267 -0
  404. package/dist/pipeline/sign-only.js.map +1 -0
  405. package/dist/pipeline/sleep.d.ts +6 -0
  406. package/dist/pipeline/sleep.d.ts.map +1 -0
  407. package/dist/pipeline/sleep.js +8 -0
  408. package/dist/pipeline/sleep.js.map +1 -0
  409. package/dist/pipeline/stages.d.ts +82 -0
  410. package/dist/pipeline/stages.d.ts.map +1 -0
  411. package/dist/pipeline/stages.js +784 -0
  412. package/dist/pipeline/stages.js.map +1 -0
  413. package/dist/services/autostop-rules.d.ts +79 -0
  414. package/dist/services/autostop-rules.d.ts.map +1 -0
  415. package/dist/services/autostop-rules.js +174 -0
  416. package/dist/services/autostop-rules.js.map +1 -0
  417. package/dist/services/autostop-service.d.ts +82 -0
  418. package/dist/services/autostop-service.d.ts.map +1 -0
  419. package/dist/services/autostop-service.js +223 -0
  420. package/dist/services/autostop-service.js.map +1 -0
  421. package/dist/services/kill-switch-service.d.ts +118 -0
  422. package/dist/services/kill-switch-service.d.ts.map +1 -0
  423. package/dist/services/kill-switch-service.js +291 -0
  424. package/dist/services/kill-switch-service.js.map +1 -0
  425. package/dist/services/monitoring/balance-monitor-service.d.ts +65 -0
  426. package/dist/services/monitoring/balance-monitor-service.d.ts.map +1 -0
  427. package/dist/services/monitoring/balance-monitor-service.js +207 -0
  428. package/dist/services/monitoring/balance-monitor-service.js.map +1 -0
  429. package/dist/services/wc-session-service.d.ts +123 -0
  430. package/dist/services/wc-session-service.d.ts.map +1 -0
  431. package/dist/services/wc-session-service.js +363 -0
  432. package/dist/services/wc-session-service.js.map +1 -0
  433. package/dist/services/wc-signing-bridge.d.ts +60 -0
  434. package/dist/services/wc-signing-bridge.d.ts.map +1 -0
  435. package/dist/services/wc-signing-bridge.js +334 -0
  436. package/dist/services/wc-signing-bridge.js.map +1 -0
  437. package/dist/services/wc-storage.d.ts +32 -0
  438. package/dist/services/wc-storage.d.ts.map +1 -0
  439. package/dist/services/wc-storage.js +64 -0
  440. package/dist/services/wc-storage.js.map +1 -0
  441. package/dist/services/x402/payment-signer.d.ts +88 -0
  442. package/dist/services/x402/payment-signer.d.ts.map +1 -0
  443. package/dist/services/x402/payment-signer.js +311 -0
  444. package/dist/services/x402/payment-signer.js.map +1 -0
  445. package/dist/services/x402/ssrf-guard.d.ts +27 -0
  446. package/dist/services/x402/ssrf-guard.d.ts.map +1 -0
  447. package/dist/services/x402/ssrf-guard.js +236 -0
  448. package/dist/services/x402/ssrf-guard.js.map +1 -0
  449. package/dist/services/x402/x402-domain-policy.d.ts +50 -0
  450. package/dist/services/x402/x402-domain-policy.d.ts.map +1 -0
  451. package/dist/services/x402/x402-domain-policy.js +78 -0
  452. package/dist/services/x402/x402-domain-policy.js.map +1 -0
  453. package/dist/services/x402/x402-handler.d.ts +71 -0
  454. package/dist/services/x402/x402-handler.d.ts.map +1 -0
  455. package/dist/services/x402/x402-handler.js +195 -0
  456. package/dist/services/x402/x402-handler.js.map +1 -0
  457. package/dist/services/x402/x402-usd-resolver.d.ts +26 -0
  458. package/dist/services/x402/x402-usd-resolver.d.ts.map +1 -0
  459. package/dist/services/x402/x402-usd-resolver.js +79 -0
  460. package/dist/services/x402/x402-usd-resolver.js.map +1 -0
  461. package/dist/workflow/approval-workflow.d.ts +103 -0
  462. package/dist/workflow/approval-workflow.d.ts.map +1 -0
  463. package/dist/workflow/approval-workflow.js +202 -0
  464. package/dist/workflow/approval-workflow.js.map +1 -0
  465. package/dist/workflow/delay-queue.d.ts +78 -0
  466. package/dist/workflow/delay-queue.d.ts.map +1 -0
  467. package/dist/workflow/delay-queue.js +174 -0
  468. package/dist/workflow/delay-queue.js.map +1 -0
  469. package/dist/workflow/index.d.ts +11 -0
  470. package/dist/workflow/index.d.ts.map +1 -0
  471. package/dist/workflow/index.js +9 -0
  472. package/dist/workflow/index.js.map +1 -0
  473. package/dist/workflow/owner-state.d.ts +97 -0
  474. package/dist/workflow/owner-state.d.ts.map +1 -0
  475. package/dist/workflow/owner-state.js +168 -0
  476. package/dist/workflow/owner-state.js.map +1 -0
  477. package/package.json +71 -0
  478. package/public/admin/assets/index-BPoUSH8W.css +1 -0
  479. package/public/admin/assets/index-CDi1qoXB.js +1 -0
  480. package/public/admin/index.html +13 -0
@@ -0,0 +1,363 @@
1
+ /**
2
+ * WcSessionService - WalletConnect SignClient lifecycle wrapper.
3
+ *
4
+ * Manages SignClient initialization, shutdown, session mapping,
5
+ * pairing creation, session info retrieval, and disconnect.
6
+ * Designed for fail-soft integration with DaemonLifecycle (Step 4c-6).
7
+ *
8
+ * Key responsibilities:
9
+ * - Initialize SignClient with SQLite-backed IKeyValueStorage
10
+ * - Register event listeners for session_delete / session_expire
11
+ * - Maintain in-memory walletId -> session topic mapping (restored from DB on startup)
12
+ * - Create WC pairings with QR code generation (createPairing)
13
+ * - Manage session lifecycle (getSessionInfo, getPairingStatus, disconnectSession)
14
+ *
15
+ * @see packages/daemon/src/services/wc-storage.ts
16
+ * @see packages/daemon/src/infrastructure/database/migrate.ts (v16: wc_sessions table)
17
+ */
18
+ import { createRequire } from 'node:module';
19
+ import SignClientModule from '@walletconnect/sign-client';
20
+ // ESM/CJS interop: @walletconnect/sign-client has no "import" condition in its
21
+ // exports map, so Node.js ESM loads the CJS bundle where the actual SignClient
22
+ // class lives at .default.
23
+ const SignClient = SignClientModule.default ?? SignClientModule;
24
+ import { WAIaaSError } from '@waiaas/core';
25
+ import { SqliteKeyValueStorage } from './wc-storage.js';
26
+ const require = createRequire(import.meta.url);
27
+ const QRCode = require('qrcode');
28
+ // ---------------------------------------------------------------------------
29
+ // CAIP-2 Chain Identifiers
30
+ // ---------------------------------------------------------------------------
31
+ /** CAIP-2 chain identifiers for WalletConnect v2 */
32
+ export const CAIP2_CHAIN_IDS = {
33
+ // Solana
34
+ 'mainnet': 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
35
+ 'devnet': 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
36
+ 'testnet': 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',
37
+ // EVM (eip155:{chainId})
38
+ 'ethereum-mainnet': 'eip155:1',
39
+ 'ethereum-sepolia': 'eip155:11155111',
40
+ 'polygon-mainnet': 'eip155:137',
41
+ 'polygon-amoy': 'eip155:80002',
42
+ 'arbitrum-mainnet': 'eip155:42161',
43
+ 'arbitrum-sepolia': 'eip155:421614',
44
+ 'optimism-mainnet': 'eip155:10',
45
+ 'optimism-sepolia': 'eip155:11155420',
46
+ 'base-mainnet': 'eip155:8453',
47
+ 'base-sepolia': 'eip155:84532',
48
+ };
49
+ // ---------------------------------------------------------------------------
50
+ // WcSessionService
51
+ // ---------------------------------------------------------------------------
52
+ export class WcSessionService {
53
+ signClient = null;
54
+ storage = null;
55
+ sqlite;
56
+ settingsService;
57
+ /** walletId -> session topic mapping (in-memory cache) */
58
+ sessionMap = new Map();
59
+ /** Tracking pending pairing attempts per wallet */
60
+ pendingPairing = new Map();
61
+ constructor(deps) {
62
+ this.sqlite = deps.sqlite;
63
+ this.settingsService = deps.settingsService;
64
+ }
65
+ /**
66
+ * Initialize SignClient with SQLite storage.
67
+ * No-op if walletconnect.project_id is not configured.
68
+ */
69
+ async initialize() {
70
+ const projectId = this.settingsService.get('walletconnect.project_id');
71
+ if (!projectId)
72
+ return;
73
+ const relayUrl = this.settingsService.get('walletconnect.relay_url') ||
74
+ 'wss://relay.walletconnect.com';
75
+ this.storage = new SqliteKeyValueStorage(this.sqlite);
76
+ this.signClient = await SignClient.init({
77
+ projectId,
78
+ relayUrl,
79
+ storage: this.storage, // IKeyValueStorage compatible
80
+ metadata: {
81
+ name: 'WAIaaS Daemon',
82
+ description: 'AI Agent Wallet-as-a-Service',
83
+ url: 'http://localhost',
84
+ icons: [],
85
+ },
86
+ });
87
+ // Register event listeners for session lifecycle
88
+ this.signClient.on('session_delete', ({ topic }) => {
89
+ this.handleSessionDelete(topic);
90
+ });
91
+ this.signClient.on('session_expire', ({ topic }) => {
92
+ this.handleSessionDelete(topic);
93
+ });
94
+ // Restore existing sessions from DB -> in-memory map
95
+ this.restoreSessions();
96
+ }
97
+ /**
98
+ * Restore walletId -> topic mappings from wc_sessions table.
99
+ */
100
+ restoreSessions() {
101
+ const rows = this.sqlite
102
+ .prepare('SELECT wallet_id, topic FROM wc_sessions')
103
+ .all();
104
+ for (const row of rows) {
105
+ this.sessionMap.set(row.wallet_id, row.topic);
106
+ }
107
+ }
108
+ /**
109
+ * Check if a wallet has an active WC session.
110
+ */
111
+ hasActiveSession(walletId) {
112
+ return this.sessionMap.has(walletId);
113
+ }
114
+ /**
115
+ * Get the underlying SignClient instance (for route handlers / pairing).
116
+ * Returns null if WC is not initialized.
117
+ */
118
+ getSignClient() {
119
+ return this.signClient;
120
+ }
121
+ /**
122
+ * Get the session topic for a wallet (public accessor).
123
+ * Returns null if no active session exists.
124
+ */
125
+ getSessionTopic(walletId) {
126
+ return this.sessionMap.get(walletId) ?? null;
127
+ }
128
+ // ---------------------------------------------------------------------------
129
+ // Pairing / Session Management (Phase 147)
130
+ // ---------------------------------------------------------------------------
131
+ /**
132
+ * Create a new WC pairing for a wallet.
133
+ * Returns URI + QR code immediately. Session settlement happens asynchronously.
134
+ *
135
+ * @param walletId - Wallet UUID
136
+ * @param network - Network name (e.g., 'devnet', 'ethereum-sepolia')
137
+ * @param chain - Chain type ('solana' or 'ethereum')
138
+ */
139
+ async createPairing(walletId, network, chain) {
140
+ const signClient = this.getSignClient();
141
+ if (!signClient) {
142
+ throw new WAIaaSError('WC_NOT_CONFIGURED');
143
+ }
144
+ // Single session policy: reject if wallet already has an active session
145
+ if (this.hasActiveSession(walletId)) {
146
+ throw new WAIaaSError('WC_SESSION_EXISTS');
147
+ }
148
+ // If there's already a pending pairing for this wallet, return existing URI
149
+ const existing = this.pendingPairing.get(walletId);
150
+ if (existing && Math.floor(Date.now() / 1000) < existing.expiresAt) {
151
+ const qrDataUrl = await QRCode.toDataURL(existing.uri, {
152
+ width: 300,
153
+ margin: 2,
154
+ errorCorrectionLevel: 'M',
155
+ });
156
+ return { uri: existing.uri, qrDataUrl, expiresAt: existing.expiresAt };
157
+ }
158
+ // Resolve CAIP-2 chain ID
159
+ const chainId = CAIP2_CHAIN_IDS[network] ??
160
+ (chain === 'solana' ? `solana:${network}` : `eip155:${network}`);
161
+ // Determine namespace and methods
162
+ const namespace = chainId.split(':')[0]; // 'eip155' or 'solana'
163
+ const methods = namespace === 'solana'
164
+ ? ['solana_signTransaction', 'solana_signMessage']
165
+ : ['eth_sendTransaction', 'personal_sign', 'eth_signTypedData_v4'];
166
+ const events = namespace === 'solana'
167
+ ? []
168
+ : ['chainChanged', 'accountsChanged'];
169
+ const requiredNamespaces = {
170
+ [namespace]: {
171
+ chains: [chainId],
172
+ methods,
173
+ events,
174
+ },
175
+ };
176
+ const { uri, approval } = await signClient.connect({
177
+ requiredNamespaces,
178
+ });
179
+ if (!uri) {
180
+ throw new Error('Failed to generate pairing URI');
181
+ }
182
+ const qrDataUrl = await QRCode.toDataURL(uri, {
183
+ width: 300,
184
+ margin: 2,
185
+ errorCorrectionLevel: 'M',
186
+ });
187
+ const expiresAt = Math.floor(Date.now() / 1000) + 300; // 5 minutes
188
+ this.pendingPairing.set(walletId, { expiresAt, uri });
189
+ // Wait for approval in the background (do NOT await in HTTP handler)
190
+ this.waitForApproval(walletId, chainId, approval);
191
+ return { uri, qrDataUrl, expiresAt };
192
+ }
193
+ /**
194
+ * Background approval waiter. Saves session to DB when external wallet approves.
195
+ * On failure/timeout, cleans up pending pairing state.
196
+ */
197
+ waitForApproval(walletId, chainId, approval) {
198
+ const timeout = new Promise((_, reject) => setTimeout(() => reject(new Error('Pairing approval timeout')), 300_000));
199
+ Promise.race([approval(), timeout])
200
+ .then(async (session) => {
201
+ // Extract owner address from CAIP-10 accounts
202
+ const firstNamespace = Object.values(session.namespaces)[0];
203
+ const firstAccount = firstNamespace?.accounts?.[0] ?? '';
204
+ // CAIP-10 format: "namespace:chainId:address" -> extract address part
205
+ const parts = firstAccount.split(':');
206
+ const connectedAddress = parts.length >= 3 ? parts.slice(2).join(':') : firstAccount;
207
+ // Verify connected address matches registered owner
208
+ const wallet = this.sqlite
209
+ .prepare('SELECT owner_address, chain FROM wallets WHERE id = ?')
210
+ .get(walletId);
211
+ if (wallet?.owner_address && connectedAddress) {
212
+ const isEvm = wallet.chain === 'ethereum';
213
+ const matches = isEvm
214
+ ? wallet.owner_address.toLowerCase() === connectedAddress.toLowerCase()
215
+ : wallet.owner_address === connectedAddress;
216
+ if (!matches) {
217
+ // Reject session: connected wallet doesn't match registered owner
218
+ const signClient = this.getSignClient();
219
+ if (signClient) {
220
+ try {
221
+ await signClient.disconnect({
222
+ topic: session.topic,
223
+ reason: { code: 4001, message: 'Connected wallet address does not match registered owner' },
224
+ });
225
+ }
226
+ catch {
227
+ // best effort disconnect
228
+ }
229
+ }
230
+ this.pendingPairing.delete(walletId);
231
+ return;
232
+ }
233
+ }
234
+ const ownerAddress = connectedAddress;
235
+ // Save session to DB
236
+ this.sqlite
237
+ .prepare(`INSERT OR REPLACE INTO wc_sessions (wallet_id, topic, peer_meta, chain_id, owner_address, namespaces, expiry, created_at)
238
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
239
+ .run(walletId, session.topic, JSON.stringify(session.peer?.metadata ?? null), chainId, ownerAddress, JSON.stringify(session.namespaces), session.expiry, Math.floor(Date.now() / 1000));
240
+ // Update in-memory map
241
+ this.sessionMap.set(walletId, session.topic);
242
+ this.pendingPairing.delete(walletId);
243
+ })
244
+ .catch(() => {
245
+ // Timeout or rejection -- clean up pending state
246
+ this.pendingPairing.delete(walletId);
247
+ });
248
+ }
249
+ /**
250
+ * Get session info for a wallet from DB.
251
+ * Returns null if no session exists.
252
+ */
253
+ getSessionInfo(walletId) {
254
+ const row = this.sqlite
255
+ .prepare(`SELECT wallet_id, topic, peer_meta, chain_id, owner_address, expiry, created_at
256
+ FROM wc_sessions WHERE wallet_id = ?`)
257
+ .get(walletId);
258
+ if (!row)
259
+ return null;
260
+ let peerName = null;
261
+ let peerUrl = null;
262
+ if (row.peer_meta) {
263
+ try {
264
+ const meta = JSON.parse(row.peer_meta);
265
+ peerName = meta?.name ?? null;
266
+ peerUrl = meta?.url ?? null;
267
+ }
268
+ catch {
269
+ // ignore parse errors
270
+ }
271
+ }
272
+ return {
273
+ walletId: row.wallet_id,
274
+ topic: row.topic,
275
+ peerName,
276
+ peerUrl,
277
+ chainId: row.chain_id,
278
+ ownerAddress: row.owner_address,
279
+ expiry: row.expiry,
280
+ createdAt: row.created_at,
281
+ };
282
+ }
283
+ /**
284
+ * Get the current pairing/session status for a wallet.
285
+ */
286
+ getPairingStatus(walletId) {
287
+ if (this.hasActiveSession(walletId)) {
288
+ return 'connected';
289
+ }
290
+ const pending = this.pendingPairing.get(walletId);
291
+ if (pending) {
292
+ if (Math.floor(Date.now() / 1000) < pending.expiresAt) {
293
+ return 'pending';
294
+ }
295
+ // Expired pending pairing -- clean up
296
+ this.pendingPairing.delete(walletId);
297
+ return 'expired';
298
+ }
299
+ return 'none';
300
+ }
301
+ /**
302
+ * Disconnect a wallet's WC session.
303
+ * Removes from relay, DB, and in-memory map.
304
+ */
305
+ async disconnectSession(walletId) {
306
+ const signClient = this.getSignClient();
307
+ if (!signClient) {
308
+ throw new WAIaaSError('WC_NOT_CONFIGURED');
309
+ }
310
+ const topic = this.sessionMap.get(walletId);
311
+ if (!topic) {
312
+ throw new WAIaaSError('WC_SESSION_NOT_FOUND');
313
+ }
314
+ await signClient.disconnect({
315
+ topic,
316
+ reason: { code: 6000, message: 'User disconnected' },
317
+ });
318
+ // Clean up DB + in-memory map
319
+ this.handleSessionDelete(topic);
320
+ }
321
+ // ---------------------------------------------------------------------------
322
+ // Lifecycle
323
+ // ---------------------------------------------------------------------------
324
+ /**
325
+ * Gracefully shut down SignClient resources.
326
+ * Clears in-memory state but does NOT delete DB sessions
327
+ * (they'll be restored on next startup).
328
+ */
329
+ async shutdown() {
330
+ if (this.signClient) {
331
+ try {
332
+ // Attempt to disconnect the WebSocket relay connection
333
+ await this.signClient.core?.relayer?.provider?.disconnect?.();
334
+ }
335
+ catch {
336
+ // Ignore disconnect errors -- best effort cleanup
337
+ }
338
+ this.signClient = null;
339
+ this.sessionMap.clear();
340
+ this.pendingPairing.clear();
341
+ }
342
+ // Deactivate storage before DB close to prevent WC async callback errors
343
+ this.storage?.close();
344
+ }
345
+ /**
346
+ * Handle session deletion/expiration from WC relay.
347
+ * Removes from both DB and in-memory map.
348
+ */
349
+ handleSessionDelete(topic) {
350
+ // Remove from wc_sessions table
351
+ this.sqlite
352
+ .prepare('DELETE FROM wc_sessions WHERE topic = ?')
353
+ .run(topic);
354
+ // Remove from in-memory sessionMap
355
+ for (const [walletId, t] of this.sessionMap) {
356
+ if (t === topic) {
357
+ this.sessionMap.delete(walletId);
358
+ break;
359
+ }
360
+ }
361
+ }
362
+ }
363
+ //# sourceMappingURL=wc-session-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wc-session-service.js","sourceRoot":"","sources":["../../src/services/wc-session-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * WcSigningBridge - Fire-and-forget WC signing request bridge.
3
+ *
4
+ * When an APPROVAL tier transaction is created and the wallet has an active
5
+ * WalletConnect session, this bridge sends a signing request to the Owner
6
+ * wallet (via personal_sign for EVM / solana_signMessage for Solana).
7
+ *
8
+ * On successful signature response, it verifies the signature using the
9
+ * existing ownerAuth verification logic (verifySIWE / Ed25519) and calls
10
+ * approvalWorkflow.approve() or .reject() accordingly.
11
+ *
12
+ * Key design decisions:
13
+ * - Fire-and-forget: requestSignature() is called with `void` prefix,
14
+ * never blocking the pipeline.
15
+ * - Timeout sync: WC request expiry is derived from pending_approvals.expires_at.
16
+ * - Optional dependency: Pipeline works without WcSigningBridge (checked via ctx.wcSigningBridge?.)
17
+ *
18
+ * @see packages/daemon/src/pipeline/stages.ts (stage4Wait APPROVAL branch)
19
+ * @see packages/daemon/src/services/wc-session-service.ts
20
+ * @see packages/daemon/src/workflow/approval-workflow.ts
21
+ */
22
+ import type { Database } from 'better-sqlite3';
23
+ import type { EventBus } from '@waiaas/core';
24
+ import type { WcServiceRef } from './wc-session-service.js';
25
+ import type { ApprovalWorkflow } from '../workflow/approval-workflow.js';
26
+ import type { NotificationService } from '../notifications/notification-service.js';
27
+ export interface WcSigningBridgeDeps {
28
+ wcServiceRef: WcServiceRef;
29
+ approvalWorkflow: ApprovalWorkflow;
30
+ sqlite: Database;
31
+ notificationService?: NotificationService;
32
+ eventBus?: EventBus;
33
+ }
34
+ export declare class WcSigningBridge {
35
+ private readonly wcServiceRef;
36
+ private readonly approvalWorkflow;
37
+ private readonly sqlite;
38
+ private readonly notificationService?;
39
+ private readonly eventBus?;
40
+ constructor(deps: WcSigningBridgeDeps);
41
+ /**
42
+ * Send a WC signing request to the Owner wallet (fire-and-forget).
43
+ *
44
+ * Silently returns if WC is not initialized or no session exists.
45
+ * On signature response: verify + approve/reject via ApprovalWorkflow.
46
+ * On error: reject if user-rejected, ignore if expired (approval-expired worker handles it).
47
+ */
48
+ requestSignature(walletId: string, txId: string, chain: string): Promise<void>;
49
+ private buildSignRequest;
50
+ private buildEvmSignRequest;
51
+ private buildSolanaSignRequest;
52
+ private resolveWcExpiry;
53
+ private handleSignatureResponse;
54
+ private handleEvmSignatureResponse;
55
+ private handleSolanaSignatureResponse;
56
+ private handleSignatureError;
57
+ private isApprovalStillPending;
58
+ private fallbackToTelegram;
59
+ }
60
+ //# sourceMappingURL=wc-signing-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wc-signing-bridge.d.ts","sourceRoot":"","sources":["../../src/services/wc-signing-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AA+DpF,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,QAAQ,CAAC;IACjB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAYD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAsB;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAW;gBAEzB,IAAI,EAAE,mBAAmB;IAQrC;;;;;;OAMG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqEpF,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,eAAe;YAyBT,uBAAuB;YAevB,0BAA0B;IA6BxC,OAAO,CAAC,6BAA6B;IAgDrC,OAAO,CAAC,oBAAoB;IAoC5B,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,kBAAkB;CAgC3B"}