@antseed/cli 0.1.179 → 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 (666) hide show
  1. package/README.md +2 -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/buyer/identity.d.ts +3 -1
  7. package/dist/cli/commands/buyer/identity.d.ts.map +1 -1
  8. package/dist/cli/commands/buyer/identity.js +55 -8
  9. package/dist/cli/commands/buyer/identity.js.map +1 -1
  10. package/dist/cli/commands/buyer/identity.test.d.ts +2 -0
  11. package/dist/cli/commands/buyer/identity.test.d.ts.map +1 -0
  12. package/dist/cli/commands/buyer/identity.test.js +168 -0
  13. package/dist/cli/commands/buyer/identity.test.js.map +1 -0
  14. package/dist/cli/commands/buyer/set-authorized-wallet.d.ts +10 -0
  15. package/dist/cli/commands/buyer/set-authorized-wallet.d.ts.map +1 -1
  16. package/dist/cli/commands/buyer/set-authorized-wallet.js +26 -4
  17. package/dist/cli/commands/buyer/set-authorized-wallet.js.map +1 -1
  18. package/dist/cli/commands/buyer/set-authorized-wallet.test.js +37 -2
  19. package/dist/cli/commands/buyer/set-authorized-wallet.test.js.map +1 -1
  20. package/dist/cli/commands/buyer/start.d.ts +15 -0
  21. package/dist/cli/commands/buyer/start.d.ts.map +1 -1
  22. package/dist/cli/commands/buyer/start.js +158 -48
  23. package/dist/cli/commands/buyer/start.js.map +1 -1
  24. package/dist/cli/commands/buyer/start.test.js +16 -1
  25. package/dist/cli/commands/buyer/start.test.js.map +1 -1
  26. package/dist/cli/commands/chat.d.ts +3 -0
  27. package/dist/cli/commands/chat.d.ts.map +1 -0
  28. package/dist/cli/commands/chat.js +189 -0
  29. package/dist/cli/commands/chat.js.map +1 -0
  30. package/dist/cli/commands/gateway/activity.d.ts +15 -0
  31. package/dist/cli/commands/gateway/activity.d.ts.map +1 -0
  32. package/dist/cli/commands/gateway/activity.js +233 -0
  33. package/dist/cli/commands/gateway/activity.js.map +1 -0
  34. package/dist/cli/commands/gateway/admin-token.d.ts +3 -0
  35. package/dist/cli/commands/gateway/admin-token.d.ts.map +1 -0
  36. package/dist/cli/commands/gateway/admin-token.js +90 -0
  37. package/dist/cli/commands/gateway/admin-token.js.map +1 -0
  38. package/dist/cli/commands/gateway/console-link.d.ts +20 -0
  39. package/dist/cli/commands/gateway/console-link.d.ts.map +1 -0
  40. package/dist/cli/commands/gateway/console-link.js +92 -0
  41. package/dist/cli/commands/gateway/console-link.js.map +1 -0
  42. package/dist/cli/commands/gateway/gateway-commands.test.d.ts +2 -0
  43. package/dist/cli/commands/gateway/gateway-commands.test.d.ts.map +1 -0
  44. package/dist/cli/commands/gateway/gateway-commands.test.js +230 -0
  45. package/dist/cli/commands/gateway/gateway-commands.test.js.map +1 -0
  46. package/dist/cli/commands/gateway/gateway-console-commands.test.d.ts +2 -0
  47. package/dist/cli/commands/gateway/gateway-console-commands.test.d.ts.map +1 -0
  48. package/dist/cli/commands/gateway/gateway-console-commands.test.js +373 -0
  49. package/dist/cli/commands/gateway/gateway-console-commands.test.js.map +1 -0
  50. package/dist/cli/commands/gateway/index.d.ts +8 -0
  51. package/dist/cli/commands/gateway/index.d.ts.map +1 -1
  52. package/dist/cli/commands/gateway/index.js +93 -14
  53. package/dist/cli/commands/gateway/index.js.map +1 -1
  54. package/dist/cli/commands/gateway/key.d.ts +4 -0
  55. package/dist/cli/commands/gateway/key.d.ts.map +1 -1
  56. package/dist/cli/commands/gateway/key.js +297 -182
  57. package/dist/cli/commands/gateway/key.js.map +1 -1
  58. package/dist/cli/commands/gateway/member.d.ts +3 -0
  59. package/dist/cli/commands/gateway/member.d.ts.map +1 -0
  60. package/dist/cli/commands/gateway/member.js +302 -0
  61. package/dist/cli/commands/gateway/member.js.map +1 -0
  62. package/dist/cli/commands/gateway/migrate.d.ts +18 -0
  63. package/dist/cli/commands/gateway/migrate.d.ts.map +1 -0
  64. package/dist/cli/commands/gateway/migrate.js +158 -0
  65. package/dist/cli/commands/gateway/migrate.js.map +1 -0
  66. package/dist/cli/commands/gateway/operator.d.ts +11 -0
  67. package/dist/cli/commands/gateway/operator.d.ts.map +1 -0
  68. package/dist/cli/commands/gateway/operator.js +199 -0
  69. package/dist/cli/commands/gateway/operator.js.map +1 -0
  70. package/dist/cli/commands/gateway/operator.test.d.ts +2 -0
  71. package/dist/cli/commands/gateway/operator.test.d.ts.map +1 -0
  72. package/dist/cli/commands/gateway/operator.test.js +151 -0
  73. package/dist/cli/commands/gateway/operator.test.js.map +1 -0
  74. package/dist/cli/commands/gateway/peer-list.d.ts +3 -0
  75. package/dist/cli/commands/gateway/peer-list.d.ts.map +1 -0
  76. package/dist/cli/commands/gateway/peer-list.js +107 -0
  77. package/dist/cli/commands/gateway/peer-list.js.map +1 -0
  78. package/dist/cli/commands/gateway/policy-options.d.ts +23 -0
  79. package/dist/cli/commands/gateway/policy-options.d.ts.map +1 -0
  80. package/dist/cli/commands/gateway/policy-options.js +156 -0
  81. package/dist/cli/commands/gateway/policy-options.js.map +1 -0
  82. package/dist/cli/commands/gateway/preset.d.ts +3 -0
  83. package/dist/cli/commands/gateway/preset.d.ts.map +1 -0
  84. package/dist/cli/commands/gateway/preset.js +181 -0
  85. package/dist/cli/commands/gateway/preset.js.map +1 -0
  86. package/dist/cli/commands/gateway/routing.d.ts +3 -0
  87. package/dist/cli/commands/gateway/routing.d.ts.map +1 -0
  88. package/dist/cli/commands/gateway/routing.js +110 -0
  89. package/dist/cli/commands/gateway/routing.js.map +1 -0
  90. package/dist/cli/commands/gateway/settings.d.ts +4 -0
  91. package/dist/cli/commands/gateway/settings.d.ts.map +1 -0
  92. package/dist/cli/commands/gateway/settings.js +314 -0
  93. package/dist/cli/commands/gateway/settings.js.map +1 -0
  94. package/dist/cli/commands/gateway/shared.d.ts +55 -6
  95. package/dist/cli/commands/gateway/shared.d.ts.map +1 -1
  96. package/dist/cli/commands/gateway/shared.js +206 -26
  97. package/dist/cli/commands/gateway/shared.js.map +1 -1
  98. package/dist/cli/commands/gateway/workspace.d.ts +3 -0
  99. package/dist/cli/commands/gateway/workspace.d.ts.map +1 -0
  100. package/dist/cli/commands/gateway/workspace.js +250 -0
  101. package/dist/cli/commands/gateway/workspace.js.map +1 -0
  102. package/dist/cli/commands/tunnel/start.d.ts.map +1 -1
  103. package/dist/cli/commands/tunnel/start.js +23 -5
  104. package/dist/cli/commands/tunnel/start.js.map +1 -1
  105. package/dist/cli/index.js +12 -44
  106. package/dist/cli/index.js.map +1 -1
  107. package/dist/cli/program.d.ts +4 -0
  108. package/dist/cli/program.d.ts.map +1 -0
  109. package/dist/cli/program.js +49 -0
  110. package/dist/cli/program.js.map +1 -0
  111. package/dist/cli/program.test.d.ts +2 -0
  112. package/dist/cli/program.test.d.ts.map +1 -0
  113. package/dist/cli/program.test.js +38 -0
  114. package/dist/cli/program.test.js.map +1 -0
  115. package/dist/cli/prompt-hidden.d.ts +3 -0
  116. package/dist/cli/prompt-hidden.d.ts.map +1 -0
  117. package/dist/cli/prompt-hidden.js +38 -0
  118. package/dist/cli/prompt-hidden.js.map +1 -0
  119. package/dist/cli/wallet-passphrase.d.ts +48 -0
  120. package/dist/cli/wallet-passphrase.d.ts.map +1 -0
  121. package/dist/cli/wallet-passphrase.js +119 -0
  122. package/dist/cli/wallet-passphrase.js.map +1 -0
  123. package/dist/cli/wallet-passphrase.test.d.ts +2 -0
  124. package/dist/cli/wallet-passphrase.test.d.ts.map +1 -0
  125. package/dist/cli/wallet-passphrase.test.js +79 -0
  126. package/dist/cli/wallet-passphrase.test.js.map +1 -0
  127. package/dist/config/effective.d.ts +12 -0
  128. package/dist/config/effective.d.ts.map +1 -1
  129. package/dist/config/effective.js +39 -6
  130. package/dist/config/effective.js.map +1 -1
  131. package/dist/config/effective.test.js +9 -1
  132. package/dist/config/effective.test.js.map +1 -1
  133. package/dist/config/loader.d.ts +6 -0
  134. package/dist/config/loader.d.ts.map +1 -1
  135. package/dist/config/loader.js +12 -0
  136. package/dist/config/loader.js.map +1 -1
  137. package/dist/config/loader.test.js +7 -1
  138. package/dist/config/loader.test.js.map +1 -1
  139. package/dist/config/types.d.ts +14 -0
  140. package/dist/config/types.d.ts.map +1 -1
  141. package/dist/config/validation.d.ts.map +1 -1
  142. package/dist/config/validation.js +19 -0
  143. package/dist/config/validation.js.map +1 -1
  144. package/dist/gateway/accounting.d.ts +33 -3
  145. package/dist/gateway/accounting.d.ts.map +1 -1
  146. package/dist/gateway/accounting.js +86 -7
  147. package/dist/gateway/accounting.js.map +1 -1
  148. package/dist/gateway/admission-benchmark.test.d.ts +2 -0
  149. package/dist/gateway/admission-benchmark.test.d.ts.map +1 -0
  150. package/dist/gateway/admission-benchmark.test.js +75 -0
  151. package/dist/gateway/admission-benchmark.test.js.map +1 -0
  152. package/dist/gateway/auth/auth.test.d.ts +4 -0
  153. package/dist/gateway/auth/auth.test.d.ts.map +1 -0
  154. package/dist/gateway/auth/auth.test.js +337 -0
  155. package/dist/gateway/auth/auth.test.js.map +1 -0
  156. package/dist/gateway/auth/credentials.test.d.ts +2 -0
  157. package/dist/gateway/auth/credentials.test.d.ts.map +1 -0
  158. package/dist/gateway/auth/credentials.test.js +132 -0
  159. package/dist/gateway/auth/credentials.test.js.map +1 -0
  160. package/dist/gateway/auth/db.d.ts +156 -0
  161. package/dist/gateway/auth/db.d.ts.map +1 -0
  162. package/dist/gateway/auth/db.js +390 -0
  163. package/dist/gateway/auth/db.js.map +1 -0
  164. package/dist/gateway/auth/hardening.test.d.ts +2 -0
  165. package/dist/gateway/auth/hardening.test.d.ts.map +1 -0
  166. package/dist/gateway/auth/hardening.test.js +155 -0
  167. package/dist/gateway/auth/hardening.test.js.map +1 -0
  168. package/dist/gateway/auth/http.d.ts +53 -0
  169. package/dist/gateway/auth/http.d.ts.map +1 -0
  170. package/dist/gateway/auth/http.js +165 -0
  171. package/dist/gateway/auth/http.js.map +1 -0
  172. package/dist/gateway/auth/index.d.ts +26 -0
  173. package/dist/gateway/auth/index.d.ts.map +1 -0
  174. package/dist/gateway/auth/index.js +1014 -0
  175. package/dist/gateway/auth/index.js.map +1 -0
  176. package/dist/gateway/auth/oidc.d.ts +57 -0
  177. package/dist/gateway/auth/oidc.d.ts.map +1 -0
  178. package/dist/gateway/auth/oidc.js +159 -0
  179. package/dist/gateway/auth/oidc.js.map +1 -0
  180. package/dist/gateway/auth/oidc.test.d.ts +2 -0
  181. package/dist/gateway/auth/oidc.test.d.ts.map +1 -0
  182. package/dist/gateway/auth/oidc.test.js +223 -0
  183. package/dist/gateway/auth/oidc.test.js.map +1 -0
  184. package/dist/gateway/auth/reauth.test.d.ts +2 -0
  185. package/dist/gateway/auth/reauth.test.d.ts.map +1 -0
  186. package/dist/gateway/auth/reauth.test.js +108 -0
  187. package/dist/gateway/auth/reauth.test.js.map +1 -0
  188. package/dist/gateway/auth/store-integration.test.d.ts +2 -0
  189. package/dist/gateway/auth/store-integration.test.d.ts.map +1 -0
  190. package/dist/gateway/auth/store-integration.test.js +100 -0
  191. package/dist/gateway/auth/store-integration.test.js.map +1 -0
  192. package/dist/gateway/auth/test-helpers.d.ts +167 -0
  193. package/dist/gateway/auth/test-helpers.d.ts.map +1 -0
  194. package/dist/gateway/auth/test-helpers.js +368 -0
  195. package/dist/gateway/auth/test-helpers.js.map +1 -0
  196. package/dist/gateway/auth/types.d.ts +145 -0
  197. package/dist/gateway/auth/types.d.ts.map +1 -0
  198. package/dist/gateway/auth/types.js +2 -0
  199. package/dist/gateway/auth/types.js.map +1 -0
  200. package/dist/gateway/auth/wallet.d.ts +15 -0
  201. package/dist/gateway/auth/wallet.d.ts.map +1 -0
  202. package/dist/gateway/auth/wallet.js +43 -0
  203. package/dist/gateway/auth/wallet.js.map +1 -0
  204. package/dist/gateway/bundle.d.ts +127 -0
  205. package/dist/gateway/bundle.d.ts.map +1 -0
  206. package/dist/gateway/bundle.js +604 -0
  207. package/dist/gateway/bundle.js.map +1 -0
  208. package/dist/gateway/bundle.test.d.ts +2 -0
  209. package/dist/gateway/bundle.test.d.ts.map +1 -0
  210. package/dist/gateway/bundle.test.js +277 -0
  211. package/dist/gateway/bundle.test.js.map +1 -0
  212. package/dist/gateway/buyer-control.d.ts +33 -0
  213. package/dist/gateway/buyer-control.d.ts.map +1 -0
  214. package/dist/gateway/buyer-control.js +93 -0
  215. package/dist/gateway/buyer-control.js.map +1 -0
  216. package/dist/gateway/buyer-policy-probe.d.ts +41 -0
  217. package/dist/gateway/buyer-policy-probe.d.ts.map +1 -0
  218. package/dist/gateway/buyer-policy-probe.js +99 -0
  219. package/dist/gateway/buyer-policy-probe.js.map +1 -0
  220. package/dist/gateway/buyer-policy-probe.test.d.ts +2 -0
  221. package/dist/gateway/buyer-policy-probe.test.d.ts.map +1 -0
  222. package/dist/gateway/buyer-policy-probe.test.js +128 -0
  223. package/dist/gateway/buyer-policy-probe.test.js.map +1 -0
  224. package/dist/gateway/buyer-process.d.ts +30 -0
  225. package/dist/gateway/buyer-process.d.ts.map +1 -0
  226. package/dist/gateway/buyer-process.js +101 -0
  227. package/dist/gateway/buyer-process.js.map +1 -0
  228. package/dist/gateway/buyer-process.test.d.ts +2 -0
  229. package/dist/gateway/buyer-process.test.d.ts.map +1 -0
  230. package/dist/gateway/buyer-process.test.js +112 -0
  231. package/dist/gateway/buyer-process.test.js.map +1 -0
  232. package/dist/gateway/chat/routes.d.ts +45 -0
  233. package/dist/gateway/chat/routes.d.ts.map +1 -0
  234. package/dist/gateway/chat/routes.js +439 -0
  235. package/dist/gateway/chat/routes.js.map +1 -0
  236. package/dist/gateway/chat/routes.test.d.ts +2 -0
  237. package/dist/gateway/chat/routes.test.d.ts.map +1 -0
  238. package/dist/gateway/chat/routes.test.js +304 -0
  239. package/dist/gateway/chat/routes.test.js.map +1 -0
  240. package/dist/gateway/chat/tools.d.ts +35 -0
  241. package/dist/gateway/chat/tools.d.ts.map +1 -0
  242. package/dist/gateway/chat/tools.js +347 -0
  243. package/dist/gateway/chat/tools.js.map +1 -0
  244. package/dist/gateway/chat/tools.test.d.ts +2 -0
  245. package/dist/gateway/chat/tools.test.d.ts.map +1 -0
  246. package/dist/gateway/chat/tools.test.js +136 -0
  247. package/dist/gateway/chat/tools.test.js.map +1 -0
  248. package/dist/gateway/console-api/access.d.ts +52 -0
  249. package/dist/gateway/console-api/access.d.ts.map +1 -0
  250. package/dist/gateway/console-api/access.js +171 -0
  251. package/dist/gateway/console-api/access.js.map +1 -0
  252. package/dist/gateway/console-api/deps.d.ts +52 -0
  253. package/dist/gateway/console-api/deps.d.ts.map +1 -0
  254. package/dist/gateway/console-api/deps.js +2 -0
  255. package/dist/gateway/console-api/deps.js.map +1 -0
  256. package/dist/gateway/console-api/handlers/admin-tokens.d.ts +8 -0
  257. package/dist/gateway/console-api/handlers/admin-tokens.d.ts.map +1 -0
  258. package/dist/gateway/console-api/handlers/admin-tokens.js +48 -0
  259. package/dist/gateway/console-api/handlers/admin-tokens.js.map +1 -0
  260. package/dist/gateway/console-api/handlers/audit.d.ts +8 -0
  261. package/dist/gateway/console-api/handlers/audit.d.ts.map +1 -0
  262. package/dist/gateway/console-api/handlers/audit.js +19 -0
  263. package/dist/gateway/console-api/handlers/audit.js.map +1 -0
  264. package/dist/gateway/console-api/handlers/audit.test.d.ts +2 -0
  265. package/dist/gateway/console-api/handlers/audit.test.d.ts.map +1 -0
  266. package/dist/gateway/console-api/handlers/audit.test.js +241 -0
  267. package/dist/gateway/console-api/handlers/audit.test.js.map +1 -0
  268. package/dist/gateway/console-api/handlers/data-settings.test.d.ts +2 -0
  269. package/dist/gateway/console-api/handlers/data-settings.test.d.ts.map +1 -0
  270. package/dist/gateway/console-api/handlers/data-settings.test.js +264 -0
  271. package/dist/gateway/console-api/handlers/data-settings.test.js.map +1 -0
  272. package/dist/gateway/console-api/handlers/index.d.ts +4 -0
  273. package/dist/gateway/console-api/handlers/index.d.ts.map +1 -0
  274. package/dist/gateway/console-api/handlers/index.js +24 -0
  275. package/dist/gateway/console-api/handlers/index.js.map +1 -0
  276. package/dist/gateway/console-api/handlers/keys.d.ts +13 -0
  277. package/dist/gateway/console-api/handlers/keys.d.ts.map +1 -0
  278. package/dist/gateway/console-api/handlers/keys.js +128 -0
  279. package/dist/gateway/console-api/handlers/keys.js.map +1 -0
  280. package/dist/gateway/console-api/handlers/keys.test.d.ts +2 -0
  281. package/dist/gateway/console-api/handlers/keys.test.d.ts.map +1 -0
  282. package/dist/gateway/console-api/handlers/keys.test.js +166 -0
  283. package/dist/gateway/console-api/handlers/keys.test.js.map +1 -0
  284. package/dist/gateway/console-api/handlers/network-buyer.d.ts +22 -0
  285. package/dist/gateway/console-api/handlers/network-buyer.d.ts.map +1 -0
  286. package/dist/gateway/console-api/handlers/network-buyer.js +39 -0
  287. package/dist/gateway/console-api/handlers/network-buyer.js.map +1 -0
  288. package/dist/gateway/console-api/handlers/network-mapping.d.ts +33 -0
  289. package/dist/gateway/console-api/handlers/network-mapping.d.ts.map +1 -0
  290. package/dist/gateway/console-api/handlers/network-mapping.js +219 -0
  291. package/dist/gateway/console-api/handlers/network-mapping.js.map +1 -0
  292. package/dist/gateway/console-api/handlers/network-test-helpers.d.ts +35 -0
  293. package/dist/gateway/console-api/handlers/network-test-helpers.d.ts.map +1 -0
  294. package/dist/gateway/console-api/handlers/network-test-helpers.js +121 -0
  295. package/dist/gateway/console-api/handlers/network-test-helpers.js.map +1 -0
  296. package/dist/gateway/console-api/handlers/network.d.ts +15 -0
  297. package/dist/gateway/console-api/handlers/network.d.ts.map +1 -0
  298. package/dist/gateway/console-api/handlers/network.js +57 -0
  299. package/dist/gateway/console-api/handlers/network.js.map +1 -0
  300. package/dist/gateway/console-api/handlers/network.test.d.ts +2 -0
  301. package/dist/gateway/console-api/handlers/network.test.d.ts.map +1 -0
  302. package/dist/gateway/console-api/handlers/network.test.js +383 -0
  303. package/dist/gateway/console-api/handlers/network.test.js.map +1 -0
  304. package/dist/gateway/console-api/handlers/org.d.ts +10 -0
  305. package/dist/gateway/console-api/handlers/org.d.ts.map +1 -0
  306. package/dist/gateway/console-api/handlers/org.js +150 -0
  307. package/dist/gateway/console-api/handlers/org.js.map +1 -0
  308. package/dist/gateway/console-api/handlers/peer-lists.d.ts +5 -0
  309. package/dist/gateway/console-api/handlers/peer-lists.d.ts.map +1 -0
  310. package/dist/gateway/console-api/handlers/peer-lists.js +43 -0
  311. package/dist/gateway/console-api/handlers/peer-lists.js.map +1 -0
  312. package/dist/gateway/console-api/handlers/presets.d.ts +9 -0
  313. package/dist/gateway/console-api/handlers/presets.d.ts.map +1 -0
  314. package/dist/gateway/console-api/handlers/presets.js +79 -0
  315. package/dist/gateway/console-api/handlers/presets.js.map +1 -0
  316. package/dist/gateway/console-api/handlers/routing.d.ts +5 -0
  317. package/dist/gateway/console-api/handlers/routing.d.ts.map +1 -0
  318. package/dist/gateway/console-api/handlers/routing.js +20 -0
  319. package/dist/gateway/console-api/handlers/routing.js.map +1 -0
  320. package/dist/gateway/console-api/handlers/settings.d.ts +10 -0
  321. package/dist/gateway/console-api/handlers/settings.d.ts.map +1 -0
  322. package/dist/gateway/console-api/handlers/settings.js +38 -0
  323. package/dist/gateway/console-api/handlers/settings.js.map +1 -0
  324. package/dist/gateway/console-api/handlers/status.d.ts +9 -0
  325. package/dist/gateway/console-api/handlers/status.d.ts.map +1 -0
  326. package/dist/gateway/console-api/handlers/status.js +47 -0
  327. package/dist/gateway/console-api/handlers/status.js.map +1 -0
  328. package/dist/gateway/console-api/handlers/status.test.d.ts +2 -0
  329. package/dist/gateway/console-api/handlers/status.test.d.ts.map +1 -0
  330. package/dist/gateway/console-api/handlers/status.test.js +82 -0
  331. package/dist/gateway/console-api/handlers/status.test.js.map +1 -0
  332. package/dist/gateway/console-api/handlers/usage.d.ts +10 -0
  333. package/dist/gateway/console-api/handlers/usage.d.ts.map +1 -0
  334. package/dist/gateway/console-api/handlers/usage.js +68 -0
  335. package/dist/gateway/console-api/handlers/usage.js.map +1 -0
  336. package/dist/gateway/console-api/handlers/wallet-card-link.d.ts +29 -0
  337. package/dist/gateway/console-api/handlers/wallet-card-link.d.ts.map +1 -0
  338. package/dist/gateway/console-api/handlers/wallet-card-link.js +46 -0
  339. package/dist/gateway/console-api/handlers/wallet-card-link.js.map +1 -0
  340. package/dist/gateway/console-api/handlers/wallet-chain.d.ts +26 -0
  341. package/dist/gateway/console-api/handlers/wallet-chain.d.ts.map +1 -0
  342. package/dist/gateway/console-api/handlers/wallet-chain.js +80 -0
  343. package/dist/gateway/console-api/handlers/wallet-chain.js.map +1 -0
  344. package/dist/gateway/console-api/handlers/wallet-mapping.d.ts +45 -0
  345. package/dist/gateway/console-api/handlers/wallet-mapping.d.ts.map +1 -0
  346. package/dist/gateway/console-api/handlers/wallet-mapping.js +202 -0
  347. package/dist/gateway/console-api/handlers/wallet-mapping.js.map +1 -0
  348. package/dist/gateway/console-api/handlers/wallet-operator.d.ts +41 -0
  349. package/dist/gateway/console-api/handlers/wallet-operator.d.ts.map +1 -0
  350. package/dist/gateway/console-api/handlers/wallet-operator.js +198 -0
  351. package/dist/gateway/console-api/handlers/wallet-operator.js.map +1 -0
  352. package/dist/gateway/console-api/handlers/wallet-operator.test.d.ts +2 -0
  353. package/dist/gateway/console-api/handlers/wallet-operator.test.d.ts.map +1 -0
  354. package/dist/gateway/console-api/handlers/wallet-operator.test.js +195 -0
  355. package/dist/gateway/console-api/handlers/wallet-operator.test.js.map +1 -0
  356. package/dist/gateway/console-api/handlers/wallet.d.ts +61 -0
  357. package/dist/gateway/console-api/handlers/wallet.d.ts.map +1 -0
  358. package/dist/gateway/console-api/handlers/wallet.js +221 -0
  359. package/dist/gateway/console-api/handlers/wallet.js.map +1 -0
  360. package/dist/gateway/console-api/handlers/wallet.test.d.ts +2 -0
  361. package/dist/gateway/console-api/handlers/wallet.test.d.ts.map +1 -0
  362. package/dist/gateway/console-api/handlers/wallet.test.js +581 -0
  363. package/dist/gateway/console-api/handlers/wallet.test.js.map +1 -0
  364. package/dist/gateway/console-api/handlers/workspaces.d.ts +12 -0
  365. package/dist/gateway/console-api/handlers/workspaces.d.ts.map +1 -0
  366. package/dist/gateway/console-api/handlers/workspaces.js +96 -0
  367. package/dist/gateway/console-api/handlers/workspaces.js.map +1 -0
  368. package/dist/gateway/console-api/operator-types.d.ts +68 -0
  369. package/dist/gateway/console-api/operator-types.d.ts.map +1 -0
  370. package/dist/gateway/console-api/operator-types.js +21 -0
  371. package/dist/gateway/console-api/operator-types.js.map +1 -0
  372. package/dist/gateway/console-api/router.d.ts +97 -0
  373. package/dist/gateway/console-api/router.d.ts.map +1 -0
  374. package/dist/gateway/console-api/router.js +69 -0
  375. package/dist/gateway/console-api/router.js.map +1 -0
  376. package/dist/gateway/console-api/routes.test.d.ts +2 -0
  377. package/dist/gateway/console-api/routes.test.d.ts.map +1 -0
  378. package/dist/gateway/console-api/routes.test.js +331 -0
  379. package/dist/gateway/console-api/routes.test.js.map +1 -0
  380. package/dist/gateway/console-api/serialize.d.ts +33 -0
  381. package/dist/gateway/console-api/serialize.d.ts.map +1 -0
  382. package/dist/gateway/console-api/serialize.js +179 -0
  383. package/dist/gateway/console-api/serialize.js.map +1 -0
  384. package/dist/gateway/console-api/server.d.ts +38 -0
  385. package/dist/gateway/console-api/server.d.ts.map +1 -0
  386. package/dist/gateway/console-api/server.js +308 -0
  387. package/dist/gateway/console-api/server.js.map +1 -0
  388. package/dist/gateway/console-api/server.test.d.ts +2 -0
  389. package/dist/gateway/console-api/server.test.d.ts.map +1 -0
  390. package/dist/gateway/console-api/server.test.js +149 -0
  391. package/dist/gateway/console-api/server.test.js.map +1 -0
  392. package/dist/gateway/console-api/test-support.d.ts +59 -0
  393. package/dist/gateway/console-api/test-support.d.ts.map +1 -0
  394. package/dist/gateway/console-api/test-support.js +120 -0
  395. package/dist/gateway/console-api/test-support.js.map +1 -0
  396. package/dist/gateway/console-api/types.d.ts +779 -0
  397. package/dist/gateway/console-api/types.d.ts.map +1 -0
  398. package/dist/gateway/console-api/types.js +6 -0
  399. package/dist/gateway/console-api/types.js.map +1 -0
  400. package/dist/gateway/console-location.d.ts +21 -0
  401. package/dist/gateway/console-location.d.ts.map +1 -0
  402. package/dist/gateway/console-location.js +41 -0
  403. package/dist/gateway/console-location.js.map +1 -0
  404. package/dist/gateway/console-recovery.d.ts +34 -0
  405. package/dist/gateway/console-recovery.d.ts.map +1 -0
  406. package/dist/gateway/console-recovery.js +94 -0
  407. package/dist/gateway/console-recovery.js.map +1 -0
  408. package/dist/gateway/console-recovery.test.d.ts +2 -0
  409. package/dist/gateway/console-recovery.test.d.ts.map +1 -0
  410. package/dist/gateway/console-recovery.test.js +106 -0
  411. package/dist/gateway/console-recovery.test.js.map +1 -0
  412. package/dist/gateway/console.d.ts +18 -0
  413. package/dist/gateway/console.d.ts.map +1 -0
  414. package/dist/gateway/console.js +101 -0
  415. package/dist/gateway/console.js.map +1 -0
  416. package/dist/gateway/console.test.d.ts +2 -0
  417. package/dist/gateway/console.test.d.ts.map +1 -0
  418. package/dist/gateway/console.test.js +165 -0
  419. package/dist/gateway/console.test.js.map +1 -0
  420. package/dist/gateway/errors.d.ts +3 -0
  421. package/dist/gateway/errors.d.ts.map +1 -0
  422. package/dist/gateway/errors.js +5 -0
  423. package/dist/gateway/errors.js.map +1 -0
  424. package/dist/gateway/exposure.d.ts +33 -0
  425. package/dist/gateway/exposure.d.ts.map +1 -0
  426. package/dist/gateway/exposure.js +146 -0
  427. package/dist/gateway/exposure.js.map +1 -0
  428. package/dist/gateway/exposure.test.d.ts +2 -0
  429. package/dist/gateway/exposure.test.d.ts.map +1 -0
  430. package/dist/gateway/exposure.test.js +93 -0
  431. package/dist/gateway/exposure.test.js.map +1 -0
  432. package/dist/gateway/gateway-policy.test.d.ts +2 -0
  433. package/dist/gateway/gateway-policy.test.d.ts.map +1 -0
  434. package/dist/gateway/gateway-policy.test.js +404 -0
  435. package/dist/gateway/gateway-policy.test.js.map +1 -0
  436. package/dist/gateway/gateway.test.js +47 -25
  437. package/dist/gateway/gateway.test.js.map +1 -1
  438. package/dist/gateway/keys.d.ts +2 -0
  439. package/dist/gateway/keys.d.ts.map +1 -1
  440. package/dist/gateway/keys.js +2 -0
  441. package/dist/gateway/keys.js.map +1 -1
  442. package/dist/gateway/limits.d.ts +32 -8
  443. package/dist/gateway/limits.d.ts.map +1 -1
  444. package/dist/gateway/limits.js +27 -11
  445. package/dist/gateway/limits.js.map +1 -1
  446. package/dist/gateway/observability.d.ts +51 -0
  447. package/dist/gateway/observability.d.ts.map +1 -0
  448. package/dist/gateway/observability.js +136 -0
  449. package/dist/gateway/observability.js.map +1 -0
  450. package/dist/gateway/policy-resolver.d.ts +73 -0
  451. package/dist/gateway/policy-resolver.d.ts.map +1 -0
  452. package/dist/gateway/policy-resolver.js +142 -0
  453. package/dist/gateway/policy-resolver.js.map +1 -0
  454. package/dist/gateway/policy-resolver.test.d.ts +2 -0
  455. package/dist/gateway/policy-resolver.test.d.ts.map +1 -0
  456. package/dist/gateway/policy-resolver.test.js +273 -0
  457. package/dist/gateway/policy-resolver.test.js.map +1 -0
  458. package/dist/gateway/request-errors.test.d.ts +2 -0
  459. package/dist/gateway/request-errors.test.d.ts.map +1 -0
  460. package/dist/gateway/request-errors.test.js +108 -0
  461. package/dist/gateway/request-errors.test.js.map +1 -0
  462. package/dist/gateway/request-shaping.d.ts +25 -0
  463. package/dist/gateway/request-shaping.d.ts.map +1 -0
  464. package/dist/gateway/request-shaping.js +66 -0
  465. package/dist/gateway/request-shaping.js.map +1 -0
  466. package/dist/gateway/response-usage.d.ts +35 -0
  467. package/dist/gateway/response-usage.d.ts.map +1 -0
  468. package/dist/gateway/response-usage.js +167 -0
  469. package/dist/gateway/response-usage.js.map +1 -0
  470. package/dist/gateway/response-usage.test.d.ts +2 -0
  471. package/dist/gateway/response-usage.test.d.ts.map +1 -0
  472. package/dist/gateway/response-usage.test.js +78 -0
  473. package/dist/gateway/response-usage.test.js.map +1 -0
  474. package/dist/gateway/runtime.d.ts +25 -0
  475. package/dist/gateway/runtime.d.ts.map +1 -1
  476. package/dist/gateway/runtime.js +39 -19
  477. package/dist/gateway/runtime.js.map +1 -1
  478. package/dist/gateway/server.d.ts +68 -2
  479. package/dist/gateway/server.d.ts.map +1 -1
  480. package/dist/gateway/server.js +532 -116
  481. package/dist/gateway/server.js.map +1 -1
  482. package/dist/gateway/services/audit.d.ts +16 -0
  483. package/dist/gateway/services/audit.d.ts.map +1 -0
  484. package/dist/gateway/services/audit.js +18 -0
  485. package/dist/gateway/services/audit.js.map +1 -0
  486. package/dist/gateway/services/context.d.ts +66 -0
  487. package/dist/gateway/services/context.d.ts.map +1 -0
  488. package/dist/gateway/services/context.js +52 -0
  489. package/dist/gateway/services/context.js.map +1 -0
  490. package/dist/gateway/services/keys.d.ts +78 -0
  491. package/dist/gateway/services/keys.d.ts.map +1 -0
  492. package/dist/gateway/services/keys.js +232 -0
  493. package/dist/gateway/services/keys.js.map +1 -0
  494. package/dist/gateway/services/members.d.ts +72 -0
  495. package/dist/gateway/services/members.d.ts.map +1 -0
  496. package/dist/gateway/services/members.js +161 -0
  497. package/dist/gateway/services/members.js.map +1 -0
  498. package/dist/gateway/services/network.d.ts +36 -0
  499. package/dist/gateway/services/network.d.ts.map +1 -0
  500. package/dist/gateway/services/network.js +147 -0
  501. package/dist/gateway/services/network.js.map +1 -0
  502. package/dist/gateway/services/operator.d.ts +98 -0
  503. package/dist/gateway/services/operator.d.ts.map +1 -0
  504. package/dist/gateway/services/operator.js +170 -0
  505. package/dist/gateway/services/operator.js.map +1 -0
  506. package/dist/gateway/services/operator.test.d.ts +2 -0
  507. package/dist/gateway/services/operator.test.d.ts.map +1 -0
  508. package/dist/gateway/services/operator.test.js +184 -0
  509. package/dist/gateway/services/operator.test.js.map +1 -0
  510. package/dist/gateway/services/peer-lists.d.ts +20 -0
  511. package/dist/gateway/services/peer-lists.d.ts.map +1 -0
  512. package/dist/gateway/services/peer-lists.js +134 -0
  513. package/dist/gateway/services/peer-lists.js.map +1 -0
  514. package/dist/gateway/services/presets.d.ts +34 -0
  515. package/dist/gateway/services/presets.d.ts.map +1 -0
  516. package/dist/gateway/services/presets.js +134 -0
  517. package/dist/gateway/services/presets.js.map +1 -0
  518. package/dist/gateway/services/routing.d.ts +13 -0
  519. package/dist/gateway/services/routing.d.ts.map +1 -0
  520. package/dist/gateway/services/routing.js +18 -0
  521. package/dist/gateway/services/routing.js.map +1 -0
  522. package/dist/gateway/services/services.test.d.ts +2 -0
  523. package/dist/gateway/services/services.test.d.ts.map +1 -0
  524. package/dist/gateway/services/services.test.js +476 -0
  525. package/dist/gateway/services/services.test.js.map +1 -0
  526. package/dist/gateway/services/settings.d.ts +68 -0
  527. package/dist/gateway/services/settings.d.ts.map +1 -0
  528. package/dist/gateway/services/settings.js +580 -0
  529. package/dist/gateway/services/settings.js.map +1 -0
  530. package/dist/gateway/services/tokens.d.ts +29 -0
  531. package/dist/gateway/services/tokens.d.ts.map +1 -0
  532. package/dist/gateway/services/tokens.js +48 -0
  533. package/dist/gateway/services/tokens.js.map +1 -0
  534. package/dist/gateway/services/usage.d.ts +55 -0
  535. package/dist/gateway/services/usage.d.ts.map +1 -0
  536. package/dist/gateway/services/usage.js +225 -0
  537. package/dist/gateway/services/usage.js.map +1 -0
  538. package/dist/gateway/services/wallet-address-env.test.d.ts +2 -0
  539. package/dist/gateway/services/wallet-address-env.test.d.ts.map +1 -0
  540. package/dist/gateway/services/wallet-address-env.test.js +119 -0
  541. package/dist/gateway/services/wallet-address-env.test.js.map +1 -0
  542. package/dist/gateway/services/wallet-address.d.ts +40 -0
  543. package/dist/gateway/services/wallet-address.d.ts.map +1 -0
  544. package/dist/gateway/services/wallet-address.js +116 -0
  545. package/dist/gateway/services/wallet-address.js.map +1 -0
  546. package/dist/gateway/services/wallet-address.test.d.ts +2 -0
  547. package/dist/gateway/services/wallet-address.test.d.ts.map +1 -0
  548. package/dist/gateway/services/wallet-address.test.js +84 -0
  549. package/dist/gateway/services/wallet-address.test.js.map +1 -0
  550. package/dist/gateway/services/workspaces.d.ts +75 -0
  551. package/dist/gateway/services/workspaces.d.ts.map +1 -0
  552. package/dist/gateway/services/workspaces.js +228 -0
  553. package/dist/gateway/services/workspaces.js.map +1 -0
  554. package/dist/gateway/spend-durability.test.d.ts +2 -0
  555. package/dist/gateway/spend-durability.test.d.ts.map +1 -0
  556. package/dist/gateway/spend-durability.test.js +330 -0
  557. package/dist/gateway/spend-durability.test.js.map +1 -0
  558. package/dist/gateway/spend-feed.d.ts +11 -1
  559. package/dist/gateway/spend-feed.d.ts.map +1 -1
  560. package/dist/gateway/spend-feed.js +17 -4
  561. package/dist/gateway/spend-feed.js.map +1 -1
  562. package/dist/gateway/spend-feed.test.d.ts +2 -0
  563. package/dist/gateway/spend-feed.test.d.ts.map +1 -0
  564. package/dist/gateway/spend-feed.test.js +34 -0
  565. package/dist/gateway/spend-feed.test.js.map +1 -0
  566. package/dist/gateway/store-data.test.d.ts +2 -0
  567. package/dist/gateway/store-data.test.d.ts.map +1 -0
  568. package/dist/gateway/store-data.test.js +346 -0
  569. package/dist/gateway/store-data.test.js.map +1 -0
  570. package/dist/gateway/store-migrations.d.ts +6 -0
  571. package/dist/gateway/store-migrations.d.ts.map +1 -0
  572. package/dist/gateway/store-migrations.js +301 -0
  573. package/dist/gateway/store-migrations.js.map +1 -0
  574. package/dist/gateway/store.d.ts +595 -10
  575. package/dist/gateway/store.d.ts.map +1 -1
  576. package/dist/gateway/store.js +1242 -120
  577. package/dist/gateway/store.js.map +1 -1
  578. package/dist/gateway/store.test.d.ts +2 -0
  579. package/dist/gateway/store.test.d.ts.map +1 -0
  580. package/dist/gateway/store.test.js +185 -0
  581. package/dist/gateway/store.test.js.map +1 -0
  582. package/dist/proxy/buyer-chain-reader.d.ts +68 -0
  583. package/dist/proxy/buyer-chain-reader.d.ts.map +1 -0
  584. package/dist/proxy/buyer-chain-reader.js +152 -0
  585. package/dist/proxy/buyer-chain-reader.js.map +1 -0
  586. package/dist/proxy/buyer-chain-reader.test.d.ts +2 -0
  587. package/dist/proxy/buyer-chain-reader.test.d.ts.map +1 -0
  588. package/dist/proxy/buyer-chain-reader.test.js +102 -0
  589. package/dist/proxy/buyer-chain-reader.test.js.map +1 -0
  590. package/dist/proxy/buyer-proxy.d.ts +169 -3
  591. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  592. package/dist/proxy/buyer-proxy.js +873 -117
  593. package/dist/proxy/buyer-proxy.js.map +1 -1
  594. package/dist/proxy/buyer-proxy.test.js +31 -0
  595. package/dist/proxy/buyer-proxy.test.js.map +1 -1
  596. package/dist/proxy/chain-read-cache.d.ts +47 -0
  597. package/dist/proxy/chain-read-cache.d.ts.map +1 -0
  598. package/dist/proxy/chain-read-cache.js +110 -0
  599. package/dist/proxy/chain-read-cache.js.map +1 -0
  600. package/dist/proxy/chain-read-cache.test.d.ts +2 -0
  601. package/dist/proxy/chain-read-cache.test.d.ts.map +1 -0
  602. package/dist/proxy/chain-read-cache.test.js +75 -0
  603. package/dist/proxy/chain-read-cache.test.js.map +1 -0
  604. package/dist/proxy/chain-rpc-test-support.d.ts +31 -0
  605. package/dist/proxy/chain-rpc-test-support.d.ts.map +1 -0
  606. package/dist/proxy/chain-rpc-test-support.js +136 -0
  607. package/dist/proxy/chain-rpc-test-support.js.map +1 -0
  608. package/dist/proxy/chain-rpc.d.ts +121 -0
  609. package/dist/proxy/chain-rpc.d.ts.map +1 -0
  610. package/dist/proxy/chain-rpc.js +420 -0
  611. package/dist/proxy/chain-rpc.js.map +1 -0
  612. package/dist/proxy/chain-rpc.test.d.ts +2 -0
  613. package/dist/proxy/chain-rpc.test.d.ts.map +1 -0
  614. package/dist/proxy/chain-rpc.test.js +180 -0
  615. package/dist/proxy/chain-rpc.test.js.map +1 -0
  616. package/dist/proxy/deposit-watch-hub.d.ts +47 -0
  617. package/dist/proxy/deposit-watch-hub.d.ts.map +1 -0
  618. package/dist/proxy/deposit-watch-hub.js +111 -0
  619. package/dist/proxy/deposit-watch-hub.js.map +1 -0
  620. package/dist/proxy/deposit-watch-hub.test.d.ts +2 -0
  621. package/dist/proxy/deposit-watch-hub.test.d.ts.map +1 -0
  622. package/dist/proxy/deposit-watch-hub.test.js +133 -0
  623. package/dist/proxy/deposit-watch-hub.test.js.map +1 -0
  624. package/dist/proxy/deposit-watcher.d.ts +44 -4
  625. package/dist/proxy/deposit-watcher.d.ts.map +1 -1
  626. package/dist/proxy/deposit-watcher.js +76 -11
  627. package/dist/proxy/deposit-watcher.js.map +1 -1
  628. package/dist/proxy/deposit-watcher.test.js +54 -1
  629. package/dist/proxy/deposit-watcher.test.js.map +1 -1
  630. package/dist/proxy/gateway-policy.test.d.ts +2 -0
  631. package/dist/proxy/gateway-policy.test.d.ts.map +1 -0
  632. package/dist/proxy/gateway-policy.test.js +576 -0
  633. package/dist/proxy/gateway-policy.test.js.map +1 -0
  634. package/dist/proxy/network-models.d.ts +2 -0
  635. package/dist/proxy/network-models.d.ts.map +1 -1
  636. package/dist/proxy/network-models.js +3 -1
  637. package/dist/proxy/network-models.js.map +1 -1
  638. package/dist/proxy/route-policy.d.ts +97 -0
  639. package/dist/proxy/route-policy.d.ts.map +1 -0
  640. package/dist/proxy/route-policy.js +230 -0
  641. package/dist/proxy/route-policy.js.map +1 -0
  642. package/dist/proxy/route-policy.test.d.ts +2 -0
  643. package/dist/proxy/route-policy.test.d.ts.map +1 -0
  644. package/dist/proxy/route-policy.test.js +120 -0
  645. package/dist/proxy/route-policy.test.js.map +1 -0
  646. package/dist/proxy/spend-attribution.d.ts +41 -10
  647. package/dist/proxy/spend-attribution.d.ts.map +1 -1
  648. package/dist/proxy/spend-attribution.js +133 -37
  649. package/dist/proxy/spend-attribution.js.map +1 -1
  650. package/dist/proxy/tee-control.d.ts +3 -1
  651. package/dist/proxy/tee-control.d.ts.map +1 -1
  652. package/dist/proxy/tee-control.js +5 -3
  653. package/dist/proxy/tee-control.js.map +1 -1
  654. package/dist/proxy/telemetry.d.ts +2 -1
  655. package/dist/proxy/telemetry.d.ts.map +1 -1
  656. package/dist/proxy/telemetry.js +10 -5
  657. package/dist/proxy/telemetry.js.map +1 -1
  658. package/dist/routing-policy/policy.d.ts +149 -0
  659. package/dist/routing-policy/policy.d.ts.map +1 -0
  660. package/dist/routing-policy/policy.js +450 -0
  661. package/dist/routing-policy/policy.js.map +1 -0
  662. package/dist/routing-policy/policy.test.d.ts +2 -0
  663. package/dist/routing-policy/policy.test.d.ts.map +1 -0
  664. package/dist/routing-policy/policy.test.js +134 -0
  665. package/dist/routing-policy/policy.test.js.map +1 -0
  666. package/package.json +15 -7
