@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,102 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { ACCOUNT_SETTINGS_TTL_MS, BALANCE_TTL_MS, CachedBuyerChainReader, constantRelayReads } from './buyer-chain-reader.js';
4
+ import { ChainReadCache } from './chain-read-cache.js';
5
+ import { ChainRpcProvider } from './chain-rpc.js';
6
+ import { startFakeChainRpc } from './chain-rpc-test-support.js';
7
+ const DEPOSITS = '0x' + 'd1'.repeat(20);
8
+ const USDC = '0x' + 'a1'.repeat(20);
9
+ const BUYER = '0x' + '11'.repeat(20);
10
+ async function setup(t) {
11
+ const rpc = await startFakeChainRpc();
12
+ t.after(() => rpc.close());
13
+ let now = 1_000_000;
14
+ const provider = new ChainRpcProvider([rpc.url], 8453);
15
+ t.after(() => provider.destroy());
16
+ const reader = new CachedBuyerChainReader({ provider, depositsAddress: DEPOSITS, usdcAddress: USDC, cache: new ChainReadCache({ now: () => now }) });
17
+ return { rpc, reader, advance: (ms) => { now += ms; } };
18
+ }
19
+ const all = (reader) => Promise.all([
20
+ reader.getBuyerBalance(BUYER), reader.getUSDCBalance(BUYER), reader.getBuyerCreditLimit(BUYER), reader.getOperator(BUYER),
21
+ ]);
22
+ test('the four balance reads of a wallet leave as one eth_call, then come from the cache', async (t) => {
23
+ const { rpc, reader, advance } = await setup(t);
24
+ rpc.usdc.set(BUYER, 3000000n);
25
+ rpc.deposits.set(BUYER, { available: 1500000n, reserved: 250000n });
26
+ const [balance, usdc, limit, operator] = await all(reader);
27
+ assert.deepEqual(balance, { available: 1500000n, reserved: 250000n });
28
+ assert.equal(usdc, 3000000n);
29
+ assert.equal(limit, 100000000n);
30
+ assert.equal(operator, '0x' + '0'.repeat(40));
31
+ assert.equal(rpc.byMethod['eth_call'], 1);
32
+ assert.equal(rpc.batchedCalls, 4);
33
+ rpc.reset();
34
+ advance(BALANCE_TTL_MS - 1);
35
+ await all(reader);
36
+ assert.equal(rpc.requests, 0, 'everything cached');
37
+ advance(1);
38
+ await all(reader);
39
+ assert.equal(rpc.byMethod['eth_call'], 1);
40
+ assert.equal(rpc.batchedCalls, 2, 'operator and credit limit stay cached for 5 minutes');
41
+ rpc.reset();
42
+ advance(ACCOUNT_SETTINGS_TTL_MS);
43
+ await all(reader);
44
+ assert.equal(rpc.batchedCalls, 4);
45
+ });
46
+ test('USDC balances of many wallets are one request, and are shared with balance reads', async (t) => {
47
+ const { rpc, reader } = await setup(t);
48
+ const wallets = Array.from({ length: 10 }, (_, index) => '0x' + String(index + 20).repeat(20));
49
+ wallets.forEach((wallet, index) => rpc.usdc.set(wallet, BigInt(index)));
50
+ const balances = await reader.reads.getUSDCBalances(wallets);
51
+ assert.equal(balances.size, 10);
52
+ assert.equal(balances.get(wallets[3]), 3n);
53
+ assert.equal(rpc.byMethod['eth_call'], 1);
54
+ reader.noteUsdcBalances(balances);
55
+ rpc.reset();
56
+ assert.equal(await reader.getUSDCBalance(wallets[3]), 3n);
57
+ assert.equal(rpc.requests, 0);
58
+ });
59
+ test('a failed refresh serves the last balances and flags the wallet stale', async (t) => {
60
+ const { rpc, reader, advance } = await setup(t);
61
+ rpc.deposits.set(BUYER, { available: 7n, reserved: 0n });
62
+ await all(reader);
63
+ assert.equal(reader.isStale(BUYER), false);
64
+ rpc.rateLimit(Number.POSITIVE_INFINITY);
65
+ advance(BALANCE_TTL_MS);
66
+ const [balance] = await all(reader);
67
+ assert.deepEqual(balance, { available: 7n, reserved: 0n });
68
+ assert.equal(reader.isStale(BUYER), true);
69
+ });
70
+ test('relay constants (fee, USDC domain) are read once', async () => {
71
+ let fees = 0;
72
+ let domains = 0;
73
+ const relay = {
74
+ fee: async () => { fees++; return 50000n; },
75
+ verifyUsdcDomain: async () => { domains++; return true; },
76
+ getSweepConfirmation: async () => null,
77
+ isAuthorizationUsed: async () => false,
78
+ };
79
+ const cached = constantRelayReads(relay);
80
+ const domain = { name: 'USD Coin', version: '2', chainId: 8453, verifyingContract: USDC };
81
+ await Promise.all([cached.fee(), cached.fee(), cached.verifyUsdcDomain(USDC, domain), cached.verifyUsdcDomain(USDC, domain)]);
82
+ assert.equal(await cached.fee(), 50000n);
83
+ assert.equal(fees, 1);
84
+ assert.equal(domains, 1);
85
+ assert.equal(await cached.isAuthorizationUsed(USDC, BUYER, '0x00'), false);
86
+ });
87
+ test('the watchers reuse a balance read a moment ago and batch the rest', async (t) => {
88
+ const { rpc, reader } = await setup(t);
89
+ const other = '0x' + '22'.repeat(20);
90
+ rpc.usdc.set(BUYER, 5n);
91
+ rpc.usdc.set(other, 6n);
92
+ await reader.getUSDCBalance(BUYER);
93
+ rpc.reset();
94
+ const balances = await reader.usdcBalancesForWatch([BUYER, other], 2_000);
95
+ assert.deepEqual([...balances.entries()], [[BUYER, 5n], [other, 6n]]);
96
+ assert.equal(rpc.byMethod['eth_call'], 1);
97
+ assert.equal(rpc.batchedCalls, 0, 'only the stale wallet is read (a single call needs no batch)');
98
+ rpc.reset();
99
+ await reader.usdcBalancesForWatch([BUYER, other], 2_000);
100
+ assert.equal(rpc.requests, 0);
101
+ });
102
+ //# sourceMappingURL=buyer-chain-reader.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buyer-chain-reader.test.js","sourceRoot":"","sources":["../../src/proxy/buyer-chain-reader.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type AntseedNode, type PeerInfo, type ModelRoutingPreferences, type SerializedHttpResponse, type SweepReceiptPayload } from '@antseed/node';
2
2
  import { BuyerIdentityLoader } from '../buyer-identities/loader.js';
