run402 4.95.0 → 4.97.0

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 (306) hide show
  1. package/README.md +5 -5
  2. package/cli.mjs +2 -28
  3. package/core-dist/keystore.js +1 -1
  4. package/git-remote-run402.mjs +6 -6
  5. package/lib/buzz.mjs +1 -1
  6. package/lib/cold-start.mjs +2 -2
  7. package/lib/command-manifest.mjs +6 -47
  8. package/lib/credentials.mjs +5 -5
  9. package/lib/daemon-path.mjs +3 -3
  10. package/lib/deploy-v2.mjs +44 -44
  11. package/lib/doctor.mjs +45 -54
  12. package/lib/errors.mjs +1 -1
  13. package/lib/events.mjs +1 -1
  14. package/lib/grants.mjs +148 -46
  15. package/lib/init.mjs +29 -29
  16. package/lib/logs.mjs +1 -1
  17. package/lib/next-actions.mjs +1 -1
  18. package/lib/org-context.mjs +9 -9
  19. package/lib/orgs.mjs +19 -19
  20. package/lib/path-lookup.mjs +7 -10
  21. package/lib/path-lookup.test.mjs +19 -21
  22. package/lib/projects.mjs +1 -1
  23. package/lib/remote-helper-session.mjs +93 -93
  24. package/lib/repos.mjs +174 -175
  25. package/lib/rooms-context.mjs +7 -7
  26. package/lib/sites.mjs +5 -5
  27. package/lib/up.mjs +14 -14
  28. package/lib/{gitvault-capabilities.mjs → vault-capabilities.mjs} +10 -14
  29. package/lib/{gitvault-daemon-run.mjs → vault-daemon-run.mjs} +2 -2
  30. package/lib/{gitvault-daemon.mjs → vault-daemon.mjs} +23 -23
  31. package/lib/{gitvault-scaffold.mjs → vault-scaffold.mjs} +12 -12
  32. package/lib/{gitvault-target.mjs → vault-target.mjs} +22 -17
  33. package/package.json +2 -2
  34. package/sdk/core-dist/keystore.js +1 -1
  35. package/sdk/dist/errors.d.ts +5 -5
  36. package/sdk/dist/errors.d.ts.map +1 -1
  37. package/sdk/dist/errors.js +2 -2
  38. package/sdk/dist/errors.js.map +1 -1
  39. package/sdk/dist/grant-key-credentials.d.ts +38 -0
  40. package/sdk/dist/grant-key-credentials.d.ts.map +1 -0
  41. package/sdk/dist/grant-key-credentials.js +42 -0
  42. package/sdk/dist/grant-key-credentials.js.map +1 -0
  43. package/sdk/dist/index.d.ts +16 -23
  44. package/sdk/dist/index.d.ts.map +1 -1
  45. package/sdk/dist/index.js +14 -21
  46. package/sdk/dist/index.js.map +1 -1
  47. package/sdk/dist/namespaces/billing.d.ts +1 -1
  48. package/sdk/dist/namespaces/billing.js +1 -1
  49. package/sdk/dist/namespaces/buzz.js +1 -1
  50. package/sdk/dist/namespaces/buzz.js.map +1 -1
  51. package/sdk/dist/namespaces/credentials.d.ts +4 -4
  52. package/sdk/dist/namespaces/credentials.js +4 -4
  53. package/sdk/dist/namespaces/deploy.d.ts +5 -5
  54. package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
  55. package/sdk/dist/namespaces/deploy.js +25 -25
  56. package/sdk/dist/namespaces/deploy.js.map +1 -1
  57. package/sdk/dist/namespaces/deploy.types.d.ts +17 -17
  58. package/sdk/dist/namespaces/deploy.types.d.ts.map +1 -1
  59. package/sdk/dist/namespaces/domains.d.ts +1 -1
  60. package/sdk/dist/namespaces/domains.js +1 -1
  61. package/sdk/dist/namespaces/errors.d.ts +1 -1
  62. package/sdk/dist/namespaces/errors.js +2 -2
  63. package/sdk/dist/namespaces/escalations.d.ts +2 -2
  64. package/sdk/dist/namespaces/escalations.js +2 -2
  65. package/sdk/dist/namespaces/escalations.types.d.ts +3 -3
  66. package/sdk/dist/namespaces/escalations.types.d.ts.map +1 -1
  67. package/sdk/dist/namespaces/events.d.ts +1 -1
  68. package/sdk/dist/namespaces/events.js +1 -1
  69. package/sdk/dist/namespaces/functions.js +1 -1
  70. package/sdk/dist/namespaces/functions.js.map +1 -1
  71. package/sdk/dist/namespaces/grants.d.ts +43 -9
  72. package/sdk/dist/namespaces/grants.d.ts.map +1 -1
  73. package/sdk/dist/namespaces/grants.js +99 -10
  74. package/sdk/dist/namespaces/grants.js.map +1 -1
  75. package/sdk/dist/namespaces/grants.types.d.ts +120 -15
  76. package/sdk/dist/namespaces/grants.types.d.ts.map +1 -1
  77. package/sdk/dist/namespaces/grants.types.js +12 -3
  78. package/sdk/dist/namespaces/grants.types.js.map +1 -1
  79. package/sdk/dist/namespaces/identity-links.types.d.ts +2 -2
  80. package/sdk/dist/namespaces/identity-links.types.d.ts.map +1 -1
  81. package/sdk/dist/namespaces/org.d.ts +3 -3
  82. package/sdk/dist/namespaces/org.js +3 -3
  83. package/sdk/dist/namespaces/org.types.d.ts +3 -3
  84. package/sdk/dist/namespaces/pay.js +1 -1
  85. package/sdk/dist/namespaces/projects.d.ts +1 -1
  86. package/sdk/dist/namespaces/projects.js +1 -1
  87. package/sdk/dist/namespaces/{gitvault.d.ts → repos.d.ts} +436 -449
  88. package/sdk/dist/namespaces/repos.d.ts.map +1 -0
  89. package/sdk/dist/namespaces/{gitvault.js → repos.js} +452 -460
  90. package/sdk/dist/namespaces/repos.js.map +1 -0
  91. package/sdk/dist/namespaces/rooms.d.ts +3 -3
  92. package/sdk/dist/namespaces/rooms.js +5 -5
  93. package/sdk/dist/namespaces/rooms.js.map +1 -1
  94. package/sdk/dist/namespaces/session.d.ts +2 -2
  95. package/sdk/dist/namespaces/session.d.ts.map +1 -1
  96. package/sdk/dist/namespaces/session.js +2 -2
  97. package/sdk/dist/namespaces/session.js.map +1 -1
  98. package/sdk/dist/namespaces/tier.d.ts +3 -3
  99. package/sdk/dist/namespaces/tier.d.ts.map +1 -1
  100. package/sdk/dist/namespaces/{gitvault.crypto.d.ts → vault.crypto.d.ts} +141 -141
  101. package/sdk/dist/namespaces/vault.crypto.d.ts.map +1 -0
  102. package/sdk/dist/namespaces/{gitvault.crypto.js → vault.crypto.js} +173 -173
  103. package/sdk/dist/namespaces/vault.crypto.js.map +1 -0
  104. package/sdk/dist/namespaces/{gitvault.types.d.ts → vault.types.d.ts} +136 -136
  105. package/sdk/dist/namespaces/vault.types.d.ts.map +1 -0
  106. package/sdk/dist/namespaces/{gitvault.types.js → vault.types.js} +4 -4
  107. package/sdk/dist/namespaces/vault.types.js.map +1 -0
  108. package/sdk/dist/node/bearer-redeem-key.d.ts +1 -1
  109. package/sdk/dist/node/bearer-redeem-key.js +5 -5
  110. package/sdk/dist/node/bearer-redeem-key.js.map +1 -1
  111. package/sdk/dist/node/credentials.d.ts +9 -9
  112. package/sdk/dist/node/credentials.d.ts.map +1 -1
  113. package/sdk/dist/node/credentials.js +12 -12
  114. package/sdk/dist/node/credentials.js.map +1 -1
  115. package/sdk/dist/node/http-dispatcher.js +5 -5
  116. package/sdk/dist/node/http-dispatcher.js.map +1 -1
  117. package/sdk/dist/node/index.d.ts +34 -34
  118. package/sdk/dist/node/index.d.ts.map +1 -1
  119. package/sdk/dist/node/index.js +41 -41
  120. package/sdk/dist/node/index.js.map +1 -1
  121. package/sdk/dist/node/{gitvault-address.d.ts → vault-address.d.ts} +42 -42
  122. package/sdk/dist/node/vault-address.d.ts.map +1 -0
  123. package/sdk/dist/node/{gitvault-address.js → vault-address.js} +43 -43
  124. package/sdk/dist/node/vault-address.js.map +1 -0
  125. package/sdk/dist/node/{gitvault-apply.d.ts → vault-apply.d.ts} +27 -27
  126. package/sdk/dist/node/vault-apply.d.ts.map +1 -0
  127. package/sdk/dist/node/{gitvault-apply.js → vault-apply.js} +38 -38
  128. package/sdk/dist/node/vault-apply.js.map +1 -0
  129. package/sdk/dist/node/vault-byo-config.d.ts +29 -0
  130. package/sdk/dist/node/vault-byo-config.d.ts.map +1 -0
  131. package/sdk/dist/node/{gitvault-byo-config.js → vault-byo-config.js} +18 -18
  132. package/sdk/dist/node/vault-byo-config.js.map +1 -0
  133. package/sdk/dist/node/vault-byo-probe.d.ts +20 -0
  134. package/sdk/dist/node/vault-byo-probe.d.ts.map +1 -0
  135. package/sdk/dist/node/vault-byo-probe.js +57 -0
  136. package/sdk/dist/node/vault-byo-probe.js.map +1 -0
  137. package/sdk/dist/node/{gitvault-creation-journal.d.ts → vault-creation-journal.d.ts} +69 -69
  138. package/sdk/dist/node/vault-creation-journal.d.ts.map +1 -0
  139. package/sdk/dist/node/{gitvault-creation-journal.js → vault-creation-journal.js} +54 -54
  140. package/sdk/dist/node/vault-creation-journal.js.map +1 -0
  141. package/sdk/dist/node/{gitvault-degraded-read.d.ts → vault-degraded-read.d.ts} +34 -34
  142. package/sdk/dist/node/vault-degraded-read.d.ts.map +1 -0
  143. package/sdk/dist/node/{gitvault-degraded-read.js → vault-degraded-read.js} +24 -24
  144. package/sdk/dist/node/vault-degraded-read.js.map +1 -0
  145. package/sdk/dist/node/{gitvault-deploy.d.ts → vault-deploy.d.ts} +67 -67
  146. package/sdk/dist/node/vault-deploy.d.ts.map +1 -0
  147. package/sdk/dist/node/{gitvault-deploy.js → vault-deploy.js} +27 -27
  148. package/sdk/dist/node/vault-deploy.js.map +1 -0
  149. package/sdk/dist/node/{gitvault-edge-fetch.d.ts → vault-edge-fetch.d.ts} +9 -9
  150. package/sdk/dist/node/vault-edge-fetch.d.ts.map +1 -0
  151. package/sdk/dist/node/{gitvault-edge-fetch.js → vault-edge-fetch.js} +11 -11
  152. package/sdk/dist/node/vault-edge-fetch.js.map +1 -0
  153. package/sdk/dist/node/{gitvault-handoff.d.ts → vault-handoff.d.ts} +9 -9
  154. package/sdk/dist/node/vault-handoff.d.ts.map +1 -0
  155. package/sdk/dist/node/{gitvault-handoff.js → vault-handoff.js} +24 -24
  156. package/sdk/dist/node/vault-handoff.js.map +1 -0
  157. package/sdk/dist/node/{gitvault-keystore.d.ts → vault-keystore.d.ts} +87 -77
  158. package/sdk/dist/node/vault-keystore.d.ts.map +1 -0
  159. package/sdk/dist/node/{gitvault-keystore.js → vault-keystore.js} +105 -68
  160. package/sdk/dist/node/vault-keystore.js.map +1 -0
  161. package/sdk/dist/node/{gitvault-member-bundle.d.ts → vault-member-bundle.d.ts} +17 -17
  162. package/sdk/dist/node/vault-member-bundle.d.ts.map +1 -0
  163. package/sdk/dist/node/{gitvault-member-bundle.js → vault-member-bundle.js} +11 -11
  164. package/sdk/dist/node/vault-member-bundle.js.map +1 -0
  165. package/sdk/dist/node/{gitvault-mirror-backend.d.ts → vault-mirror-backend.d.ts} +26 -26
  166. package/sdk/dist/node/vault-mirror-backend.d.ts.map +1 -0
  167. package/sdk/dist/node/{gitvault-mirror-backend.js → vault-mirror-backend.js} +25 -25
  168. package/sdk/dist/node/vault-mirror-backend.js.map +1 -0
  169. package/sdk/dist/node/{gitvault-mirror-config.d.ts → vault-mirror-config.d.ts} +23 -23
  170. package/sdk/dist/node/vault-mirror-config.d.ts.map +1 -0
  171. package/sdk/dist/node/{gitvault-mirror-config.js → vault-mirror-config.js} +16 -16
  172. package/sdk/dist/node/vault-mirror-config.js.map +1 -0
  173. package/sdk/dist/node/{gitvault-mirror.d.ts → vault-mirror.d.ts} +36 -36
  174. package/sdk/dist/node/vault-mirror.d.ts.map +1 -0
  175. package/sdk/dist/node/{gitvault-mirror.js → vault-mirror.js} +75 -75
  176. package/sdk/dist/node/vault-mirror.js.map +1 -0
  177. package/sdk/dist/node/{gitvault-native-crypto.d.ts → vault-native-crypto.d.ts} +10 -10
  178. package/sdk/dist/node/vault-native-crypto.d.ts.map +1 -0
  179. package/sdk/dist/node/{gitvault-native-crypto.js → vault-native-crypto.js} +16 -16
  180. package/sdk/dist/node/vault-native-crypto.js.map +1 -0
  181. package/sdk/dist/node/{gitvault-open-or-create.d.ts → vault-open-or-create.d.ts} +16 -16
  182. package/sdk/dist/node/vault-open-or-create.d.ts.map +1 -0
  183. package/sdk/dist/node/{gitvault-open-or-create.js → vault-open-or-create.js} +10 -10
  184. package/sdk/dist/node/vault-open-or-create.js.map +1 -0
  185. package/sdk/dist/node/{gitvault-prewarm.d.ts → vault-prewarm.d.ts} +13 -13
  186. package/sdk/dist/node/vault-prewarm.d.ts.map +1 -0
  187. package/sdk/dist/node/{gitvault-prewarm.js → vault-prewarm.js} +25 -25
  188. package/sdk/dist/node/vault-prewarm.js.map +1 -0
  189. package/sdk/dist/node/{gitvault-profile-scan.d.ts → vault-profile-scan.d.ts} +3 -3
  190. package/sdk/dist/node/vault-profile-scan.d.ts.map +1 -0
  191. package/sdk/dist/node/{gitvault-profile-scan.js → vault-profile-scan.js} +12 -12
  192. package/sdk/dist/node/vault-profile-scan.js.map +1 -0
  193. package/sdk/dist/node/{gitvault-prune.d.ts → vault-prune.d.ts} +61 -61
  194. package/sdk/dist/node/vault-prune.d.ts.map +1 -0
  195. package/sdk/dist/node/{gitvault-prune.js → vault-prune.js} +34 -34
  196. package/sdk/dist/node/vault-prune.js.map +1 -0
  197. package/sdk/dist/node/{gitvault-publication.d.ts → vault-publication.d.ts} +399 -399
  198. package/sdk/dist/node/vault-publication.d.ts.map +1 -0
  199. package/sdk/dist/node/{gitvault-publication.js → vault-publication.js} +584 -584
  200. package/sdk/dist/node/vault-publication.js.map +1 -0
  201. package/sdk/dist/node/{gitvault-push-to-create.d.ts → vault-push-to-create.d.ts} +16 -16
  202. package/sdk/dist/node/vault-push-to-create.d.ts.map +1 -0
  203. package/sdk/dist/node/{gitvault-push-to-create.js → vault-push-to-create.js} +9 -9
  204. package/sdk/dist/node/vault-push-to-create.js.map +1 -0
  205. package/sdk/dist/node/{gitvault-recover.d.ts → vault-recover.d.ts} +50 -50
  206. package/sdk/dist/node/vault-recover.d.ts.map +1 -0
  207. package/sdk/dist/node/{gitvault-recover.js → vault-recover.js} +84 -84
  208. package/sdk/dist/node/vault-recover.js.map +1 -0
  209. package/sdk/dist/node/{gitvault-restore.d.ts → vault-restore.d.ts} +8 -8
  210. package/sdk/dist/node/vault-restore.d.ts.map +1 -0
  211. package/sdk/dist/node/{gitvault-restore.js → vault-restore.js} +11 -11
  212. package/sdk/dist/node/vault-restore.js.map +1 -0
  213. package/sdk/dist/node/{gitvault-snapshot.d.ts → vault-snapshot.d.ts} +48 -48
  214. package/sdk/dist/node/vault-snapshot.d.ts.map +1 -0
  215. package/sdk/dist/node/{gitvault-snapshot.js → vault-snapshot.js} +61 -61
  216. package/sdk/dist/node/vault-snapshot.js.map +1 -0
  217. package/sdk/dist/node/{gitvault-writer-state.d.ts → vault-writer-state.d.ts} +8 -8
  218. package/sdk/dist/node/vault-writer-state.d.ts.map +1 -0
  219. package/sdk/dist/node/{gitvault-writer-state.js → vault-writer-state.js} +15 -15
  220. package/sdk/dist/node/vault-writer-state.js.map +1 -0
  221. package/sdk/dist/node/workflow-output.js +4 -4
  222. package/sdk/dist/node/workflow-output.js.map +1 -1
  223. package/sdk/dist/project-auth-classification.d.ts +8 -8
  224. package/sdk/dist/project-auth-classification.d.ts.map +1 -1
  225. package/sdk/dist/project-auth-classification.js +7 -7
  226. package/sdk/dist/project-auth-classification.js.map +1 -1
  227. package/sdk/dist/scoped.d.ts +6 -14
  228. package/sdk/dist/scoped.d.ts.map +1 -1
  229. package/sdk/dist/scoped.js +10 -21
  230. package/sdk/dist/scoped.js.map +1 -1
  231. package/vault-surface.json +40 -0
  232. package/gitvault-surface.json +0 -89
  233. package/lib/delegates.mjs +0 -189
  234. package/lib/gitvault.mjs +0 -163
  235. package/lib/source-access.mjs +0 -70
  236. package/sdk/dist/delegate-credentials.d.ts +0 -37
  237. package/sdk/dist/delegate-credentials.d.ts.map +0 -1
  238. package/sdk/dist/delegate-credentials.js +0 -41
  239. package/sdk/dist/delegate-credentials.js.map +0 -1
  240. package/sdk/dist/namespaces/delegates.d.ts +0 -50
  241. package/sdk/dist/namespaces/delegates.d.ts.map +0 -1
  242. package/sdk/dist/namespaces/delegates.js +0 -99
  243. package/sdk/dist/namespaces/delegates.js.map +0 -1
  244. package/sdk/dist/namespaces/delegates.types.d.ts +0 -88
  245. package/sdk/dist/namespaces/delegates.types.d.ts.map +0 -1
  246. package/sdk/dist/namespaces/delegates.types.js +0 -10
  247. package/sdk/dist/namespaces/delegates.types.js.map +0 -1
  248. package/sdk/dist/namespaces/gitvault.crypto.d.ts.map +0 -1
  249. package/sdk/dist/namespaces/gitvault.crypto.js.map +0 -1
  250. package/sdk/dist/namespaces/gitvault.d.ts.map +0 -1
  251. package/sdk/dist/namespaces/gitvault.js.map +0 -1
  252. package/sdk/dist/namespaces/gitvault.types.d.ts.map +0 -1
  253. package/sdk/dist/namespaces/gitvault.types.js.map +0 -1
  254. package/sdk/dist/node/gitvault-address.d.ts.map +0 -1
  255. package/sdk/dist/node/gitvault-address.js.map +0 -1
  256. package/sdk/dist/node/gitvault-apply.d.ts.map +0 -1
  257. package/sdk/dist/node/gitvault-apply.js.map +0 -1
  258. package/sdk/dist/node/gitvault-byo-config.d.ts +0 -29
  259. package/sdk/dist/node/gitvault-byo-config.d.ts.map +0 -1
  260. package/sdk/dist/node/gitvault-byo-config.js.map +0 -1
  261. package/sdk/dist/node/gitvault-byo-probe.d.ts +0 -20
  262. package/sdk/dist/node/gitvault-byo-probe.d.ts.map +0 -1
  263. package/sdk/dist/node/gitvault-byo-probe.js +0 -57
  264. package/sdk/dist/node/gitvault-byo-probe.js.map +0 -1
  265. package/sdk/dist/node/gitvault-creation-journal.d.ts.map +0 -1
  266. package/sdk/dist/node/gitvault-creation-journal.js.map +0 -1
  267. package/sdk/dist/node/gitvault-degraded-read.d.ts.map +0 -1
  268. package/sdk/dist/node/gitvault-degraded-read.js.map +0 -1
  269. package/sdk/dist/node/gitvault-deploy.d.ts.map +0 -1
  270. package/sdk/dist/node/gitvault-deploy.js.map +0 -1
  271. package/sdk/dist/node/gitvault-edge-fetch.d.ts.map +0 -1
  272. package/sdk/dist/node/gitvault-edge-fetch.js.map +0 -1
  273. package/sdk/dist/node/gitvault-handoff.d.ts.map +0 -1
  274. package/sdk/dist/node/gitvault-handoff.js.map +0 -1
  275. package/sdk/dist/node/gitvault-keystore.d.ts.map +0 -1
  276. package/sdk/dist/node/gitvault-keystore.js.map +0 -1
  277. package/sdk/dist/node/gitvault-member-bundle.d.ts.map +0 -1
  278. package/sdk/dist/node/gitvault-member-bundle.js.map +0 -1
  279. package/sdk/dist/node/gitvault-mirror-backend.d.ts.map +0 -1
  280. package/sdk/dist/node/gitvault-mirror-backend.js.map +0 -1
  281. package/sdk/dist/node/gitvault-mirror-config.d.ts.map +0 -1
  282. package/sdk/dist/node/gitvault-mirror-config.js.map +0 -1
  283. package/sdk/dist/node/gitvault-mirror.d.ts.map +0 -1
  284. package/sdk/dist/node/gitvault-mirror.js.map +0 -1
  285. package/sdk/dist/node/gitvault-native-crypto.d.ts.map +0 -1
  286. package/sdk/dist/node/gitvault-native-crypto.js.map +0 -1
  287. package/sdk/dist/node/gitvault-open-or-create.d.ts.map +0 -1
  288. package/sdk/dist/node/gitvault-open-or-create.js.map +0 -1
  289. package/sdk/dist/node/gitvault-prewarm.d.ts.map +0 -1
  290. package/sdk/dist/node/gitvault-prewarm.js.map +0 -1
  291. package/sdk/dist/node/gitvault-profile-scan.d.ts.map +0 -1
  292. package/sdk/dist/node/gitvault-profile-scan.js.map +0 -1
  293. package/sdk/dist/node/gitvault-prune.d.ts.map +0 -1
  294. package/sdk/dist/node/gitvault-prune.js.map +0 -1
  295. package/sdk/dist/node/gitvault-publication.d.ts.map +0 -1
  296. package/sdk/dist/node/gitvault-publication.js.map +0 -1
  297. package/sdk/dist/node/gitvault-push-to-create.d.ts.map +0 -1
  298. package/sdk/dist/node/gitvault-push-to-create.js.map +0 -1
  299. package/sdk/dist/node/gitvault-recover.d.ts.map +0 -1
  300. package/sdk/dist/node/gitvault-recover.js.map +0 -1
  301. package/sdk/dist/node/gitvault-restore.d.ts.map +0 -1
  302. package/sdk/dist/node/gitvault-restore.js.map +0 -1
  303. package/sdk/dist/node/gitvault-snapshot.d.ts.map +0 -1
  304. package/sdk/dist/node/gitvault-snapshot.js.map +0 -1
  305. package/sdk/dist/node/gitvault-writer-state.d.ts.map +0 -1
  306. package/sdk/dist/node/gitvault-writer-state.js.map +0 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Command-line interface for [Run402](https://run402.com) — provision Postgres databases, deploy static sites, run Node 22 serverless functions, host content-addressed CDN assets, send email, sign on-chain. Paid autonomously with x402 (USDC on Base) or MPP (pathUSD on Tempo, or sats over Bitcoin Lightning). **Prototype tier is free on testnet.**
6
6
 
7
- The CLI lets an agent act as its own first-class Run402 principal rather than borrowing a human account. Identity records who invoked an action; organization roles, grants, delegates, freshness, and spend policy determine what that principal may do. People remain first-class owners and members without having to run the CLI themselves.
7
+ The CLI lets an agent act as its own first-class Run402 principal rather than borrowing a human account. Identity records who invoked an action; organization roles, grants, grant keys, freshness, and spend policy determine what that principal may do. People remain first-class owners and members without having to run the CLI themselves.
8
8
 
9
9
  For the full CLI reference (every flag, every subcommand) start at **<https://docs.run402.com/llms-cli.txt>** — the index holds the first-deploy contract and links one fetchable `/llms-cli-<slice>.txt` per topic (deploy, commands, repos, orgs, functions, assets, ops, errors, frontend, platform); <https://docs.run402.com/llms-cli-full.txt> is the whole reference as one document.
10
10
 
@@ -61,7 +61,7 @@ Every mode (and `run402 deploy`) verifies the files the manifest references befo
61
61
 
62
62
  ### repos — host-blind encrypted git repos (zero deploy ceremony)
63
63
 
64
- One noun, fourteen verbs (`repo` singular resolves identically). `run402 gitvault <verb>` answers `COMMAND_MOVED`/`COMMAND_REMOVED`.
64
+ One noun, seventeen verbs: KyGit is the brand, a vault is the resource, a repo is what you have.
65
65
 
66
66
  ```bash
67
67
  run402 init # once per machine
@@ -76,7 +76,7 @@ run402 repos list --org org_1a2b3c
76
76
  run402 repos delete --project prj_xyz --force # refuses without --force while the vault holds generations
77
77
  ```
78
78
 
79
- A hosted git remote, encrypted before it leaves the machine — no deploy, no manifest, no app. `origin` is claimed additively — an existing `origin` is never touched, the run402 remote falls back to `run402` instead. A directory inside another repository is never scaffolded into that repository: the skip carries a `create_nested_repo` next action, `--nested` makes it its own nested repository (one line appended to the enclosing repository's local `.git/info/exclude`, nothing else touched), and `create` prints a `git push` next action only for a remote it actually added. Every mutating `repos` verb (`create`, `rename`, `delete`, `snapshot`, `policy`, `mirror`, `gc`, `handoff`, `resume`, `invite`, `join`) is CLI/OpenClaw-only by design — no MCP tool exists or will exist for them (one-shot recovery receipts, immutable generations, irreversible delete, single-use bearer keys). Three READ-ONLY tools do exist — `repos_view`, `repos_list_heads`, `repos_fsck` — teaching only `repos` spellings. See `run402 repos --help` for the full tiered surface (common: `create`/`view`/`list`; occasional: `snapshot`/`mirror`/`recover`/`handoff`/`resume`/`invite`/`join`; lifecycle: `rename`/`delete`; maintenance: `fsck`/`gc`/`access`/`policy`), and the CLI reference's `repos` section for the terminal-loss statement and the progressive backup warning.
79
+ A hosted git remote, encrypted before it leaves the machine — no deploy, no manifest, no app. `origin` is claimed additively — an existing `origin` is never touched, the run402 remote falls back to `run402` instead. A directory inside another repository is never scaffolded into that repository: the skip carries a `create_nested_repo` next action, `--nested` makes it its own nested repository (one line appended to the enclosing repository's local `.git/info/exclude`, nothing else touched), and `create` prints a `git push` next action only for a remote it actually added. Every mutating `repos` verb (`create`, `rename`, `delete`, `capture`, `policy`, `mirror`, `gc`, `handoff`, `resume`, `invite`, `join`) is CLI/OpenClaw-only by design — no MCP tool exists or will exist for them (one-shot recovery receipts, immutable generations, irreversible delete, single-use bearer keys). Three READ-ONLY tools do exist — `repos_view`, `repos_list_heads`, `repos_fsck` — teaching only `repos` spellings. See `run402 repos --help` for the full tiered surface (common: `create`/`view`/`list`; occasional: `capture`/`mirror`/`recover`/`handoff`/`resume`/`invite`/`join`; lifecycle: `rename`/`delete`; maintenance: `fsck`/`gc`/`access`/`policy`), and the CLI reference's `repos` section for the terminal-loss statement and the progressive backup warning.
80
80
 
81
81
  **Handoff / resume.** `run402 repos handoff [--note-file <path>]` captures the actual working tree (staged/unstaged/untracked, like `git stash push -u`) into the vault and mints a single-use bearer key (`kgh1_…`, printed to stdout exactly once); `run402 repos resume <kgh1_…>` claims it on another machine, clones fresh, and reapplies the exact dirty state with `git stash apply --index`. No shared keystore, no shared wallet — the key is the whole handoff. On a wallet with no active tier, `resume` first folds the same cold-start chain `create` does (wallet → faucet → one x402 prototype payment); `--no-init` opts out, and the claim itself never waits on it. Sensitive untracked files (`.env`, `*.pem`, SSH/AWS/GPG dirs, …) are excluded from capture by default (`--include-sensitive <glob>` re-admits one). See the reference `run402.com/llms-cli.txt` for the full note-schema and flag reference.
82
82
 
@@ -121,7 +121,7 @@ This links two separately held public identities through fresh signatures; it ne
121
121
 
122
122
  ### Buzz community control plane
123
123
 
124
- `run402 buzz status` reports skill installation, human-adoption offers/adoptions, community installation, and this agent's enrollment independently, and safely reports `supported: false` against an older gateway. The canonical ownership workflow is `buzz adopt offer --org … --identity-link …`: it capability-checks before mutation and returns a normal durable HTTPS handoff. Poll with `buzz adopt offer show <buzzhao_id>` and cancel with `buzz adopt offer cancel <buzzhao_id>`. The raw challenge command is explicitly advanced as `buzz adopt direct …`; direct completion/cancellation remain `buzz adopt complete|cancel`. Other goal workflows are `buzz install` and `buzz enroll`; decisions are `buzz install activate|update|revoke` and `buzz approve|deny|revoke`. `buzz install discover --community <buzz:community:host>` lists Run402-owned active descriptors without authentication. MCP intentionally has no signing/passkey mutation and only renders exact HTTPS/CLI handoffs. All commands print JSON to stdout, advice to stderr, have zero spend impact, and never accept Nostr/wallet secrets, session material, service keys, delegates, or payment credentials. Failure JSON preserves the gateway's code-specific `next_actions`, exact repair `field`, and retry safety; never replace it with a generic edit-and-retry. See the [Fizz/Honey examples](../buzz/references/community-control-plane.md).
124
+ `run402 buzz status` reports skill installation, human-adoption offers/adoptions, community installation, and this agent's enrollment independently, and safely reports `supported: false` against an older gateway. The canonical ownership workflow is `buzz adopt offer --org … --identity-link …`: it capability-checks before mutation and returns a normal durable HTTPS handoff. Poll with `buzz adopt offer show <buzzhao_id>` and cancel with `buzz adopt offer cancel <buzzhao_id>`. The raw challenge command is explicitly advanced as `buzz adopt direct …`; direct completion/cancellation remain `buzz adopt complete|cancel`. Other goal workflows are `buzz install` and `buzz enroll`; decisions are `buzz install activate|update|revoke` and `buzz approve|deny|revoke`. `buzz install discover --community <buzz:community:host>` lists Run402-owned active descriptors without authentication. MCP intentionally has no signing/passkey mutation and only renders exact HTTPS/CLI handoffs. All commands print JSON to stdout, advice to stderr, have zero spend impact, and never accept Nostr/wallet secrets, session material, service keys, grant keys, or payment credentials. Failure JSON preserves the gateway's code-specific `next_actions`, exact repair `field`, and retry safety; never replace it with a generic edit-and-retry. See the [Fizz/Honey examples](../buzz/references/community-control-plane.md).
125
125
 
126
126
  ### Buy from an x402 URL
127
127
 
@@ -323,7 +323,7 @@ run402 doctor # { ok, blocking[], warnings[], checks[] }
323
323
  run402 doctor --refresh # live npm check for a newer run402
324
324
  ```
325
325
 
326
- `ok` is structural: `true` exactly when `blocking[]` is empty. Every check carries `severity: "blocking" | "advisory" | "info"`; advisory findings (an unbound contact passkey, a degraded recovery posture on another org, a stale CLI, gitvault gaps) land in `warnings[]` without changing `ok` or the exit code. The `tier` check's `status` is a fixed vocabulary (`ok | inactive | frozen | past_due | dormant | purged | missing | unknown | error`, never a tier name; see `value.tier` / `value.lifecycle`), and a wallet whose own org holds no tier but can reach another org's projects reports `missing` as advisory (`TIER_MISSING_ON_OWN_ORG`).
326
+ `ok` is structural: `true` exactly when `blocking[]` is empty. Every check carries `severity: "blocking" | "advisory" | "info"`; advisory findings (an unbound contact passkey, a degraded recovery posture on another org, a stale CLI, vault gaps) land in `warnings[]` without changing `ok` or the exit code. The `tier` check's `status` is a fixed vocabulary (`ok | inactive | frozen | past_due | dormant | purged | missing | unknown | error`, never a tier name; see `value.tier` / `value.lifecycle`), and a wallet whose own org holds no tier but can reach another org's projects reports `missing` as advisory (`TIER_MISSING_ON_OWN_ORG`).
327
327
 
328
328
  ## State
329
329
 
package/cli.mjs CHANGED
@@ -7,7 +7,7 @@
7
7
  import { readFileSync } from "node:fs";
8
8
  import * as nodeModule from "node:module";
9
9
 
10
- // gitvault-startup-amortization (D2): on-disk V8 compile cache for the
10
+ // vault-startup-amortization (D2): on-disk V8 compile cache for the
11
11
  // lazily-imported subcommand graphs. Feature-guarded (Node 22.8+) and
12
12
  // try/caught — absence or an unwritable cache dir degrade silently.
13
13
  try {
@@ -70,8 +70,7 @@ COORDINATE — work alongside other agents and humans
70
70
 
71
71
  AUTHORITY — who may act, and with what credential
72
72
  credentials Manage local credential material (project-keys)
73
- delegates Scoped deploy credentials for agents (create, list, revoke, rotate)
74
- grants Per-project capability grants for agent/CI principals (create, revoke)
73
+ grants Project grants and grant keys for agents (create, list, revoke, revoke-key, rotate-key)
75
74
  orgs Organizations, members, invites & audit (list, get, members, invite, audit)
76
75
  identity Public proof-backed external agent identity links
77
76
  auth Manage project user authentication (magic link, passwords, settings)
@@ -95,8 +94,6 @@ PLATFORM — everything else, and the things still finding a home
95
94
  jobs Submit and inspect platform-managed jobs
96
95
  transfer Project transfer to a wallet, an email, or an owned org (init, preview, list, accept, cancel)
97
96
  archives Portable project archives (create, status, download --target cloud; inspect, verify; import --target core)
98
- gitvault RETIRED — moved to repos (repo-surface-consolidation); every spelling answers COMMAND_MOVED/COMMAND_REMOVED
99
- source-access RETIRED — moved into repos (recovery-bundle + access); every spelling answers COMMAND_MOVED
100
97
  buzz Buzz human/community/agent control-plane workflows
101
98
  apps Browse and manage the app marketplace
102
99
  ai AI translation and moderation tools
@@ -232,14 +229,6 @@ switch (cmd) {
232
229
  await run(sub, rest);
233
230
  break;
234
231
  }
235
- // `repo` singular resolves identically to `repos` (design D1 — agents type
236
- // what `gh repo` already taught them). Its own case block, not a
237
- // fall-through, so cli-conventions-gate's per-line family scanner sees it.
238
- case "repo": {
239
- const { run } = await import("./lib/repos.mjs");
240
- await run(sub, rest);
241
- break;
242
- }
243
232
  case "snapshots": {
244
233
  const { run } = await import("./lib/snapshots.mjs");
245
234
  await run(sub, rest);
@@ -295,11 +284,6 @@ switch (cmd) {
295
284
  await run(sub, rest);
296
285
  break;
297
286
  }
298
- case "delegates": {
299
- const { run } = await import("./lib/delegates.mjs");
300
- await run(sub, rest);
301
- break;
302
- }
303
287
  case "events": {
304
288
  const { run } = await import("./lib/events.mjs");
305
289
  await run(sub, rest);
@@ -325,11 +309,6 @@ switch (cmd) {
325
309
  await run(sub, rest);
326
310
  break;
327
311
  }
328
- case "gitvault": {
329
- const { run } = await import("./lib/gitvault.mjs");
330
- await run(sub, rest);
331
- break;
332
- }
333
312
  case "escalations": {
334
313
  const { run } = await import("./lib/escalations.mjs");
335
314
  await run(sub, rest);
@@ -448,11 +427,6 @@ switch (cmd) {
448
427
  await run([sub, ...rest].filter(Boolean));
449
428
  break;
450
429
  }
451
- case "source-access": {
452
- const { run } = await import("./lib/source-access.mjs");
453
- await run(sub, rest);
454
- break;
455
- }
456
430
  case "auth": {
457
431
  const { run } = await import("./lib/auth.mjs");
458
432
  await run(sub, rest);
@@ -190,7 +190,7 @@ export function removeProject(projectId, path) {
190
190
  * bucket, not "unknown") and PERMANENTLY shadows every later wallet-scoped
191
191
  * activation for every caller that reads through this module: `resolveProjectId`
192
192
  * / `resolveProject` (cli/lib/config.mjs), `projects current`, and every
193
- * gitvault-verb target resolution. The failure it causes: `repos create`
193
+ * vault-verb target resolution. The failure it causes: `repos create`
194
194
  * calls `projects.provision`, whose `creds.setActiveProject` correctly
195
195
  * persists the new project under the real wallet's scoped bucket AND the
196
196
  * flat fallback, yet every CLI read of "the active project" resolves the
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * `git-remote-run402` — the THIN CLIENT (gitvault-persistent-helper).
3
+ * `git-remote-run402` — the THIN CLIENT (vault-persistent-helper).
4
4
  *
5
5
  * git spawns a fresh helper process per remote operation, so everything warm
6
6
  * dies per command — Node boot, the SDK graph, the signer, the paid stack,
@@ -10,7 +10,7 @@
10
10
  * when that is impossible does it load the full session module and run
11
11
  * in-process — which is byte-identical to the pre-daemon behavior.
12
12
  *
13
- * INVARIANTS (spec: gitvault-client-surface, "A resident helper engine…"):
13
+ * INVARIANTS (spec: vault-client-surface, "A resident helper engine…"):
14
14
  * - The daemon is never load-bearing: any failure to use it — absent,
15
15
  * busy, stale, mismatched, dying mid-handshake — falls back silently to
16
16
  * the in-process path. The handshake completes BEFORE this client
@@ -35,7 +35,7 @@ import net from "node:net";
35
35
  import { spawn } from "node:child_process";
36
36
  import { daemonSocketPath, daemonRunnerPath, DAEMON_PROTOCOL_VERSION, cliVersion, forwardableEnv } from "./lib/daemon-path.mjs";
37
37
 
38
- // gitvault-startup-amortization (D2): on-disk V8 compile cache for every
38
+ // vault-startup-amortization (D2): on-disk V8 compile cache for every
39
39
  // module loaded from here on. Feature-guarded (Node 22.8+) and try/caught
40
40
  // (a read-only install dir degrades silently).
41
41
  try {
@@ -201,11 +201,11 @@ if (invokedDirectly) {
201
201
  process.exitCode = code;
202
202
  } else {
203
203
  // Fallback: today's in-process path, byte-identical. Fire the prewarm
204
- // BEFORE the heavy graph evaluates (gitvault-startup-amortization D1),
204
+ // BEFORE the heavy graph evaluates (vault-startup-amortization D1),
205
205
  // and leave a daemon behind for next time.
206
206
  if (daemonEnabled) spawnDaemon();
207
- const { prewarmGitvaultConnection } = await import("./sdk/dist/node/gitvault-prewarm.js");
208
- prewarmGitvaultConnection();
207
+ const { prewarmVaultConnection } = await import("./sdk/dist/node/vault-prewarm.js");
208
+ prewarmVaultConnection();
209
209
  const { runHelperSession } = await import("./lib/remote-helper-session.mjs");
210
210
  process.exitCode = await runHelperSession(argv);
211
211
  }
package/lib/buzz.mjs CHANGED
@@ -67,7 +67,7 @@ Advanced recovery reads:
67
67
  Security:
68
68
  - JSON stdout only; progress and pending-state advice go to stderr.
69
69
  - This command never accepts an nsec, private key, mnemonic, seed, service key,
70
- delegate token, recovery code, or payment material.
70
+ grant key, recovery code, or payment material.
71
71
  - Buzz signatures are public evidence. Run402 authority still comes only from
72
72
  human/agent principals, org membership, and project grants.
73
73
  - Every command in this group has zero spend impact.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * `cold-start.mjs` — the minimal x402/Base-Sepolia cold-start chain
3
3
  * (kygit-handoff design D5): wallet → faucet → one x402 prototype
4
- * payment. `repos create` (and so `kygit create`) folds this in when it is
5
- * refused `NO_ACTIVE_TIER`, so `kygit create` on a genuinely fresh machine
4
+ * payment. `repos create` folds this in when it is
5
+ * refused `NO_ACTIVE_TIER`, so `run402 repos create` on a genuinely fresh machine
6
6
  * ends with a vault, no human signup, no cloud dashboard.
7
7
  *
8
8
  * This is the SAME shape `run402 init` already walks (create the wallet →
@@ -235,13 +235,10 @@ export const COMMAND_MANIFEST = [
235
235
 
236
236
  // ── grants ───────────────────────────────────────────────────────────────
237
237
  { path: ["grants", "create"], positionals: [p("wallet")], projectScoped: true, legacyPositionalProject: true, minimalArgs: ["0x1111111111111111111111111111111111111111", "--capability", "deploy"] },
238
+ { path: ["grants", "list"], positionals: [], projectScoped: true, legacyPositionalProject: true, minimalArgs: [] },
238
239
  { path: ["grants", "revoke"], positionals: [p("grant_id")], projectScoped: true, legacyPositionalProject: true, minimalArgs: ["grt_gate1"] },
239
-
240
- // ── delegates ────────────────────────────────────────────────────────────
241
- { path: ["delegates", "create"], legacyPositionalProject: false, positionals: [], projectScoped: true, minimalArgs: ["--grant", "11111111-1111-1111-1111-111111111111"] },
242
- { path: ["delegates", "list"], legacyPositionalProject: false, positionals: [], projectScoped: true, minimalArgs: [] },
243
- { path: ["delegates", "revoke"], legacyPositionalProject: false, positionals: [p("delegate_id")], projectScoped: true, minimalArgs: ["dlg_gate1"] },
244
- { path: ["delegates", "rotate"], legacyPositionalProject: false, positionals: [p("delegate_id")], projectScoped: true, minimalArgs: ["dlg_gate1"] },
240
+ { path: ["grants", "revoke-key"], positionals: [p("key_id")], projectScoped: true, legacyPositionalProject: true, minimalArgs: ["key_gate1"] },
241
+ { path: ["grants", "rotate-key"], positionals: [p("key_id")], projectScoped: true, legacyPositionalProject: true, minimalArgs: ["key_gate1"] },
245
242
 
246
243
  // ── events / live ────────────────────────────────────────────────────────
247
244
  { path: ["events", "list"], positionals: [], projectScoped: true, legacyPositionalProject: false, minimalArgs: [], runStyle: "sub" },
@@ -281,12 +278,6 @@ export const COMMAND_MANIFEST = [
281
278
  { path: ["claims", "list"], positionals: [], projectScoped: true, legacyPositionalProject: false, minimalArgs: [], runStyle: "sub" },
282
279
  { path: ["claims", "release"], positionals: [p("claim_id")], projectScoped: true, legacyPositionalProject: false, minimalArgs: ["clm_1"], runStyle: "sub" },
283
280
 
284
- // ── gitvault — no manifest entries ──────────────────────
285
- // `cli/lib/gitvault.mjs`'s dispatcher handles every `gitvault <verb>` and
286
- // answers a structural COMMAND_MOVED (or, for `push`/`reconcile`,
287
- // COMMAND_REMOVED) redirect that dispatches nothing — see
288
- // RESERVED_SUBCOMMANDS below, and "gitvault" in SKIPPED_FAMILIES.
289
-
290
281
  // ── repos (the consolidated 15-verb family) ─
291
282
  // Every verb needs a real principal keystore and, for most, an allocated
292
283
  // repo and a local git working tree, so the gate runs structural checks
@@ -299,7 +290,7 @@ export const COMMAND_MANIFEST = [
299
290
  // name, with `--repo`/`--project` addressing.
300
291
  { path: ["repos", "rename"], positionals: [p("new_name")], projectScoped: true, legacyPositionalProject: false, minimalArgs: ["my-notes"], runStyle: "sub", skipBehavioral: "claims a per-org-unique repo name against a live project" },
301
292
  { path: ["repos", "delete"], positionals: [], projectScoped: true, legacyPositionalProject: true, minimalArgs: [], runStyle: "sub", skipBehavioral: "irreversibly deletes a project after reading its live non-repo-resource state and vault generation count" },
302
- { path: ["repos", "snapshot"], positionals: [], projectScoped: true, legacyPositionalProject: false, minimalArgs: [], runStyle: "sub", skipBehavioral: "captures the cwd git working tree and publishes a signed head" },
293
+ { path: ["repos", "capture"], positionals: [], projectScoped: true, legacyPositionalProject: false, minimalArgs: [], runStyle: "sub", skipBehavioral: "captures the cwd git working tree and publishes a signed head" },
303
294
  // kygit-handoff: `handoff` captures a stash-shaped checkpoint and mints a
304
295
  // single-use bearer key through a live gateway call; `resume` claims one
305
296
  // (a real membership mutation) and writes into a fresh working tree.
@@ -320,7 +311,7 @@ export const COMMAND_MANIFEST = [
320
311
  { path: ["repos", "access", "repair"], positionals: [], projectScoped: true, legacyPositionalProject: false, minimalArgs: ["--recipient-state-version", "0", "--recipient-revocation-version", "0"], runStyle: "sub", skipBehavioral: "owner+step-up-gated epoch rotation (D193-D203, rev 42) — samples a fresh epoch key and re-seals a live vault's recipients" },
321
312
  { path: ["repos", "access", "revoke-key"], positionals: [p("principal_id")], projectScoped: true, legacyPositionalProject: false, minimalArgs: ["prin_00000000000000000000000000000000"], runStyle: "sub", skipBehavioral: "owner+step-up-gated: declares a recipient's key revoked (org-scoped watermark) and drives a real epoch rotation off it" },
322
313
  { path: ["repos", "access", "declare-exposure"], positionals: [], projectScoped: true, legacyPositionalProject: false, minimalArgs: [], runStyle: "sub", skipBehavioral: "owner+step-up-gated: declares this vault's epoch secret exposed, forcing every subsequent ordinary push to refuse until a rotation lands" },
323
- { path: ["repos", "access", "sync"], positionals: [], projectScoped: true, legacyPositionalProject: false, minimalArgs: [], runStyle: "sub", skipBehavioral: "gitvault-multi-writer (rev 47): on-demand writer-admission reconcile — resolves pending candidates' signing keys via the live org encryption-key directory and publishes a real add_writer_key head per candidate" },
314
+ { path: ["repos", "access", "sync"], positionals: [], projectScoped: true, legacyPositionalProject: false, minimalArgs: [], runStyle: "sub", skipBehavioral: "vault-multi-writer (rev 47): on-demand writer-admission reconcile — resolves pending candidates' signing keys via the live org encryption-key directory and publishes a real add_writer_key head per candidate" },
324
315
  { path: ["repos", "recover"], positionals: [p("source")], projectScoped: false, legacyPositionalProject: false, minimalArgs: ["s3://example-mirror-bucket", "--out", "__SCRATCH_DIR__/recover-out"], runStyle: "sub", skipBehavioral: "materializes a git repository from a mirror source, offline, with no server call" },
325
316
  // Principal-scoped (one bundle covers every vault you can read), so no
326
317
  // --project — deliberately unlike its eleven vault-scoped siblings.
@@ -477,7 +468,7 @@ export const COMMAND_MANIFEST = [
477
468
  { path: ["service", "health"], positionals: [], projectScoped: false, legacyPositionalProject: false, minimalArgs: [] },
478
469
  { path: ["cache", "inspect"], positionals: [p("url")], projectScoped: false, legacyPositionalProject: false, minimalArgs: ["https://example.com/"] },
479
470
  { path: ["cache", "invalidate"], positionals: [p("url", { required: false })], projectScoped: false, legacyPositionalProject: false, minimalArgs: ["--all", "--host", "example.com"] },
480
- // projectScoped: --project targets the gitvault
471
+ // projectScoped: --project targets the vault
481
472
  // check only (see doctor.mjs's own HELP) — every other check stays
482
473
  // wallet/machine-wide, but the gate's contract is "accepts --project
483
474
  // without rejecting it," which this satisfies.
@@ -501,20 +492,6 @@ export const SKIPPED_FAMILIES = {
501
492
  // Split into `deliveries` / `contacts` / `subscriptions`; every subcommand
502
493
  // answers COMMAND_REMOVED naming its successor.
503
494
  "notifications": "reserved group; split by legible-cli-surface",
504
- // The gitvault dispatcher answers COMMAND_MOVED/COMMAND_REMOVED for every
505
- // `gitvault <verb>` (see RESERVED_SUBCOMMANDS below for the per-verb list)
506
- // — the family stays dispatched in cli.mjs (so the redirect fires instead
507
- // of UNKNOWN_COMMAND) but has zero manifest entries, since a redirect
508
- // dispatches nothing.
509
- "gitvault": "retired; every subcommand answers COMMAND_MOVED/COMMAND_REMOVED naming its `repos`/git successor",
510
- // Shipped in exactly one release (v4.54.0, live for hours) before the
511
- // one-noun review caught it: a gateway route namespace is not a CLI noun.
512
- // Both verbs answer COMMAND_MOVED into the repos family for one release,
513
- // then the spelling is reserved and answers nothing.
514
- "source-access": "retired same-day; `export` -> `repos recovery-bundle`, `status` -> `repos access` (member_custody block)",
515
- // `repo` singular resolves identically to `repos` — same
516
- // module, same case block in cli.mjs, so it needs no manifest of its own.
517
- "repo": "alias for `repos`, resolves identically (design D1)",
518
495
  };
519
496
 
520
497
  /**
@@ -530,23 +507,5 @@ export const SKIPPED_FAMILIES = {
530
507
  * which the family list cannot express.
531
508
  */
532
509
  export const RESERVED_SUBCOMMANDS = {
533
- "source-access:export": "moved to `repos recovery-bundle` — the artifact `repos recover --bundle` consumes belongs to the repos family",
534
- "source-access:status": "moved to `repos access` — your own wrapper custody rides its member_custody block; the org advisory is `doctor --only recovery_posture`",
535
510
  "escalations:contacts": "merged into `contacts` — the ladder and Telegram channels are one question",
536
- // Every `gitvault <verb>` spelling. Nine
537
- // answer COMMAND_MOVED naming their `repos` successor; `push` and
538
- // `reconcile` answer COMMAND_REMOVED (no equivalent successor for either —
539
- // `push`'s one-release alias window is over, `reconcile` was a workaround
540
- // with no permanent replacement, only a read at `repos access`).
541
- "gitvault:init": "moved to `repos create --project <project_id>`",
542
- "gitvault:status": "moved to `repos view`",
543
- "gitvault:snapshot": "moved to `repos snapshot`",
544
- "gitvault:policy": "moved to `repos policy`",
545
- "gitvault:compact": "moved to `repos gc`",
546
- "gitvault:prune": "moved to `repos gc`",
547
- "gitvault:verify": "moved to `repos fsck`",
548
- "gitvault:mirror": "moved to `repos mirror`",
549
- "gitvault:recover": "moved to `repos recover`",
550
- "gitvault:push": "removed — its one-release deprecation-alias window is over; `git push` / `repos snapshot`",
551
- "gitvault:reconcile": "removed — a workaround with no permanent successor; read `repos access` instead",
552
511
  };
@@ -39,7 +39,7 @@ Project credentials (on the gateway — named, revocable, rotatable):
39
39
  Revoke immediately, freeing the name
40
40
  token [--project <project_id>] [--kind <anon|service>]
41
41
  Mint a SHORT-LIVED token. Works with only a
42
- delegate — the unattended recovery path.
42
+ grant key — the unattended recovery path.
43
43
 
44
44
  Local cache (on this machine):
45
45
  project-keys Manage the local project-key cache
@@ -49,7 +49,7 @@ Notes:
49
49
  plus a fresh step-up, so a scoped agent credential can never escalate
50
50
  itself into a permanent root. Authenticate with a wallet (SIWX) or a
51
51
  sign-in session ('run402 login').
52
- - 'token' is the exception: a delegate can mint one with no human present.
52
+ - 'token' is the exception: a grant key can mint one with no human present.
53
53
  - Secrets are returned EXACTLY ONCE and are never recoverable. Full JSON goes
54
54
  to stdout so you can pipe it; the warnings go to stderr.
55
55
 
@@ -106,7 +106,7 @@ Usage:
106
106
  The secret is printed ONCE, on stdout, inside the JSON. Pipe it:
107
107
  run402 credentials issue --kind service --name ci | jq -r .secret
108
108
 
109
- Requires owner membership on the project's org plus a fresh step-up. A delegate
109
+ Requires owner membership on the project's org plus a fresh step-up. A grant key
110
110
  can NEVER do this; use 'run402 credentials token' instead.
111
111
  `,
112
112
  list: `run402 credentials list — list a project's credentials
@@ -157,7 +157,7 @@ Usage:
157
157
  run402 credentials token [--project <project_id>] [--kind <anon|service>]
158
158
 
159
159
  The cold-restart recovery path, and the ONE credential call an agent can make
160
- with no human present: a delegate is accepted here. There is no step-up because
160
+ with no human present: a grant key is accepted here. There is no step-up because
161
161
  there is nobody to prompt, and what you get back expires, so it cannot become a
162
162
  durable root. Defaults to --kind service.
163
163
  `,
@@ -454,7 +454,7 @@ async function issue(args) {
454
454
  try {
455
455
  const res = await getSdk().credentials.issue(projectId, { kind, name, expiresAt: expiresAt || undefined });
456
456
  if (importToCache && res?.secret) {
457
- // The cold-restart re-key path (gitvault-deploy-lane 6.5a): the minted
457
+ // The cold-restart re-key path (vault-deploy-lane 6.5a): the minted
458
458
  // secret goes straight into the local cache the deploy and data-plane
459
459
  // commands read, so a fresh machine re-keys in one command per kind
460
460
  // instead of the four-command issue-then-project-keys-import dance.
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Daemon identity + transport addressing (gitvault-persistent-helper D4/D5)
2
+ * Daemon identity + transport addressing (vault-persistent-helper D4/D5)
3
3
  * — the ONE module the thin client's fast path may import beside node
4
4
  * builtins (pinned by the import-graph gate test), so it must stay tiny.
5
5
  *
6
6
  * The socket lives INSIDE the client configuration directory — the same
7
7
  * 0700 trust boundary that already holds the wallet private key and the
8
- * gitvault keystore — and its path is keyed by CLI version, so a CLI
8
+ * vault keystore — and its path is keyed by CLI version, so a CLI
9
9
  * upgrade resolves a NEW path: the new client never reaches the old daemon,
10
10
  * which idles out on its own. Windows uses a named pipe whose name carries
11
11
  * a hash of the config dir (pipes have no filesystem home) plus the same
@@ -79,7 +79,7 @@ export function daemonSocketPath() {
79
79
  }
80
80
 
81
81
  export function daemonRunnerPath() {
82
- return join(dirname(fileURLToPath(import.meta.url)), "gitvault-daemon-run.mjs");
82
+ return join(dirname(fileURLToPath(import.meta.url)), "vault-daemon-run.mjs");
83
83
  }
84
84
 
85
85
  /**