package/README.md CHANGED
@@ -91,6 +91,8 @@ antseed seller start
91
91
 
92
92
  Buyer runtime state lives in the data directory, not just in the config file. By default that directory is `~/.antseed`, which contains `buyer.state.json`, SQLite databases, payment-channel state, and the fallback `identity.key`.
93
93
 
94
+ To keep `identity.key` (and every `buyer-identities/<name>/identity.key`) encrypted at rest, set `ANTSEED_PASSPHRASE`, or `ANTSEED_PASSPHRASE_FILE` to a file whose first line is the passphrase (at least 12 characters to encrypt keys with). New keys are then written encrypted; `antseed buyer identity protect --all` encrypts existing ones and `antseed buyer identity unprotect --all --yes` reverses it. An encrypted key cannot be read without the passphrase. When neither variable is set, `buyer start`, `gateway start`, `buyer identity protect` and `unprotect` ask for it on the terminal when they need it, hidden and never stored; without a terminal they fail instead. `ANTSEED_IDENTITY_HEX` still overrides the default key.
95
+
94
96
  Use a separate data directory for each independent buyer node, service integration, test run, or concurrent process:
95
97
 
96
98
  ```bash
@@ -1,4 +1,4 @@
1
- import { type Identity } from '@antseed/node';
1
+ import { FileIdentityStore, type Identity } from '@antseed/node';
2
2
  export interface StoredBuyerIdentity {
3
3
  name: string;
4
4
  /** Null when the key cannot be read; `error` says why. */
@@ -34,8 +34,45 @@ export declare function readDefaultWallet(dataDir: string): Promise<{
34
34
  address: string | null;
35
35
  note: string;
36
36
  }>;
37
- /** Wallet address of any identity, default included; null when unknown or unreadable. */
37
+ /**
38
+ * The default identity exactly as the buyer loads it: ANTSEED_IDENTITY_HEX
39
+ * (how the desktop app hands the buyer its wallet) first, then the data
40
+ * dir's identity.key. Goes through the node's own loader, so a key it already
41
+ * took from the environment in this process is found too, but never creates
42
+ * a key. `fromEnv` says the key did not come from the data dir.
43
+ */
44
+ export declare function loadDefaultBuyerIdentity(dataDir: string): Promise<{
45
+ identity: Identity | null;
46
+ fromEnv: boolean;
47
+ }>;
48
+ /**
49
+ * The desktop app keeps the default wallet encrypted (identity.enc) and hands
50
+ * it to the buyer in ANTSEED_IDENTITY_HEX; without that variable a CLI
51
+ * process cannot know which wallet the buyer pays from.
52
+ */
53
+ export declare function hasDesktopIdentity(dataDir: string): Promise<boolean>;
54
+ /** The signing key of any identity, default included, as the buyer loads it; null when none is stored. */
55
+ export declare function loadBuyerSigningIdentity(dataDir: string, name: string): Promise<Identity | null>;
56
+ /** Wallet address of any identity, default included (honouring ANTSEED_IDENTITY_HEX); null when unknown or unreadable. */
38
57
  export declare function buyerIdentityAddress(dataDir: string, name: string): Promise<string | null>;
58
+ /**
59
+ * The address of the default wallet stored in a data dir (its identity.key),
60
+ * never ANTSEED_IDENTITY_HEX: for a data dir that is not the one this
61
+ * process's buyer runs on, such as a freshly imported bundle. The node's
62
+ * loader keeps the variable's key for the whole process whatever dir it is
63
+ * asked about. An encrypted key is not decrypted for it. Null when there is
64
+ * no readable key.
65
+ */
66
+ export declare function storedDefaultIdentityAddress(dataDir: string): Promise<string | null>;
67
+ /**
68
+ * The wallet key files stored in a data dir: the default identity.key, each
69
+ * buyer identity's and the archived ones, whose wallets may still hold funds.
70
+ * With `name`, that identity's only.
71
+ */
72
+ export declare function storedWalletKeys(dataDir: string, name?: string): Promise<Array<{
73
+ name: string;
74
+ store: FileIdentityStore;
75
+ }>>;
39
76
  /** Move an identity aside; its key is kept because the wallet may still hold funds. */
40
77
  export declare function archiveBuyerIdentity(dataDir: string, name: string): Promise<string>;
41
78
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/buyer-identities/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAA;AAgBtB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAK1D;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAqBD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAevH;AAED,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzF;AAWD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAY/F;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAoBzF;AAED,mEAAmE;AACnE,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAQ1G;AAED,yFAAyF;AACzF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGhG;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/buyer-identities/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,iBAAiB,EAKjB,KAAK,QAAQ,EAEd,MAAM,eAAe,CAAA;AAgBtB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAK1D;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAqBD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAevH;AAED,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzF;AAWD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAY/F;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAuBzF;AAED,mEAAmE;AACnE,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAU1G;AAID;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAgBxH;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpE;AAED,0GAA0G;AAC1G,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAGtG;AAED,0HAA0H;AAC1H,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEhG;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE1F;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAAC,CAsBjI;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzF"}
@@ -1,7 +1,7 @@
1
1
  import { randomBytes } from 'node:crypto';
2
2
  import { access, mkdir, readdir, readFile, rename, stat, writeFile } from 'node:fs/promises';
3
3
  import { isAbsolute, join } from 'node:path';
4
- import { DEFAULT_BUYER_IDENTITY, FileIdentityStore, identityFromPrivateKeyHex, isValidBuyerIdentityName, } from '@antseed/node';
4
+ import { DEFAULT_BUYER_IDENTITY, FileIdentityStore, identityFromPrivateKeyHex, isValidBuyerIdentityName, loadOrCreateIdentity, PASSPHRASE_ENV, } from '@antseed/node';
5
5
  /**
6
6
  * Extra buyer wallets live next to the default identity, one directory each:
7
7
  * <dataDir>/buyer-identities/<name>/identity.key (the private key), or
@@ -129,9 +129,12 @@ export async function listBuyerIdentities(dataDir) {
129
129
  const dir = buyerIdentityDir(dataDir, name);
130
130
  const keyFrom = await readKeySourceRef(dir).catch(() => undefined);
131
131
  try {
132
- const identity = await loadBuyerIdentity(dataDir, name);
133
- if (identity)
134
- identities.push({ name, address: identity.wallet.address, dir, ...(keyFrom ? { keyFrom } : {}) });
132
+ // A key stored encrypted is listed by the address beside it, without the passphrase.
133
+ const address = keyFrom === null
134
+ ? await new FileIdentityStore(dir).address()
135
+ : (await loadBuyerIdentity(dataDir, name))?.wallet.address;
136
+ if (address)
137
+ identities.push({ name, address, dir, ...(keyFrom ? { keyFrom } : {}) });
135
138
  }
136
139
  catch (err) {
137
140
  identities.push({ name, address: null, dir, ...(keyFrom ? { keyFrom } : {}), error: err instanceof Error ? err.message : String(err) });
@@ -142,20 +145,106 @@ export async function listBuyerIdentities(dataDir) {
142
145
  /** The default wallet's address, or why the CLI cannot read it. */
143
146
  export async function readDefaultWallet(dataDir) {
144
147
  try {
145
- const hex = await new FileIdentityStore(dataDir).load();
146
- if (hex && hex.length === 64)
147
- return { address: identityFromPrivateKeyHex(hex).wallet.address, note: '' };
148
+ const { identity, fromEnv } = await loadDefaultBuyerIdentity(dataDir);
149
+ if (identity)
150
+ return { address: identity.wallet.address, note: fromEnv ? 'from ANTSEED_IDENTITY_HEX' : '' };
148
151
  return { address: null, note: 'created on first buyer start' };
149
152
  }
150
153
  catch {
154
+ const locked = await storedDefaultIdentityAddress(dataDir);
155
+ if (locked)
156
+ return { address: locked, note: `encrypted; set ${PASSPHRASE_ENV} to use it` };
151
157
  return { address: null, note: 'encrypted by the AI VPN' };
152
158
  }
153
159
  }
154
- /** Wallet address of any identity, default included; null when unknown or unreadable. */
160
+ class NoStoredDefaultIdentity extends Error {
161
+ }
162
+ /**
163
+ * The default identity exactly as the buyer loads it: ANTSEED_IDENTITY_HEX
164
+ * (how the desktop app hands the buyer its wallet) first, then the data
165
+ * dir's identity.key. Goes through the node's own loader, so a key it already
166
+ * took from the environment in this process is found too, but never creates
167
+ * a key. `fromEnv` says the key did not come from the data dir.
168
+ */
169
+ export async function loadDefaultBuyerIdentity(dataDir) {
170
+ let readDisk = false;
171
+ const store = {
172
+ load: () => {
173
+ readDisk = true;
174
+ return new FileIdentityStore(dataDir).load();
175
+ },
176
+ save: () => Promise.reject(new NoStoredDefaultIdentity()),
177
+ };
178
+ try {
179
+ const identity = await loadOrCreateIdentity(store);
180
+ return { identity, fromEnv: !readDisk };
181
+ }
182
+ catch (err) {
183
+ if (err instanceof NoStoredDefaultIdentity)
184
+ return { identity: null, fromEnv: false };
185
+ throw err;
186
+ }
187
+ }
188
+ /**
189
+ * The desktop app keeps the default wallet encrypted (identity.enc) and hands
190
+ * it to the buyer in ANTSEED_IDENTITY_HEX; without that variable a CLI
191
+ * process cannot know which wallet the buyer pays from.
192
+ */
193
+ export function hasDesktopIdentity(dataDir) {
194
+ return exists(join(dataDir, 'identity.enc'));
195
+ }
196
+ /** The signing key of any identity, default included, as the buyer loads it; null when none is stored. */
197
+ export async function loadBuyerSigningIdentity(dataDir, name) {
198
+ if (name === DEFAULT_BUYER_IDENTITY)
199
+ return (await loadDefaultBuyerIdentity(dataDir)).identity;
200
+ return loadBuyerIdentity(dataDir, name);
201
+ }
202
+ /** Wallet address of any identity, default included (honouring ANTSEED_IDENTITY_HEX); null when unknown or unreadable. */
155
203
  export async function buyerIdentityAddress(dataDir, name) {
204
+ return (await loadBuyerSigningIdentity(dataDir, name).catch(() => null))?.wallet.address ?? null;
205
+ }
206
+ /**
207
+ * The address of the default wallet stored in a data dir (its identity.key),
208
+ * never ANTSEED_IDENTITY_HEX: for a data dir that is not the one this
209
+ * process's buyer runs on, such as a freshly imported bundle. The node's
210
+ * loader keeps the variable's key for the whole process whatever dir it is
211
+ * asked about. An encrypted key is not decrypted for it. Null when there is
212
+ * no readable key.
213
+ */
214
+ export async function storedDefaultIdentityAddress(dataDir) {
215
+ return new FileIdentityStore(dataDir).address().catch(() => null);
216
+ }
217
+ /**
218
+ * The wallet key files stored in a data dir: the default identity.key, each
219
+ * buyer identity's and the archived ones, whose wallets may still hold funds.
220
+ * With `name`, that identity's only.
221
+ */
222
+ export async function storedWalletKeys(dataDir, name) {
156
223
  if (name === DEFAULT_BUYER_IDENTITY)
157
- return (await readDefaultWallet(dataDir)).address;
158
- return (await loadBuyerIdentity(dataDir, name).catch(() => null))?.wallet.address ?? null;
224
+ return [{ name, store: new FileIdentityStore(dataDir) }];
225
+ if (name !== undefined) {
226
+ assertBuyerIdentityName(name);
227
+ const dir = buyerIdentityDir(dataDir, name);
228
+ const keyFrom = await readKeySourceRef(dir);
229
+ if (keyFrom)
230
+ throw new Error(`Buyer identity "${name}" reads its key from ${keyFrom}; nothing is stored in the data dir.`);
231
+ return [{ name, store: new FileIdentityStore(dir) }];
232
+ }
233
+ const dirs = [{ name: DEFAULT_BUYER_IDENTITY, dir: dataDir }];
234
+ const root = buyerIdentitiesDir(dataDir);
235
+ for (const entry of (await readdir(root).catch(() => [])).sort()) {
236
+ if (isValidBuyerIdentityName(entry) && entry !== DEFAULT_BUYER_IDENTITY)
237
+ dirs.push({ name: entry, dir: join(root, entry) });
238
+ }
239
+ for (const entry of (await readdir(join(root, ARCHIVE_DIR)).catch(() => [])).sort()) {
240
+ dirs.push({ name: `${ARCHIVE_DIR}/${entry}`, dir: join(root, ARCHIVE_DIR, entry) });
241
+ }
242
+ const stored = [];
243
+ for (const { name: keyName, dir } of dirs) {
244
+ if (await exists(join(dir, KEY_FILE)))
245
+ stored.push({ name: keyName, store: new FileIdentityStore(dir) });
246
+ }
247
+ return stored;
159
248
  }
160
249
  /** Move an identity aside; its key is kept because the wallet may still hold funds. */
161
250
  export async function archiveBuyerIdentity(dataDir, name) {
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/buyer-identities/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/buyer-identities/store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  import { type Command } from 'commander';
2
- export declare function registerBuyerIdentityCommands(buyerCmd: Command): void;
2
+ import { type PassphrasePrompt } from '../../wallet-passphrase.js';
3
+ /** `prompt` replaces the terminal prompt for the passphrase, for tests. */
4
+ export declare function registerBuyerIdentityCommands(buyerCmd: Command, prompt?: PassphrasePrompt): void;
3
5
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/buyer/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAA;AAY9D,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAwGrE"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/buyer/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAA;AAuB9D,OAAO,EAA+D,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAa/H,2EAA2E;AAC3E,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CA6IhG"}
@@ -1,14 +1,24 @@
1
1
  import { InvalidArgumentError } from 'commander';
2
2
  import chalk from 'chalk';
3
3
  import Table from 'cli-table3';
4
- import { DEFAULT_BUYER_IDENTITY, DepositsClient, resolveChainConfig } from '@antseed/node';
4
+ import { assertNewIdentityPassphrase, DEFAULT_BUYER_IDENTITY, DepositsClient, FileIdentityStore, MIN_PASSPHRASE_LENGTH, PASSPHRASE_ENV, PASSPHRASE_FILE_ENV, resolveChainConfig, } from '@antseed/node';
5
5
  import { getGlobalOptions } from '../types.js';
6
6
  import { loadConfig } from '../../../config/loader.js';
7
- import { archiveBuyerIdentity, createBuyerIdentity, listBuyerIdentities, parseKeySource, readDefaultWallet } from '../../../buyer-identities/store.js';
7
+ import { archiveBuyerIdentity, createBuyerIdentity, listBuyerIdentities, parseKeySource, readDefaultWallet, storedWalletKeys, } from '../../../buyer-identities/store.js';
8
+ import { anyKeyEncrypted, verifiedWalletPassphrase, walletPassphrase } from '../../wallet-passphrase.js';
8
9
  function formatUsdc(baseUnits) {
9
10
  return (Number(baseUnits) / 1_000_000).toFixed(2);
10
11
  }
11
- export function registerBuyerIdentityCommands(buyerCmd) {
12
+ async function walletKeysFor(dataDir, name, all) {
13
+ if (all && name)
14
+ throw new Error('Pass an identity name or --all, not both.');
15
+ const keys = await storedWalletKeys(dataDir, all ? undefined : (name ?? DEFAULT_BUYER_IDENTITY));
16
+ if (keys.length === 0)
17
+ throw new Error(`No wallet keys are stored in ${dataDir}.`);
18
+ return keys;
19
+ }
20
+ /** `prompt` replaces the terminal prompt for the passphrase, for tests. */
21
+ export function registerBuyerIdentityCommands(buyerCmd, prompt) {
12
22
  const identity = buyerCmd
13
23
  .command('identity')
14
24
  .description('Extra buyer wallets one running buyer can pay as (select per request with x-antseed-buyer-identity)');
@@ -52,14 +62,15 @@ export function registerBuyerIdentityCommands(buyerCmd) {
52
62
  const globalOpts = getGlobalOptions(buyerCmd);
53
63
  const stored = await listBuyerIdentities(globalOpts.dataDir);
54
64
  const defaultWallet = await readDefaultWallet(globalOpts.dataDir);
65
+ const encrypted = async (dir) => (await new FileIdentityStore(dir).format().catch(() => null)) === 'encrypted';
55
66
  const rows = [
56
- { name: DEFAULT_BUYER_IDENTITY, address: defaultWallet.address },
57
- ...stored.map((entry) => ({
67
+ { name: DEFAULT_BUYER_IDENTITY, address: defaultWallet.address, encrypted: await encrypted(globalOpts.dataDir) },
68
+ ...await Promise.all(stored.map(async (entry) => ({
58
69
  name: entry.name,
59
70
  address: entry.address,
60
- ...(entry.keyFrom ? { keyFrom: entry.keyFrom } : {}),
71
+ ...(entry.keyFrom ? { keyFrom: entry.keyFrom } : { encrypted: await encrypted(entry.dir) }),
61
72
  ...(entry.error ? { error: entry.error } : {}),
62
- })),
73
+ }))),
63
74
  ];
64
75
  if (options.balances) {
65
76
  const config = await loadConfig(globalOpts.config);
@@ -96,12 +107,48 @@ export function registerBuyerIdentityCommands(buyerCmd) {
96
107
  table.push([
97
108
  row.name,
98
109
  row.address ?? (row.error ? chalk.yellow(row.error) : chalk.dim(defaultWallet.note)),
99
- row.keyFrom ?? 'data dir',
110
+ row.keyFrom ?? (row.encrypted ? 'data dir, encrypted' : 'data dir'),
100
111
  ...(options.balances ? [row.available ?? '-', row.reserved ?? '-'] : []),
101
112
  ]);
102
113
  }
103
114
  console.log(table.toString());
104
115
  });
116
+ identity.command('protect')
117
+ .description(`Encrypt stored wallet keys with the passphrase in ${PASSPHRASE_ENV} (or the first line of ${PASSPHRASE_FILE_ENV}), asked on the terminal when neither is set; at least ${MIN_PASSPHRASE_LENGTH} characters`)
118
+ .argument('[name]', `identity to protect (default: ${DEFAULT_BUYER_IDENTITY})`)
119
+ .option('--all', 'every wallet key in the data dir, archived ones included', false)
120
+ .action(async (name, options) => {
121
+ const { dataDir } = getGlobalOptions(buyerCmd);
122
+ const keys = await walletKeysFor(dataDir, name, options.all);
123
+ // Checked against the keys already encrypted, so the data dir never holds keys under two passphrases.
124
+ const passphrase = await verifiedWalletPassphrase(dataDir, { confirmNew: true, ...(prompt ? { prompt } : {}) });
125
+ if (!passphrase) {
126
+ throw new Error(`Set ${PASSPHRASE_ENV} or ${PASSPHRASE_FILE_ENV} to the passphrase that should protect the keys.`);
127
+ }
128
+ assertNewIdentityPassphrase(passphrase);
129
+ for (const key of keys) {
130
+ const changed = await key.store.protect();
131
+ console.log(changed ? chalk.green(`Encrypted ${key.name}`) : chalk.dim(`${key.name} is already encrypted`));
132
+ }
133
+ console.log(chalk.dim(`Every process that uses these wallets (buyer, gateway) now needs ${PASSPHRASE_ENV} or ${PASSPHRASE_FILE_ENV}, or asks for the passphrase when started on a terminal. Keep the passphrase safe: without it the keys cannot be recovered.`));
134
+ });
135
+ identity.command('unprotect')
136
+ .description('Store encrypted wallet keys as plaintext again')
137
+ .argument('[name]', `identity to decrypt (default: ${DEFAULT_BUYER_IDENTITY})`)
138
+ .option('--all', 'every wallet key in the data dir, archived ones included', false)
139
+ .option('--yes', 'confirm writing the private keys to disk unencrypted', false)
140
+ .action(async (name, options) => {
141
+ const { dataDir } = getGlobalOptions(buyerCmd);
142
+ if (!options.yes)
143
+ throw new Error('This writes the private keys to disk unencrypted; pass --yes to confirm.');
144
+ const keys = await walletKeysFor(dataDir, name, options.all);
145
+ if (await anyKeyEncrypted(keys))
146
+ await walletPassphrase(prompt ? { prompt } : {});
147
+ for (const key of keys) {
148
+ const changed = await key.store.unprotect();
149
+ console.log(changed ? chalk.yellow(`Decrypted ${key.name}`) : chalk.dim(`${key.name} is not encrypted`));
150
+ }
151
+ });
105
152
  identity.command('remove')
106
153
  .description('Stop using a buyer identity; its key is archived, not deleted')
107
154
  .argument('<name>', 'identity name')
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/cli/commands/buyer/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/cli/commands/buyer/identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=identity.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.test.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/buyer/identity.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,168 @@
1
+ import assert from 'node:assert/strict';
2
+ import { mkdtempSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import test, { afterEach, beforeEach, describe } from 'node:test';
6
+ import { Command } from 'commander';
7
+ import { FileIdentityStore, identityFromPrivateKeyHex, identityPassphraseEnv } from '@antseed/node';
8
+ import { archiveBuyerIdentity, createBuyerIdentity, listBuyerIdentities, loadBuyerIdentity, storedDefaultIdentityAddress, } from '../../../buyer-identities/store.js';
9
+ import { registerBuyerIdentityCommands } from './identity.js';
10
+ // The passphrase comes from a file here: unlike ANTSEED_PASSPHRASE, which the
11
+ // node takes out of the environment once, it can be switched off between tests.
12
+ let dataDir;
13
+ let passphraseFile;
14
+ function usePassphrase(passphrase) {
15
+ if (passphrase === null) {
16
+ delete process.env['ANTSEED_PASSPHRASE_FILE'];
17
+ return;
18
+ }
19
+ writeFileSync(passphraseFile, `${passphrase}\n`);
20
+ process.env['ANTSEED_PASSPHRASE_FILE'] = passphraseFile;
21
+ }
22
+ async function run(...args) {
23
+ const program = new Command();
24
+ program.exitOverride().option('--data-dir <path>');
25
+ const buyer = program.command('buyer');
26
+ registerBuyerIdentityCommands(buyer);
27
+ const lines = [];
28
+ const original = console.log;
29
+ console.log = (...parts) => { lines.push(parts.map(String).join(' ')); };
30
+ try {
31
+ await program.parseAsync(['node', 'antseed', '--data-dir', dataDir, 'buyer', 'identity', ...args]);
32
+ }
33
+ finally {
34
+ console.log = original;
35
+ }
36
+ return lines.join('\n');
37
+ }
38
+ const keyFile = (...parts) => join(dataDir, ...parts, 'identity.key');
39
+ const isEncrypted = (path) => readFileSync(path, 'utf8').startsWith('{');
40
+ beforeEach(() => {
41
+ dataDir = mkdtempSync(join(tmpdir(), 'antseed-identity-protect-'));
42
+ passphraseFile = join(dataDir, 'passphrase');
43
+ usePassphrase(null);
44
+ });
45
+ afterEach(() => {
46
+ usePassphrase(null);
47
+ rmSync(dataDir, { recursive: true, force: true });
48
+ });
49
+ describe('buyer identities with a passphrase', () => {
50
+ test('are created encrypted, listed without it, and loaded only with it', async () => {
51
+ usePassphrase('correct horse');
52
+ const created = await createBuyerIdentity(dataDir, 'team-a');
53
+ assert.ok(isEncrypted(keyFile('buyer-identities', 'team-a')));
54
+ assert.equal(statSync(keyFile('buyer-identities', 'team-a')).mode & 0o777, 0o600);
55
+ assert.equal((await loadBuyerIdentity(dataDir, 'team-a'))?.wallet.address, created.address);
56
+ usePassphrase(null);
57
+ assert.deepEqual((await listBuyerIdentities(dataDir)).map((entry) => [entry.name, entry.address]), [['team-a', created.address]]);
58
+ await assert.rejects(loadBuyerIdentity(dataDir, 'team-a'), /encrypted; set ANTSEED_PASSPHRASE/);
59
+ usePassphrase('wrong horse');
60
+ await assert.rejects(loadBuyerIdentity(dataDir, 'team-a'), /Wrong passphrase/);
61
+ });
62
+ test('the default wallet address is read from an encrypted key without decrypting it', async () => {
63
+ const hex = '44'.repeat(32);
64
+ writeFileSync(keyFile(), hex, { mode: 0o600 });
65
+ usePassphrase('correct horse');
66
+ await run('protect');
67
+ usePassphrase(null);
68
+ assert.equal(await storedDefaultIdentityAddress(dataDir), identityFromPrivateKeyHex(hex).wallet.address);
69
+ });
70
+ });
71
+ describe('buyer identity protect / unprotect', () => {
72
+ test('protect refuses without a passphrase', async () => {
73
+ writeFileSync(keyFile(), '55'.repeat(32), { mode: 0o600 });
74
+ await assert.rejects(run('protect'), /Set ANTSEED_PASSPHRASE/);
75
+ assert.ok(!isEncrypted(keyFile()));
76
+ });
77
+ test('protect --all encrypts every stored key in place; unprotect --all --yes reverses it', async () => {
78
+ const defaultHex = '66'.repeat(32);
79
+ writeFileSync(keyFile(), defaultHex, { mode: 0o600 });
80
+ const team = await createBuyerIdentity(dataDir, 'team-a');
81
+ const old = await createBuyerIdentity(dataDir, 'old');
82
+ const archived = await archiveBuyerIdentity(dataDir, 'old');
83
+ const files = [keyFile(), keyFile('buyer-identities', 'team-a'), join(archived, 'identity.key')];
84
+ usePassphrase('correct horse');
85
+ const output = await run('protect', '--all');
86
+ assert.match(output, /Encrypted default/);
87
+ assert.match(output, /Encrypted team-a/);
88
+ assert.match(output, /Encrypted \.archived\/old-/);
89
+ for (const file of files) {
90
+ assert.ok(isEncrypted(file), file);
91
+ assert.equal(statSync(file).mode & 0o777, 0o600, file);
92
+ }
93
+ assert.match(await run('protect', 'team-a'), /team-a is already encrypted/);
94
+ assert.equal((await loadBuyerIdentity(dataDir, 'team-a'))?.wallet.address, team.address);
95
+ assert.match(await run('list'), /data dir, encrypted/);
96
+ await assert.rejects(run('unprotect', '--all'), /--yes/);
97
+ assert.ok(isEncrypted(keyFile()));
98
+ await run('unprotect', '--all', '--yes');
99
+ assert.equal(readFileSync(keyFile(), 'utf8'), defaultHex);
100
+ assert.equal(identityFromPrivateKeyHex(readFileSync(join(archived, 'identity.key'), 'utf8')).wallet.address, old.address);
101
+ for (const file of files)
102
+ assert.ok(!isEncrypted(file), file);
103
+ assert.deepEqual(readdirSync(dataDir).filter((name) => name.endsWith('.tmp')), []);
104
+ });
105
+ test('protect takes a single identity by name and leaves the others alone', async () => {
106
+ writeFileSync(keyFile(), '77'.repeat(32), { mode: 0o600 });
107
+ await createBuyerIdentity(dataDir, 'team-a');
108
+ usePassphrase('correct horse');
109
+ await run('protect', 'team-a');
110
+ assert.ok(isEncrypted(keyFile('buyer-identities', 'team-a')));
111
+ assert.ok(!isEncrypted(keyFile()));
112
+ await assert.rejects(run('protect', 'team-a', '--all'), /not both/);
113
+ });
114
+ test('protect refuses a passphrase that does not open the keys already encrypted', async () => {
115
+ writeFileSync(keyFile(), '7a'.repeat(32), { mode: 0o600 });
116
+ await createBuyerIdentity(dataDir, 'team-a');
117
+ usePassphrase('correct horse battery');
118
+ await run('protect', 'team-a');
119
+ usePassphrase('correct horse batery!');
120
+ await assert.rejects(run('protect'), /does not unlock the encrypted wallet key "team-a"/);
121
+ assert.ok(!isEncrypted(keyFile()));
122
+ usePassphrase('correct horse battery');
123
+ await run('protect');
124
+ assert.ok(isEncrypted(keyFile()));
125
+ });
126
+ });
127
+ // Last: a passphrase asked on the terminal stays set for the rest of the process.
128
+ describe('buyer identity protect asks on the terminal when no passphrase is set', () => {
129
+ function fakePrompt(answers, available = true) {
130
+ const questions = [];
131
+ return { available, questions, ask: async (question) => { questions.push(question); return answers.shift() ?? ''; } };
132
+ }
133
+ async function runWith(prompt, ...args) {
134
+ const program = new Command();
135
+ program.exitOverride().option('--data-dir <path>');
136
+ registerBuyerIdentityCommands(program.command('buyer'), prompt);
137
+ await program.parseAsync(['node', 'antseed', '--data-dir', dataDir, 'buyer', 'identity', ...args]);
138
+ }
139
+ test('without a terminal it fails as before and asks nothing', async () => {
140
+ writeFileSync(keyFile(), '88'.repeat(32), { mode: 0o600 });
141
+ const prompt = fakePrompt(['correct horse battery'], false);
142
+ await assert.rejects(runWith(prompt, 'protect'), /Set ANTSEED_PASSPHRASE/);
143
+ assert.deepEqual(prompt.questions, []);
144
+ assert.ok(!isEncrypted(keyFile()));
145
+ });
146
+ test('a short or mistyped passphrase leaves the key as it was', async () => {
147
+ writeFileSync(keyFile(), '88'.repeat(32), { mode: 0o600 });
148
+ const short = fakePrompt(['too short']);
149
+ await assert.rejects(runWith(short, 'protect'), /at least 12 characters/);
150
+ assert.equal(short.questions.length, 1);
151
+ await assert.rejects(runWith(fakePrompt(['correct horse battery', 'correct horse batery']), 'protect'), /do not match/);
152
+ assert.ok(!isEncrypted(keyFile()));
153
+ });
154
+ test('asks twice, encrypts, and keeps the passphrase for this process only', async () => {
155
+ const hex = '99'.repeat(32);
156
+ writeFileSync(keyFile(), hex, { mode: 0o600 });
157
+ const prompt = fakePrompt(['correct horse battery', 'correct horse battery']);
158
+ await runWith(prompt, 'protect');
159
+ assert.equal(prompt.questions.length, 2);
160
+ assert.ok(isEncrypted(keyFile()));
161
+ assert.ok(!readFileSync(keyFile(), 'utf8').includes('correct horse battery'));
162
+ assert.equal(process.env['ANTSEED_PASSPHRASE'], undefined);
163
+ // Handed to a buyer the gateway starts, the same way as a passphrase from the environment.
164
+ assert.deepEqual(identityPassphraseEnv(), { ANTSEED_PASSPHRASE: 'correct horse battery' });
165
+ assert.equal(await new FileIdentityStore(dataDir).load(), hex);
166
+ });
167
+ });
168
+ //# sourceMappingURL=identity.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.test.js","sourceRoot":"","sources":["../../../../src/cli/commands/buyer/identity.test.ts"],"names":[],"mappings":"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"}
@@ -24,15 +24,25 @@ interface AuthorizationServer {
24
24
  interface BrowserAuthorizationInput {
25
25
  dataDir: string;
26
26
  configPath?: string;
27
+ /** Sign for this wallet instead of the data dir's default identity (a named buyer identity's key). */
28
+ identityHex?: string;
27
29
  openBrowser?: (url: string) => Promise<unknown>;
28
30
  createServer: (options: {
29
31
  port: number;
30
32
  dataDir: string;
31
33
  configPath?: string;
34
+ identityHex?: string;
32
35
  onPaymentCompleted: () => void;
33
36
  }) => Promise<AuthorizationServer>;
34
37
  log?: (message: string) => void;
35
38
  }
39
+ /**
40
+ * The wallet to authorize for: the data dir's default identity, or a named
41
+ * buyer identity (a gateway workspace's wallet). Throws for an unknown name.
42
+ */
43
+ export declare function loadAuthorizingIdentity(dataDir: string, name: string | undefined): Promise<Pick<CryptoContext, 'wallet' | 'address'> & {
44
+ identityHex?: string;
45
+ }>;
36
46
  export declare function buildAuthorizedWalletUrl(port: number, token: string): string;
37
47
  /** Open the existing wallet-connected authorization page and wait for confirmation. */
38
48
  export declare function runBrowserWalletAuthorization(input: BrowserAuthorizationInput): Promise<void>;