@antseed/cli 0.1.178 → 0.1.180

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 (685) hide show
  1. package/README.md +5 -0
  2. package/dist/buyer-identities/store.d.ts +39 -2
  3. package/dist/buyer-identities/store.d.ts.map +1 -1
  4. package/dist/buyer-identities/store.js +99 -10
  5. package/dist/buyer-identities/store.js.map +1 -1
  6. package/dist/cli/commands/apps/index.d.ts +42 -0
  7. package/dist/cli/commands/apps/index.d.ts.map +1 -0
  8. package/dist/cli/commands/apps/index.js +224 -0
  9. package/dist/cli/commands/apps/index.js.map +1 -0
  10. package/dist/cli/commands/apps/index.test.d.ts +2 -0
  11. package/dist/cli/commands/apps/index.test.d.ts.map +1 -0
  12. package/dist/cli/commands/apps/index.test.js +206 -0
  13. package/dist/cli/commands/apps/index.test.js.map +1 -0
  14. package/dist/cli/commands/buyer/deposit.d.ts.map +1 -1
  15. package/dist/cli/commands/buyer/deposit.js +9 -1
  16. package/dist/cli/commands/buyer/deposit.js.map +1 -1
  17. package/dist/cli/commands/buyer/identity.d.ts +3 -1
  18. package/dist/cli/commands/buyer/identity.d.ts.map +1 -1
  19. package/dist/cli/commands/buyer/identity.js +55 -8
  20. package/dist/cli/commands/buyer/identity.js.map +1 -1
  21. package/dist/cli/commands/buyer/identity.test.d.ts +2 -0
  22. package/dist/cli/commands/buyer/identity.test.d.ts.map +1 -0
  23. package/dist/cli/commands/buyer/identity.test.js +168 -0
  24. package/dist/cli/commands/buyer/identity.test.js.map +1 -0
  25. package/dist/cli/commands/buyer/set-authorized-wallet.d.ts +10 -0
  26. package/dist/cli/commands/buyer/set-authorized-wallet.d.ts.map +1 -1
  27. package/dist/cli/commands/buyer/set-authorized-wallet.js +26 -4
  28. package/dist/cli/commands/buyer/set-authorized-wallet.js.map +1 -1
  29. package/dist/cli/commands/buyer/set-authorized-wallet.test.js +37 -2
  30. package/dist/cli/commands/buyer/set-authorized-wallet.test.js.map +1 -1
  31. package/dist/cli/commands/buyer/start.d.ts +15 -0
  32. package/dist/cli/commands/buyer/start.d.ts.map +1 -1
  33. package/dist/cli/commands/buyer/start.js +158 -48
  34. package/dist/cli/commands/buyer/start.js.map +1 -1
  35. package/dist/cli/commands/buyer/start.test.js +16 -1
  36. package/dist/cli/commands/buyer/start.test.js.map +1 -1
  37. package/dist/cli/commands/chat.d.ts +3 -0
  38. package/dist/cli/commands/chat.d.ts.map +1 -0
  39. package/dist/cli/commands/chat.js +189 -0
  40. package/dist/cli/commands/chat.js.map +1 -0
  41. package/dist/cli/commands/gateway/activity.d.ts +15 -0
  42. package/dist/cli/commands/gateway/activity.d.ts.map +1 -0
  43. package/dist/cli/commands/gateway/activity.js +233 -0
  44. package/dist/cli/commands/gateway/activity.js.map +1 -0
  45. package/dist/cli/commands/gateway/admin-token.d.ts +3 -0
  46. package/dist/cli/commands/gateway/admin-token.d.ts.map +1 -0
  47. package/dist/cli/commands/gateway/admin-token.js +90 -0
  48. package/dist/cli/commands/gateway/admin-token.js.map +1 -0
  49. package/dist/cli/commands/gateway/console-link.d.ts +20 -0
  50. package/dist/cli/commands/gateway/console-link.d.ts.map +1 -0
  51. package/dist/cli/commands/gateway/console-link.js +92 -0
  52. package/dist/cli/commands/gateway/console-link.js.map +1 -0
  53. package/dist/cli/commands/gateway/gateway-commands.test.d.ts +2 -0
  54. package/dist/cli/commands/gateway/gateway-commands.test.d.ts.map +1 -0
  55. package/dist/cli/commands/gateway/gateway-commands.test.js +230 -0
  56. package/dist/cli/commands/gateway/gateway-commands.test.js.map +1 -0
  57. package/dist/cli/commands/gateway/gateway-console-commands.test.d.ts +2 -0
  58. package/dist/cli/commands/gateway/gateway-console-commands.test.d.ts.map +1 -0
  59. package/dist/cli/commands/gateway/gateway-console-commands.test.js +373 -0
  60. package/dist/cli/commands/gateway/gateway-console-commands.test.js.map +1 -0
  61. package/dist/cli/commands/gateway/index.d.ts +8 -0
  62. package/dist/cli/commands/gateway/index.d.ts.map +1 -1
  63. package/dist/cli/commands/gateway/index.js +93 -14
  64. package/dist/cli/commands/gateway/index.js.map +1 -1
  65. package/dist/cli/commands/gateway/key.d.ts +4 -0
  66. package/dist/cli/commands/gateway/key.d.ts.map +1 -1
  67. package/dist/cli/commands/gateway/key.js +297 -182
  68. package/dist/cli/commands/gateway/key.js.map +1 -1
  69. package/dist/cli/commands/gateway/member.d.ts +3 -0
  70. package/dist/cli/commands/gateway/member.d.ts.map +1 -0
  71. package/dist/cli/commands/gateway/member.js +302 -0
  72. package/dist/cli/commands/gateway/member.js.map +1 -0
  73. package/dist/cli/commands/gateway/migrate.d.ts +18 -0
  74. package/dist/cli/commands/gateway/migrate.d.ts.map +1 -0
  75. package/dist/cli/commands/gateway/migrate.js +158 -0
  76. package/dist/cli/commands/gateway/migrate.js.map +1 -0
  77. package/dist/cli/commands/gateway/operator.d.ts +11 -0
  78. package/dist/cli/commands/gateway/operator.d.ts.map +1 -0
  79. package/dist/cli/commands/gateway/operator.js +199 -0
  80. package/dist/cli/commands/gateway/operator.js.map +1 -0
  81. package/dist/cli/commands/gateway/operator.test.d.ts +2 -0
  82. package/dist/cli/commands/gateway/operator.test.d.ts.map +1 -0
  83. package/dist/cli/commands/gateway/operator.test.js +151 -0
  84. package/dist/cli/commands/gateway/operator.test.js.map +1 -0
  85. package/dist/cli/commands/gateway/peer-list.d.ts +3 -0
  86. package/dist/cli/commands/gateway/peer-list.d.ts.map +1 -0
  87. package/dist/cli/commands/gateway/peer-list.js +107 -0
  88. package/dist/cli/commands/gateway/peer-list.js.map +1 -0
  89. package/dist/cli/commands/gateway/policy-options.d.ts +23 -0
  90. package/dist/cli/commands/gateway/policy-options.d.ts.map +1 -0
  91. package/dist/cli/commands/gateway/policy-options.js +156 -0
  92. package/dist/cli/commands/gateway/policy-options.js.map +1 -0
  93. package/dist/cli/commands/gateway/preset.d.ts +3 -0
  94. package/dist/cli/commands/gateway/preset.d.ts.map +1 -0
  95. package/dist/cli/commands/gateway/preset.js +181 -0
  96. package/dist/cli/commands/gateway/preset.js.map +1 -0
  97. package/dist/cli/commands/gateway/routing.d.ts +3 -0
  98. package/dist/cli/commands/gateway/routing.d.ts.map +1 -0
  99. package/dist/cli/commands/gateway/routing.js +110 -0
  100. package/dist/cli/commands/gateway/routing.js.map +1 -0
  101. package/dist/cli/commands/gateway/settings.d.ts +4 -0
  102. package/dist/cli/commands/gateway/settings.d.ts.map +1 -0
  103. package/dist/cli/commands/gateway/settings.js +314 -0
  104. package/dist/cli/commands/gateway/settings.js.map +1 -0
  105. package/dist/cli/commands/gateway/shared.d.ts +55 -6
  106. package/dist/cli/commands/gateway/shared.d.ts.map +1 -1
  107. package/dist/cli/commands/gateway/shared.js +206 -26
  108. package/dist/cli/commands/gateway/shared.js.map +1 -1
  109. package/dist/cli/commands/gateway/workspace.d.ts +3 -0
  110. package/dist/cli/commands/gateway/workspace.d.ts.map +1 -0
  111. package/dist/cli/commands/gateway/workspace.js +250 -0
  112. package/dist/cli/commands/gateway/workspace.js.map +1 -0
  113. package/dist/cli/commands/tunnel/start.d.ts.map +1 -1
  114. package/dist/cli/commands/tunnel/start.js +23 -5
  115. package/dist/cli/commands/tunnel/start.js.map +1 -1
  116. package/dist/cli/index.js +12 -42
  117. package/dist/cli/index.js.map +1 -1
  118. package/dist/cli/program.d.ts +4 -0
  119. package/dist/cli/program.d.ts.map +1 -0
  120. package/dist/cli/program.js +49 -0
  121. package/dist/cli/program.js.map +1 -0
  122. package/dist/cli/program.test.d.ts +2 -0
  123. package/dist/cli/program.test.d.ts.map +1 -0
  124. package/dist/cli/program.test.js +38 -0
  125. package/dist/cli/program.test.js.map +1 -0
  126. package/dist/cli/prompt-hidden.d.ts +3 -0
  127. package/dist/cli/prompt-hidden.d.ts.map +1 -0
  128. package/dist/cli/prompt-hidden.js +38 -0
  129. package/dist/cli/prompt-hidden.js.map +1 -0
  130. package/dist/cli/wallet-passphrase.d.ts +48 -0
  131. package/dist/cli/wallet-passphrase.d.ts.map +1 -0
  132. package/dist/cli/wallet-passphrase.js +119 -0
  133. package/dist/cli/wallet-passphrase.js.map +1 -0
  134. package/dist/cli/wallet-passphrase.test.d.ts +2 -0
  135. package/dist/cli/wallet-passphrase.test.d.ts.map +1 -0
  136. package/dist/cli/wallet-passphrase.test.js +79 -0
  137. package/dist/cli/wallet-passphrase.test.js.map +1 -0
  138. package/dist/config/effective.d.ts +12 -0
  139. package/dist/config/effective.d.ts.map +1 -1
  140. package/dist/config/effective.js +39 -6
  141. package/dist/config/effective.js.map +1 -1
  142. package/dist/config/effective.test.js +9 -1
  143. package/dist/config/effective.test.js.map +1 -1
  144. package/dist/config/loader.d.ts +6 -0
  145. package/dist/config/loader.d.ts.map +1 -1
  146. package/dist/config/loader.js +12 -0
  147. package/dist/config/loader.js.map +1 -1
  148. package/dist/config/loader.test.js +7 -1
  149. package/dist/config/loader.test.js.map +1 -1
  150. package/dist/config/types.d.ts +14 -0
  151. package/dist/config/types.d.ts.map +1 -1
  152. package/dist/config/validation.d.ts.map +1 -1
  153. package/dist/config/validation.js +19 -0
  154. package/dist/config/validation.js.map +1 -1
  155. package/dist/gateway/accounting.d.ts +33 -3
  156. package/dist/gateway/accounting.d.ts.map +1 -1
  157. package/dist/gateway/accounting.js +86 -7
  158. package/dist/gateway/accounting.js.map +1 -1
  159. package/dist/gateway/admission-benchmark.test.d.ts +2 -0
  160. package/dist/gateway/admission-benchmark.test.d.ts.map +1 -0
  161. package/dist/gateway/admission-benchmark.test.js +75 -0
  162. package/dist/gateway/admission-benchmark.test.js.map +1 -0
  163. package/dist/gateway/auth/auth.test.d.ts +4 -0
  164. package/dist/gateway/auth/auth.test.d.ts.map +1 -0
  165. package/dist/gateway/auth/auth.test.js +337 -0
  166. package/dist/gateway/auth/auth.test.js.map +1 -0
  167. package/dist/gateway/auth/credentials.test.d.ts +2 -0
  168. package/dist/gateway/auth/credentials.test.d.ts.map +1 -0
  169. package/dist/gateway/auth/credentials.test.js +132 -0
  170. package/dist/gateway/auth/credentials.test.js.map +1 -0
  171. package/dist/gateway/auth/db.d.ts +156 -0
  172. package/dist/gateway/auth/db.d.ts.map +1 -0
  173. package/dist/gateway/auth/db.js +390 -0
  174. package/dist/gateway/auth/db.js.map +1 -0
  175. package/dist/gateway/auth/hardening.test.d.ts +2 -0
  176. package/dist/gateway/auth/hardening.test.d.ts.map +1 -0
  177. package/dist/gateway/auth/hardening.test.js +155 -0
  178. package/dist/gateway/auth/hardening.test.js.map +1 -0
  179. package/dist/gateway/auth/http.d.ts +53 -0
  180. package/dist/gateway/auth/http.d.ts.map +1 -0
  181. package/dist/gateway/auth/http.js +165 -0
  182. package/dist/gateway/auth/http.js.map +1 -0
  183. package/dist/gateway/auth/index.d.ts +26 -0
  184. package/dist/gateway/auth/index.d.ts.map +1 -0
  185. package/dist/gateway/auth/index.js +1014 -0
  186. package/dist/gateway/auth/index.js.map +1 -0
  187. package/dist/gateway/auth/oidc.d.ts +57 -0
  188. package/dist/gateway/auth/oidc.d.ts.map +1 -0
  189. package/dist/gateway/auth/oidc.js +159 -0
  190. package/dist/gateway/auth/oidc.js.map +1 -0
  191. package/dist/gateway/auth/oidc.test.d.ts +2 -0
  192. package/dist/gateway/auth/oidc.test.d.ts.map +1 -0
  193. package/dist/gateway/auth/oidc.test.js +223 -0
  194. package/dist/gateway/auth/oidc.test.js.map +1 -0
  195. package/dist/gateway/auth/reauth.test.d.ts +2 -0
  196. package/dist/gateway/auth/reauth.test.d.ts.map +1 -0
  197. package/dist/gateway/auth/reauth.test.js +108 -0
  198. package/dist/gateway/auth/reauth.test.js.map +1 -0
  199. package/dist/gateway/auth/store-integration.test.d.ts +2 -0
  200. package/dist/gateway/auth/store-integration.test.d.ts.map +1 -0
  201. package/dist/gateway/auth/store-integration.test.js +100 -0
  202. package/dist/gateway/auth/store-integration.test.js.map +1 -0
  203. package/dist/gateway/auth/test-helpers.d.ts +167 -0
  204. package/dist/gateway/auth/test-helpers.d.ts.map +1 -0
  205. package/dist/gateway/auth/test-helpers.js +368 -0
  206. package/dist/gateway/auth/test-helpers.js.map +1 -0
  207. package/dist/gateway/auth/types.d.ts +145 -0
  208. package/dist/gateway/auth/types.d.ts.map +1 -0
  209. package/dist/gateway/auth/types.js +2 -0
  210. package/dist/gateway/auth/types.js.map +1 -0
  211. package/dist/gateway/auth/wallet.d.ts +15 -0
  212. package/dist/gateway/auth/wallet.d.ts.map +1 -0
  213. package/dist/gateway/auth/wallet.js +43 -0
  214. package/dist/gateway/auth/wallet.js.map +1 -0
  215. package/dist/gateway/bundle.d.ts +127 -0
  216. package/dist/gateway/bundle.d.ts.map +1 -0
  217. package/dist/gateway/bundle.js +604 -0
  218. package/dist/gateway/bundle.js.map +1 -0
  219. package/dist/gateway/bundle.test.d.ts +2 -0
  220. package/dist/gateway/bundle.test.d.ts.map +1 -0
  221. package/dist/gateway/bundle.test.js +277 -0
  222. package/dist/gateway/bundle.test.js.map +1 -0
  223. package/dist/gateway/buyer-control.d.ts +33 -0
  224. package/dist/gateway/buyer-control.d.ts.map +1 -0
  225. package/dist/gateway/buyer-control.js +93 -0
  226. package/dist/gateway/buyer-control.js.map +1 -0
  227. package/dist/gateway/buyer-policy-probe.d.ts +41 -0
  228. package/dist/gateway/buyer-policy-probe.d.ts.map +1 -0
  229. package/dist/gateway/buyer-policy-probe.js +99 -0
  230. package/dist/gateway/buyer-policy-probe.js.map +1 -0
  231. package/dist/gateway/buyer-policy-probe.test.d.ts +2 -0
  232. package/dist/gateway/buyer-policy-probe.test.d.ts.map +1 -0
  233. package/dist/gateway/buyer-policy-probe.test.js +128 -0
  234. package/dist/gateway/buyer-policy-probe.test.js.map +1 -0
  235. package/dist/gateway/buyer-process.d.ts +30 -0
  236. package/dist/gateway/buyer-process.d.ts.map +1 -0
  237. package/dist/gateway/buyer-process.js +101 -0
  238. package/dist/gateway/buyer-process.js.map +1 -0
  239. package/dist/gateway/buyer-process.test.d.ts +2 -0
  240. package/dist/gateway/buyer-process.test.d.ts.map +1 -0
  241. package/dist/gateway/buyer-process.test.js +112 -0
  242. package/dist/gateway/buyer-process.test.js.map +1 -0
  243. package/dist/gateway/chat/routes.d.ts +45 -0
  244. package/dist/gateway/chat/routes.d.ts.map +1 -0
  245. package/dist/gateway/chat/routes.js +439 -0
  246. package/dist/gateway/chat/routes.js.map +1 -0
  247. package/dist/gateway/chat/routes.test.d.ts +2 -0
  248. package/dist/gateway/chat/routes.test.d.ts.map +1 -0
  249. package/dist/gateway/chat/routes.test.js +304 -0
  250. package/dist/gateway/chat/routes.test.js.map +1 -0
  251. package/dist/gateway/chat/tools.d.ts +35 -0
  252. package/dist/gateway/chat/tools.d.ts.map +1 -0
  253. package/dist/gateway/chat/tools.js +347 -0
  254. package/dist/gateway/chat/tools.js.map +1 -0
  255. package/dist/gateway/chat/tools.test.d.ts +2 -0
  256. package/dist/gateway/chat/tools.test.d.ts.map +1 -0
  257. package/dist/gateway/chat/tools.test.js +136 -0
  258. package/dist/gateway/chat/tools.test.js.map +1 -0
  259. package/dist/gateway/console-api/access.d.ts +52 -0
  260. package/dist/gateway/console-api/access.d.ts.map +1 -0
  261. package/dist/gateway/console-api/access.js +171 -0
  262. package/dist/gateway/console-api/access.js.map +1 -0
  263. package/dist/gateway/console-api/deps.d.ts +52 -0
  264. package/dist/gateway/console-api/deps.d.ts.map +1 -0
  265. package/dist/gateway/console-api/deps.js +2 -0
  266. package/dist/gateway/console-api/deps.js.map +1 -0
  267. package/dist/gateway/console-api/handlers/admin-tokens.d.ts +8 -0
  268. package/dist/gateway/console-api/handlers/admin-tokens.d.ts.map +1 -0
  269. package/dist/gateway/console-api/handlers/admin-tokens.js +48 -0
  270. package/dist/gateway/console-api/handlers/admin-tokens.js.map +1 -0
  271. package/dist/gateway/console-api/handlers/audit.d.ts +8 -0
  272. package/dist/gateway/console-api/handlers/audit.d.ts.map +1 -0
  273. package/dist/gateway/console-api/handlers/audit.js +19 -0
  274. package/dist/gateway/console-api/handlers/audit.js.map +1 -0
  275. package/dist/gateway/console-api/handlers/audit.test.d.ts +2 -0
  276. package/dist/gateway/console-api/handlers/audit.test.d.ts.map +1 -0
  277. package/dist/gateway/console-api/handlers/audit.test.js +241 -0
  278. package/dist/gateway/console-api/handlers/audit.test.js.map +1 -0
  279. package/dist/gateway/console-api/handlers/data-settings.test.d.ts +2 -0
  280. package/dist/gateway/console-api/handlers/data-settings.test.d.ts.map +1 -0
  281. package/dist/gateway/console-api/handlers/data-settings.test.js +264 -0
  282. package/dist/gateway/console-api/handlers/data-settings.test.js.map +1 -0
  283. package/dist/gateway/console-api/handlers/index.d.ts +4 -0
  284. package/dist/gateway/console-api/handlers/index.d.ts.map +1 -0
  285. package/dist/gateway/console-api/handlers/index.js +24 -0
  286. package/dist/gateway/console-api/handlers/index.js.map +1 -0
  287. package/dist/gateway/console-api/handlers/keys.d.ts +13 -0
  288. package/dist/gateway/console-api/handlers/keys.d.ts.map +1 -0
  289. package/dist/gateway/console-api/handlers/keys.js +128 -0
  290. package/dist/gateway/console-api/handlers/keys.js.map +1 -0
  291. package/dist/gateway/console-api/handlers/keys.test.d.ts +2 -0
  292. package/dist/gateway/console-api/handlers/keys.test.d.ts.map +1 -0
  293. package/dist/gateway/console-api/handlers/keys.test.js +166 -0
  294. package/dist/gateway/console-api/handlers/keys.test.js.map +1 -0
  295. package/dist/gateway/console-api/handlers/network-buyer.d.ts +22 -0
  296. package/dist/gateway/console-api/handlers/network-buyer.d.ts.map +1 -0
  297. package/dist/gateway/console-api/handlers/network-buyer.js +39 -0
  298. package/dist/gateway/console-api/handlers/network-buyer.js.map +1 -0
  299. package/dist/gateway/console-api/handlers/network-mapping.d.ts +33 -0
  300. package/dist/gateway/console-api/handlers/network-mapping.d.ts.map +1 -0
  301. package/dist/gateway/console-api/handlers/network-mapping.js +219 -0
  302. package/dist/gateway/console-api/handlers/network-mapping.js.map +1 -0
  303. package/dist/gateway/console-api/handlers/network-test-helpers.d.ts +35 -0
  304. package/dist/gateway/console-api/handlers/network-test-helpers.d.ts.map +1 -0
  305. package/dist/gateway/console-api/handlers/network-test-helpers.js +121 -0
  306. package/dist/gateway/console-api/handlers/network-test-helpers.js.map +1 -0
  307. package/dist/gateway/console-api/handlers/network.d.ts +15 -0
  308. package/dist/gateway/console-api/handlers/network.d.ts.map +1 -0
  309. package/dist/gateway/console-api/handlers/network.js +57 -0
  310. package/dist/gateway/console-api/handlers/network.js.map +1 -0
  311. package/dist/gateway/console-api/handlers/network.test.d.ts +2 -0
  312. package/dist/gateway/console-api/handlers/network.test.d.ts.map +1 -0
  313. package/dist/gateway/console-api/handlers/network.test.js +383 -0
  314. package/dist/gateway/console-api/handlers/network.test.js.map +1 -0
  315. package/dist/gateway/console-api/handlers/org.d.ts +10 -0
  316. package/dist/gateway/console-api/handlers/org.d.ts.map +1 -0
  317. package/dist/gateway/console-api/handlers/org.js +150 -0
  318. package/dist/gateway/console-api/handlers/org.js.map +1 -0
  319. package/dist/gateway/console-api/handlers/peer-lists.d.ts +5 -0
  320. package/dist/gateway/console-api/handlers/peer-lists.d.ts.map +1 -0
  321. package/dist/gateway/console-api/handlers/peer-lists.js +43 -0
  322. package/dist/gateway/console-api/handlers/peer-lists.js.map +1 -0
  323. package/dist/gateway/console-api/handlers/presets.d.ts +9 -0
  324. package/dist/gateway/console-api/handlers/presets.d.ts.map +1 -0
  325. package/dist/gateway/console-api/handlers/presets.js +79 -0
  326. package/dist/gateway/console-api/handlers/presets.js.map +1 -0
  327. package/dist/gateway/console-api/handlers/routing.d.ts +5 -0
  328. package/dist/gateway/console-api/handlers/routing.d.ts.map +1 -0
  329. package/dist/gateway/console-api/handlers/routing.js +20 -0
  330. package/dist/gateway/console-api/handlers/routing.js.map +1 -0
  331. package/dist/gateway/console-api/handlers/settings.d.ts +10 -0
  332. package/dist/gateway/console-api/handlers/settings.d.ts.map +1 -0
  333. package/dist/gateway/console-api/handlers/settings.js +38 -0
  334. package/dist/gateway/console-api/handlers/settings.js.map +1 -0
  335. package/dist/gateway/console-api/handlers/status.d.ts +9 -0
  336. package/dist/gateway/console-api/handlers/status.d.ts.map +1 -0
  337. package/dist/gateway/console-api/handlers/status.js +47 -0
  338. package/dist/gateway/console-api/handlers/status.js.map +1 -0
  339. package/dist/gateway/console-api/handlers/status.test.d.ts +2 -0
  340. package/dist/gateway/console-api/handlers/status.test.d.ts.map +1 -0
  341. package/dist/gateway/console-api/handlers/status.test.js +82 -0
  342. package/dist/gateway/console-api/handlers/status.test.js.map +1 -0
  343. package/dist/gateway/console-api/handlers/usage.d.ts +10 -0
  344. package/dist/gateway/console-api/handlers/usage.d.ts.map +1 -0
  345. package/dist/gateway/console-api/handlers/usage.js +68 -0
  346. package/dist/gateway/console-api/handlers/usage.js.map +1 -0
  347. package/dist/gateway/console-api/handlers/wallet-card-link.d.ts +29 -0
  348. package/dist/gateway/console-api/handlers/wallet-card-link.d.ts.map +1 -0
  349. package/dist/gateway/console-api/handlers/wallet-card-link.js +46 -0
  350. package/dist/gateway/console-api/handlers/wallet-card-link.js.map +1 -0
  351. package/dist/gateway/console-api/handlers/wallet-chain.d.ts +26 -0
  352. package/dist/gateway/console-api/handlers/wallet-chain.d.ts.map +1 -0
  353. package/dist/gateway/console-api/handlers/wallet-chain.js +80 -0
  354. package/dist/gateway/console-api/handlers/wallet-chain.js.map +1 -0
  355. package/dist/gateway/console-api/handlers/wallet-mapping.d.ts +45 -0
  356. package/dist/gateway/console-api/handlers/wallet-mapping.d.ts.map +1 -0
  357. package/dist/gateway/console-api/handlers/wallet-mapping.js +202 -0
  358. package/dist/gateway/console-api/handlers/wallet-mapping.js.map +1 -0
  359. package/dist/gateway/console-api/handlers/wallet-operator.d.ts +41 -0
  360. package/dist/gateway/console-api/handlers/wallet-operator.d.ts.map +1 -0
  361. package/dist/gateway/console-api/handlers/wallet-operator.js +198 -0
  362. package/dist/gateway/console-api/handlers/wallet-operator.js.map +1 -0
  363. package/dist/gateway/console-api/handlers/wallet-operator.test.d.ts +2 -0
  364. package/dist/gateway/console-api/handlers/wallet-operator.test.d.ts.map +1 -0
  365. package/dist/gateway/console-api/handlers/wallet-operator.test.js +195 -0
  366. package/dist/gateway/console-api/handlers/wallet-operator.test.js.map +1 -0
  367. package/dist/gateway/console-api/handlers/wallet.d.ts +61 -0
  368. package/dist/gateway/console-api/handlers/wallet.d.ts.map +1 -0
  369. package/dist/gateway/console-api/handlers/wallet.js +221 -0
  370. package/dist/gateway/console-api/handlers/wallet.js.map +1 -0
  371. package/dist/gateway/console-api/handlers/wallet.test.d.ts +2 -0
  372. package/dist/gateway/console-api/handlers/wallet.test.d.ts.map +1 -0
  373. package/dist/gateway/console-api/handlers/wallet.test.js +581 -0
  374. package/dist/gateway/console-api/handlers/wallet.test.js.map +1 -0
  375. package/dist/gateway/console-api/handlers/workspaces.d.ts +12 -0
  376. package/dist/gateway/console-api/handlers/workspaces.d.ts.map +1 -0
  377. package/dist/gateway/console-api/handlers/workspaces.js +96 -0
  378. package/dist/gateway/console-api/handlers/workspaces.js.map +1 -0
  379. package/dist/gateway/console-api/operator-types.d.ts +68 -0
  380. package/dist/gateway/console-api/operator-types.d.ts.map +1 -0
  381. package/dist/gateway/console-api/operator-types.js +21 -0
  382. package/dist/gateway/console-api/operator-types.js.map +1 -0
  383. package/dist/gateway/console-api/router.d.ts +97 -0
  384. package/dist/gateway/console-api/router.d.ts.map +1 -0
  385. package/dist/gateway/console-api/router.js +69 -0
  386. package/dist/gateway/console-api/router.js.map +1 -0
  387. package/dist/gateway/console-api/routes.test.d.ts +2 -0
  388. package/dist/gateway/console-api/routes.test.d.ts.map +1 -0
  389. package/dist/gateway/console-api/routes.test.js +331 -0
  390. package/dist/gateway/console-api/routes.test.js.map +1 -0
  391. package/dist/gateway/console-api/serialize.d.ts +33 -0
  392. package/dist/gateway/console-api/serialize.d.ts.map +1 -0
  393. package/dist/gateway/console-api/serialize.js +179 -0
  394. package/dist/gateway/console-api/serialize.js.map +1 -0
  395. package/dist/gateway/console-api/server.d.ts +38 -0
  396. package/dist/gateway/console-api/server.d.ts.map +1 -0
  397. package/dist/gateway/console-api/server.js +308 -0
  398. package/dist/gateway/console-api/server.js.map +1 -0
  399. package/dist/gateway/console-api/server.test.d.ts +2 -0
  400. package/dist/gateway/console-api/server.test.d.ts.map +1 -0
  401. package/dist/gateway/console-api/server.test.js +149 -0
  402. package/dist/gateway/console-api/server.test.js.map +1 -0
  403. package/dist/gateway/console-api/test-support.d.ts +59 -0
  404. package/dist/gateway/console-api/test-support.d.ts.map +1 -0
  405. package/dist/gateway/console-api/test-support.js +120 -0
  406. package/dist/gateway/console-api/test-support.js.map +1 -0
  407. package/dist/gateway/console-api/types.d.ts +779 -0
  408. package/dist/gateway/console-api/types.d.ts.map +1 -0
  409. package/dist/gateway/console-api/types.js +6 -0
  410. package/dist/gateway/console-api/types.js.map +1 -0
  411. package/dist/gateway/console-location.d.ts +21 -0
  412. package/dist/gateway/console-location.d.ts.map +1 -0
  413. package/dist/gateway/console-location.js +41 -0
  414. package/dist/gateway/console-location.js.map +1 -0
  415. package/dist/gateway/console-recovery.d.ts +34 -0
  416. package/dist/gateway/console-recovery.d.ts.map +1 -0
  417. package/dist/gateway/console-recovery.js +94 -0
  418. package/dist/gateway/console-recovery.js.map +1 -0
  419. package/dist/gateway/console-recovery.test.d.ts +2 -0
  420. package/dist/gateway/console-recovery.test.d.ts.map +1 -0
  421. package/dist/gateway/console-recovery.test.js +106 -0
  422. package/dist/gateway/console-recovery.test.js.map +1 -0
  423. package/dist/gateway/console.d.ts +18 -0
  424. package/dist/gateway/console.d.ts.map +1 -0
  425. package/dist/gateway/console.js +101 -0
  426. package/dist/gateway/console.js.map +1 -0
  427. package/dist/gateway/console.test.d.ts +2 -0
  428. package/dist/gateway/console.test.d.ts.map +1 -0
  429. package/dist/gateway/console.test.js +165 -0
  430. package/dist/gateway/console.test.js.map +1 -0
  431. package/dist/gateway/errors.d.ts +3 -0
  432. package/dist/gateway/errors.d.ts.map +1 -0
  433. package/dist/gateway/errors.js +5 -0
  434. package/dist/gateway/errors.js.map +1 -0
  435. package/dist/gateway/exposure.d.ts +33 -0
  436. package/dist/gateway/exposure.d.ts.map +1 -0
  437. package/dist/gateway/exposure.js +146 -0
  438. package/dist/gateway/exposure.js.map +1 -0
  439. package/dist/gateway/exposure.test.d.ts +2 -0
  440. package/dist/gateway/exposure.test.d.ts.map +1 -0
  441. package/dist/gateway/exposure.test.js +93 -0
  442. package/dist/gateway/exposure.test.js.map +1 -0
  443. package/dist/gateway/gateway-policy.test.d.ts +2 -0
  444. package/dist/gateway/gateway-policy.test.d.ts.map +1 -0
  445. package/dist/gateway/gateway-policy.test.js +404 -0
  446. package/dist/gateway/gateway-policy.test.js.map +1 -0
  447. package/dist/gateway/gateway.test.js +77 -24
  448. package/dist/gateway/gateway.test.js.map +1 -1
  449. package/dist/gateway/keys.d.ts +2 -0
  450. package/dist/gateway/keys.d.ts.map +1 -1
  451. package/dist/gateway/keys.js +2 -0
  452. package/dist/gateway/keys.js.map +1 -1
  453. package/dist/gateway/limits.d.ts +32 -8
  454. package/dist/gateway/limits.d.ts.map +1 -1
  455. package/dist/gateway/limits.js +27 -11
  456. package/dist/gateway/limits.js.map +1 -1
  457. package/dist/gateway/observability.d.ts +51 -0
  458. package/dist/gateway/observability.d.ts.map +1 -0
  459. package/dist/gateway/observability.js +136 -0
  460. package/dist/gateway/observability.js.map +1 -0
  461. package/dist/gateway/policy-resolver.d.ts +73 -0
  462. package/dist/gateway/policy-resolver.d.ts.map +1 -0
  463. package/dist/gateway/policy-resolver.js +142 -0
  464. package/dist/gateway/policy-resolver.js.map +1 -0
  465. package/dist/gateway/policy-resolver.test.d.ts +2 -0
  466. package/dist/gateway/policy-resolver.test.d.ts.map +1 -0
  467. package/dist/gateway/policy-resolver.test.js +273 -0
  468. package/dist/gateway/policy-resolver.test.js.map +1 -0
  469. package/dist/gateway/request-errors.test.d.ts +2 -0
  470. package/dist/gateway/request-errors.test.d.ts.map +1 -0
  471. package/dist/gateway/request-errors.test.js +108 -0
  472. package/dist/gateway/request-errors.test.js.map +1 -0
  473. package/dist/gateway/request-shaping.d.ts +25 -0
  474. package/dist/gateway/request-shaping.d.ts.map +1 -0
  475. package/dist/gateway/request-shaping.js +66 -0
  476. package/dist/gateway/request-shaping.js.map +1 -0
  477. package/dist/gateway/response-usage.d.ts +35 -0
  478. package/dist/gateway/response-usage.d.ts.map +1 -0
  479. package/dist/gateway/response-usage.js +167 -0
  480. package/dist/gateway/response-usage.js.map +1 -0
  481. package/dist/gateway/response-usage.test.d.ts +2 -0
  482. package/dist/gateway/response-usage.test.d.ts.map +1 -0
  483. package/dist/gateway/response-usage.test.js +78 -0
  484. package/dist/gateway/response-usage.test.js.map +1 -0
  485. package/dist/gateway/runtime.d.ts +25 -0
  486. package/dist/gateway/runtime.d.ts.map +1 -1
  487. package/dist/gateway/runtime.js +39 -19
  488. package/dist/gateway/runtime.js.map +1 -1
  489. package/dist/gateway/server.d.ts +68 -2
  490. package/dist/gateway/server.d.ts.map +1 -1
  491. package/dist/gateway/server.js +533 -114
  492. package/dist/gateway/server.js.map +1 -1
  493. package/dist/gateway/services/audit.d.ts +16 -0
  494. package/dist/gateway/services/audit.d.ts.map +1 -0
  495. package/dist/gateway/services/audit.js +18 -0
  496. package/dist/gateway/services/audit.js.map +1 -0
  497. package/dist/gateway/services/context.d.ts +66 -0
  498. package/dist/gateway/services/context.d.ts.map +1 -0
  499. package/dist/gateway/services/context.js +52 -0
  500. package/dist/gateway/services/context.js.map +1 -0
  501. package/dist/gateway/services/keys.d.ts +78 -0
  502. package/dist/gateway/services/keys.d.ts.map +1 -0
  503. package/dist/gateway/services/keys.js +232 -0
  504. package/dist/gateway/services/keys.js.map +1 -0
  505. package/dist/gateway/services/members.d.ts +72 -0
  506. package/dist/gateway/services/members.d.ts.map +1 -0
  507. package/dist/gateway/services/members.js +161 -0
  508. package/dist/gateway/services/members.js.map +1 -0
  509. package/dist/gateway/services/network.d.ts +36 -0
  510. package/dist/gateway/services/network.d.ts.map +1 -0
  511. package/dist/gateway/services/network.js +147 -0
  512. package/dist/gateway/services/network.js.map +1 -0
  513. package/dist/gateway/services/operator.d.ts +98 -0
  514. package/dist/gateway/services/operator.d.ts.map +1 -0
  515. package/dist/gateway/services/operator.js +170 -0
  516. package/dist/gateway/services/operator.js.map +1 -0
  517. package/dist/gateway/services/operator.test.d.ts +2 -0
  518. package/dist/gateway/services/operator.test.d.ts.map +1 -0
  519. package/dist/gateway/services/operator.test.js +184 -0
  520. package/dist/gateway/services/operator.test.js.map +1 -0
  521. package/dist/gateway/services/peer-lists.d.ts +20 -0
  522. package/dist/gateway/services/peer-lists.d.ts.map +1 -0
  523. package/dist/gateway/services/peer-lists.js +134 -0
  524. package/dist/gateway/services/peer-lists.js.map +1 -0
  525. package/dist/gateway/services/presets.d.ts +34 -0
  526. package/dist/gateway/services/presets.d.ts.map +1 -0
  527. package/dist/gateway/services/presets.js +134 -0
  528. package/dist/gateway/services/presets.js.map +1 -0
  529. package/dist/gateway/services/routing.d.ts +13 -0
  530. package/dist/gateway/services/routing.d.ts.map +1 -0
  531. package/dist/gateway/services/routing.js +18 -0
  532. package/dist/gateway/services/routing.js.map +1 -0
  533. package/dist/gateway/services/services.test.d.ts +2 -0
  534. package/dist/gateway/services/services.test.d.ts.map +1 -0
  535. package/dist/gateway/services/services.test.js +476 -0
  536. package/dist/gateway/services/services.test.js.map +1 -0
  537. package/dist/gateway/services/settings.d.ts +68 -0
  538. package/dist/gateway/services/settings.d.ts.map +1 -0
  539. package/dist/gateway/services/settings.js +580 -0
  540. package/dist/gateway/services/settings.js.map +1 -0
  541. package/dist/gateway/services/tokens.d.ts +29 -0
  542. package/dist/gateway/services/tokens.d.ts.map +1 -0
  543. package/dist/gateway/services/tokens.js +48 -0
  544. package/dist/gateway/services/tokens.js.map +1 -0
  545. package/dist/gateway/services/usage.d.ts +55 -0
  546. package/dist/gateway/services/usage.d.ts.map +1 -0
  547. package/dist/gateway/services/usage.js +225 -0
  548. package/dist/gateway/services/usage.js.map +1 -0
  549. package/dist/gateway/services/wallet-address-env.test.d.ts +2 -0
  550. package/dist/gateway/services/wallet-address-env.test.d.ts.map +1 -0
  551. package/dist/gateway/services/wallet-address-env.test.js +119 -0
  552. package/dist/gateway/services/wallet-address-env.test.js.map +1 -0
  553. package/dist/gateway/services/wallet-address.d.ts +40 -0
  554. package/dist/gateway/services/wallet-address.d.ts.map +1 -0
  555. package/dist/gateway/services/wallet-address.js +116 -0
  556. package/dist/gateway/services/wallet-address.js.map +1 -0
  557. package/dist/gateway/services/wallet-address.test.d.ts +2 -0
  558. package/dist/gateway/services/wallet-address.test.d.ts.map +1 -0
  559. package/dist/gateway/services/wallet-address.test.js +84 -0
  560. package/dist/gateway/services/wallet-address.test.js.map +1 -0
  561. package/dist/gateway/services/workspaces.d.ts +75 -0
  562. package/dist/gateway/services/workspaces.d.ts.map +1 -0
  563. package/dist/gateway/services/workspaces.js +228 -0
  564. package/dist/gateway/services/workspaces.js.map +1 -0
  565. package/dist/gateway/spend-durability.test.d.ts +2 -0
  566. package/dist/gateway/spend-durability.test.d.ts.map +1 -0
  567. package/dist/gateway/spend-durability.test.js +330 -0
  568. package/dist/gateway/spend-durability.test.js.map +1 -0
  569. package/dist/gateway/spend-feed.d.ts +11 -1
  570. package/dist/gateway/spend-feed.d.ts.map +1 -1
  571. package/dist/gateway/spend-feed.js +17 -4
  572. package/dist/gateway/spend-feed.js.map +1 -1
  573. package/dist/gateway/spend-feed.test.d.ts +2 -0
  574. package/dist/gateway/spend-feed.test.d.ts.map +1 -0
  575. package/dist/gateway/spend-feed.test.js +34 -0
  576. package/dist/gateway/spend-feed.test.js.map +1 -0
  577. package/dist/gateway/store-data.test.d.ts +2 -0
  578. package/dist/gateway/store-data.test.d.ts.map +1 -0
  579. package/dist/gateway/store-data.test.js +346 -0
  580. package/dist/gateway/store-data.test.js.map +1 -0
  581. package/dist/gateway/store-migrations.d.ts +6 -0
  582. package/dist/gateway/store-migrations.d.ts.map +1 -0
  583. package/dist/gateway/store-migrations.js +301 -0
  584. package/dist/gateway/store-migrations.js.map +1 -0
  585. package/dist/gateway/store.d.ts +595 -10
  586. package/dist/gateway/store.d.ts.map +1 -1
  587. package/dist/gateway/store.js +1242 -120
  588. package/dist/gateway/store.js.map +1 -1
  589. package/dist/gateway/store.test.d.ts +2 -0
  590. package/dist/gateway/store.test.d.ts.map +1 -0
  591. package/dist/gateway/store.test.js +185 -0
  592. package/dist/gateway/store.test.js.map +1 -0
  593. package/dist/proxy/buyer-chain-reader.d.ts +68 -0
  594. package/dist/proxy/buyer-chain-reader.d.ts.map +1 -0
  595. package/dist/proxy/buyer-chain-reader.js +152 -0
  596. package/dist/proxy/buyer-chain-reader.js.map +1 -0
  597. package/dist/proxy/buyer-chain-reader.test.d.ts +2 -0
  598. package/dist/proxy/buyer-chain-reader.test.d.ts.map +1 -0
  599. package/dist/proxy/buyer-chain-reader.test.js +102 -0
  600. package/dist/proxy/buyer-chain-reader.test.js.map +1 -0
  601. package/dist/proxy/buyer-proxy.d.ts +169 -3
  602. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  603. package/dist/proxy/buyer-proxy.js +882 -118
  604. package/dist/proxy/buyer-proxy.js.map +1 -1
  605. package/dist/proxy/buyer-proxy.test.js +108 -0
  606. package/dist/proxy/buyer-proxy.test.js.map +1 -1
  607. package/dist/proxy/chain-read-cache.d.ts +47 -0
  608. package/dist/proxy/chain-read-cache.d.ts.map +1 -0
  609. package/dist/proxy/chain-read-cache.js +110 -0
  610. package/dist/proxy/chain-read-cache.js.map +1 -0
  611. package/dist/proxy/chain-read-cache.test.d.ts +2 -0
  612. package/dist/proxy/chain-read-cache.test.d.ts.map +1 -0
  613. package/dist/proxy/chain-read-cache.test.js +75 -0
  614. package/dist/proxy/chain-read-cache.test.js.map +1 -0
  615. package/dist/proxy/chain-rpc-test-support.d.ts +31 -0
  616. package/dist/proxy/chain-rpc-test-support.d.ts.map +1 -0
  617. package/dist/proxy/chain-rpc-test-support.js +136 -0
  618. package/dist/proxy/chain-rpc-test-support.js.map +1 -0
  619. package/dist/proxy/chain-rpc.d.ts +121 -0
  620. package/dist/proxy/chain-rpc.d.ts.map +1 -0
  621. package/dist/proxy/chain-rpc.js +420 -0
  622. package/dist/proxy/chain-rpc.js.map +1 -0
  623. package/dist/proxy/chain-rpc.test.d.ts +2 -0
  624. package/dist/proxy/chain-rpc.test.d.ts.map +1 -0
  625. package/dist/proxy/chain-rpc.test.js +180 -0
  626. package/dist/proxy/chain-rpc.test.js.map +1 -0
  627. package/dist/proxy/credential-headers.d.ts +17 -0
  628. package/dist/proxy/credential-headers.d.ts.map +1 -0
  629. package/dist/proxy/credential-headers.js +29 -0
  630. package/dist/proxy/credential-headers.js.map +1 -0
  631. package/dist/proxy/deposit-watch-hub.d.ts +47 -0
  632. package/dist/proxy/deposit-watch-hub.d.ts.map +1 -0
  633. package/dist/proxy/deposit-watch-hub.js +111 -0
  634. package/dist/proxy/deposit-watch-hub.js.map +1 -0
  635. package/dist/proxy/deposit-watch-hub.test.d.ts +2 -0
  636. package/dist/proxy/deposit-watch-hub.test.d.ts.map +1 -0
  637. package/dist/proxy/deposit-watch-hub.test.js +133 -0
  638. package/dist/proxy/deposit-watch-hub.test.js.map +1 -0
  639. package/dist/proxy/deposit-watcher.d.ts +63 -4
  640. package/dist/proxy/deposit-watcher.d.ts.map +1 -1
  641. package/dist/proxy/deposit-watcher.js +120 -19
  642. package/dist/proxy/deposit-watcher.js.map +1 -1
  643. package/dist/proxy/deposit-watcher.test.js +81 -5
  644. package/dist/proxy/deposit-watcher.test.js.map +1 -1
  645. package/dist/proxy/gateway-policy.test.d.ts +2 -0
  646. package/dist/proxy/gateway-policy.test.d.ts.map +1 -0
  647. package/dist/proxy/gateway-policy.test.js +576 -0
  648. package/dist/proxy/gateway-policy.test.js.map +1 -0
  649. package/dist/proxy/network-models.d.ts +2 -0
  650. package/dist/proxy/network-models.d.ts.map +1 -1
  651. package/dist/proxy/network-models.js +3 -1
  652. package/dist/proxy/network-models.js.map +1 -1
  653. package/dist/proxy/route-policy.d.ts +97 -0
  654. package/dist/proxy/route-policy.d.ts.map +1 -0
  655. package/dist/proxy/route-policy.js +230 -0
  656. package/dist/proxy/route-policy.js.map +1 -0
  657. package/dist/proxy/route-policy.test.d.ts +2 -0
  658. package/dist/proxy/route-policy.test.d.ts.map +1 -0
  659. package/dist/proxy/route-policy.test.js +120 -0
  660. package/dist/proxy/route-policy.test.js.map +1 -0
  661. package/dist/proxy/spend-attribution.d.ts +41 -10
  662. package/dist/proxy/spend-attribution.d.ts.map +1 -1
  663. package/dist/proxy/spend-attribution.js +133 -37
  664. package/dist/proxy/spend-attribution.js.map +1 -1
  665. package/dist/proxy/tee-control.d.ts +3 -1
  666. package/dist/proxy/tee-control.d.ts.map +1 -1
  667. package/dist/proxy/tee-control.js +5 -3
  668. package/dist/proxy/tee-control.js.map +1 -1
  669. package/dist/proxy/telemetry.d.ts +2 -1
  670. package/dist/proxy/telemetry.d.ts.map +1 -1
  671. package/dist/proxy/telemetry.js +10 -5
  672. package/dist/proxy/telemetry.js.map +1 -1
  673. package/dist/routing-policy/policy.d.ts +149 -0
  674. package/dist/routing-policy/policy.d.ts.map +1 -0
  675. package/dist/routing-policy/policy.js +450 -0
  676. package/dist/routing-policy/policy.js.map +1 -0
  677. package/dist/routing-policy/policy.test.d.ts +2 -0
  678. package/dist/routing-policy/policy.test.d.ts.map +1 -0
  679. package/dist/routing-policy/policy.test.js +134 -0
  680. package/dist/routing-policy/policy.test.js.map +1 -0
  681. package/dist/system-proxy/proxy-server.js +2 -2
  682. package/dist/system-proxy/proxy-server.js.map +1 -1
  683. package/dist/system-proxy/proxy-server.test.js +40 -0
  684. package/dist/system-proxy/proxy-server.test.js.map +1 -1
  685. package/package.json +16 -7