3
- import type { DepositWatcher } from './deposit-watcher.js';
3
+ import { type DepositWatcher } from './deposit-watcher.js';
4
4
  import { type VerifierPolicy, type SellerReach } from '../plugins/verifier.js';
5
5
  export { selectCandidatePeersForRouting, type CandidatePeerRouteSelection } from './routing.js';
6
6
  export { parsePeerPinnedService, rewritePeerPinnedServiceInBody, substituteRoutedModelAlias, ROUTED_MODEL_ALIAS } from './request-utils.js';
@@ -10,7 +10,7 @@ export { parsePeerPinnedService, rewritePeerPinnedServiceInBody, substituteRoute
10
10
  * guessing (a missing watcher used to be indistinguishable from "this chain
11
11
  * has no deposit relay").
12
12
  */
13
- export type DepositWatcherAbsenceReason = 'external-daemon' | 'payments-disabled' | 'no-deposit-relay';
13
+ export type DepositWatcherAbsenceReason = 'external-daemon' | 'payments-disabled' | 'no-deposit-relay' | 'identity-not-watched';
14
14
  export interface BuyerProxyConfig {
15
15
  port: number;
16
16
  node: AntseedNode;
@@ -44,7 +44,53 @@ export interface BuyerProxyConfig {
44
44
  verifier?: VerifierPolicy;
45
45
  /** Loads stored buyer identities on demand; defaults to one reading `dataDir`. */
46
46
  buyerIdentities?: BuyerIdentityLoader;
47
+ /** `buyer.minPeerReputation`, so gateway policies narrow under it (also enforced by the router plugin). */
48
+ minPeerReputation?: number;
49
+ /** Chain reads behind `GET /_antseed/balances`; absent when payments are disabled. */
50
+ balanceReader?: BuyerBalanceReader;
51
+ /**
52
+ * Runs `buyer start`'s graceful shutdown for `POST /_antseed/restart`. The
53
+ * handler exits the process (code 75) once shutdown completes.
54
+ */
55
+ onRestartRequested?: () => void | Promise<void>;
56
+ /**
57
+ * `POST /_antseed/restart` is refused (429) this soon after the proxy
58
+ * started, so restart requests cannot keep the buyer bouncing. Default 30 s.
59
+ */
60
+ minRestartIntervalMs?: number;
61
+ /**
62
+ * Settings this buyer took from the environment or `buyer start` flags
63
+ * rather than the config file (see `buyerSettingOverrides`), reported to
64
+ * the gateway so its settings page can say a config edit will not apply.
65
+ */
66
+ settingOverrides?: string[];
67
+ }
68
+ /** The DepositsClient reads `GET /_antseed/balances` needs. */
69
+ export interface BuyerBalanceReader {
70
+ getBuyerBalance(address: string): Promise<{
71
+ available: bigint;
72
+ reserved: bigint;
73
+ }>;
74
+ getBuyerCreditLimit(address: string): Promise<bigint>;
75
+ getOperator(address: string): Promise<string>;
76
+ getUSDCBalance(address: string): Promise<bigint>;
77
+ /** Drop cached reads for the address (a `fresh=1` request). */
78
+ invalidate?(address: string): void;
79
+ /** Whether the last reads for the address fell back to cached data. */
80
+ isStale?(address: string): boolean;
47
81
  }
82
+ export interface BuyerBalances {
83
+ address: string;
84
+ available: string;
85
+ reserved: string;
86
+ walletUsdc: string | null;
87
+ creditLimit: string | null;
88
+ operator: string | null;
89
+ /** Present (true) when the chain could not be read and these are the last known values. */
90
+ stale?: boolean;
91
+ }
92
+ /** Exit code `POST /_antseed/restart` ends the process with, so a supervisor restarts it. */
93
+ export declare const BUYER_RESTART_EXIT_CODE = 75;
48
94
  /**
49
95
  * Detect a "model not served" rejection: the seller's own pre-payment 400
50
96
  * (`error.code: 'model_not_found'`, sent when the requested model is not in
@@ -153,6 +199,8 @@ export declare class BuyerProxy {
153
199
  private _depositWatcher;
154
200
  /** Why no watcher is attached, so UIs can show the actual cause. */
155
201
  private _depositWatcherAbsence;
202
+ /** Watchers for named buyer identities (each workspace wallet), keyed by identity name. */
203
+ private readonly _identityDepositWatchers;
156
204
  /**
157
205
  * requestId -> the conversation that issued it, so the node's per-request
158
206
  * spend events can be attributed to a chat. Only the proxy knows this
@@ -164,6 +212,25 @@ export declare class BuyerProxy {
164
212
  private readonly _requestConversations;
165
213
  /** Signed spend for requests a local gateway tagged, polled over the control plane. */
166
214
  private readonly _spendAttribution;
215
+ private readonly _minPeerReputation;
216
+ /** Gateway control secret, read lazily (the gateway may create it after the buyer starts). */
217
+ private _controlSecret;
218
+ private _controlSecretCheckedAt;
219
+ private _controlSecretForcedAt;
220
+ private _loggedUnauthenticatedPolicy;
221
+ /**
222
+ * Per-seller latency EMA (ms) measured by this proxy: time to the first
223
+ * response frame for streamed requests, full round trip otherwise. Feeds
224
+ * `sort: 'latency'`; sellers without a measurement rank after measured ones.
225
+ */
226
+ private readonly _peerLatencyMs;
227
+ private readonly _balanceReader;
228
+ private readonly _balanceCache;
229
+ private readonly _restartHandler;
230
+ private readonly _settingOverrides;
231
+ private _restartRequested;
232
+ /** A restarted buyer is a new process, so its start is the last accepted restart. */
233
+ private readonly _restartAllowedAt;
167
234
  constructor(config: BuyerProxyConfig);
168
235
  /** Roll a signed spend delta into the conversation that triggered it. */
169
236
  private _attributeSpend;
@@ -172,8 +239,97 @@ export declare class BuyerProxy {
172
239
  * (or can be) loaded, undefined when no stored identity has that name.
173
240
  */
174
241
  private _resolveBuyerIdentity;
175
- /** `?identity=` on control-plane reads; undefined when it names no stored identity. */
242
+ /**
243
+ * Whether a request may act as this buyer identity. The default wallet is
244
+ * always allowed; any other is a workspace wallet, so once a control secret
245
+ * exists only the gateway may name it (loopback callers otherwise, as for
246
+ * the attributed-spend feed).
247
+ */
248
+ private _mayUseBuyerIdentity;
249
+ /**
250
+ * `?identity=` on control-plane requests (a body's `identity`, when given,
251
+ * wins); undefined when it names no stored identity.
252
+ */
176
253
  private _controlPlaneIdentity;
254
+ /**
255
+ * The gateway↔buyer control secret: env var first, else the file the
256
+ * gateway creates under the data dir. A missing file is re-checked at most
257
+ * once a second so a gateway started after the buyer is picked up. A
258
+ * mismatch forces an immediate re-read (bypassing that throttle, at most
259
+ * every 100 ms) in case the secret was just created or rotated.
260
+ */
261
+ private _readControlSecret;
262
+ /** Whether the request carries the local gateway's control secret. */
263
+ private _isGatewayAuthenticated;
264
+ /**
265
+ * Reads and strips the gateway routing-policy headers. A control header
266
+ * that is present but wrong fails closed (the gateway meant to restrict
267
+ * this request); a policy sent with no control header at all is dropped
268
+ * and ignored. An authenticated but malformed policy is an error, never
269
+ * unrestricted routing.
270
+ */
271
+ private _takeRequestPolicy;
272
+ /**
273
+ * The buyer's hard limits (min reputation, required verifier), which judge
274
+ * every request, pinned ones included.
275
+ */
276
+ private _buyerHardPolicy;
277
+ /** `buyer.routingPreferences` as a policy level (empty without preferences). */
278
+ private _buyerPreferencePolicy;
279
+ /**
280
+ * The buyer's whole config as the top policy level for automatic routing:
281
+ * hard limits plus routing preferences. Reported to the gateway as the
282
+ * route preview's `buyer` level.
283
+ */
284
+ private _buyerPolicy;
285
+ /** A gateway policy narrowed under the buyer's hard limits; null when the request carries none. Judges pins. */
286
+ private _effectivePolicy;
287
+ /** Null when the seller can be verified with this buyer's verifier, else why not. */
288
+ private _unverifiedReason;
289
+ private _policyFacts;
290
+ /** Latency is tracked per seller and model: one seller can serve a small model fast and a large one slowly. */
291
+ private _latencyKey;
292
+ private _peerLatency;
293
+ private _recordPeerLatency;
294
+ /**
295
+ * Candidate selection and ranking for a model-only request. The real
296
+ * routing path and `GET /_antseed/route-preview` both call this, so the
297
+ * preview shows exactly what routing would do. `verdicts` lists every
298
+ * seller advertising the model with why it is (in)eligible; `candidates`
299
+ * are the eligible ones in dispatch order.
300
+ */
301
+ private _planModelRoutes;
302
+ /**
303
+ * Without routing preferences: best effective reputation first, and only
304
+ * sellers not cooling down while any are ready.
305
+ */
306
+ private _readyFirst;
307
+ /** `GET /_antseed/route-preview`: what routing would do for a model-only request, ineligible sellers included. */
308
+ private _routePreview;
309
+ /** Forget cached balances of an address, e.g. once a deposit sweep is credited. */
310
+ invalidateBalances(address: string): void;
311
+ /**
312
+ * On-chain balances for a buyer identity, cached ~15 s per address and
313
+ * answered from the cache (refreshing in the background) for a while
314
+ * after that. When the chain cannot be read the last values come back
315
+ * with `stale: true`. `fresh` re-reads, at most every few seconds.
316
+ */
317
+ private _readBalances;
318
+ /**
319
+ * Endpoints the local gateway calls with the control secret. Returns false
320
+ * when the path is not one of them, so the regular control plane handles it.
321
+ */
322
+ private _handleGatewayControl;
323
+ /** `GET /_antseed/route-preview?model=<id>`, optionally under a policy header. */
324
+ private _handleRoutePreview;
325
+ /** `GET /_antseed/balances?identity=<name>`: on-chain balances of a buyer identity. */
326
+ private _handleBalances;
327
+ /**
328
+ * `POST /_antseed/restart`. Only offered under a supervisor that brings the
329
+ * buyer back (see `buyer start`); otherwise the console asks the operator
330
+ * to restart it.
331
+ */
332
+ private _handleRestart;
177
333
  /**
178
334
  * Remember which chat a request belongs to for the life of the request plus
179
335
  * a grace window — the seller-initiated auth path can land just after the
@@ -185,6 +341,10 @@ export declare class BuyerProxy {
185
341
  * why none runs so the status endpoint can report the cause.
186
342
  */
187
343
  setDepositWatcher(watcher: DepositWatcher | null, absenceReason?: DepositWatcherAbsenceReason | null): void;
344
+ /** Attach (or detach with null) the deposit watcher of a named buyer identity. */
345
+ setIdentityDepositWatcher(identity: string, watcher: DepositWatcher | null): void;
346
+ /** Watcher for an identity (null = default) and, when there is none, why. */
347
+ private _depositWatcherFor;
188
348
  /** Latest relayer receipt for a sweep authNonce, if one has arrived. */
189
349
  getSweepReceipt(authNonce: string): SweepReceiptPayload | null;
190
350
  start(): Promise<void>;
@@ -273,6 +433,12 @@ export declare class BuyerProxy {
273
433
  * `buyer start` recognizing this as an AntSeed proxy.
274
434
  */
275
435
  private _handleNetworkModels;
436
+ /**
437
+ * Whether a request under the gateway's policy could use this offer, by
438
+ * the checks that judge a pinned `peer@model`: the model allow list, the
439
+ * seller-level policy, a strict model route and the buyer's hard limits.
440
+ */
441
+ private _policyAllowsOffer;
276
442
  private _handleRequest;
277
443
  private _verifyPeer;
278
444
  private _parseMaxUploadBodyBytes;
@@ -1 +1 @@
1
- {"version":3,"file":"buyer-proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/buyer-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyer-proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/buyer-proxy.ts"],"names":[],"mappings":"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"}