@@ -0,0 +1,82 @@
1
+ import assert from 'node:assert/strict';
2
+ import { test } from 'node:test';
3
+ import { CONSOLE_LOCATION_SETTING } from '../../console-location.js';
4
+ import { DEFAULT_WORKSPACE_ID } from '../../store.js';
5
+ import { FakeConsoleAuth, addActiveMember, call, memberPrincipal, startConsole, tempDataDir, testDeps } from '../test-support.js';
6
+ import { registerStatusRoutes } from './status.js';
7
+ const LAPTOP = { platform: 'darwin', systemd: false, container: false };
8
+ const SERVER = { platform: 'linux', systemd: true, container: false };
9
+ const NO_LIMITS = { daily: null, weekly: null, monthly: null, total: null };
10
+ async function harness(overrides) {
11
+ const { dir, store, cleanup } = tempDataDir();
12
+ const auth = new FakeConsoleAuth();
13
+ const owner = store.createOwner({ label: 'Owner', email: 'owner@example.test' });
14
+ const admin = addActiveMember(store, 'Admin', { orgRole: 'admin' });
15
+ const member = addActiveMember(store, 'Member', { workspaces: [{ workspaceId: DEFAULT_WORKSPACE_ID, role: 'member' }] });
16
+ const key = store.createKey({ label: 'k', workspaceId: DEFAULT_WORKSPACE_ID, ownerMemberId: member.id, limits: NO_LIMITS, expiresAt: null });
17
+ auth.as('owner', memberPrincipal(store, owner.id));
18
+ auth.as('admin', memberPrincipal(store, admin.id));
19
+ auth.as('member', memberPrincipal(store, member.id));
20
+ auth.as('keyholder', { kind: 'key', keyId: key.key.id, sessionId: 'ks' });
21
+ const deps = { ...testDeps(store, dir), ...overrides };
22
+ const server = await startConsole(deps, auth, [registerStatusRoutes]);
23
+ const status = async (who) => {
24
+ const result = await call(server.port, 'GET', '/console/api/status', { who });
25
+ assert.equal(result.status, 200);
26
+ return result.body;
27
+ };
28
+ return { store, status, close: async () => { await server.close(); cleanup(); } };
29
+ }
30
+ test('GET /status: a laptop gateway on loopback is local; admins see why, others only the mode', async () => {
31
+ const h = await harness({ publicUrl: null, listenHost: '127.0.0.1', hostFacts: LAPTOP });
32
+ try {
33
+ for (const who of ['owner', 'admin']) {
34
+ const { exposure } = await h.status(who);
35
+ assert.equal(exposure?.mode, 'local', who);
36
+ assert.equal(exposure?.reachableFromInternet, false);
37
+ assert.equal(exposure?.personalComputer, true);
38
+ assert.equal(exposure?.listenHost, '127.0.0.1');
39
+ assert.ok((exposure?.reasons.length ?? 0) > 0);
40
+ }
41
+ for (const who of ['member', 'keyholder']) {
42
+ const { exposure } = await h.status(who);
43
+ assert.equal(exposure?.mode, 'local', who);
44
+ assert.equal(exposure?.listenHost, null, `${who} does not learn the listen address`);
45
+ assert.deepEqual(exposure?.reasons, []);
46
+ }
47
+ }
48
+ finally {
49
+ await h.close();
50
+ }
51
+ });
52
+ test('GET /status: a server with a public URL is public', async () => {
53
+ const h = await harness({ publicUrl: 'https://llm.example.com', listenHost: '127.0.0.1', hostFacts: SERVER });
54
+ try {
55
+ const { exposure, publicUrl } = await h.status('owner');
56
+ assert.equal(publicUrl, 'https://llm.example.com');
57
+ assert.equal(exposure?.mode, 'public');
58
+ assert.equal(exposure?.reachableFromInternet, true);
59
+ assert.equal(exposure?.personalComputer, false);
60
+ }
61
+ finally {
62
+ await h.close();
63
+ }
64
+ });
65
+ test('GET /status: a quick tunnel URL saved after start-up counts as public; 0.0.0.0 without one is lan', async () => {
66
+ const h = await harness({ publicUrl: null, hostFacts: SERVER });
67
+ try {
68
+ h.store.setSetting(CONSOLE_LOCATION_SETTING, { publicUrl: null, port: 8379, host: '0.0.0.0' });
69
+ const lan = await h.status('owner');
70
+ assert.equal(lan.exposure?.mode, 'lan');
71
+ assert.equal(lan.exposure?.listenHost, '0.0.0.0', 'falls back to the saved listen address');
72
+ assert.equal(lan.exposure?.reachableFromInternet, null);
73
+ h.store.setSetting(CONSOLE_LOCATION_SETTING, { publicUrl: 'https://quick-fox.trycloudflare.com', port: 8379 });
74
+ const tunnel = await h.status('owner');
75
+ assert.equal(tunnel.exposure?.mode, 'public');
76
+ assert.equal(tunnel.exposure?.publicUrl, 'https://quick-fox.trycloudflare.com');
77
+ }
78
+ finally {
79
+ await h.close();
80
+ }
81
+ });
82
+ //# sourceMappingURL=status.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.test.js","sourceRoot":"","sources":["../../../../src/gateway/console-api/handlers/status.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ConsoleDeps } from '../deps.js';
2
+ import { type ConsoleRouter } from '../router.js';
3
+ /**
4
+ * Usage reports, the request log and its CSV export (see
5
+ * `services/usage.ts`). Every query is limited to the keys the caller may
6
+ * see: all for org admins and tokens, a workspace's keys for its admins, a
7
+ * member's own keys otherwise, and the one key for an API-key session.
8
+ */
9
+ export declare function registerUsageRoutes(router: ConsoleRouter, deps: ConsoleDeps): void;
10
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../../src/gateway/console-api/handlers/usage.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAgB,KAAK,aAAa,EAAkB,MAAM,cAAc,CAAA;AA6B/E;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAmClF"}
@@ -0,0 +1,68 @@
1
+ import { decodeCursor, listRequestPage, parseGrouping, parseSearch, parseStatusFilter, parseTime, requestCsvChunks, requestDetail, usageReport, } from '../../services/usage.js';
2
+ import { canSeeWorkspace, visibleKeyIds } from '../access.js';
3
+ import { ConsoleError } from '../router.js';
4
+ /** Filters from the query, limited to what the caller may see. */
5
+ function scopedFilter(store, principal, query) {
6
+ const workspaceId = query.get('workspace');
7
+ if (workspaceId && principal?.kind !== 'key' && !canSeeWorkspace(store, principal, workspaceId)) {
8
+ throw new ConsoleError(403, 'forbidden', 'You are not a member of this workspace');
9
+ }
10
+ return {
11
+ keyIds: visibleKeyIds(store, principal),
12
+ workspaceId: workspaceId || null,
13
+ keyId: query.get('key') || null,
14
+ memberId: query.get('member') || null,
15
+ model: query.get('model') || null,
16
+ };
17
+ }
18
+ /** The request-log filters shared by `/requests` and the CSV export. */
19
+ function requestFilter(store, principal, query) {
20
+ const q = parseSearch(query.get('q'));
21
+ return {
22
+ ...scopedFilter(store, principal, query),
23
+ from: parseTime(query.get('from'), 'from'),
24
+ to: parseTime(query.get('to'), 'to'),
25
+ status: parseStatusFilter(query.get('status')),
26
+ q,
27
+ };
28
+ }
29
+ /**
30
+ * Usage reports, the request log and its CSV export (see
31
+ * `services/usage.ts`). Every query is limited to the keys the caller may
32
+ * see: all for org admins and tokens, a workspace's keys for its admins, a
33
+ * member's own keys otherwise, and the one key for an API-key session.
34
+ */
35
+ export function registerUsageRoutes(router, deps) {
36
+ const { store } = deps;
37
+ const allow = ['member', 'token', 'key'];
38
+ router.add('GET', '/usage', async ({ principal, query }) => {
39
+ const filter = scopedFilter(store, principal, query);
40
+ const to = parseTime(query.get('to'), 'to');
41
+ const from = parseTime(query.get('from'), 'from');
42
+ return usageReport(store, filter, { from, to, ...parseGrouping(query.get('groupBy'), query.get('splitBy')), now: deps.now() });
43
+ }, { allow });
44
+ router.add('GET', '/requests', async ({ principal, query }) => {
45
+ const filter = requestFilter(store, principal, query);
46
+ return listRequestPage(store, filter, { before: decodeCursor(query.get('before')), limit: Number(query.get('limit') ?? 50) });
47
+ }, { allow });
48
+ router.add('GET', '/requests/:tag', async ({ principal, params }) => {
49
+ return requestDetail(store, params['tag'], visibleKeyIds(store, principal));
50
+ }, { allow });
51
+ /** Streams the export page by page (cursor order), so memory stays flat however many rows match. */
52
+ router.add('GET', '/usage/export.csv', async ({ principal, query, res }) => {
53
+ const filter = requestFilter(store, principal, query);
54
+ const before = decodeCursor(query.get('before'));
55
+ res.writeHead(200, {
56
+ 'content-type': 'text/csv; charset=utf-8',
57
+ 'content-disposition': `attachment; filename="antseed-usage-${new Date(deps.now()).toISOString().slice(0, 10)}.csv"`,
58
+ 'cache-control': 'no-store',
59
+ });
60
+ for (const chunk of requestCsvChunks(store, filter, { before, stopped: () => res.destroyed })) {
61
+ if (!res.write(chunk))
62
+ await new Promise((resolve) => { res.once('drain', resolve); res.once('close', resolve); });
63
+ }
64
+ res.end();
65
+ return undefined;
66
+ }, { allow });
67
+ }
68
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../../src/gateway/console-api/handlers/usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Signed Antseed Pay funding links for a workspace wallet. The link itself
3
+ * is built by `@antseed/payments/card-link`, the same code the desktop uses
4
+ * (`payments:open-card-provider`), so both produce the same bytes; this
5
+ * module adds the gateway's amount bounds and pay-page URL setting.
6
+ */
7
+ import { antseedPayMessage, DEFAULT_ANTSEED_PAY_URL, type AntseedPayIntegration } from '@antseed/payments/card-link';
8
+ export type CardProvider = AntseedPayIntegration;
9
+ export declare const CARD_PROVIDERS: readonly CardProvider[];
10
+ export { DEFAULT_ANTSEED_PAY_URL };
11
+ export declare function antseedPayBaseUrl(env?: NodeJS.ProcessEnv): string;
12
+ /**
13
+ * The amount as the desktop writes it, `String(Number(input))` ("10.50" →
14
+ * "10.5"); throws a user-facing message when it is out of bounds or has
15
+ * more than 2 decimals, which the pay page rejects as a malformed link.
16
+ */
17
+ export declare function cardAmountString(input: unknown): string;
18
+ /** The signed message (the pay page's wire format). */
19
+ export declare const cardLinkMessage: typeof antseedPayMessage;
20
+ export declare function buildCardLink(input: {
21
+ baseUrl: string;
22
+ wallet: {
23
+ address: string;
24
+ signMessage(message: string): Promise<string>;
25
+ };
26
+ amountUsd: unknown;
27
+ provider: CardProvider;
28
+ }): Promise<string>;
29
+ //# sourceMappingURL=wallet-card-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-card-link.d.ts","sourceRoot":"","sources":["../../../../src/gateway/console-api/handlers/wallet-card-link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAA4B,iBAAiB,EAAuB,uBAAuB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAEnK,MAAM,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAEhD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAA6B,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAOlC,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUvD;AAED,uDAAuD;AACvD,eAAO,MAAM,eAAe,0BAAoB,CAAA;AAEhD,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;IAC1E,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Signed Antseed Pay funding links for a workspace wallet. The link itself
3
+ * is built by `@antseed/payments/card-link`, the same code the desktop uses
4
+ * (`payments:open-card-provider`), so both produce the same bytes; this
5
+ * module adds the gateway's amount bounds and pay-page URL setting.
6
+ */
7
+ import { ANTSEED_PAY_INTEGRATIONS, antseedPayMessage, buildAntseedPayLink, DEFAULT_ANTSEED_PAY_URL } from '@antseed/payments/card-link';
8
+ export const CARD_PROVIDERS = ANTSEED_PAY_INTEGRATIONS;
9
+ export { DEFAULT_ANTSEED_PAY_URL };
10
+ /** Deposits take at least 1 USDC on a first deposit; the pay page refuses links above $200. */
11
+ const CARD_MIN_USD = 1;
12
+ const CARD_MAX_USD = 200;
13
+ /** The pay page's link amount format: whole dollars or up to 2 decimals ("20", "12.5"). */
14
+ const CARD_AMOUNT_RE = /^\d+(\.\d{1,2})?$/;
15
+ export function antseedPayBaseUrl(env = process.env) {
16
+ return env['ANTSEED_PAY_URL']?.trim() || DEFAULT_ANTSEED_PAY_URL;
17
+ }
18
+ /**
19
+ * The amount as the desktop writes it, `String(Number(input))` ("10.50" →
20
+ * "10.5"); throws a user-facing message when it is out of bounds or has
21
+ * more than 2 decimals, which the pay page rejects as a malformed link.
22
+ */
23
+ export function cardAmountString(input) {
24
+ let amount = Number.NaN;
25
+ if (typeof input === 'number')
26
+ amount = input;
27
+ else if (typeof input === 'string' && input.trim() !== '')
28
+ amount = Number(input);
29
+ if (!Number.isFinite(amount) || amount <= 0)
30
+ throw new Error('amountUsd must be a positive number.');
31
+ if (amount < CARD_MIN_USD)
32
+ throw new Error(`The minimum card deposit is $${CARD_MIN_USD}.`);
33
+ if (amount > CARD_MAX_USD)
34
+ throw new Error(`The maximum card deposit is $${CARD_MAX_USD}.`);
35
+ const text = String(amount);
36
+ if (!CARD_AMOUNT_RE.test(text))
37
+ throw new Error('The card deposit amount can have at most 2 decimals (cents).');
38
+ return text;
39
+ }
40
+ /** The signed message (the pay page's wire format). */
41
+ export const cardLinkMessage = antseedPayMessage;
42
+ export async function buildCardLink(input) {
43
+ const amount = cardAmountString(input.amountUsd);
44
+ return buildAntseedPayLink({ baseUrl: input.baseUrl, wallet: input.wallet, amount, integration: input.provider });
45
+ }
46
+ //# sourceMappingURL=wallet-card-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-card-link.js","sourceRoot":"","sources":["../../../../src/gateway/console-api/handlers/wallet-card-link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAA8B,MAAM,6BAA6B,CAAA;AAInK,MAAM,CAAC,MAAM,cAAc,GAA4B,wBAAwB,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,+FAA+F;AAC/F,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,2FAA2F;AAC3F,MAAM,cAAc,GAAG,mBAAmB,CAAA;AAE1C,MAAM,UAAU,iBAAiB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACpE,OAAO,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,uBAAuB,CAAA;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,GAAG,KAAK,CAAA;SACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACjF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACpG,IAAI,MAAM,GAAG,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,GAAG,CAAC,CAAA;IAC3F,IAAI,MAAM,GAAG,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,GAAG,CAAC,CAAA;IAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IAC/G,OAAO,IAAI,CAAA;AACb,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEhD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAKnC;IACC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAChD,OAAO,mBAAmB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;AACnH,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Chain reads the gateway makes itself (buyer rewards, operator reads)
3
+ * through the process's one rate-aware provider per chain, instead of a new
4
+ * provider (and an endpoint-probing burst) per request. Balances are not
5
+ * read here: they come from the buyer's cached `GET /_antseed/balances`.
6
+ */
7
+ import { type AntsChainConfig, type RewardsView } from '@antseed/ants';
8
+ import { type ChainRpcProvider } from '../../../proxy/chain-rpc.js';
9
+ import type { ChannelChainState } from './wallet-mapping.js';
10
+ /** Rewards move once per epoch; five minutes keeps a page refresh from re-reading them. */
11
+ export declare const REWARDS_TTL_MS: number;
12
+ /** The gateway process's provider for a chain (`ANTSEED_BASE_RPC_URL` is already applied by `resolveAntsChain`). */
13
+ export declare function gatewayChainProvider(chain: Pick<AntsChainConfig, 'evmChainId' | 'rpcUrl' | 'fallbackRpcUrls'>): ChainRpcProvider;
14
+ /**
15
+ * Buyer rewards for one address, read-only (no signer, the zero address as
16
+ * the connected wallet). One context per chain is kept, so the protocol
17
+ * stack (registry pointers, epoch config) is resolved once per TTL rather
18
+ * than per request; reads run one at a time because the context carries the
19
+ * buyer address.
20
+ */
21
+ export declare function createRewardsReader(): (chain: AntsChainConfig, address: string) => Promise<RewardsView & {
22
+ legacyEpochs: number[];
23
+ }>;
24
+ /** On-chain records for `channelIds` in one Multicall3 read; ids it could not read are left out. */
25
+ export declare function readChannelStates(chain: AntsChainConfig, channelIds: string[]): Promise<Map<string, ChannelChainState>>;
26
+ //# sourceMappingURL=wallet-chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-chain.d.ts","sourceRoot":"","sources":["../../../../src/gateway/console-api/handlers/wallet-chain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAwB,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAG5F,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,2FAA2F;AAC3F,eAAO,MAAM,cAAc,QAAa,CAAA;AAExC,oHAAoH;AACpH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,QAAQ,GAAG,iBAAiB,CAAC,GAAG,gBAAgB,CAEhI;AAiBD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG;IAAE,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqBpI;AAMD,oGAAoG;AACpG,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAc7H"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Chain reads the gateway makes itself (buyer rewards, operator reads)
3
+ * through the process's one rate-aware provider per chain, instead of a new
4
+ * provider (and an endpoint-probing burst) per request. Balances are not
5
+ * read here: they come from the buyer's cached `GET /_antseed/balances`.
6
+ */
7
+ import { AntsContext, rewards } from '@antseed/ants';
8
+ import { multicallRead } from '@antseed/node/payments';
9
+ import { Interface, ZeroAddress } from 'ethers';
10
+ import { sharedChainProvider } from '../../../proxy/chain-rpc.js';
11
+ /** Rewards move once per epoch; five minutes keeps a page refresh from re-reading them. */
12
+ export const REWARDS_TTL_MS = 5 * 60_000;
13
+ /** The gateway process's provider for a chain (`ANTSEED_BASE_RPC_URL` is already applied by `resolveAntsChain`). */
14
+ export function gatewayChainProvider(chain) {
15
+ return sharedChainProvider({ evmChainId: chain.evmChainId, rpcUrl: chain.rpcUrl, ...(chain.fallbackRpcUrls ? { fallbackRpcUrls: chain.fallbackRpcUrls } : {}) });
16
+ }
17
+ /**
18
+ * An ANTS read context on the shared provider. It skips `selectRpc`'s
19
+ * probing burst (eight `eth_call`s per endpoint): the shared provider already
20
+ * moves off an endpoint that throttles.
21
+ */
22
+ class SharedAntsContext extends AntsContext {
23
+ selectRpc() {
24
+ return Promise.resolve();
25
+ }
26
+ provider() {
27
+ return gatewayChainProvider(this.chain);
28
+ }
29
+ }
30
+ /**
31
+ * Buyer rewards for one address, read-only (no signer, the zero address as
32
+ * the connected wallet). One context per chain is kept, so the protocol
33
+ * stack (registry pointers, epoch config) is resolved once per TTL rather
34
+ * than per request; reads run one at a time because the context carries the
35
+ * buyer address.
36
+ */
37
+ export function createRewardsReader() {
38
+ const contexts = new Map();
39
+ let queue = Promise.resolve();
40
+ return (chain, address) => {
41
+ const key = `${chain.evmChainId}|${chain.rpcUrl}|${chain.registryContractAddress ?? ''}`;
42
+ let context = contexts.get(key);
43
+ if (!context) {
44
+ context = new SharedAntsContext({ chain, address: ZeroAddress, buyerAddress: address, stackTtlMs: REWARDS_TTL_MS });
45
+ contexts.set(key, context);
46
+ }
47
+ const ctx = context;
48
+ const run = queue.then(async () => {
49
+ ctx.buyerAddress = address;
50
+ const view = await rewards(ctx);
51
+ // The epochs a legacy buyer claim may name (finalized, before the current program took over).
52
+ const legacyEpochs = BigInt(view.legacy.buyer || '0') > 0n ? (await ctx.claimableEpochs()).legacy : [];
53
+ return { ...view, legacyEpochs };
54
+ });
55
+ queue = run.catch(() => { });
56
+ return run;
57
+ };
58
+ }
59
+ const CHANNELS_READ_IFACE = new Interface([
60
+ 'function channels(bytes32 channelId) view returns (address buyer, address seller, uint128 deposit, uint128 settled, bytes32 metadataHash, uint256 deadline, uint256 settledAt, uint256 closeRequestedAt, uint8 status)',
61
+ ]);
62
+ /** On-chain records for `channelIds` in one Multicall3 read; ids it could not read are left out. */
63
+ export async function readChannelStates(chain, channelIds) {
64
+ const states = new Map();
65
+ if (!chain.channelsContractAddress || channelIds.length === 0)
66
+ return states;
67
+ const results = await multicallRead(gatewayChainProvider(chain), channelIds.map((channelId) => ({
68
+ target: chain.channelsContractAddress,
69
+ iface: CHANNELS_READ_IFACE,
70
+ method: 'channels',
71
+ args: [channelId],
72
+ })));
73
+ results.forEach((result, index) => {
74
+ if (!result)
75
+ return;
76
+ states.set(channelIds[index], { deposit: result[2], settled: result[3], closeRequestedAt: result[7], status: Number(result[8]) });
77
+ });
78
+ return states;
79
+ }
80
+ //# sourceMappingURL=wallet-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-chain.js","sourceRoot":"","sources":["../../../../src/gateway/console-api/handlers/wallet-chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /** Pure mapping from buyer-daemon and chain responses to the console's wallet shapes. */
2
+ import type { AntsChainConfig, RewardsView } from '@antseed/ants';
3
+ import { type Channel, type ChainInfo, type DepositWatch, type Rewards, type Usdc, type Wallet } from '../types.js';
4
+ export declare function record(value: unknown): Record<string, unknown>;
5
+ /** USDC base units ("1500000") as a decimal string ("1.500000"); bigint-safe. */
6
+ export declare function baseUnitsToUsdc(value: unknown): Usdc;
7
+ /** A decimal USDC string from the buyer, normalized to 6 decimals; numbers are accepted too. */
8
+ export declare function decimalUsdc(value: unknown): Usdc;
9
+ /** `GET /_antseed/balances` → the balance half of `Wallet`. */
10
+ export declare function mapBalances(body: unknown): Omit<Wallet, 'buyerIdentity' | 'deposit'>;
11
+ /**
12
+ * `GET /_antseed/deposits/status` → `DepositWatch` for one wallet. The buyer
13
+ * exposes a single watcher (the default identity's); other wallets are
14
+ * auto-swept by watchers it does not expose, so they read as `off` here.
15
+ */
16
+ export declare function mapDepositWatch(body: unknown, walletAddress: string | null): DepositWatch;
17
+ /** One row of `GET /_antseed/channels` → `Channel`; null for a row without an id. */
18
+ export declare function mapChannel(value: unknown): Channel | null;
19
+ /** A channel's on-chain record (AntseedChannels `channels(id)`); status 0 = no record, 1 active, 2 settled, 3 timed out. */
20
+ export interface ChannelChainState {
21
+ status: number;
22
+ deposit: bigint;
23
+ settled: bigint;
24
+ closeRequestedAt: bigint;
25
+ }
26
+ /**
27
+ * The buyer's channel store can lag the chain (a seller-side settle or close
28
+ * is not always observed), and its `reserveCeiling` falls back to the
29
+ * configured per-channel maximum for a channel it has not touched since it
30
+ * started. Where the chain answered, its status and locked deposit win.
31
+ * Status 0 (no record yet, e.g. a reserve still landing) keeps the local row.
32
+ */
33
+ export declare function applyChannelChainState(channel: Channel, state: ChannelChainState | undefined, nowSeconds: number): Channel;
34
+ export declare function mapChannels(body: unknown): Channel[];
35
+ /** Buyer-side rewards only, like the desktop's VPR summary: usage rewards plus legacy buyer emissions, each claimable on its own. */
36
+ export declare function mapRewards(view: RewardsView & {
37
+ legacyEpochs?: number[];
38
+ }, address: string): Rewards;
39
+ /**
40
+ * `ChainInfo` for the browser. The RPC URL is the chain's public default,
41
+ * never the operator's configured endpoint, which often embeds an API key
42
+ * or reaches a private node; a chain without a known default gets none.
43
+ */
44
+ export declare function chainInfo(chain: AntsChainConfig): ChainInfo;
45
+ //# sourceMappingURL=wallet-mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-mapping.d.ts","sourceRoot":"","sources":["../../../../src/gateway/console-api/handlers/wallet-mapping.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGjE,OAAO,EAA0B,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAM3I,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9D;AAeD,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAQpD;AAED,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAMhD;AAMD,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAWpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,CAgBzF;AAkBD,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAoBzD;AAED,4HAA4H;AAC5H,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAGD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAe1H;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAGpD;AAED,qIAAqI;AACrI,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAepG;AAOD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAoB3D"}