@indigoai-us/hq-cli 5.312.2-beta.0 → 5.314.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 (1144) hide show
  1. package/CHANGELOG.md +1 -4293
  2. package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +43 -281
  3. package/assets/scaffold/core/scripts/hook-lib.sh +50 -345
  4. package/assets/scaffold/core/scripts/hq-session.sh +23 -184
  5. package/assets/scaffold/core/scripts/lib/session-id.sh +2 -3
  6. package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
  7. package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +1 -2
  8. package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +87 -10
  9. package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +3 -36
  10. package/assets/scaffold/core/scripts/rebuild-projects-index.sh +12 -99
  11. package/assets/scaffold/core/scripts/token-usage-report.sh +20 -81
  12. package/dist/bin/hq-auth-refresh.d.ts +0 -2
  13. package/dist/bin/hq-auth-refresh.js +6 -12
  14. package/dist/commands/__fixtures__/access-vault.d.ts +0 -2
  15. package/dist/commands/__fixtures__/access-vault.js +1 -1
  16. package/dist/commands/_patterns.d.ts +0 -16
  17. package/dist/commands/_patterns.js +3 -20
  18. package/dist/commands/access.d.ts +1 -2
  19. package/dist/commands/access.js +49 -58
  20. package/dist/commands/agents.d.ts +4 -106
  21. package/dist/commands/agents.js +45 -924
  22. package/dist/commands/auth.d.ts +0 -1
  23. package/dist/commands/auth.js +19 -189
  24. package/dist/commands/billing.d.ts +0 -3
  25. package/dist/commands/billing.js +1 -6
  26. package/dist/commands/channels.js +1 -56
  27. package/dist/commands/cloud-demote.js +2 -3
  28. package/dist/commands/cloud-provision.d.ts +0 -14
  29. package/dist/commands/cloud-provision.js +58 -232
  30. package/dist/commands/cloud.d.ts +15 -49
  31. package/dist/commands/cloud.js +122 -358
  32. package/dist/commands/company-transfer.d.ts +28 -4
  33. package/dist/commands/company-transfer.js +49 -5
  34. package/dist/commands/company.js +3 -66
  35. package/dist/commands/core-checkpoint.d.ts +9 -19
  36. package/dist/commands/core-checkpoint.js +37 -301
  37. package/dist/commands/core.d.ts +0 -4
  38. package/dist/commands/core.js +80 -270
  39. package/dist/commands/crm.js +3 -52
  40. package/dist/commands/db-provision.js +4 -4
  41. package/dist/commands/db-sql.js +21 -7
  42. package/dist/commands/dm.d.ts +12 -119
  43. package/dist/commands/dm.js +38 -388
  44. package/dist/commands/doctor.d.ts +0 -12
  45. package/dist/commands/doctor.js +12 -158
  46. package/dist/commands/feedback.d.ts +0 -6
  47. package/dist/commands/feedback.js +37 -86
  48. package/dist/commands/files-browse.d.ts +12 -32
  49. package/dist/commands/files-browse.js +60 -176
  50. package/dist/commands/files.d.ts +0 -17
  51. package/dist/commands/files.js +47 -300
  52. package/dist/commands/group-grants.js +2 -3
  53. package/dist/commands/groups.js +5 -6
  54. package/dist/commands/index-cmd.d.ts +1 -19
  55. package/dist/commands/index-cmd.js +7 -74
  56. package/dist/commands/integrations-api.d.ts +10 -15
  57. package/dist/commands/integrations-api.js +22 -27
  58. package/dist/commands/integrations-connect.d.ts +13 -51
  59. package/dist/commands/integrations-connect.js +71 -86
  60. package/dist/commands/integrations-core.d.ts +6 -6
  61. package/dist/commands/integrations-core.js +11 -25
  62. package/dist/commands/integrations-import.d.ts +1 -1
  63. package/dist/commands/integrations-import.js +24 -43
  64. package/dist/commands/integrations-manage.js +13 -20
  65. package/dist/commands/integrations.d.ts +0 -8
  66. package/dist/commands/integrations.js +7 -94
  67. package/dist/commands/login.js +6 -49
  68. package/dist/commands/mcp-registration.d.ts +25 -32
  69. package/dist/commands/mcp-registration.js +23 -256
  70. package/dist/commands/mcp-status.js +0 -1
  71. package/dist/commands/meetings.js +34 -55
  72. package/dist/commands/members.js +1 -5
  73. package/dist/commands/mesh.d.ts +0 -11
  74. package/dist/commands/mesh.js +76 -1086
  75. package/dist/commands/onboard-identity-guard.d.ts +1 -1
  76. package/dist/commands/onboard.js +5 -24
  77. package/dist/commands/pack-install.js +1 -3
  78. package/dist/commands/packs.js +1 -11
  79. package/dist/commands/people.d.ts +0 -4
  80. package/dist/commands/people.js +3 -37
  81. package/dist/commands/publish.d.ts +1 -8
  82. package/dist/commands/publish.js +4 -17
  83. package/dist/commands/reindex.js +6 -56
  84. package/dist/commands/rescue.d.ts +0 -4
  85. package/dist/commands/rescue.js +17 -27
  86. package/dist/commands/run.js +4 -18
  87. package/dist/commands/safe-extract.d.ts +2 -11
  88. package/dist/commands/safe-extract.js +8 -36
  89. package/dist/commands/scaffold-fast.d.ts +41 -0
  90. package/dist/commands/scaffold-fast.js +57 -0
  91. package/dist/commands/secrets.d.ts +2 -20
  92. package/dist/commands/secrets.js +71 -175
  93. package/dist/commands/skill.d.ts +4 -35
  94. package/dist/commands/skill.js +18 -357
  95. package/dist/commands/sync-mode.d.ts +0 -11
  96. package/dist/commands/sync-mode.js +0 -30
  97. package/dist/commands/sync-narrow.js +5 -36
  98. package/dist/commands/team-sync.js +10 -71
  99. package/dist/commands/update.js +0 -6
  100. package/dist/commands/whoami.d.ts +0 -22
  101. package/dist/commands/whoami.js +4 -137
  102. package/dist/commands/workers.d.ts +14 -2
  103. package/dist/commands/workers.js +10 -7
  104. package/dist/fast-core.d.ts +7 -6
  105. package/dist/fast-core.js +24 -80
  106. package/dist/index.d.ts +4 -3
  107. package/dist/index.js +9 -59
  108. package/dist/lazy-commands.d.ts +44 -20
  109. package/dist/lazy-commands.js +58 -60
  110. package/dist/lib/company-skill-wrapper.d.ts +0 -1
  111. package/dist/lib/company-skill-wrapper.js +29 -121
  112. package/dist/lib/core-utils/codex-skill-bridge.d.ts +1 -2
  113. package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +1 -14
  114. package/dist/lib/core-utils/qmd-reindex-after-sync.js +17 -101
  115. package/dist/lib/core-utils/soft-timeout.js +1 -1
  116. package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
  117. package/dist/lib/core-utils/timeout-guard.js +13 -28
  118. package/dist/lib/core-utils/token-usage-report.js +3 -17
  119. package/dist/lib/db/control-plane.js +0 -6
  120. package/dist/lib/db/local.d.ts +5 -0
  121. package/dist/lib/db/local.js +1 -1
  122. package/dist/lib/db/migrate.d.ts +12 -0
  123. package/dist/lib/db/migrate.js +5 -5
  124. package/dist/lib/db/remote-sql.d.ts +2 -2
  125. package/dist/lib/db/remote-sql.js +3 -3
  126. package/dist/lib/db/sql.d.ts +10 -0
  127. package/dist/lib/db/sql.js +8 -4
  128. package/dist/lib/doctor/__testing__/fake-hq-tree.d.ts +1 -1
  129. package/dist/lib/doctor/__testing__/fake-hq-tree.js +1 -1
  130. package/dist/lib/doctor/checks/claude-wiring.js +1 -70
  131. package/dist/lib/doctor/checks/codex-wiring.d.ts +4 -0
  132. package/dist/lib/doctor/checks/codex-wiring.js +35 -3
  133. package/dist/lib/doctor/checks/grok-wiring.js +34 -1
  134. package/dist/lib/doctor/checks/integrations.js +0 -11
  135. package/dist/lib/doctor/checks/runtime-health.d.ts +17 -4
  136. package/dist/lib/doctor/checks/runtime-health.js +7 -20
  137. package/dist/lib/doctor/checks/sync-health.d.ts +0 -21
  138. package/dist/lib/doctor/checks/sync-health.js +2 -72
  139. package/dist/lib/doctor/checks/work-context.js +6 -12
  140. package/dist/lib/doctor/compat.d.ts +16 -0
  141. package/dist/lib/doctor/compat.js +3 -4
  142. package/dist/lib/doctor/deep/effects.js +3 -1
  143. package/dist/lib/doctor/deep/executor.d.ts +10 -4
  144. package/dist/lib/doctor/deep/executor.js +1 -1
  145. package/dist/lib/doctor/deep/parity.d.ts +29 -2
  146. package/dist/lib/doctor/deep/parity.js +7 -7
  147. package/dist/lib/doctor/deep/sandbox.d.ts +25 -7
  148. package/dist/lib/doctor/deep/sandbox.js +7 -5
  149. package/dist/lib/doctor/fix/apply.d.ts +8 -79
  150. package/dist/lib/doctor/fix/apply.js +80 -292
  151. package/dist/lib/doctor/fix/remediation.d.ts +6 -14
  152. package/dist/lib/doctor/fix/remediation.js +9 -49
  153. package/dist/lib/doctor/fixtures/schema.js +3 -1
  154. package/dist/lib/doctor/json-output.d.ts +1 -17
  155. package/dist/lib/doctor/json-output.js +2 -7
  156. package/dist/lib/doctor/platform.d.ts +26 -0
  157. package/dist/lib/doctor/platform.js +5 -5
  158. package/dist/lib/doctor/registry.d.ts +0 -14
  159. package/dist/lib/doctor/registry.js +0 -71
  160. package/dist/lib/doctor/report.js +1 -1
  161. package/dist/lib/doctor/types.d.ts +0 -5
  162. package/dist/lib/doctor/types.js +0 -20
  163. package/dist/lib/flag-registry-worker.js +1 -12
  164. package/dist/lib/flag-registry.d.ts +6 -26
  165. package/dist/lib/flag-registry.js +16 -133
  166. package/dist/lib/index-render/companies.d.ts +1 -4
  167. package/dist/lib/index-render/companies.js +3 -66
  168. package/dist/lib/index-render/company-knowledge.js +17 -80
  169. package/dist/lib/index-render/index.d.ts +0 -1
  170. package/dist/lib/index-render/index.js +1 -2
  171. package/dist/lib/index-render/projects.js +5 -82
  172. package/dist/lib/index-render/shared.d.ts +1 -13
  173. package/dist/lib/index-render/shared.js +2 -41
  174. package/dist/lib/mesh/api.d.ts +10 -103
  175. package/dist/lib/mesh/api.js +64 -334
  176. package/dist/lib/mesh/client.d.ts +2 -3
  177. package/dist/lib/mesh/client.js +2 -3
  178. package/dist/lib/mesh/live/backfill-held.d.ts +16 -67
  179. package/dist/lib/mesh/live/backfill-held.js +61 -415
  180. package/dist/lib/mesh/live/backoff.d.ts +2 -2
  181. package/dist/lib/mesh/live/backoff.js +3 -16
  182. package/dist/lib/mesh/live/daemon/board-refresh.d.ts +1 -7
  183. package/dist/lib/mesh/live/daemon/board-refresh.js +30 -78
  184. package/dist/lib/mesh/live/daemon/credentials.d.ts +10 -64
  185. package/dist/lib/mesh/live/daemon/credentials.js +20 -270
  186. package/dist/lib/mesh/live/daemon/doctor.d.ts +0 -51
  187. package/dist/lib/mesh/live/daemon/doctor.js +6 -180
  188. package/dist/lib/mesh/live/daemon/index.d.ts +10 -13
  189. package/dist/lib/mesh/live/daemon/index.js +6 -7
  190. package/dist/lib/mesh/live/daemon/install.d.ts +1 -255
  191. package/dist/lib/mesh/live/daemon/install.js +13 -811
  192. package/dist/lib/mesh/live/daemon/paths.d.ts +0 -2
  193. package/dist/lib/mesh/live/daemon/paths.js +0 -2
  194. package/dist/lib/mesh/live/daemon/presence.d.ts +5 -24
  195. package/dist/lib/mesh/live/daemon/presence.js +10 -79
  196. package/dist/lib/mesh/live/daemon/run.d.ts +2 -48
  197. package/dist/lib/mesh/live/daemon/run.js +33 -485
  198. package/dist/lib/mesh/live/daemon/state.d.ts +2 -19
  199. package/dist/lib/mesh/live/daemon/state.js +2 -34
  200. package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +9 -45
  201. package/dist/lib/mesh/live/daemon/transcript-watch.js +31 -227
  202. package/dist/lib/mesh/live/emit-client.d.ts +0 -8
  203. package/dist/lib/mesh/live/emit-client.js +8 -23
  204. package/dist/lib/mesh/live/emit-evidence.d.ts +0 -19
  205. package/dist/lib/mesh/live/emit-evidence.js +2 -20
  206. package/dist/lib/mesh/live/emit.d.ts +0 -9
  207. package/dist/lib/mesh/live/emit.js +2 -28
  208. package/dist/lib/mesh/live/enqueue.d.ts +0 -5
  209. package/dist/lib/mesh/live/enqueue.js +0 -19
  210. package/dist/lib/mesh/live/flush.d.ts +5 -17
  211. package/dist/lib/mesh/live/flush.js +38 -391
  212. package/dist/lib/mesh/live/format-spool-line.d.ts +2 -5
  213. package/dist/lib/mesh/live/format-spool-line.js +0 -10
  214. package/dist/lib/mesh/live/paths.d.ts +0 -2
  215. package/dist/lib/mesh/live/paths.js +0 -4
  216. package/dist/lib/mesh/live/session-event.schema.json +1 -24
  217. package/dist/lib/mesh/live/session-events-client.d.ts +0 -2
  218. package/dist/lib/mesh/live/session-events-client.js +0 -26
  219. package/dist/lib/mesh/live/spool.d.ts +0 -19
  220. package/dist/lib/mesh/live/spool.js +3 -269
  221. package/dist/lib/mesh/live/validate-session-event.d.ts +1 -1
  222. package/dist/lib/mesh/live/validate-session-event.js +1 -1
  223. package/dist/lib/plan-limit-nag.d.ts +6 -102
  224. package/dist/lib/plan-limit-nag.js +43 -348
  225. package/dist/lib/scan-packages/index.d.ts +0 -2
  226. package/dist/lib/scan-packages/index.js +6 -168
  227. package/dist/lib/search-index/background.d.ts +1 -8
  228. package/dist/lib/search-index/background.js +200 -55
  229. package/dist/lib/search-index/index.d.ts +0 -12
  230. package/dist/lib/search-index/index.js +7 -153
  231. package/dist/lib/work-context/company.d.ts +20 -22
  232. package/dist/lib/work-context/company.js +40 -124
  233. package/dist/lib/work-context/config.d.ts +11 -58
  234. package/dist/lib/work-context/config.js +83 -334
  235. package/dist/lib/work-context/contract.d.ts +0 -10
  236. package/dist/lib/work-context/index.d.ts +25 -0
  237. package/dist/lib/work-context/index.js +21 -0
  238. package/dist/lib/work-context/outbox.d.ts +1 -14
  239. package/dist/lib/work-context/outbox.js +1 -87
  240. package/dist/lib/work-context/reconcile.d.ts +0 -15
  241. package/dist/lib/work-context/reconcile.js +25 -380
  242. package/dist/lib/work-context/state.d.ts +10 -93
  243. package/dist/lib/work-context/state.js +29 -342
  244. package/dist/lib/workers-registry/index.js +8 -62
  245. package/dist/main.d.ts +0 -12
  246. package/dist/main.js +73 -266
  247. package/dist/node-network-compat.d.ts +30 -2
  248. package/dist/node-network-compat.js +51 -4
  249. package/dist/node-preflight.d.ts +1 -7
  250. package/dist/node-preflight.js +5 -5
  251. package/dist/register-all.d.ts +29 -4
  252. package/dist/register-all.js +233 -4
  253. package/dist/run/discover-schemas.d.ts +1 -2
  254. package/dist/run/env-graph-guard.d.ts +2 -2
  255. package/dist/run/env-graph-guard.js +2 -5
  256. package/dist/run/hq-plugin.d.ts +0 -4
  257. package/dist/run/hq-plugin.js +8 -36
  258. package/dist/sentry-before-send.js +0 -80
  259. package/dist/sentry.d.ts +2 -8
  260. package/dist/sentry.js +13 -117
  261. package/dist/startup-registration.d.ts +2 -26
  262. package/dist/startup-registration.js +15 -116
  263. package/dist/utils/cli-telemetry.d.ts +1 -74
  264. package/dist/utils/cli-telemetry.js +7 -434
  265. package/dist/utils/client-health.d.ts +4 -0
  266. package/dist/utils/client-health.js +2 -2
  267. package/dist/utils/cognito-session.d.ts +0 -71
  268. package/dist/utils/cognito-session.js +27 -481
  269. package/dist/utils/contribution-table.d.ts +1 -1
  270. package/dist/utils/environmental-error.d.ts +0 -18
  271. package/dist/utils/environmental-error.js +7 -240
  272. package/dist/utils/expected-cli-error.d.ts +0 -2
  273. package/dist/utils/expected-cli-error.js +0 -4
  274. package/dist/utils/feedback-diagnostics.d.ts +1 -2
  275. package/dist/utils/feedback-log-bundle.d.ts +26 -51
  276. package/dist/utils/feedback-log-bundle.js +31 -211
  277. package/dist/utils/feedback-logs.d.ts +47 -18
  278. package/dist/utils/feedback-logs.js +21 -50
  279. package/dist/utils/feedback-screenshots.d.ts +1 -0
  280. package/dist/utils/feedback-screenshots.js +1 -1
  281. package/dist/utils/hq-roots.d.ts +2 -25
  282. package/dist/utils/hq-roots.js +7 -67
  283. package/dist/utils/incomplete-install-error.d.ts +19 -87
  284. package/dist/utils/incomplete-install-error.js +68 -319
  285. package/dist/utils/install-tree-torn.d.ts +24 -260
  286. package/dist/utils/install-tree-torn.js +51 -998
  287. package/dist/utils/large-file-guard.d.ts +10 -0
  288. package/dist/utils/large-file-guard.js +1 -1
  289. package/dist/utils/local-files-overview.d.ts +8 -4
  290. package/dist/utils/local-files-overview.js +7 -48
  291. package/dist/utils/login-provider.d.ts +0 -7
  292. package/dist/utils/login-provider.js +0 -34
  293. package/dist/utils/pack-contributions.d.ts +9 -2
  294. package/dist/utils/pack-contributions.js +43 -6
  295. package/dist/utils/package-root-diagnostics.d.ts +1 -1
  296. package/dist/utils/people.d.ts +11 -7
  297. package/dist/utils/people.js +20 -5
  298. package/dist/utils/plan-gate-error.d.ts +10 -52
  299. package/dist/utils/plan-gate-error.js +41 -364
  300. package/dist/utils/qmd-model-download-error.d.ts +8 -0
  301. package/dist/utils/qmd-model-download-error.js +1 -1
  302. package/dist/utils/qmd-query-document-error.d.ts +6 -0
  303. package/dist/utils/qmd-query-document-error.js +1 -1
  304. package/dist/utils/redact-error-text.js +1 -2
  305. package/dist/utils/run-bundled-script.d.ts +0 -6
  306. package/dist/utils/run-bundled-script.js +4 -117
  307. package/dist/utils/secrets-cache.d.ts +3 -7
  308. package/dist/utils/secrets-cache.js +14 -162
  309. package/dist/utils/self-update.d.ts +1 -34
  310. package/dist/utils/self-update.js +42 -660
  311. package/dist/utils/sentry-fingerprint.d.ts +1 -23
  312. package/dist/utils/sentry-fingerprint.js +31 -223
  313. package/dist/utils/team-upgrade.d.ts +1 -1
  314. package/dist/utils/team-upgrade.js +3 -4
  315. package/dist/utils/vault-api.d.ts +1 -21
  316. package/dist/utils/vault-api.js +84 -251
  317. package/dist/utils/version-check.d.ts +1 -11
  318. package/dist/utils/version-check.js +3 -32
  319. package/dist/utils/version-gate.d.ts +17 -101
  320. package/dist/utils/version-gate.js +70 -645
  321. package/dist/utils/windows-spawn.d.ts +0 -6
  322. package/dist/utils/windows-spawn.js +0 -37
  323. package/package.json +8 -20
  324. package/README.md +0 -113
  325. package/assets/bot-workers/setup/context/USER-GUIDE.md +0 -404
  326. package/assets/bot-workers/setup/context/quick-reference.md +0 -199
  327. package/assets/bot-workers/setup/skills/agents-and-team.md +0 -167
  328. package/assets/bot-workers/setup/skills/explain-hq.md +0 -35
  329. package/assets/bot-workers/setup/skills/first-company.md +0 -74
  330. package/assets/bot-workers/setup/skills/joining-a-team.md +0 -125
  331. package/assets/bot-workers/setup/skills/pricing.md +0 -92
  332. package/assets/bot-workers/setup/skills/standing-help.md +0 -81
  333. package/assets/bot-workers/setup/skills/your-business.md +0 -281
  334. package/assets/bot-workers/setup/worker.yaml +0 -791
  335. package/assets/lanes-hooks/hq-lanes-drain.json +0 -15
  336. package/assets/lanes-hooks/hq-lanes-drain.mjs +0 -275
  337. package/assets/lanes-hooks/hq-lanes-drain.sh +0 -21
  338. package/assets/lanes-reconcile/hq-lanes-reconcile.service +0 -11
  339. package/assets/lanes-reconcile/hq-lanes-reconcile.timer +0 -12
  340. package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +0 -485
  341. package/assets/scaffold/core/scripts/audit-log.sh +0 -384
  342. package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +0 -171
  343. package/assets/scaffold/core/scripts/eval-trigger.sh +0 -193
  344. package/assets/scaffold/core/scripts/git-pack-extension-check.sh +0 -164
  345. package/assets/scaffold/core/scripts/handoff-finalize.sh +0 -688
  346. package/assets/scaffold/core/scripts/handoff-open-steps.sh +0 -81
  347. package/assets/scaffold/core/scripts/handoff-post.sh +0 -252
  348. package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +0 -307
  349. package/assets/scaffold/core/scripts/hq-delegate-grant.sh +0 -252
  350. package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +0 -99
  351. package/assets/scaffold/core/scripts/hq-delegate-publish.sh +0 -91
  352. package/assets/scaffold/core/scripts/hq-delegate-repo.sh +0 -158
  353. package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +0 -145
  354. package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +0 -129
  355. package/assets/scaffold/core/scripts/hq-delegate-send.sh +0 -259
  356. package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +0 -175
  357. package/assets/scaffold/core/scripts/hq-delegate-verify.sh +0 -238
  358. package/assets/scaffold/core/scripts/hq-dm-bind.sh +0 -585
  359. package/assets/scaffold/core/scripts/hq-job-notify.sh +0 -389
  360. package/assets/scaffold/core/scripts/hq-job-probe.sh +0 -835
  361. package/assets/scaffold/core/scripts/hq-job-remediate.sh +0 -359
  362. package/assets/scaffold/core/scripts/hq-job-run.sh +0 -1025
  363. package/assets/scaffold/core/scripts/hq-pin.sh +0 -118
  364. package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +0 -310
  365. package/assets/scaffold/core/scripts/jobs-validate.sh +0 -451
  366. package/assets/scaffold/core/scripts/knowledge-prefs.sh +0 -55
  367. package/assets/scaffold/core/scripts/lib/portable.sh +0 -211
  368. package/assets/scaffold/core/scripts/lib/secret-patterns.sh +0 -58
  369. package/assets/scaffold/core/scripts/ontology-audience-grant.sh +0 -81
  370. package/assets/scaffold/core/scripts/ontology-brief.mjs +0 -93
  371. package/assets/scaffold/core/scripts/ontology-candidate.sh +0 -100
  372. package/assets/scaffold/core/scripts/ontology-garden.mjs +0 -238
  373. package/assets/scaffold/core/scripts/ontology-source-worklist.sh +0 -79
  374. package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +0 -834
  375. package/assets/scaffold/core/scripts/policy-age-report.sh +0 -156
  376. package/assets/scaffold/core/scripts/policy-retire.sh +0 -199
  377. package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +0 -40
  378. package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +0 -32
  379. package/assets/scaffold/core/scripts/refresh-vault-access.sh +0 -188
  380. package/assets/scaffold/core/scripts/resolve-company.sh +0 -199
  381. package/assets/scaffold/core/scripts/resume-thread-lock.sh +0 -285
  382. package/assets/scaffold/core/scripts/source-yaml-validate.sh +0 -36
  383. package/assets/scaffold/core/scripts/verify-story-deliverables.sh +0 -148
  384. package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +0 -152
  385. package/assets/scaffold/core/scripts/worktree-gc.sh +0 -362
  386. package/contracts/preflight/v1/fixtures.json +0 -87
  387. package/contracts/preflight/v1/schema.json +0 -58
  388. package/dist/command-catalog.generated.d.ts +0 -10655
  389. package/dist/command-catalog.generated.js +0 -13737
  390. package/dist/command-registration-plan.d.ts +0 -474
  391. package/dist/command-registration-plan.js +0 -136
  392. package/dist/commands/agent-enroll.d.ts +0 -146
  393. package/dist/commands/agent-enroll.js +0 -401
  394. package/dist/commands/agent-inbox.d.ts +0 -9
  395. package/dist/commands/agent-inbox.js +0 -102
  396. package/dist/commands/agent-kit.d.ts +0 -87
  397. package/dist/commands/agent-kit.js +0 -480
  398. package/dist/commands/agent-mcp.d.ts +0 -24
  399. package/dist/commands/agent-mcp.js +0 -127
  400. package/dist/commands/agent-probe.d.ts +0 -77
  401. package/dist/commands/agent-probe.js +0 -335
  402. package/dist/commands/agent.d.ts +0 -13
  403. package/dist/commands/agent.js +0 -40
  404. package/dist/commands/billing-sponsor.d.ts +0 -83
  405. package/dist/commands/billing-sponsor.js +0 -344
  406. package/dist/commands/bot-companies.d.ts +0 -40
  407. package/dist/commands/bot-companies.js +0 -64
  408. package/dist/commands/bot-continuity.d.ts +0 -28
  409. package/dist/commands/bot-continuity.js +0 -68
  410. package/dist/commands/bot-jobs.d.ts +0 -127
  411. package/dist/commands/bot-jobs.js +0 -454
  412. package/dist/commands/bot.d.ts +0 -278
  413. package/dist/commands/bot.js +0 -1982
  414. package/dist/commands/cloud-retire.d.ts +0 -51
  415. package/dist/commands/cloud-retire.js +0 -154
  416. package/dist/commands/core-audit-log-native.d.ts +0 -9
  417. package/dist/commands/core-audit-log-native.js +0 -257
  418. package/dist/commands/core-checkpoint-gate-setting.d.ts +0 -59
  419. package/dist/commands/core-checkpoint-gate-setting.js +0 -163
  420. package/dist/commands/core-checkpoint-stop-gate-native.d.ts +0 -34
  421. package/dist/commands/core-checkpoint-stop-gate-native.js +0 -725
  422. package/dist/commands/core-command-catalog.d.ts +0 -34
  423. package/dist/commands/core-command-catalog.js +0 -62
  424. package/dist/commands/core-company-index-scope-flag.d.ts +0 -3
  425. package/dist/commands/core-company-index-scope-flag.js +0 -6
  426. package/dist/commands/core-delegate-w1b.d.ts +0 -10
  427. package/dist/commands/core-delegate-w1b.js +0 -1219
  428. package/dist/commands/core-delegate.d.ts +0 -46
  429. package/dist/commands/core-delegate.js +0 -1040
  430. package/dist/commands/core-dm-bind-native.d.ts +0 -32
  431. package/dist/commands/core-dm-bind-native.js +0 -668
  432. package/dist/commands/core-git-pack-extension-check-native.d.ts +0 -22
  433. package/dist/commands/core-git-pack-extension-check-native.js +0 -190
  434. package/dist/commands/core-handoff-fast.d.ts +0 -18
  435. package/dist/commands/core-handoff-fast.js +0 -104
  436. package/dist/commands/core-handoff-open-steps.d.ts +0 -21
  437. package/dist/commands/core-handoff-open-steps.js +0 -264
  438. package/dist/commands/core-handoff.d.ts +0 -24
  439. package/dist/commands/core-handoff.js +0 -1144
  440. package/dist/commands/core-hq-session-native.d.ts +0 -39
  441. package/dist/commands/core-hq-session-native.js +0 -579
  442. package/dist/commands/core-job-native-utils.d.ts +0 -6
  443. package/dist/commands/core-job-native-utils.js +0 -80
  444. package/dist/commands/core-job-native.d.ts +0 -5
  445. package/dist/commands/core-job-native.js +0 -16
  446. package/dist/commands/core-job-notify-native.d.ts +0 -36
  447. package/dist/commands/core-job-notify-native.js +0 -359
  448. package/dist/commands/core-job-probe-native.d.ts +0 -45
  449. package/dist/commands/core-job-probe-native.js +0 -564
  450. package/dist/commands/core-job-remediate-native.d.ts +0 -26
  451. package/dist/commands/core-job-remediate-native.js +0 -374
  452. package/dist/commands/core-job-remote-launcher.d.ts +0 -7
  453. package/dist/commands/core-job-remote-launcher.js +0 -51
  454. package/dist/commands/core-job-run-native.d.ts +0 -47
  455. package/dist/commands/core-job-run-native.js +0 -1215
  456. package/dist/commands/core-jobs-native.d.ts +0 -25
  457. package/dist/commands/core-jobs-native.js +0 -1339
  458. package/dist/commands/core-knowledge-prefs.d.ts +0 -12
  459. package/dist/commands/core-knowledge-prefs.js +0 -137
  460. package/dist/commands/core-native-handoff-flag.d.ts +0 -4
  461. package/dist/commands/core-native-handoff-flag.js +0 -7
  462. package/dist/commands/core-native-jobs-flag.d.ts +0 -4
  463. package/dist/commands/core-native-jobs-flag.js +0 -7
  464. package/dist/commands/core-native-policy-flag.d.ts +0 -9
  465. package/dist/commands/core-native-policy-flag.js +0 -12
  466. package/dist/commands/core-native-session-flag.d.ts +0 -4
  467. package/dist/commands/core-native-session-flag.js +0 -7
  468. package/dist/commands/core-native-utilities-flag.d.ts +0 -4
  469. package/dist/commands/core-native-utilities-flag.js +0 -7
  470. package/dist/commands/core-native-utilities.d.ts +0 -29
  471. package/dist/commands/core-native-utilities.js +0 -54
  472. package/dist/commands/core-native-worker-skills-flag.d.ts +0 -4
  473. package/dist/commands/core-native-worker-skills-flag.js +0 -7
  474. package/dist/commands/core-ontology-native.d.ts +0 -17
  475. package/dist/commands/core-ontology-native.js +0 -916
  476. package/dist/commands/core-ontology.d.ts +0 -66
  477. package/dist/commands/core-ontology.js +0 -430
  478. package/dist/commands/core-pin-native.d.ts +0 -14
  479. package/dist/commands/core-pin-native.js +0 -236
  480. package/dist/commands/core-policy-frontmatter.d.ts +0 -8
  481. package/dist/commands/core-policy-frontmatter.js +0 -52
  482. package/dist/commands/core-policy.d.ts +0 -14
  483. package/dist/commands/core-policy.js +0 -1018
  484. package/dist/commands/core-refresh-vault-access-native.d.ts +0 -20
  485. package/dist/commands/core-refresh-vault-access-native.js +0 -229
  486. package/dist/commands/core-resolve-company-command.d.ts +0 -4
  487. package/dist/commands/core-resolve-company-command.js +0 -42
  488. package/dist/commands/core-resolve-company-native.d.ts +0 -28
  489. package/dist/commands/core-resolve-company-native.js +0 -408
  490. package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +0 -32
  491. package/dist/commands/core-work-mesh-bind-trusted-native.js +0 -190
  492. package/dist/commands/core-worker-lint-native.d.ts +0 -4
  493. package/dist/commands/core-worker-lint-native.js +0 -160
  494. package/dist/commands/core-worker-share-native.d.ts +0 -5
  495. package/dist/commands/core-worker-share-native.js +0 -260
  496. package/dist/commands/core-worker-skills-command.d.ts +0 -8
  497. package/dist/commands/core-worker-skills-command.js +0 -33
  498. package/dist/commands/core-worker-skills-runtime.d.ts +0 -33
  499. package/dist/commands/core-worker-skills-runtime.js +0 -86
  500. package/dist/commands/daemon.d.ts +0 -63
  501. package/dist/commands/daemon.js +0 -877
  502. package/dist/commands/deploy-comments.d.ts +0 -3
  503. package/dist/commands/deploy-comments.js +0 -162
  504. package/dist/commands/lanes-accounts.d.ts +0 -28
  505. package/dist/commands/lanes-accounts.js +0 -595
  506. package/dist/commands/lanes-autopilot.d.ts +0 -11
  507. package/dist/commands/lanes-autopilot.js +0 -336
  508. package/dist/commands/lanes-checks.d.ts +0 -51
  509. package/dist/commands/lanes-checks.js +0 -941
  510. package/dist/commands/lanes-hold.d.ts +0 -43
  511. package/dist/commands/lanes-hold.js +0 -655
  512. package/dist/commands/lanes-kpis.d.ts +0 -11
  513. package/dist/commands/lanes-kpis.js +0 -34
  514. package/dist/commands/lanes-message.d.ts +0 -9
  515. package/dist/commands/lanes-message.js +0 -934
  516. package/dist/commands/lanes-move.d.ts +0 -12
  517. package/dist/commands/lanes-move.js +0 -397
  518. package/dist/commands/lanes-questions.d.ts +0 -36
  519. package/dist/commands/lanes-questions.js +0 -1004
  520. package/dist/commands/lanes-report.d.ts +0 -11
  521. package/dist/commands/lanes-report.js +0 -333
  522. package/dist/commands/lanes-resume.d.ts +0 -6
  523. package/dist/commands/lanes-resume.js +0 -561
  524. package/dist/commands/lanes-review.d.ts +0 -10
  525. package/dist/commands/lanes-review.js +0 -56
  526. package/dist/commands/lanes-shared.d.ts +0 -448
  527. package/dist/commands/lanes-shared.js +0 -170
  528. package/dist/commands/lanes-stories.d.ts +0 -15
  529. package/dist/commands/lanes-stories.js +0 -347
  530. package/dist/commands/lanes-watch.d.ts +0 -7
  531. package/dist/commands/lanes-watch.js +0 -216
  532. package/dist/commands/lanes.d.ts +0 -149
  533. package/dist/commands/lanes.js +0 -8843
  534. package/dist/commands/monitor.d.ts +0 -58
  535. package/dist/commands/monitor.js +0 -980
  536. package/dist/commands/onboard-bot-membership.d.ts +0 -32
  537. package/dist/commands/onboard-bot-membership.js +0 -40
  538. package/dist/commands/onboard-create-identity.d.ts +0 -26
  539. package/dist/commands/onboard-create-identity.js +0 -23
  540. package/dist/commands/outpost-pruner.d.ts +0 -3
  541. package/dist/commands/outpost-pruner.js +0 -125
  542. package/dist/commands/personal-connector-settings-flag.d.ts +0 -4
  543. package/dist/commands/personal-connector-settings-flag.js +0 -7
  544. package/dist/commands/personal-targeted-push-flag.d.ts +0 -4
  545. package/dist/commands/personal-targeted-push-flag.js +0 -7
  546. package/dist/commands/personal-targeted-push-paths.d.ts +0 -3
  547. package/dist/commands/personal-targeted-push-paths.js +0 -67
  548. package/dist/commands/report.d.ts +0 -19
  549. package/dist/commands/report.js +0 -537
  550. package/dist/commands/run-feature-telemetry.d.ts +0 -3
  551. package/dist/commands/run-feature-telemetry.js +0 -6
  552. package/dist/commands/staff/reset-test-account.d.ts +0 -110
  553. package/dist/commands/staff/reset-test-account.js +0 -268
  554. package/dist/commands/staff/test-account.d.ts +0 -51
  555. package/dist/commands/staff/test-account.js +0 -196
  556. package/dist/commands/vault-retention-flag.d.ts +0 -3
  557. package/dist/commands/vault-retention-flag.js +0 -9
  558. package/dist/commands/vault-retention.d.ts +0 -11
  559. package/dist/commands/vault-retention.js +0 -69
  560. package/dist/commands/version.d.ts +0 -10
  561. package/dist/commands/version.js +0 -11
  562. package/dist/fast-scaffold.d.ts +0 -84
  563. package/dist/fast-scaffold.js +0 -353
  564. package/dist/lanes-drain-hook.d.ts +0 -14
  565. package/dist/lanes-drain-hook.js +0 -203
  566. package/dist/lib/agent-kit/adopt-identity.d.ts +0 -27
  567. package/dist/lib/agent-kit/adopt-identity.js +0 -60
  568. package/dist/lib/agent-kit/attachment-download.d.ts +0 -24
  569. package/dist/lib/agent-kit/attachment-download.js +0 -47
  570. package/dist/lib/agent-kit/creds.d.ts +0 -106
  571. package/dist/lib/agent-kit/creds.js +0 -163
  572. package/dist/lib/agent-kit/fallback.d.ts +0 -78
  573. package/dist/lib/agent-kit/fallback.js +0 -210
  574. package/dist/lib/agent-kit/inbox-state.d.ts +0 -83
  575. package/dist/lib/agent-kit/inbox-state.js +0 -159
  576. package/dist/lib/agent-kit/kit-config.d.ts +0 -56
  577. package/dist/lib/agent-kit/kit-config.js +0 -65
  578. package/dist/lib/agent-kit/log.d.ts +0 -16
  579. package/dist/lib/agent-kit/log.js +0 -46
  580. package/dist/lib/agent-kit/mcp/attachments.d.ts +0 -126
  581. package/dist/lib/agent-kit/mcp/attachments.js +0 -222
  582. package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +0 -75
  583. package/dist/lib/agent-kit/mcp/jsonrpc.js +0 -164
  584. package/dist/lib/agent-kit/mcp/tools.d.ts +0 -64
  585. package/dist/lib/agent-kit/mcp/tools.js +0 -397
  586. package/dist/lib/agent-kit/paths.d.ts +0 -65
  587. package/dist/lib/agent-kit/paths.js +0 -118
  588. package/dist/lib/agent-kit/private-file.d.ts +0 -29
  589. package/dist/lib/agent-kit/private-file.js +0 -91
  590. package/dist/lib/agent-kit/run/heartbeat.d.ts +0 -72
  591. package/dist/lib/agent-kit/run/heartbeat.js +0 -128
  592. package/dist/lib/agent-kit/run/inbox.d.ts +0 -76
  593. package/dist/lib/agent-kit/run/inbox.js +0 -205
  594. package/dist/lib/agent-kit/run/supervisor.d.ts +0 -35
  595. package/dist/lib/agent-kit/run/supervisor.js +0 -85
  596. package/dist/lib/agent-kit/run/sync.d.ts +0 -33
  597. package/dist/lib/agent-kit/run/sync.js +0 -58
  598. package/dist/lib/agent-kit/services.d.ts +0 -31
  599. package/dist/lib/agent-kit/services.js +0 -55
  600. package/dist/lib/agent-kit/skills.d.ts +0 -18
  601. package/dist/lib/agent-kit/skills.js +0 -151
  602. package/dist/lib/agent-kit/wake.d.ts +0 -83
  603. package/dist/lib/agent-kit/wake.js +0 -243
  604. package/dist/lib/agents/model-catalog.d.ts +0 -62
  605. package/dist/lib/agents/model-catalog.js +0 -275
  606. package/dist/lib/auth-login-provider-state.d.ts +0 -8
  607. package/dist/lib/auth-login-provider-state.js +0 -63
  608. package/dist/lib/aws-sdk-node-warning-output.d.ts +0 -12
  609. package/dist/lib/aws-sdk-node-warning-output.js +0 -22
  610. package/dist/lib/billing/free-month.d.ts +0 -18
  611. package/dist/lib/billing/free-month.js +0 -31
  612. package/dist/lib/billing/plan-limit-refusals.d.ts +0 -69
  613. package/dist/lib/billing/plan-limit-refusals.js +0 -187
  614. package/dist/lib/billing/plan-limit-upgrade-url.d.ts +0 -11
  615. package/dist/lib/billing/plan-limit-upgrade-url.js +0 -66
  616. package/dist/lib/billing/plan-lock.d.ts +0 -143
  617. package/dist/lib/billing/plan-lock.js +0 -439
  618. package/dist/lib/bot/api.d.ts +0 -349
  619. package/dist/lib/bot/api.js +0 -316
  620. package/dist/lib/bot/attachments.d.ts +0 -45
  621. package/dist/lib/bot/attachments.js +0 -89
  622. package/dist/lib/bot/cli-update.d.ts +0 -138
  623. package/dist/lib/bot/cli-update.js +0 -278
  624. package/dist/lib/bot/company-bind.d.ts +0 -27
  625. package/dist/lib/bot/company-bind.js +0 -62
  626. package/dist/lib/bot/config.d.ts +0 -153
  627. package/dist/lib/bot/config.js +0 -233
  628. package/dist/lib/bot/continuity-download.d.ts +0 -28
  629. package/dist/lib/bot/continuity-download.js +0 -75
  630. package/dist/lib/bot/continuity-install.d.ts +0 -14
  631. package/dist/lib/bot/continuity-install.js +0 -101
  632. package/dist/lib/bot/continuity.d.ts +0 -67
  633. package/dist/lib/bot/continuity.js +0 -301
  634. package/dist/lib/bot/creds.d.ts +0 -24
  635. package/dist/lib/bot/creds.js +0 -51
  636. package/dist/lib/bot/daemon.d.ts +0 -173
  637. package/dist/lib/bot/daemon.js +0 -552
  638. package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +0 -24
  639. package/dist/lib/bot/inbox-poll-backoff-flag.js +0 -135
  640. package/dist/lib/bot/inbox-state.d.ts +0 -18
  641. package/dist/lib/bot/inbox-state.js +0 -51
  642. package/dist/lib/bot/index.d.ts +0 -23
  643. package/dist/lib/bot/index.js +0 -23
  644. package/dist/lib/bot/inflight.d.ts +0 -119
  645. package/dist/lib/bot/inflight.js +0 -83
  646. package/dist/lib/bot/job-completions.d.ts +0 -89
  647. package/dist/lib/bot/job-completions.js +0 -132
  648. package/dist/lib/bot/job-run.d.ts +0 -109
  649. package/dist/lib/bot/job-run.js +0 -246
  650. package/dist/lib/bot/local-config.d.ts +0 -61
  651. package/dist/lib/bot/local-config.js +0 -145
  652. package/dist/lib/bot/local-jobs.d.ts +0 -89
  653. package/dist/lib/bot/local-jobs.js +0 -459
  654. package/dist/lib/bot/local-name.d.ts +0 -54
  655. package/dist/lib/bot/local-name.js +0 -114
  656. package/dist/lib/bot/log.d.ts +0 -13
  657. package/dist/lib/bot/log.js +0 -59
  658. package/dist/lib/bot/owner-context.d.ts +0 -79
  659. package/dist/lib/bot/owner-context.js +0 -175
  660. package/dist/lib/bot/paths.d.ts +0 -76
  661. package/dist/lib/bot/paths.js +0 -131
  662. package/dist/lib/bot/progress.d.ts +0 -132
  663. package/dist/lib/bot/progress.js +0 -289
  664. package/dist/lib/bot/promote.d.ts +0 -16
  665. package/dist/lib/bot/promote.js +0 -106
  666. package/dist/lib/bot/promotion-hold.d.ts +0 -24
  667. package/dist/lib/bot/promotion-hold.js +0 -103
  668. package/dist/lib/bot/promotion-receipt.d.ts +0 -9
  669. package/dist/lib/bot/promotion-receipt.js +0 -56
  670. package/dist/lib/bot/promotion-upload.d.ts +0 -16
  671. package/dist/lib/bot/promotion-upload.js +0 -80
  672. package/dist/lib/bot/prompt.d.ts +0 -136
  673. package/dist/lib/bot/prompt.js +0 -433
  674. package/dist/lib/bot/room-policy.d.ts +0 -63
  675. package/dist/lib/bot/room-policy.js +0 -91
  676. package/dist/lib/bot/run.d.ts +0 -217
  677. package/dist/lib/bot/run.js +0 -1869
  678. package/dist/lib/bot/runnable.d.ts +0 -51
  679. package/dist/lib/bot/runnable.js +0 -65
  680. package/dist/lib/bot/runtime/claude.d.ts +0 -50
  681. package/dist/lib/bot/runtime/claude.js +0 -170
  682. package/dist/lib/bot/runtime/codex.d.ts +0 -28
  683. package/dist/lib/bot/runtime/codex.js +0 -153
  684. package/dist/lib/bot/runtime/grok-acp.d.ts +0 -40
  685. package/dist/lib/bot/runtime/grok-acp.js +0 -265
  686. package/dist/lib/bot/runtime/grok.d.ts +0 -41
  687. package/dist/lib/bot/runtime/grok.js +0 -169
  688. package/dist/lib/bot/runtime/index.d.ts +0 -36
  689. package/dist/lib/bot/runtime/index.js +0 -417
  690. package/dist/lib/bot/runtime/messages-stream.d.ts +0 -56
  691. package/dist/lib/bot/runtime/messages-stream.js +0 -194
  692. package/dist/lib/bot/runtime/sanitize.d.ts +0 -18
  693. package/dist/lib/bot/runtime/sanitize.js +0 -28
  694. package/dist/lib/bot/runtime/types.d.ts +0 -159
  695. package/dist/lib/bot/runtime/types.js +0 -51
  696. package/dist/lib/bot/runtime/windows.d.ts +0 -10
  697. package/dist/lib/bot/runtime/windows.js +0 -53
  698. package/dist/lib/bot/runtime-sign-in.d.ts +0 -24
  699. package/dist/lib/bot/runtime-sign-in.js +0 -31
  700. package/dist/lib/bot/scaffold.d.ts +0 -38
  701. package/dist/lib/bot/scaffold.js +0 -94
  702. package/dist/lib/bot/self-heal.d.ts +0 -52
  703. package/dist/lib/bot/self-heal.js +0 -79
  704. package/dist/lib/bot/self-process.d.ts +0 -19
  705. package/dist/lib/bot/self-process.js +0 -35
  706. package/dist/lib/bot/session.d.ts +0 -19
  707. package/dist/lib/bot/session.js +0 -39
  708. package/dist/lib/bot/setup-explain.d.ts +0 -64
  709. package/dist/lib/bot/setup-explain.js +0 -141
  710. package/dist/lib/bot/split.d.ts +0 -32
  711. package/dist/lib/bot/split.js +0 -241
  712. package/dist/lib/bot/status.d.ts +0 -57
  713. package/dist/lib/bot/status.js +0 -66
  714. package/dist/lib/bot/worker-source.d.ts +0 -66
  715. package/dist/lib/bot/worker-source.js +0 -283
  716. package/dist/lib/checkpoint-ontology/aliases.d.ts +0 -17
  717. package/dist/lib/checkpoint-ontology/aliases.js +0 -44
  718. package/dist/lib/checkpoint-ontology/apply.d.ts +0 -110
  719. package/dist/lib/checkpoint-ontology/apply.js +0 -777
  720. package/dist/lib/checkpoint-ontology/company-brief.d.ts +0 -18
  721. package/dist/lib/checkpoint-ontology/company-brief.js +0 -337
  722. package/dist/lib/checkpoint-ontology/company.d.ts +0 -44
  723. package/dist/lib/checkpoint-ontology/company.js +0 -118
  724. package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +0 -41
  725. package/dist/lib/checkpoint-ontology/drop-aliases.js +0 -76
  726. package/dist/lib/checkpoint-ontology/entity-file.d.ts +0 -109
  727. package/dist/lib/checkpoint-ontology/entity-file.js +0 -371
  728. package/dist/lib/checkpoint-ontology/identity.d.ts +0 -38
  729. package/dist/lib/checkpoint-ontology/identity.js +0 -95
  730. package/dist/lib/checkpoint-ontology/merge-copies.d.ts +0 -199
  731. package/dist/lib/checkpoint-ontology/merge-copies.js +0 -1086
  732. package/dist/lib/checkpoint-ontology/multi-writer.d.ts +0 -101
  733. package/dist/lib/checkpoint-ontology/multi-writer.js +0 -394
  734. package/dist/lib/checkpoint-ontology/plan.d.ts +0 -193
  735. package/dist/lib/checkpoint-ontology/plan.js +0 -504
  736. package/dist/lib/checkpoint-ontology/queued-touches.d.ts +0 -29
  737. package/dist/lib/checkpoint-ontology/queued-touches.js +0 -193
  738. package/dist/lib/checkpoint-ontology/sync-client.d.ts +0 -38
  739. package/dist/lib/checkpoint-ontology/sync-client.js +0 -84
  740. package/dist/lib/checkpoint-ontology/tree.d.ts +0 -55
  741. package/dist/lib/checkpoint-ontology/tree.js +0 -198
  742. package/dist/lib/company-errors-sdk-warning-flag.d.ts +0 -5
  743. package/dist/lib/company-errors-sdk-warning-flag.js +0 -8
  744. package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +0 -20
  745. package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +0 -81
  746. package/dist/lib/core-utils/jq-json-serializer.d.ts +0 -5
  747. package/dist/lib/core-utils/jq-json-serializer.js +0 -10
  748. package/dist/lib/core-utils/secret-patterns.d.ts +0 -43
  749. package/dist/lib/core-utils/secret-patterns.js +0 -34
  750. package/dist/lib/core-utils/sentry-report.d.ts +0 -114
  751. package/dist/lib/core-utils/sentry-report.js +0 -1034
  752. package/dist/lib/core-utils/timeout-guard-native.d.ts +0 -7
  753. package/dist/lib/core-utils/timeout-guard-native.js +0 -40
  754. package/dist/lib/core-utils/worktree-resume.d.ts +0 -20
  755. package/dist/lib/core-utils/worktree-resume.js +0 -1198
  756. package/dist/lib/daemon/catalog.d.ts +0 -134
  757. package/dist/lib/daemon/catalog.js +0 -358
  758. package/dist/lib/daemon/config.d.ts +0 -35
  759. package/dist/lib/daemon/config.js +0 -108
  760. package/dist/lib/daemon/flag.d.ts +0 -25
  761. package/dist/lib/daemon/flag.js +0 -59
  762. package/dist/lib/daemon/handoff.d.ts +0 -56
  763. package/dist/lib/daemon/handoff.js +0 -161
  764. package/dist/lib/daemon/hq-cloud.d.ts +0 -79
  765. package/dist/lib/daemon/hq-cloud.js +0 -183
  766. package/dist/lib/daemon/install.d.ts +0 -85
  767. package/dist/lib/daemon/install.js +0 -320
  768. package/dist/lib/daemon/legacy-sync-env.d.ts +0 -10
  769. package/dist/lib/daemon/legacy-sync-env.js +0 -58
  770. package/dist/lib/daemon/legacy.d.ts +0 -45
  771. package/dist/lib/daemon/legacy.js +0 -133
  772. package/dist/lib/daemon/lock.d.ts +0 -47
  773. package/dist/lib/daemon/lock.js +0 -138
  774. package/dist/lib/daemon/machine-type.d.ts +0 -50
  775. package/dist/lib/daemon/machine-type.js +0 -159
  776. package/dist/lib/daemon/migrate.d.ts +0 -77
  777. package/dist/lib/daemon/migrate.js +0 -265
  778. package/dist/lib/daemon/paths.d.ts +0 -24
  779. package/dist/lib/daemon/paths.js +0 -43
  780. package/dist/lib/daemon/protocol-tail.d.ts +0 -33
  781. package/dist/lib/daemon/protocol-tail.js +0 -131
  782. package/dist/lib/daemon/remote-control.d.ts +0 -74
  783. package/dist/lib/daemon/remote-control.js +0 -153
  784. package/dist/lib/daemon/requests.d.ts +0 -28
  785. package/dist/lib/daemon/requests.js +0 -65
  786. package/dist/lib/daemon/run.d.ts +0 -79
  787. package/dist/lib/daemon/run.js +0 -755
  788. package/dist/lib/daemon/succession.d.ts +0 -118
  789. package/dist/lib/daemon/succession.js +0 -263
  790. package/dist/lib/daemon/supervisor.d.ts +0 -132
  791. package/dist/lib/daemon/supervisor.js +0 -836
  792. package/dist/lib/daemon/sync-runner.d.ts +0 -58
  793. package/dist/lib/daemon/sync-runner.js +0 -277
  794. package/dist/lib/daemon/tools.d.ts +0 -52
  795. package/dist/lib/daemon/tools.js +0 -95
  796. package/dist/lib/daemon/updater.d.ts +0 -57
  797. package/dist/lib/daemon/updater.js +0 -163
  798. package/dist/lib/deploy-api.d.ts +0 -5
  799. package/dist/lib/deploy-api.js +0 -21
  800. package/dist/lib/deploy-apps.d.ts +0 -13
  801. package/dist/lib/deploy-apps.js +0 -29
  802. package/dist/lib/doctor/__testing__/run-doctor.d.ts +0 -8
  803. package/dist/lib/doctor/__testing__/run-doctor.js +0 -52
  804. package/dist/lib/doctor/checks/bots.d.ts +0 -13
  805. package/dist/lib/doctor/checks/bots.js +0 -189
  806. package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +0 -6
  807. package/dist/lib/doctor/checks/scaffold-cli-floor.js +0 -73
  808. package/dist/lib/doctor/checks/sync-runtime.d.ts +0 -11
  809. package/dist/lib/doctor/checks/sync-runtime.js +0 -216
  810. package/dist/lib/doctor/client-health-flag-token.d.ts +0 -15
  811. package/dist/lib/doctor/client-health-flag-token.js +0 -66
  812. package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +0 -27
  813. package/dist/lib/doctor/client-health-reason-codes-flag.js +0 -106
  814. package/dist/lib/doctor/fix/json-output.d.ts +0 -28
  815. package/dist/lib/doctor/fix/json-output.js +0 -33
  816. package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +0 -12
  817. package/dist/lib/doctor/fix/refresh-sync-outcome.js +0 -25
  818. package/dist/lib/doctor/shared.d.ts +0 -8
  819. package/dist/lib/doctor/shared.js +0 -38
  820. package/dist/lib/doctor/stray-gate-entries.d.ts +0 -35
  821. package/dist/lib/doctor/stray-gate-entries.js +0 -83
  822. package/dist/lib/first-sync-next-step.d.ts +0 -37
  823. package/dist/lib/first-sync-next-step.js +0 -189
  824. package/dist/lib/flag-registry-endpoint.d.ts +0 -5
  825. package/dist/lib/flag-registry-endpoint.js +0 -9
  826. package/dist/lib/flag-registry-worker-source.generated.d.ts +0 -2
  827. package/dist/lib/flag-registry-worker-source.generated.js +0 -3
  828. package/dist/lib/flag-snapshot-file.d.ts +0 -20
  829. package/dist/lib/flag-snapshot-file.js +0 -91
  830. package/dist/lib/heartbeat-identity.d.ts +0 -30
  831. package/dist/lib/heartbeat-identity.js +0 -76
  832. package/dist/lib/lanes/account-home.d.ts +0 -8
  833. package/dist/lib/lanes/account-home.js +0 -10
  834. package/dist/lib/lanes/accounts.d.ts +0 -117
  835. package/dist/lib/lanes/accounts.js +0 -366
  836. package/dist/lib/lanes/admission-host.d.ts +0 -22
  837. package/dist/lib/lanes/admission-host.js +0 -37
  838. package/dist/lib/lanes/admission.d.ts +0 -26
  839. package/dist/lib/lanes/admission.js +0 -210
  840. package/dist/lib/lanes/approval-gate.d.ts +0 -8
  841. package/dist/lib/lanes/approval-gate.js +0 -90
  842. package/dist/lib/lanes/autopilot-metrics.d.ts +0 -99
  843. package/dist/lib/lanes/autopilot-metrics.js +0 -301
  844. package/dist/lib/lanes/autopilot-registry.d.ts +0 -62
  845. package/dist/lib/lanes/autopilot-registry.js +0 -192
  846. package/dist/lib/lanes/autopilot.d.ts +0 -120
  847. package/dist/lib/lanes/autopilot.js +0 -1061
  848. package/dist/lib/lanes/blocker-freshness.d.ts +0 -31
  849. package/dist/lib/lanes/blocker-freshness.js +0 -168
  850. package/dist/lib/lanes/checked-company-path.d.ts +0 -3
  851. package/dist/lib/lanes/checked-company-path.js +0 -39
  852. package/dist/lib/lanes/claude-balance.d.ts +0 -97
  853. package/dist/lib/lanes/claude-balance.js +0 -319
  854. package/dist/lib/lanes/compaction.d.ts +0 -110
  855. package/dist/lib/lanes/compaction.js +0 -293
  856. package/dist/lib/lanes/config.d.ts +0 -91
  857. package/dist/lib/lanes/config.js +0 -592
  858. package/dist/lib/lanes/constants.d.ts +0 -3
  859. package/dist/lib/lanes/constants.js +0 -3
  860. package/dist/lib/lanes/delivery-core.d.ts +0 -15
  861. package/dist/lib/lanes/delivery-core.js +0 -21
  862. package/dist/lib/lanes/delivery.d.ts +0 -180
  863. package/dist/lib/lanes/delivery.js +0 -443
  864. package/dist/lib/lanes/dropbox.d.ts +0 -129
  865. package/dist/lib/lanes/dropbox.js +0 -601
  866. package/dist/lib/lanes/effort.d.ts +0 -51
  867. package/dist/lib/lanes/effort.js +0 -113
  868. package/dist/lib/lanes/envelope-repair-dispatch.d.ts +0 -26
  869. package/dist/lib/lanes/envelope-repair-dispatch.js +0 -74
  870. package/dist/lib/lanes/errors.d.ts +0 -39
  871. package/dist/lib/lanes/errors.js +0 -72
  872. package/dist/lib/lanes/flag-keys.d.ts +0 -13
  873. package/dist/lib/lanes/flag-keys.js +0 -13
  874. package/dist/lib/lanes/grants.d.ts +0 -29
  875. package/dist/lib/lanes/grants.js +0 -166
  876. package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
  877. package/dist/lib/lanes/hire-grant-dispatch.js +0 -316
  878. package/dist/lib/lanes/hooks-install.d.ts +0 -82
  879. package/dist/lib/lanes/hooks-install.js +0 -479
  880. package/dist/lib/lanes/host-capacity.d.ts +0 -69
  881. package/dist/lib/lanes/host-capacity.js +0 -254
  882. package/dist/lib/lanes/hq-root.d.ts +0 -19
  883. package/dist/lib/lanes/hq-root.js +0 -28
  884. package/dist/lib/lanes/index.d.ts +0 -76
  885. package/dist/lib/lanes/index.js +0 -42
  886. package/dist/lib/lanes/keep-alive.d.ts +0 -68
  887. package/dist/lib/lanes/keep-alive.js +0 -343
  888. package/dist/lib/lanes/kr-freshness.d.ts +0 -76
  889. package/dist/lib/lanes/kr-freshness.js +0 -413
  890. package/dist/lib/lanes/lane-company.d.ts +0 -10
  891. package/dist/lib/lanes/lane-company.js +0 -41
  892. package/dist/lib/lanes/liveness.d.ts +0 -108
  893. package/dist/lib/lanes/liveness.js +0 -396
  894. package/dist/lib/lanes/machine-identity.d.ts +0 -34
  895. package/dist/lib/lanes/machine-identity.js +0 -92
  896. package/dist/lib/lanes/manager-status-gate.d.ts +0 -17
  897. package/dist/lib/lanes/manager-status-gate.js +0 -133
  898. package/dist/lib/lanes/merge-command.d.ts +0 -15
  899. package/dist/lib/lanes/merge-command.js +0 -629
  900. package/dist/lib/lanes/mesh-events.d.ts +0 -127
  901. package/dist/lib/lanes/mesh-events.js +0 -564
  902. package/dist/lib/lanes/message-replay.d.ts +0 -21
  903. package/dist/lib/lanes/message-replay.js +0 -122
  904. package/dist/lib/lanes/models.d.ts +0 -86
  905. package/dist/lib/lanes/models.js +0 -234
  906. package/dist/lib/lanes/monitor.d.ts +0 -48
  907. package/dist/lib/lanes/monitor.js +0 -428
  908. package/dist/lib/lanes/move-account.d.ts +0 -56
  909. package/dist/lib/lanes/move-account.js +0 -193
  910. package/dist/lib/lanes/orphans.d.ts +0 -25
  911. package/dist/lib/lanes/orphans.js +0 -102
  912. package/dist/lib/lanes/outpost-dispatch.d.ts +0 -147
  913. package/dist/lib/lanes/outpost-dispatch.js +0 -271
  914. package/dist/lib/lanes/outpost-hire-cache.d.ts +0 -22
  915. package/dist/lib/lanes/outpost-hire-cache.js +0 -153
  916. package/dist/lib/lanes/outpost-identity.d.ts +0 -33
  917. package/dist/lib/lanes/outpost-identity.js +0 -59
  918. package/dist/lib/lanes/outpost-profile-repin.d.ts +0 -17
  919. package/dist/lib/lanes/outpost-profile-repin.js +0 -84
  920. package/dist/lib/lanes/outpost-pruner-install.d.ts +0 -37
  921. package/dist/lib/lanes/outpost-pruner-install.js +0 -238
  922. package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +0 -18
  923. package/dist/lib/lanes/outpost-registry-worker-approval.js +0 -109
  924. package/dist/lib/lanes/outpost-snapshot-memo.d.ts +0 -6
  925. package/dist/lib/lanes/outpost-snapshot-memo.js +0 -14
  926. package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +0 -19
  927. package/dist/lib/lanes/outpost-worktree-pruner-flag.js +0 -86
  928. package/dist/lib/lanes/outpost-worktree-pruner.d.ts +0 -62
  929. package/dist/lib/lanes/outpost-worktree-pruner.js +0 -1201
  930. package/dist/lib/lanes/profile.d.ts +0 -69
  931. package/dist/lib/lanes/profile.js +0 -552
  932. package/dist/lib/lanes/provider-rejection.d.ts +0 -86
  933. package/dist/lib/lanes/provider-rejection.js +0 -286
  934. package/dist/lib/lanes/questions.d.ts +0 -90
  935. package/dist/lib/lanes/questions.js +0 -384
  936. package/dist/lib/lanes/quota.d.ts +0 -134
  937. package/dist/lib/lanes/quota.js +0 -471
  938. package/dist/lib/lanes/reconcile-install.d.ts +0 -90
  939. package/dist/lib/lanes/reconcile-install.js +0 -257
  940. package/dist/lib/lanes/reconcile.d.ts +0 -155
  941. package/dist/lib/lanes/reconcile.js +0 -3193
  942. package/dist/lib/lanes/registry-flag.d.ts +0 -29
  943. package/dist/lib/lanes/registry-flag.js +0 -139
  944. package/dist/lib/lanes/registry-persona.d.ts +0 -20
  945. package/dist/lib/lanes/registry-persona.js +0 -329
  946. package/dist/lib/lanes/registry.d.ts +0 -122
  947. package/dist/lib/lanes/registry.js +0 -570
  948. package/dist/lib/lanes/reviews.d.ts +0 -38
  949. package/dist/lib/lanes/reviews.js +0 -395
  950. package/dist/lib/lanes/runaway-tool-guard.d.ts +0 -38
  951. package/dist/lib/lanes/runaway-tool-guard.js +0 -284
  952. package/dist/lib/lanes/session-relink.d.ts +0 -25
  953. package/dist/lib/lanes/session-relink.js +0 -216
  954. package/dist/lib/lanes/spawn.d.ts +0 -350
  955. package/dist/lib/lanes/spawn.js +0 -2643
  956. package/dist/lib/lanes/ssm-command-context.d.ts +0 -12
  957. package/dist/lib/lanes/ssm-command-context.js +0 -52
  958. package/dist/lib/lanes/store.d.ts +0 -91
  959. package/dist/lib/lanes/store.js +0 -1811
  960. package/dist/lib/lanes/stories.d.ts +0 -23
  961. package/dist/lib/lanes/stories.js +0 -92
  962. package/dist/lib/lanes/story-ledger.d.ts +0 -80
  963. package/dist/lib/lanes/story-ledger.js +0 -815
  964. package/dist/lib/lanes/story-switch.d.ts +0 -21
  965. package/dist/lib/lanes/story-switch.js +0 -75
  966. package/dist/lib/lanes/text-scan.d.ts +0 -11
  967. package/dist/lib/lanes/text-scan.js +0 -103
  968. package/dist/lib/lanes/throttle.d.ts +0 -116
  969. package/dist/lib/lanes/throttle.js +0 -437
  970. package/dist/lib/lanes/timestamp.d.ts +0 -3
  971. package/dist/lib/lanes/timestamp.js +0 -26
  972. package/dist/lib/lanes/tracker-checks.d.ts +0 -77
  973. package/dist/lib/lanes/tracker-checks.js +0 -134
  974. package/dist/lib/lanes/tracker-report-state.d.ts +0 -10
  975. package/dist/lib/lanes/tracker-report-state.js +0 -124
  976. package/dist/lib/lanes/tracker-report.d.ts +0 -203
  977. package/dist/lib/lanes/tracker-report.js +0 -522
  978. package/dist/lib/lanes/tracker-store.d.ts +0 -18
  979. package/dist/lib/lanes/tracker-store.js +0 -106
  980. package/dist/lib/lanes/types.d.ts +0 -1020
  981. package/dist/lib/lanes/types.js +0 -417
  982. package/dist/lib/lanes/wait.d.ts +0 -39
  983. package/dist/lib/lanes/wait.js +0 -159
  984. package/dist/lib/lanes/watch.d.ts +0 -39
  985. package/dist/lib/lanes/watch.js +0 -249
  986. package/dist/lib/lanes/watcher-main.d.ts +0 -11
  987. package/dist/lib/lanes/watcher-main.js +0 -108
  988. package/dist/lib/lanes/watcher.d.ts +0 -287
  989. package/dist/lib/lanes/watcher.js +0 -1972
  990. package/dist/lib/mesh/live/daemon/config.d.ts +0 -36
  991. package/dist/lib/mesh/live/daemon/config.js +0 -120
  992. package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +0 -43
  993. package/dist/lib/mesh/live/daemon/legacy-listen.js +0 -89
  994. package/dist/lib/mesh/live/daemon/live-cache.d.ts +0 -26
  995. package/dist/lib/mesh/live/daemon/live-cache.js +0 -116
  996. package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +0 -7
  997. package/dist/lib/mesh/live/daemon/mqtt-events.js +0 -2
  998. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +0 -2
  999. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +0 -10
  1000. package/dist/lib/mesh/live/daemon/version-drift.d.ts +0 -5
  1001. package/dist/lib/mesh/live/daemon/version-drift.js +0 -47
  1002. package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +0 -32
  1003. package/dist/lib/mesh/live/daemon/work-subscribe.js +0 -262
  1004. package/dist/lib/mesh/live/report-summary.d.ts +0 -45
  1005. package/dist/lib/mesh/live/report-summary.js +0 -234
  1006. package/dist/lib/mesh/live/session-seq.d.ts +0 -4
  1007. package/dist/lib/mesh/live/session-seq.js +0 -33
  1008. package/dist/lib/mesh/project-board.d.ts +0 -65
  1009. package/dist/lib/mesh/project-board.js +0 -181
  1010. package/dist/lib/mesh/story-status.d.ts +0 -22
  1011. package/dist/lib/mesh/story-status.js +0 -49
  1012. package/dist/lib/monitor.d.ts +0 -149
  1013. package/dist/lib/monitor.js +0 -519
  1014. package/dist/lib/node-binary.d.ts +0 -50
  1015. package/dist/lib/node-binary.js +0 -133
  1016. package/dist/lib/notify-recipient.d.ts +0 -7
  1017. package/dist/lib/notify-recipient.js +0 -11
  1018. package/dist/lib/onboarding/checkpoint.d.ts +0 -13
  1019. package/dist/lib/onboarding/checkpoint.js +0 -44
  1020. package/dist/lib/onboarding/cli/onboard.d.ts +0 -53
  1021. package/dist/lib/onboarding/cli/onboard.js +0 -135
  1022. package/dist/lib/onboarding/cli/prompts.d.ts +0 -28
  1023. package/dist/lib/onboarding/cli/prompts.js +0 -83
  1024. package/dist/lib/onboarding/errors.d.ts +0 -34
  1025. package/dist/lib/onboarding/errors.js +0 -59
  1026. package/dist/lib/onboarding/index.d.ts +0 -13
  1027. package/dist/lib/onboarding/index.js +0 -13
  1028. package/dist/lib/onboarding/orchestrator.d.ts +0 -47
  1029. package/dist/lib/onboarding/orchestrator.js +0 -569
  1030. package/dist/lib/onboarding/types.d.ts +0 -79
  1031. package/dist/lib/onboarding/types.js +0 -8
  1032. package/dist/lib/policy-validator.d.ts +0 -7
  1033. package/dist/lib/policy-validator.js +0 -187
  1034. package/dist/lib/process-flag-company-context.d.ts +0 -8
  1035. package/dist/lib/process-flag-company-context.js +0 -67
  1036. package/dist/lib/report-publish.d.ts +0 -175
  1037. package/dist/lib/report-publish.js +0 -421
  1038. package/dist/lib/report-run.d.ts +0 -62
  1039. package/dist/lib/report-run.js +0 -123
  1040. package/dist/lib/report-snapshot.d.ts +0 -12
  1041. package/dist/lib/report-snapshot.js +0 -135
  1042. package/dist/lib/report-templates.d.ts +0 -9
  1043. package/dist/lib/report-templates.js +0 -21
  1044. package/dist/lib/scaffold-cli-floor.d.ts +0 -8
  1045. package/dist/lib/scaffold-cli-floor.js +0 -50
  1046. package/dist/lib/search-index/collection-path-repair-flag.d.ts +0 -4
  1047. package/dist/lib/search-index/collection-path-repair-flag.js +0 -7
  1048. package/dist/lib/search-index/embed-lock.d.ts +0 -32
  1049. package/dist/lib/search-index/embed-lock.js +0 -286
  1050. package/dist/lib/search-index/load-gate.d.ts +0 -57
  1051. package/dist/lib/search-index/load-gate.js +0 -270
  1052. package/dist/lib/search-index/max-doc-bytes.d.ts +0 -219
  1053. package/dist/lib/search-index/max-doc-bytes.js +0 -463
  1054. package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +0 -5
  1055. package/dist/lib/search-index/qmd-exit-diagnostics.js +0 -40
  1056. package/dist/lib/search-index/reindex-single-flight-flag.d.ts +0 -5
  1057. package/dist/lib/search-index/reindex-single-flight-flag.js +0 -8
  1058. package/dist/lib/service-manager/index.d.ts +0 -42
  1059. package/dist/lib/service-manager/index.js +0 -105
  1060. package/dist/lib/service-manager/launchd.d.ts +0 -81
  1061. package/dist/lib/service-manager/launchd.js +0 -212
  1062. package/dist/lib/service-manager/systemd.d.ts +0 -19
  1063. package/dist/lib/service-manager/systemd.js +0 -72
  1064. package/dist/lib/service-manager/types.d.ts +0 -34
  1065. package/dist/lib/service-manager/types.js +0 -26
  1066. package/dist/lib/test-utils/isolated-flag-company-context.d.ts +0 -3
  1067. package/dist/lib/test-utils/isolated-flag-company-context.js +0 -18
  1068. package/dist/lib/work-context/bind-best.d.ts +0 -66
  1069. package/dist/lib/work-context/bind-best.js +0 -344
  1070. package/dist/lib/work-context/bind-calling-session.d.ts +0 -26
  1071. package/dist/lib/work-context/bind-calling-session.js +0 -63
  1072. package/dist/lib/work-context/company-rebind.d.ts +0 -23
  1073. package/dist/lib/work-context/company-rebind.js +0 -59
  1074. package/dist/lib/work-context/default-company.d.ts +0 -43
  1075. package/dist/lib/work-context/default-company.js +0 -83
  1076. package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +0 -4
  1077. package/dist/lib/work-context/outbox-quarantine-status-flag.js +0 -7
  1078. package/dist/lib/work-context/prd-sync.d.ts +0 -56
  1079. package/dist/lib/work-context/prd-sync.js +0 -197
  1080. package/dist/lib/work-context/preflight-contract.d.ts +0 -28
  1081. package/dist/lib/work-context/preflight-contract.js +0 -85
  1082. package/dist/lib/work-context/prompt-rebind.d.ts +0 -25
  1083. package/dist/lib/work-context/prompt-rebind.js +0 -85
  1084. package/dist/lib/work-context/windows-acl.d.ts +0 -123
  1085. package/dist/lib/work-context/windows-acl.js +0 -425
  1086. package/dist/lib/workers-registry/read.d.ts +0 -15
  1087. package/dist/lib/workers-registry/read.js +0 -17
  1088. package/dist/native-fast-route.d.ts +0 -7
  1089. package/dist/native-fast-route.js +0 -45
  1090. package/dist/node-network-compat-core.d.ts +0 -12
  1091. package/dist/node-network-compat-core.js +0 -41
  1092. package/dist/node-network-compat-fast.d.ts +0 -7
  1093. package/dist/node-network-compat-fast.js +0 -23
  1094. package/dist/secrets-env-fast-path.d.ts +0 -5
  1095. package/dist/secrets-env-fast-path.js +0 -16
  1096. package/dist/secrets-env-fast-route.d.ts +0 -18
  1097. package/dist/secrets-env-fast-route.js +0 -54
  1098. package/dist/utils/checkpoint-stamp-write-error.d.ts +0 -28
  1099. package/dist/utils/checkpoint-stamp-write-error.js +0 -99
  1100. package/dist/utils/cli-network-lifecycle.d.ts +0 -4
  1101. package/dist/utils/cli-network-lifecycle.js +0 -11
  1102. package/dist/utils/cognito-refresh-sentry.d.ts +0 -3
  1103. package/dist/utils/cognito-refresh-sentry.js +0 -49
  1104. package/dist/utils/console-origin.d.ts +0 -9
  1105. package/dist/utils/console-origin.js +0 -28
  1106. package/dist/utils/exclusive-lock.d.ts +0 -32
  1107. package/dist/utils/exclusive-lock.js +0 -75
  1108. package/dist/utils/fast-stream-errors.d.ts +0 -12
  1109. package/dist/utils/fast-stream-errors.js +0 -18
  1110. package/dist/utils/files-browse-acl.d.ts +0 -5
  1111. package/dist/utils/files-browse-acl.js +0 -11
  1112. package/dist/utils/hq-core-yaml.d.ts +0 -10
  1113. package/dist/utils/hq-core-yaml.js +0 -40
  1114. package/dist/utils/hq-root-resolver.d.ts +0 -13
  1115. package/dist/utils/hq-root-resolver.js +0 -103
  1116. package/dist/utils/redact-url.d.ts +0 -14
  1117. package/dist/utils/redact-url.js +0 -218
  1118. package/dist/utils/scaffold-fast-import-guard.d.ts +0 -2
  1119. package/dist/utils/scaffold-fast-import-guard.js +0 -40
  1120. package/dist/utils/scaffold-packlist-guard.d.ts +0 -7
  1121. package/dist/utils/scaffold-packlist-guard.js +0 -23
  1122. package/dist/utils/scaffold-sibling-references.d.ts +0 -22
  1123. package/dist/utils/scaffold-sibling-references.js +0 -156
  1124. package/dist/utils/secret-load-availability.d.ts +0 -8
  1125. package/dist/utils/secret-load-availability.js +0 -54
  1126. package/dist/utils/staged-install.d.ts +0 -34
  1127. package/dist/utils/staged-install.js +0 -346
  1128. package/dist/utils/staged-npm-install.d.ts +0 -16
  1129. package/dist/utils/staged-npm-install.js +0 -264
  1130. package/dist/utils/sync-log-sources.d.ts +0 -15
  1131. package/dist/utils/sync-log-sources.js +0 -36
  1132. package/dist/utils/table-width.d.ts +0 -7
  1133. package/dist/utils/table-width.js +0 -15
  1134. package/dist/utils/update-command-supervisor.cjs +0 -247
  1135. package/dist/utils/upload-author.d.ts +0 -15
  1136. package/dist/utils/upload-author.js +0 -39
  1137. package/dist/utils/version-report.d.ts +0 -27
  1138. package/dist/utils/version-report.js +0 -105
  1139. package/dist/version-request.d.ts +0 -14
  1140. package/dist/version-request.js +0 -36
  1141. package/scripts/mesh-daemon-if-stale.mjs +0 -20
  1142. package/templates/reports/blank.md +0 -3
  1143. package/templates/reports/daily-digest.md +0 -11
  1144. package/templates/runbooks/update-report.md +0 -21
@@ -15,11 +15,8 @@
15
15
  * hq agents start|stop <uid> — EC2 start/stop
16
16
  * hq agents retry <uid> — resume setup from first non-done step
17
17
  * hq agents rm <uid> --yes — deprovision (destructive; flag-guarded)
18
- * hq agents rotate <uid> — new enrollment code for an external agent
19
- * hq agents revoke <uid> --yes — revoke an external agent (--remove deletes it)
20
18
  * hq agents jobs list <uid> — off-box job roster (schedule + rate)
21
19
  * hq agents jobs pause <uid> <jobId> — flip schedule State=DISABLED
22
- * hq agents jobs resume <uid> <jobId> — flip schedule State=ENABLED
23
20
  * hq agents jobs cancel <uid> <jobId> — delete schedule + drop the job
24
21
  *
25
22
  * Agents are company-scoped. `--company <slug>` may sit on the group
@@ -31,17 +28,11 @@ import chalk from "chalk";
31
28
  import { randomUUID } from "node:crypto";
32
29
  import * as readline from "node:readline";
33
30
  import { resolveVaultCredential } from "../utils/resolve-vault-credential.js";
34
- import { maxLength } from "../utils/table-width.js";
35
- import { DEFAULT_VAULT_API_URL } from "../utils/cognito-session.js";
36
31
  import { gateApiKeyCapabilities } from "../utils/api-key-command-gate.js";
37
- import { queueCliLimitNoticeEngagement, queueCliLimitNoticeExposure, } from "../utils/cli-telemetry.js";
38
32
  import { vaultApiFetch, getCompanyUid } from "../utils/vault-api.js";
39
- import { consoleOrigin } from "./integrations-connect.js";
40
33
  import { launchSessionManagerPlugin, SessionManagerPluginLaunchError, TerminalSessionTimeoutError, waitForTerminalSession, } from "@indigoai-us/hq-cloud/outposts/node";
41
34
  import { peekIdToken } from "../utils/id-token.js";
42
- import { canOfferTeamUpgrade, formatUpgradeRefusal, isPlanGateError, offerUpgradeLink, } from "../utils/plan-gate-error.js";
43
- import { AGENT_UID_PATTERN, isAgentUid } from "../lib/notify-recipient.js";
44
- import { AGENT_MODEL_PROVIDERS, modelSelectionErrorMessage, readAgentModelCatalog, validateAgentModelSelection, } from "../lib/agents/model-catalog.js";
35
+ import { isPlanGateError } from "../utils/plan-gate-error.js";
45
36
  import { confirmChargeOrExit, formatUsd, parseBillingPayload, surfaceBillingBlocked, } from "../utils/billing-gate.js";
46
37
  /** Reasoning-effort values hq-pro accepts on `runtime-config`. */
47
38
  export const VALID_EFFORTS = new Set([
@@ -59,107 +50,6 @@ export const VALID_PROVIDERS = new Set(["codex", "grok", "claude", "agents-v2"])
59
50
  export const VALID_AUTH_MODES = new Set(["subscription", "apiKey"]);
60
51
  /** Customer-facing agent size keys served by hq-pro's authoritative catalog. */
61
52
  export const VALID_AGENT_SIZE_KEYS = new Set(["basic", "power", "dev"]);
62
- // Keep cloud agent create slugs aligned with hq-pro-agents POST /v1/agents.
63
- const AGENT_SLUG_PATTERN = /^[a-z0-9][a-z0-9-]{0,62}$/;
64
- const CLAUDE_PROVISION_COMMAND = "hq agents provision <name> --provider agents-v2 --model <model-id>";
65
- const CLAUDE_API_KEY_ARGS = "--auth-mode apiKey --api-key-env <VAR>";
66
- function claudeProvisionGuidance() {
67
- return [
68
- "The account must be enabled for Claude. Subscription auth is the default.",
69
- "Use `hq agents models` to see the current model ids.",
70
- `Create an agent with: ${CLAUDE_PROVISION_COMMAND}`,
71
- `For API-key auth, add: ${CLAUDE_API_KEY_ARGS}`,
72
- "The CLI accepts --provider claude for script compatibility, but the server rejects new agents that use it.",
73
- ].join("\n");
74
- }
75
- /**
76
- * `hq agents create` exits with this distinct status when payment is required.
77
- * Scripts can distinguish the expected upgrade state from an ordinary command
78
- * failure without parsing human output.
79
- */
80
- export const AGENT_CREATE_PAYMENT_REQUIRED_EXIT_CODE = 3;
81
- function isCheckoutUrl(value) {
82
- if (typeof value !== "string" || !value.trim())
83
- return false;
84
- try {
85
- const url = new URL(value);
86
- return url.protocol === "https:" && !url.username && !url.password;
87
- }
88
- catch {
89
- return false;
90
- }
91
- }
92
- /**
93
- * Decode only the priced response defined by the agent-create contract. A
94
- * lookalike 403 must stay an ordinary API error rather than opening a browser
95
- * or guessing at a price.
96
- */
97
- export function agentCreatePlanLimitFromPayload(status, body) {
98
- if (status !== 403 || !body || typeof body !== "object")
99
- return null;
100
- const payload = body;
101
- if (payload.code !== "AGENT_PLAN_LIMIT" ||
102
- payload.reasonCode !== "plan_limit" ||
103
- payload.requiredPlan !== "agents-500" ||
104
- typeof payload.amountMinor !== "number" ||
105
- !Number.isSafeInteger(payload.amountMinor) ||
106
- payload.amountMinor < 0 ||
107
- typeof payload.currency !== "string" ||
108
- !/^[A-Za-z]{3}$/.test(payload.currency)) {
109
- return null;
110
- }
111
- if (payload.checkoutUrl !== undefined && !isCheckoutUrl(payload.checkoutUrl)) {
112
- return null;
113
- }
114
- return {
115
- requiredPlan: "agents-500",
116
- amountMinor: payload.amountMinor,
117
- currency: payload.currency.toUpperCase(),
118
- ...(typeof payload.checkoutUrl === "string"
119
- ? { checkoutUrl: payload.checkoutUrl }
120
- : {}),
121
- };
122
- }
123
- function formatServerPrice(amountMinor, currency) {
124
- return new Intl.NumberFormat("en-US", {
125
- style: "currency",
126
- currency,
127
- }).format(amountMinor / 100);
128
- }
129
- async function offerAgentCheckout(url) {
130
- const rl = readline.createInterface({ input: process.stdin, output: process.stderr });
131
- try {
132
- return await offerUpgradeLink(url, {
133
- interactive: true,
134
- ask: (question) => new Promise((resolve) => rl.question(question, resolve)),
135
- });
136
- }
137
- catch {
138
- console.error("Could not open the upgrade page automatically. Use the URL above.");
139
- return false;
140
- }
141
- finally {
142
- rl.close();
143
- }
144
- }
145
- /** Print a server-priced plan block without minting or rewriting its URL. */
146
- export async function surfaceAgentCreatePlanLimit(planLimit, opts = {}) {
147
- const price = `${formatServerPrice(planLimit.amountMinor, planLimit.currency)}/month`;
148
- const reason = `HQ Workforce plan required to create an agent (${price}).`;
149
- const argv = opts.json ? [...process.argv, "--json"] : process.argv;
150
- const interactive = canOfferTeamUpgrade(argv);
151
- if (!planLimit.checkoutUrl) {
152
- console.error(reason);
153
- console.error("Ask a company owner to upgrade before creating an agent.");
154
- queueCliLimitNoticeExposure("agents", "refusal", opts.companyUid);
155
- return;
156
- }
157
- console.error(formatUpgradeRefusal(reason, planLimit.checkoutUrl, { urlOnly: !interactive }));
158
- const exposure = queueCliLimitNoticeExposure("agents", "refusal", opts.companyUid);
159
- if (interactive && await offerAgentCheckout(planLimit.checkoutUrl)) {
160
- queueCliLimitNoticeEngagement(exposure);
161
- }
162
- }
163
53
  /**
164
54
  * Resolve a closed-set option value, or exit(1) with a message naming the
165
55
  * offending input and the legal set.
@@ -222,35 +112,14 @@ export class AgentsHttpError extends Error {
222
112
  code;
223
113
  /** hq-pro's billing envelope on a `402 billing_required` provision block. */
224
114
  billing;
225
- /** Strictly decoded priced `403 AGENT_PLAN_LIMIT` create response. */
226
- agentCreatePlanLimit;
227
- constructor(status, message, code, billing, agentCreatePlanLimit) {
115
+ constructor(status, message, code, billing) {
228
116
  super(message);
229
117
  this.name = "AgentsHttpError";
230
118
  this.status = status;
231
119
  this.code = code;
232
120
  this.billing = billing;
233
- this.agentCreatePlanLimit = agentCreatePlanLimit;
234
121
  }
235
122
  }
236
- /**
237
- * STATUS column for `hq agents list`.
238
- *
239
- * `agentStatus` is the agent's own stored runtime status and is NOT rewritten
240
- * when a teardown starts — an agent that never finished provisioning and is
241
- * now being removed keeps reading `provisioning` until the teardown completes
242
- * and archives it. Observed live on liverecover/sean 2026-09-21: a removal that
243
- * stalled on an object-locked vault bucket sat in the roster as `provisioning`,
244
- * so the operator believed the removal had never been accepted. The roster
245
- * already carries `setupPhase`, so prefer it whenever a teardown is in flight.
246
- */
247
- export function rosterStatusLabel(agent) {
248
- if (agent.setupPhase === "deprovisioning")
249
- return "removing";
250
- if (agent.setupPhase === "deprovisioned")
251
- return "removed";
252
- return agent.agentStatus ?? "";
253
- }
254
123
  /**
255
124
  * Authenticated JSON round-trip against the agents control plane. Throws
256
125
  * `AgentsHttpError` on any non-2xx (never swallows — hq-never-swallow-errors),
@@ -265,7 +134,7 @@ export async function agentsRequest(opts) {
265
134
  // decline copy ("Your card was declined…") while `error` is the generic
266
135
  // "payment required" — error-first would feed surfaceBillingBlocked the
267
136
  // generic string and lose the decline reason (mirrors outpostRequest).
268
- body.message ?? body.error ?? res.statusText, body.code, parseBillingPayload(body), agentCreatePlanLimitFromPayload(res.status, body) ?? undefined);
137
+ body.message ?? body.error ?? res.statusText, body.code, parseBillingPayload(body));
269
138
  }
270
139
  return (await res.json());
271
140
  }
@@ -277,51 +146,6 @@ export function slugifyAgentName(name) {
277
146
  .replace(/[^a-z0-9]+/g, "-")
278
147
  .replace(/^-+|-+$/g, "");
279
148
  }
280
- async function readProvisionSlackTokensFromStdin() {
281
- let value = "";
282
- for await (const chunk of process.stdin)
283
- value += String(chunk);
284
- return value;
285
- }
286
- function parseProvisionSlackTokensFromStdin(value) {
287
- const lines = value
288
- .split(/\r?\n/)
289
- .map((line) => line.trim())
290
- .filter(Boolean);
291
- if (lines.length < 1 || lines.length > 2) {
292
- throw new Error("--slack-tokens-stdin expects one line with the bot token and an optional second line with the Socket Mode app token.");
293
- }
294
- return { botToken: lines[0], ...(lines[1] ? { appToken: lines[1] } : {}) };
295
- }
296
- /**
297
- * Resolve write-only Slack credentials without printing them. Flags are useful
298
- * for automation; HQ_SLACK_BOT_TOKEN/HQ_SLACK_APP_TOKEN and stdin avoid shell
299
- * history. Multiple sources are rejected so the selected credential is clear.
300
- */
301
- export async function resolveProvisionSlackTokens(options, environment = process.env, readStdin = readProvisionSlackTokensFromStdin) {
302
- const optionBotToken = options.slackBotToken?.trim();
303
- const optionAppToken = options.slackAppToken?.trim();
304
- const environmentBotToken = environment.HQ_SLACK_BOT_TOKEN?.trim();
305
- const environmentAppToken = environment.HQ_SLACK_APP_TOKEN?.trim();
306
- const hasFlagOrEnvironment = Boolean(optionBotToken || optionAppToken || environmentBotToken || environmentAppToken);
307
- if (options.slackTokensStdin) {
308
- if (hasFlagOrEnvironment) {
309
- throw new Error("Use --slack-tokens-stdin or the Slack token flags/environment variables, not both.");
310
- }
311
- return parseProvisionSlackTokensFromStdin(await readStdin());
312
- }
313
- if ((optionBotToken || optionAppToken) && (environmentBotToken || environmentAppToken)) {
314
- throw new Error("Use Slack token flags or HQ_SLACK_BOT_TOKEN/HQ_SLACK_APP_TOKEN, not both.");
315
- }
316
- const botToken = optionBotToken || environmentBotToken;
317
- const appToken = optionAppToken || environmentAppToken;
318
- if (!botToken && !appToken)
319
- return undefined;
320
- if (!botToken) {
321
- throw new Error("A Slack app token requires a Slack bot token.");
322
- }
323
- return { botToken, ...(appToken ? { appToken } : {}) };
324
- }
325
149
  /** Closed set shared with hq-pro's agent_create_* funnel contract. */
326
150
  export const CLI_AGENT_CREATE_SURFACE = "cli_agents_create";
327
151
  /** Read hq-pro's company-specific creation prices and capacities. */
@@ -418,7 +242,7 @@ export async function promptForAgentCreateSize(view) {
418
242
  }
419
243
  }
420
244
  /** Confirm creation using the server quote, preserving $0 as a real answer. */
421
- export function confirmAgentCreateQuoteOrExit(option, yes, quiet = false) {
245
+ export function confirmAgentCreateQuoteOrExit(option, yes) {
422
246
  if (option.notBilled || option.netMonthlyCents === 0) {
423
247
  const message = `${option.productName} is ${formatUsd(0)}/month for this company — ` +
424
248
  "there is no per-agent charge.";
@@ -426,26 +250,14 @@ export function confirmAgentCreateQuoteOrExit(option, yes, quiet = false) {
426
250
  console.error(chalk.yellow(`${message}\nRe-run with --yes to confirm agent provisioning.`));
427
251
  process.exit(1);
428
252
  }
429
- if (!quiet) {
430
- console.log(chalk.dim(`${message} Provisioning…`));
431
- }
432
- return;
433
- }
434
- if (!quiet) {
435
- confirmChargeOrExit({
436
- resource: "agent",
437
- unitCents: option.netMonthlyCents,
438
- yes,
439
- });
253
+ console.log(chalk.dim(`${message} Provisioning…`));
440
254
  return;
441
255
  }
442
- if (!yes) {
443
- confirmChargeOrExit({
444
- resource: "agent",
445
- unitCents: option.netMonthlyCents,
446
- yes,
447
- });
448
- }
256
+ confirmChargeOrExit({
257
+ resource: "agent",
258
+ unitCents: option.netMonthlyCents,
259
+ yes,
260
+ });
449
261
  }
450
262
  export async function provisionAgent(token, input) {
451
263
  return agentsRequest({
@@ -469,277 +281,6 @@ export async function getAgentStatus(token, agentUid) {
469
281
  path: `/v1/agents/${encodeURIComponent(agentUid)}/status`,
470
282
  });
471
283
  }
472
- function recordValue(value) {
473
- return value && typeof value === "object" && !Array.isArray(value)
474
- ? value
475
- : null;
476
- }
477
- function nonEmptyString(value) {
478
- return typeof value === "string" && value.trim() ? value.trim() : null;
479
- }
480
- function safeActionUrl(value) {
481
- const raw = nonEmptyString(value);
482
- if (!raw)
483
- return null;
484
- try {
485
- const url = new URL(raw);
486
- return url.protocol === "https:" && !url.username && !url.password ? raw : null;
487
- }
488
- catch {
489
- return null;
490
- }
491
- }
492
- function signInProviderName(url) {
493
- const parsed = new URL(url);
494
- if (parsed.hostname === "auth.openai.com" &&
495
- parsed.pathname.startsWith("/codex/")) {
496
- return "Codex";
497
- }
498
- if (parsed.hostname === "accounts.x.ai")
499
- return "Grok";
500
- if (parsed.hostname.endsWith("anthropic.com"))
501
- return "Claude";
502
- return "your provider";
503
- }
504
- /**
505
- * Brain slot a device sign-in URL belongs to, or null when the provider has no
506
- * per-brain slot (Claude) or the host is unknown.
507
- */
508
- function signInBrainSlot(url) {
509
- const provider = signInProviderName(url);
510
- if (provider === "Grok")
511
- return "grok";
512
- if (provider === "Codex")
513
- return "codex";
514
- return null;
515
- }
516
- /**
517
- * True when the box probe already reports that brain as signed in. A device
518
- * pairing file can outlive the sign-in it started, so the probe — not the
519
- * leftover code — decides whether a human still has work to do.
520
- */
521
- function brainAlreadySignedIn(status, url) {
522
- const slot = signInBrainSlot(url);
523
- if (!slot)
524
- return false;
525
- const brains = recordValue(recordValue(status.agent)?.brains);
526
- return brains?.[slot] === "signed-in";
527
- }
528
- function currentDeviceSignInAction(status) {
529
- const pairing = recordValue(status.pairing);
530
- const url = safeActionUrl(pairing?.url);
531
- if (!url)
532
- return null;
533
- if (brainAlreadySignedIn(status, url))
534
- return null;
535
- const rawCode = nonEmptyString(pairing?.code);
536
- const code = rawCode && /^[A-Z0-9]{4,8}-[A-Z0-9]{4,8}$/i.test(rawCode)
537
- ? rawCode
538
- : undefined;
539
- const provider = signInProviderName(url);
540
- return {
541
- type: provider === "Codex" ? "codex-device-sign-in" : "provider-sign-in",
542
- title: `Sign in to ${provider}`,
543
- summary: `sign in to ${provider}`,
544
- instruction: code
545
- ? "Open this page and enter the code."
546
- : "Open this page and follow the sign-in instructions.",
547
- url,
548
- urlLabel: "Open",
549
- code,
550
- };
551
- }
552
- const SLACK_APP_TOKEN_INSTRUCTION = "Create an app-level token with the connections:write scope, then paste it into HQ. HQ verifies the token and resumes setup; if Slack asks you to install the app, follow the install link shown there.";
553
- function consolePasteUrl(companyKey, agentUid) {
554
- const base = process.env.HQ_CONSOLE_URL?.trim().replace(/\/+$/, "") || "https://hq.computer";
555
- return `${base}/companies/${encodeURIComponent(companyKey)}/agents?setup=${encodeURIComponent(agentUid)}`;
556
- }
557
- function slackAppIdFromSetupState(status) {
558
- const steps = recordValue(status.setupState)?.steps;
559
- if (!Array.isArray(steps))
560
- return null;
561
- for (const step of steps) {
562
- const item = recordValue(step);
563
- if (item?.name !== "channels" || item.status === "done")
564
- continue;
565
- const match = /https:\/\/api\.slack\.com\/apps\/(A[A-Z0-9]+)/.exec(JSON.stringify(item));
566
- if (match)
567
- return match[1];
568
- }
569
- return null;
570
- }
571
- function serverPendingActions(status) {
572
- if (!Array.isArray(status.pendingActions))
573
- return [];
574
- const actions = [];
575
- for (const raw of status.pendingActions) {
576
- const item = recordValue(raw);
577
- const type = nonEmptyString(item?.type);
578
- const title = nonEmptyString(item?.title);
579
- if (!item || !type || !title)
580
- continue;
581
- const url = safeActionUrl(item.url) ?? undefined;
582
- const pasteUrl = safeActionUrl(item.pasteUrl) ?? undefined;
583
- const rawCode = nonEmptyString(item.code);
584
- actions.push({
585
- type,
586
- title,
587
- summary: title.charAt(0).toLowerCase() + title.slice(1),
588
- instruction: nonEmptyString(item.instruction) ?? "Open this page and follow the instructions.",
589
- ...(url ? { url, urlLabel: type === "slack-app-token" ? "Get token" : "Open" } : {}),
590
- ...(pasteUrl ? { pasteUrl } : {}),
591
- ...(rawCode && /^[A-Z0-9]{4,8}-[A-Z0-9]{4,8}$/i.test(rawCode) ? { code: rawCode } : {}),
592
- });
593
- }
594
- return actions;
595
- }
596
- function pendingSlackAction(status, companySlug) {
597
- const agent = recordValue(status.agent);
598
- const configuredSlack = recordValue(recordValue(agent?.channels)?.slack);
599
- const stepAppId = slackAppIdFromSetupState(status);
600
- const appId = nonEmptyString(configuredSlack?.appId) ?? stepAppId;
601
- const agentUid = nonEmptyString(agent?.uid);
602
- const companyUid = nonEmptyString(agent?.companyUid);
603
- const tokenPage = safeActionUrl(configuredSlack?.appTokenPendingUrl) ??
604
- (stepAppId ? `https://api.slack.com/apps/${stepAppId}/general` : null);
605
- if (tokenPage &&
606
- appId && /^A[A-Z0-9]+$/.test(appId) &&
607
- new URL(tokenPage).hostname === "api.slack.com" &&
608
- agentUid && AGENT_UID_PATTERN.test(agentUid) &&
609
- companyUid && /^cmp_[A-Za-z0-9_-]+$/.test(companyUid)) {
610
- const companyUrlKey = companySlug && /^[a-z0-9][a-z0-9-]*$/.test(companySlug)
611
- ? companySlug
612
- : companyUid;
613
- return {
614
- type: "slack-app-token",
615
- title: `Finish ${nonEmptyString(agent?.name) ?? "the agent"}'s Slack connection`,
616
- summary: "connect it to Slack",
617
- instruction: SLACK_APP_TOKEN_INSTRUCTION,
618
- url: `https://api.slack.com/apps/${appId}/general`,
619
- urlLabel: "Get token",
620
- pasteUrl: consolePasteUrl(companyUrlKey, agentUid),
621
- };
622
- }
623
- const diagnostics = recordValue(agent?.channelDiagnostics);
624
- const slack = recordValue(diagnostics?.slack);
625
- const url = safeActionUrl(slack?.pendingInstallUrl);
626
- if (!url)
627
- return null;
628
- if (slack?.inboundCapability === "socket-mode-degraded") {
629
- return {
630
- type: "slack-app-token",
631
- title: "Finish setting up the Slack app",
632
- summary: "finish setting up the Slack app",
633
- instruction: "Open this page, create the app-level token, then provide it in the agent's Slack setup.",
634
- url,
635
- urlLabel: "Open",
636
- ...(agentUid && AGENT_UID_PATTERN.test(agentUid) && companyUid && /^cmp_[A-Za-z0-9_-]+$/.test(companyUid)
637
- ? {
638
- pasteUrl: consolePasteUrl(companySlug && /^[a-z0-9][a-z0-9-]*$/.test(companySlug) ? companySlug : companyUid, agentUid),
639
- }
640
- : {}),
641
- };
642
- }
643
- if (slack?.inboundCapability !== "pending-install")
644
- return null;
645
- return {
646
- type: "slack-install",
647
- title: "Install the Slack app",
648
- summary: "install the Slack app so it can talk to your workspace",
649
- instruction: "Open this link and install the app in your workspace.",
650
- url,
651
- urlLabel: "Install",
652
- };
653
- }
654
- /**
655
- * The server owns action detection. This client converts its safe, current
656
- * status fields into a list so another operator action can be added without
657
- * changing the renderers or command control flow.
658
- */
659
- function pendingOperatorActions(status, companySlug) {
660
- const fromServer = serverPendingActions(status);
661
- if (fromServer.length > 0)
662
- return fromServer;
663
- return [
664
- currentDeviceSignInAction(status),
665
- pendingSlackAction(status, companySlug),
666
- ].filter((action) => action !== null);
667
- }
668
- async function consoleCompanySlug(token, status, companyRef) {
669
- if (companyRef && /^[a-z0-9][a-z0-9-]*$/.test(companyRef))
670
- return companyRef;
671
- const agent = recordValue(status.agent);
672
- const slack = recordValue(recordValue(agent?.channels)?.slack);
673
- if (!slack?.appTokenPendingUrl && !slackAppIdFromSetupState(status))
674
- return undefined;
675
- const companyUid = nonEmptyString(agent?.companyUid);
676
- if (!companyUid)
677
- return undefined;
678
- try {
679
- const response = await vaultApiFetch({
680
- token,
681
- path: "/membership/me",
682
- signal: AbortSignal.timeout(10_000),
683
- });
684
- if (!response.ok)
685
- return undefined;
686
- const body = recordValue(await response.json());
687
- const memberships = Array.isArray(body?.memberships) ? body.memberships : [];
688
- const membership = memberships.map(recordValue).find((item) => item?.companyUid === companyUid && item?.status === "active");
689
- const slug = nonEmptyString(membership?.companySlug);
690
- return slug && /^[a-z0-9][a-z0-9-]*$/.test(slug) ? slug : undefined;
691
- }
692
- catch {
693
- return undefined;
694
- }
695
- }
696
- function pendingActionsJson(actions) {
697
- return actions.map(({ type, title, instruction, url, pasteUrl, code }) => ({
698
- type,
699
- title,
700
- instruction,
701
- ...(url ? { url } : {}),
702
- ...(pasteUrl ? { pasteUrl } : {}),
703
- ...(code ? { code } : {}),
704
- }));
705
- }
706
- function statusAgentSlug(status) {
707
- return nonEmptyString(recordValue(status.agent)?.slug);
708
- }
709
- /** The provision endpoint returns this nested identity; old response shapes omit it. */
710
- function provisionedAgentIdentity(result) {
711
- const agent = recordValue(result.agent);
712
- const uid = nonEmptyString(agent?.uid) ?? nonEmptyString(agent?.agentUid);
713
- const slug = nonEmptyString(agent?.slug);
714
- return uid && slug ? { uid, slug } : null;
715
- }
716
- function printPendingOperatorActions(slug, actions) {
717
- if (actions.length === 0)
718
- return;
719
- const first = actions[0];
720
- console.log(chalk.yellow(actions.length === 1
721
- ? `Your agent's box is up. One step left: ${first.summary}.`
722
- : "Your agent's box is up. A few steps remain before it can talk to your workspace."));
723
- for (const action of actions) {
724
- console.log("");
725
- console.log(chalk.bold(`${action.title}:`));
726
- console.log(action.instruction);
727
- if (action.url)
728
- console.log(chalk.cyan(`${action.urlLabel ?? "Open"}: ${action.url}`));
729
- if (action.pasteUrl)
730
- console.log(chalk.cyan(`Paste token: ${action.pasteUrl}`));
731
- if (action.code)
732
- console.log(chalk.bold(`Code: ${action.code}`));
733
- }
734
- const currentCodeHint = actions.some((action) => action.code)
735
- ? "current sign-in code and instructions"
736
- : "these instructions";
737
- const statusCommand = slug
738
- ? `Run \`hq agents status ${slug}\` any time to get ${currentCodeHint} again.`
739
- : `Run \`hq agents status\` again any time to get ${currentCodeHint}.`;
740
- console.log("");
741
- console.log(chalk.dim(`Until that's done, the agent will show as still setting up. ${statusCommand}`));
742
- }
743
284
  export async function patchAgentProfile(token, agentUid, patch) {
744
285
  return agentsRequest({
745
286
  token,
@@ -763,54 +304,6 @@ export async function startStopAgent(token, agentUid, action) {
763
304
  method: "POST",
764
305
  });
765
306
  }
766
- /** Submit a human-provided Claude subscription code through hq-pro's route. */
767
- export async function submitAgentLoginCode(token, agentUid, code) {
768
- return agentsRequest({
769
- token,
770
- path: `/v1/agents/${encodeURIComponent(agentUid)}/login-code`,
771
- method: "POST",
772
- body: { code },
773
- });
774
- }
775
- async function readLoginCode(code) {
776
- let value = code;
777
- if (value === undefined) {
778
- if (process.stdin.isTTY) {
779
- console.error("Enter the Claude sign-in code, then press Enter:");
780
- }
781
- const rl = readline.createInterface({ input: process.stdin });
782
- try {
783
- value = await new Promise((resolve, reject) => {
784
- rl.once("error", reject);
785
- rl.once("close", () => resolve(""));
786
- rl.question("", resolve);
787
- });
788
- }
789
- finally {
790
- rl.close();
791
- }
792
- }
793
- const trimmed = value.trim();
794
- if (!trimmed) {
795
- throw new Error("Claude sign-in code required. Pass it as an argument or provide it on stdin.");
796
- }
797
- return trimmed;
798
- }
799
- function redactLoginCode(message, code) {
800
- return code ? message.split(code).join("[redacted]") : message;
801
- }
802
- function agentConsoleResolveUrl(agentUid) {
803
- const apiUrl = process.env.HQ_VAULT_API_URL?.trim() || DEFAULT_VAULT_API_URL;
804
- const origin = consoleOrigin(apiUrl);
805
- if (!origin)
806
- return undefined;
807
- // Keep the owner's canonical production sign-in URL while honoring an
808
- // explicit console override or deriving the console for another API host.
809
- const consoleBase = !process.env.HQ_CONSOLE_URL?.trim() && origin === "https://hq.computer"
810
- ? "https://hq.getindigo.ai"
811
- : origin;
812
- return `${consoleBase}/resolve/agents/${encodeURIComponent(agentUid)}`;
813
- }
814
307
  export async function openAgentTerminal(token, agentUid, body) {
815
308
  return agentsRequest({
816
309
  token,
@@ -826,14 +319,11 @@ export async function retryAgent(token, agentUid) {
826
319
  method: "POST",
827
320
  });
828
321
  }
829
- export async function deprovisionAgent(token, agentUid, confirmDestroyAgentsV2) {
322
+ export async function deprovisionAgent(token, agentUid) {
830
323
  return agentsRequest({
831
324
  token,
832
325
  path: `/v1/agents/${encodeURIComponent(agentUid)}`,
833
326
  method: "DELETE",
834
- body: confirmDestroyAgentsV2 === undefined
835
- ? undefined
836
- : { confirmDestroyAgentsV2 },
837
327
  });
838
328
  }
839
329
  export async function listAgentJobs(token, agentUid) {
@@ -850,13 +340,6 @@ export async function pauseAgentJob(token, agentUid, jobId) {
850
340
  method: "POST",
851
341
  });
852
342
  }
853
- export async function resumeAgentJob(token, agentUid, jobId) {
854
- return agentsRequest({
855
- token,
856
- path: `/v1/agents/${encodeURIComponent(agentUid)}/jobs/${encodeURIComponent(jobId)}/resume`,
857
- method: "POST",
858
- });
859
- }
860
343
  export async function cancelAgentJob(token, agentUid, jobId) {
861
344
  return agentsRequest({
862
345
  token,
@@ -873,7 +356,7 @@ export async function cancelAgentJob(token, agentUid, jobId) {
873
356
  * the agent is cross-company) must print a clear message and exit non-zero,
874
357
  * never throw a stack trace.
875
358
  */
876
- export function formatJobsHttpError(err, jobId, action) {
359
+ export function formatJobsHttpError(err, jobId) {
877
360
  if (err.status === 401)
878
361
  return "Not authenticated — run `hq login`.";
879
362
  // A 403 CROSS_AGENT_JOB is hq-pro's self-only jobs guard, not a role problem:
@@ -883,17 +366,12 @@ export function formatJobsHttpError(err, jobId, action) {
883
366
  // closed locally before the request, see crossAgentJobsRefusal).
884
367
  if (err.status === 403 && err.code === "CROSS_AGENT_JOB") {
885
368
  return ("Jobs are scoped to the calling agent's own identity — an agent may only " +
886
- "list, pause, resume, or cancel its OWN jobs (use the on-box `hq-agent-jobs` tool). " +
369
+ "list, pause, or cancel its OWN jobs (use the on-box `hq-agent-jobs` tool). " +
887
370
  "Managing another agent's jobs needs a person session with owner/admin on " +
888
371
  "the company.");
889
372
  }
890
373
  if (err.status === 403)
891
374
  return "You need owner/admin on this company.";
892
- if (action === "resume" &&
893
- err.status === 404 &&
894
- (err.code === "JOB_NOT_FOUND" || err.code === "SCHEDULE_NOT_FOUND")) {
895
- return "job not found or its schedule was deleted; it cannot be resumed";
896
- }
897
375
  if (err.status === 404 && err.code === "JOB_NOT_FOUND") {
898
376
  const id = jobId ?? extractQuotedJobId(err.message) ?? "unknown";
899
377
  return `Job '${id}' not found.`;
@@ -922,7 +400,7 @@ export function formatJobsTable(jobs) {
922
400
  j.lastRunOutcome ?? "-",
923
401
  j.status ?? "",
924
402
  ]);
925
- const widths = cols.map((c, i) => maxLength(rows, (row) => row[i].length, c.length));
403
+ const widths = cols.map((c, i) => Math.max(c.length, ...rows.map((r) => r[i].length)));
926
404
  const render = (cells) => cells.map((cell, i) => cell.padEnd(widths[i])).join(" ");
927
405
  return [chalk.bold(render(cols)), ...rows.map(render)].join("\n");
928
406
  }
@@ -932,62 +410,20 @@ export function formatPauseResult(result) {
932
410
  const from = result.previousState ?? "ENABLED";
933
411
  return `Paused ${result.jobId} (${from} → ${result.scheduleState})`;
934
412
  }
935
- export function formatResumeResult(result) {
936
- if (!result.changed)
937
- return "Already active";
938
- const from = result.previousState ?? "DISABLED";
939
- return `Resumed ${result.jobId} (${from} → ${result.scheduleState})`;
940
- }
941
413
  /** Human-readable "hot-applied to the running box" vs "saved for next launch". */
942
414
  export function appliedHint(applied) {
943
415
  return applied
944
416
  ? "applied to the running box now"
945
417
  : "saved — takes effect on the agent's next launch";
946
418
  }
947
- async function validateAgentModelOption(token, chosenProvider, modelId) {
948
- const result = await readAgentModelCatalog(token);
949
- if (!result.ok) {
950
- if (result.reason === "unavailable") {
951
- console.error(chalk.yellow("model validation skipped: catalog unavailable (the server still validates)."));
952
- return;
953
- }
954
- throw new Error(`Could not read the model catalog (HTTP ${result.status}). Check your hq login and try again.`);
955
- }
956
- if (result.source === "cache") {
957
- console.error(chalk.yellow(`Model catalog unavailable; validating against the cached catalog from ${new Date(result.fetchedAt).toISOString()}.`));
958
- }
959
- const selection = validateAgentModelSelection(result.catalog, modelId, chosenProvider);
960
- if (!selection.ok) {
961
- throw new Error(modelSelectionErrorMessage(modelId, selection));
962
- }
963
- }
964
- /** Stable human table shared by the all-provider and provider-filtered forms. */
965
- export function formatAgentModelsTable(catalog, selectedProvider) {
966
- const providers = selectedProvider ? [selectedProvider] : AGENT_MODEL_PROVIDERS;
967
- const sections = providers.map((provider) => {
968
- const view = catalog.providers[provider];
969
- const columns = ["ID", "LABEL", "DEFAULT", "NEW", "AVAILABILITY"];
970
- const rows = view.models.map((model) => [
971
- model.id,
972
- model.label,
973
- model.id === view.defaultModel ? "yes" : "",
974
- model.isNew ? "yes" : "",
975
- model.selectable ? "available" : "not yet on agents",
976
- ]);
977
- const widths = columns.map((column, index) => Math.max(column.length, ...rows.map((row) => row[index].length)));
978
- const render = (cells) => cells.map((cell, index) => cell.padEnd(widths[index])).join(" ").trimEnd();
979
- return [
980
- chalk.bold(provider.toUpperCase()),
981
- render(columns),
982
- ...rows.map(render),
983
- ].join("\n");
984
- });
985
- return sections.join("\n\n");
986
- }
987
- function catalogUnavailableMessage() {
988
- return ("Model catalog is unavailable and no cached copy exists. " +
989
- "Check your connection and try again after model-catalog.serve is enabled.");
990
- }
419
+ // ---------------------------------------------------------------------------
420
+ // Talking to agents (DM). Agents are members addressable over HQ's DM system:
421
+ // a message rides `POST /v1/notify/dm` (the wire contract accepts `agt_*`), the
422
+ // agent's box picks it up and replies over DM (a first-class agent reply
423
+ // channel), and the two-way conversation is read back via `GET /v1/notify/thread`.
424
+ // ---------------------------------------------------------------------------
425
+ /** Agent uid shape (`agt_…`). */
426
+ const AGENT_UID_PATTERN = /^agt_[A-Za-z0-9_-]+$/;
991
427
  /**
992
428
  * Resolve an agent reference to its `agt_` uid. An `agt_…` value is used
993
429
  * directly; anything else is treated as a slug or display name and resolved
@@ -1082,9 +518,6 @@ async function resolveJobsTargetOrExit(ref, company) {
1082
518
  }
1083
519
  /** Send a DM to an agent. Returns nothing meaningful beyond success. */
1084
520
  export async function sendAgentDm(token, agentUid, message) {
1085
- if (!isAgentUid(agentUid)) {
1086
- throw new Error(`Invalid agent recipient '${agentUid}': expected an agt_ uid.`);
1087
- }
1088
521
  await agentsRequest({
1089
522
  token,
1090
523
  path: "/v1/notify/dm",
@@ -1117,59 +550,6 @@ function shortTime(iso) {
1117
550
  function sleep(ms) {
1118
551
  return new Promise((resolve) => setTimeout(resolve, ms));
1119
552
  }
1120
- /**
1121
- * POST /v1/agents/{uid}/rotate — invalidate the current secret and host key
1122
- * and issue a fresh one-time enrollment code (returned exactly once).
1123
- */
1124
- export async function rotateAgent(token, agentUid) {
1125
- const data = await agentsRequest({
1126
- token,
1127
- path: `/v1/agents/${encodeURIComponent(agentUid)}/rotate`,
1128
- method: "POST",
1129
- });
1130
- const e = data.enrollment ?? {};
1131
- if (typeof e.code !== "string" || !e.code) {
1132
- throw new AgentsHttpError(502, "rotate succeeded but the response carried no enrollment code");
1133
- }
1134
- return {
1135
- agentUid: data.agentUid ?? agentUid,
1136
- enrollment: {
1137
- code: e.code,
1138
- expiresAt: typeof e.expiresAt === "string" ? e.expiresAt : "",
1139
- enrollmentId: typeof e.enrollmentId === "string" ? e.enrollmentId : "",
1140
- },
1141
- };
1142
- }
1143
- /** Display form of a 24-char code: six groups of four. */
1144
- export function groupEnrollmentCode(code) {
1145
- const flat = code.replace(/[\s-]+/g, "").toUpperCase();
1146
- return flat.match(/.{1,4}/g)?.join("-") ?? flat;
1147
- }
1148
- /**
1149
- * POST /v1/agents/{uid}/revoke — disable the Cognito user, drop membership,
1150
- * mark the enrollment revoked; `remove` also deletes the entity.
1151
- */
1152
- export async function revokeAgent(token, agentUid, remove) {
1153
- const data = await agentsRequest({
1154
- token,
1155
- path: `/v1/agents/${encodeURIComponent(agentUid)}/revoke`,
1156
- method: "POST",
1157
- body: { remove },
1158
- });
1159
- return { removed: data.removed === true || remove };
1160
- }
1161
- /** Lines printed after a rotate: the code is shown once and never stored. */
1162
- export function formatRotateOutput(result) {
1163
- const lines = [
1164
- `Rotated ${result.agentUid}. The old secret and host key no longer mint.`,
1165
- "",
1166
- ` enrollment code: ${groupEnrollmentCode(result.enrollment.code)}`,
1167
- ];
1168
- if (result.enrollment.expiresAt)
1169
- lines.push(` expires: ${result.enrollment.expiresAt} (15 minutes)`);
1170
- lines.push("", "Shown once. On the agent's host run:", ` hq agent enroll ${groupEnrollmentCode(result.enrollment.code)} --replace`, " hq agent probe");
1171
- return lines;
1172
- }
1173
553
  // ---------------------------------------------------------------------------
1174
554
  // Command registration
1175
555
  // ---------------------------------------------------------------------------
@@ -1197,9 +577,9 @@ function fail(err) {
1197
577
  }
1198
578
  process.exit(1);
1199
579
  }
1200
- function failJobs(err, jobId, action) {
580
+ function failJobs(err, jobId) {
1201
581
  if (err instanceof AgentsHttpError) {
1202
- console.error(chalk.red(formatJobsHttpError(err, jobId, action)));
582
+ console.error(chalk.red(formatJobsHttpError(err, jobId)));
1203
583
  process.exit(1);
1204
584
  }
1205
585
  fail(err);
@@ -1222,16 +602,9 @@ export function registerAgentsCommand(program) {
1222
602
  bySubcommand: {
1223
603
  message: { capability: "agents:use", routeAvailable: false },
1224
604
  thread: { capability: "agents:use", routeAvailable: false },
1225
- // The catalog read endpoint is JWT-only; hq-pro has no keyed parallel.
1226
- models: { capability: "agents:use", routeAvailable: false },
1227
605
  // Interactive terminals are for humans: hq-pro serves no keyed
1228
606
  // `/v1/keys/agents/{uid}/terminal` route, so machine keys fail closed.
1229
607
  terminal: { capability: "agents:use", routeAvailable: false },
1230
- // External-agent lifecycle is an admin action on the JWT-only
1231
- // /v1/agents/{uid}/rotate|revoke routes (api-contract v1); no keyed
1232
- // parallel exists, so machine keys fail closed here too.
1233
- rotate: { capability: "agents:use", routeAvailable: false },
1234
- revoke: { capability: "agents:use", routeAvailable: false },
1235
608
  },
1236
609
  });
1237
610
  // `--company` may live on the group or the subcommand; the subcommand value
@@ -1239,43 +612,6 @@ export function registerAgentsCommand(program) {
1239
612
  // `hq agents --company acme list`.
1240
613
  const companyOf = (sub) => sub.opts().company ??
1241
614
  agents.opts().company;
1242
- agents
1243
- .command("models")
1244
- .description("List the model catalog available to cloud agents")
1245
- .option("--provider <provider>", "Filter to one provider: codex, grok, or claude")
1246
- .option("--json", "Print the stable catalog JSON shape")
1247
- .action(async (opts) => {
1248
- try {
1249
- const token = (await resolveVaultCredential()).token;
1250
- const result = await readAgentModelCatalog(token);
1251
- if (!result.ok) {
1252
- if (result.reason === "request_failed") {
1253
- throw new Error(`Could not read the model catalog (HTTP ${result.status}). Check your hq login and try again.`);
1254
- }
1255
- console.error(chalk.red(catalogUnavailableMessage()));
1256
- process.exit(1);
1257
- }
1258
- if (result.source === "cache") {
1259
- console.error(chalk.yellow(`Model catalog unavailable; showing cached catalog from ${new Date(result.fetchedAt).toISOString()}.`));
1260
- }
1261
- const providers = opts.provider
1262
- ? { [opts.provider]: result.catalog.providers[opts.provider] }
1263
- : result.catalog.providers;
1264
- if (opts.json) {
1265
- // Stable shape: { generatedAt, providers }. A provider filter selects
1266
- // one key but never changes or flattens the response envelope.
1267
- process.stdout.write(JSON.stringify({ generatedAt: result.catalog.generatedAt, providers }, null, 2) + "\n");
1268
- return;
1269
- }
1270
- console.log(formatAgentModelsTable(result.catalog, opts.provider));
1271
- }
1272
- catch (err) {
1273
- fail(err);
1274
- }
1275
- });
1276
- agents.commands.find((command) => command.name() === "models")
1277
- ?.options.find((option) => option.long === "--provider")
1278
- ?.choices(AGENT_MODEL_PROVIDERS);
1279
615
  agents
1280
616
  .command("message <agent> <message...>")
1281
617
  .alias("msg")
@@ -1428,56 +764,31 @@ export function registerAgentsCommand(program) {
1428
764
  });
1429
765
  agents
1430
766
  .command("provision <name>")
1431
- .aliases(["new", "create"])
767
+ .alias("new")
1432
768
  .description("Provision a new cloud agent (company-specific monthly price shown before creation)")
1433
769
  .option("--company <slug>", "Company slug (resolves to companyUid)")
1434
770
  .option("--slug <slug>", "Agent slug (defaults to a slug of <name>)")
1435
- .option("--provider <provider>", "Runtime: agents-v2 (recommended) | codex | grok | claude (accepted for script compatibility; use agents-v2 for new Claude agents)")
1436
- .option("--model <model>", "Brain model from `hq agents models`")
771
+ .option("--provider <provider>", "Runtime: codex | grok | claude | agents-v2 (default codex). claude is subscription-only; agents-v2 boots its brain box (codex, or grok via a grok-* model) and receives the v2 runtime post-boot")
1437
772
  .option("--auth-mode <mode>", "Auth: subscription | apiKey (default subscription)", "subscription")
1438
773
  .option("--api-key-env <VAR>", "Env var holding the API key for --auth-mode apiKey (never pass the key as a flag)")
1439
- .option("--slack-bot-token <xoxb-token>", "Reuse an existing Slack bot token; HQ_SLACK_BOT_TOKEN or --slack-tokens-stdin avoid shell history")
1440
- .option("--slack-app-token <xapp-token>", "Socket Mode app token for --provider agents-v2; HQ_SLACK_APP_TOKEN or --slack-tokens-stdin avoid shell history")
1441
- .option("--slack-tokens-stdin", "Read the bot token and optional app token from one or two stdin lines")
1442
774
  .option("--title <title>", "Org-chart job title")
1443
775
  .option("--description <text>", "Short description / bio")
1444
776
  .option("--size <size>", "Agent box size: basic | power | dev (omitted keeps the current default)")
1445
777
  .option("--yes", "Confirm the quoted monthly cost and provision the agent")
1446
- .option("--json", "Emit machine-readable output and never open a browser")
1447
- .addHelpText("after", `\n${claudeProvisionGuidance()}\n`)
1448
778
  .action(async function (name, opts) {
1449
779
  try {
1450
- const slug = opts.slug ?? slugifyAgentName(name);
1451
- if (!AGENT_SLUG_PATTERN.test(slug)) {
1452
- console.error(chalk.red("Agent slug must start with a lowercase letter or digit, contain only lowercase letters, digits, and hyphens, and be at most 63 characters. " +
1453
- "Update --slug or the agent name."));
1454
- process.exit(1);
1455
- }
1456
780
  // Both of these previously fell back to their default on an
1457
781
  // unrecognised value, silently provisioning a billable box the operator
1458
782
  // did not ask for. They now exit(1) instead — see parseEnumOption.
1459
783
  const authMode = parseEnumOption(opts.authMode, VALID_AUTH_MODES, "--auth-mode") ?? "subscription";
1460
- const explicitProvider = parseEnumOption(opts.provider, VALID_PROVIDERS, "--provider");
1461
- if (opts.model !== undefined &&
1462
- !/^[A-Za-z0-9._-]{1,64}$/.test(opts.model)) {
1463
- console.error(chalk.red("--model must be a model identifier (letters, digits, dot, dash, underscore; max 64 chars)."));
1464
- process.exit(1);
1465
- }
1466
- const provider = explicitProvider ?? (opts.model ? "agents-v2" : undefined);
1467
- const slackTokens = await resolveProvisionSlackTokens(opts);
1468
- if (slackTokens?.appToken && provider !== "agents-v2") {
1469
- throw new Error("A Slack app token can only be supplied with --provider agents-v2 for Socket Mode.");
1470
- }
1471
- if (slackTokens && provider === "agents-v2" && !slackTokens.appToken) {
1472
- throw new Error("--provider agents-v2 requires a Slack app token when reusing a Slack bot token.");
1473
- }
784
+ const provider = parseEnumOption(opts.provider, VALID_PROVIDERS, "--provider");
1474
785
  // claude is subscription-only on hq-pro (rejectIncompatibleProviderAuthMode
1475
786
  // returns AGENT_PROVIDER_INCOMPATIBLE_WITH_AUTH_MODE). Catch it here so the
1476
787
  // operator gets a direct message instead of a 400 from the control plane
1477
788
  // AFTER clearing the charge gate. The server stays authoritative; this is
1478
789
  // only a friendlier, earlier copy of the same rule.
1479
790
  if (provider === "claude" && authMode === "apiKey") {
1480
- console.error(chalk.red(`Use agents-v2 for new Claude agents. The claude provider remains accepted for script compatibility.\n${claudeProvisionGuidance()}`));
791
+ console.error(chalk.red("The claude provider is subscription-only — drop --auth-mode apiKey."));
1481
792
  process.exit(1);
1482
793
  }
1483
794
  // Resolve the API key from the environment (never from a flag value) when
@@ -1498,9 +809,6 @@ export function registerAgentsCommand(program) {
1498
809
  }
1499
810
  const token = (await resolveVaultCredential()).token;
1500
811
  const companyUid = await getCompanyUid(token, companyOf(this));
1501
- if (opts.model !== undefined) {
1502
- await validateAgentModelOption(token, provider, opts.model);
1503
- }
1504
812
  const idempotencyKey = `hq-cli-${randomUUID()}`;
1505
813
  const sizeKey = parseEnumOption(opts.size, VALID_AGENT_SIZE_KEYS, "--size");
1506
814
  const shouldChooseInteractively = !sizeKey && process.stdin.isTTY === true;
@@ -1510,12 +818,13 @@ export function registerAgentsCommand(program) {
1510
818
  : shouldChooseInteractively
1511
819
  ? await promptForAgentCreateSize(createOptions)
1512
820
  : requireDefaultAgentCreateSize(createOptions);
1513
- if (!shouldChooseInteractively && !opts.json) {
821
+ if (!shouldChooseInteractively) {
1514
822
  console.log(chalk.dim(formatAgentCreateSize(quotedSize)));
1515
823
  }
1516
824
  // Every path confirms hq-pro's company-specific quote. Omission still
1517
825
  // leaves the POST size implicit, preserving the server-side default.
1518
- confirmAgentCreateQuoteOrExit(quotedSize, opts.yes, opts.json);
826
+ confirmAgentCreateQuoteOrExit(quotedSize, opts.yes);
827
+ const slug = opts.slug ?? slugifyAgentName(name);
1519
828
  try {
1520
829
  const result = await provisionAgent(token, {
1521
830
  companyUid,
@@ -1523,12 +832,7 @@ export function registerAgentsCommand(program) {
1523
832
  slug,
1524
833
  codexAuthMode: authMode,
1525
834
  ...(provider ? { provider } : {}),
1526
- ...(opts.model ? { codexModel: opts.model } : {}),
1527
835
  ...(codexApiKey ? { codexApiKey } : {}),
1528
- ...(slackTokens ? { slackBotToken: slackTokens.botToken } : {}),
1529
- ...(slackTokens?.appToken
1530
- ? { slackAppToken: slackTokens.appToken }
1531
- : {}),
1532
836
  idempotencyKey,
1533
837
  ...(opts.title ? { title: opts.title } : {}),
1534
838
  ...(opts.description ? { description: opts.description } : {}),
@@ -1544,79 +848,11 @@ export function registerAgentsCommand(program) {
1544
848
  quoteCatalogVersion: createOptions.catalogVersion,
1545
849
  surface: CLI_AGENT_CREATE_SURFACE,
1546
850
  });
1547
- const identity = provisionedAgentIdentity(result);
1548
- const claudeSignIn = provider === "agents-v2" &&
1549
- authMode === "subscription" &&
1550
- opts.model?.toLowerCase().startsWith("claude-") &&
1551
- identity
1552
- ? {
1553
- consoleUrl: agentConsoleResolveUrl(identity.uid) ?? null,
1554
- loginCodeCommand: `hq agents login-code ${identity.uid}`,
1555
- }
1556
- : undefined;
1557
- const status = identity
1558
- ? await getAgentStatus(token, identity.uid)
1559
- : null;
1560
- const actions = status
1561
- ? pendingOperatorActions(status, await consoleCompanySlug(token, status, companyOf(this)))
1562
- : [];
1563
- const slackInstall = actions.find((action) => action.type === "slack-install");
1564
- if (opts.json) {
1565
- console.log(JSON.stringify({
1566
- ...result,
1567
- ...(actions.length > 0
1568
- ? { pendingActions: pendingActionsJson(actions) }
1569
- : {}),
1570
- ...(slackInstall?.url
1571
- ? {
1572
- slackInstallPending: true,
1573
- slackInstallUrl: slackInstall.url,
1574
- }
1575
- : {}),
1576
- ...(claudeSignIn ? { claudeSignIn } : {}),
1577
- }));
1578
- }
1579
- else {
1580
- console.log(chalk.green(`Provisioning started for agent "${name}".`));
1581
- if (claudeSignIn) {
1582
- if (claudeSignIn.consoleUrl) {
1583
- console.log(chalk.yellow(`To sign in, open ${claudeSignIn.consoleUrl}, authorize Claude, then paste the code on that page.`));
1584
- }
1585
- else {
1586
- console.log(chalk.yellow("The console URL for this control plane is unknown. Set HQ_CONSOLE_URL to configure it."));
1587
- }
1588
- console.log(chalk.dim(`A human CLI session can also submit the code with: ${claudeSignIn.loginCodeCommand}`));
1589
- }
1590
- if (actions.length > 0) {
1591
- printPendingOperatorActions(identity?.slug ?? null, actions);
1592
- }
1593
- else {
1594
- console.log(chalk.dim(`Track setup: hq agents status ${identity?.slug ?? slug} --company <slug>`));
1595
- }
1596
- }
851
+ const uid = typeof result.uid === "string" ? result.uid : slug;
852
+ console.log(chalk.green(`Provisioning started for agent "${name}".`));
853
+ console.log(chalk.dim(`Track setup: hq agents status ${uid} --company <slug>`));
1597
854
  }
1598
855
  catch (err) {
1599
- if (provider === "claude" &&
1600
- err instanceof AgentsHttpError &&
1601
- err.code === "LEGACY_MANAGED_PROVIDER_RETIRED") {
1602
- throw new Error(`${err.message}\n\n${claudeProvisionGuidance()}`);
1603
- }
1604
- if (err instanceof AgentsHttpError &&
1605
- err.status === 403 &&
1606
- err.code === "AGENT_PLAN_LIMIT") {
1607
- if (!err.agentCreatePlanLimit) {
1608
- throw new Error("HQ Pro returned an unrecognized agent payment-required response.");
1609
- }
1610
- await surfaceAgentCreatePlanLimit(err.agentCreatePlanLimit, {
1611
- ...opts,
1612
- companyUid,
1613
- });
1614
- // Keep the payment-required status through normal CLI teardown.
1615
- // Unlike process.exit(), this is testable and cannot be caught by
1616
- // this action's outer error boundary as a generic failure.
1617
- process.exitCode = AGENT_CREATE_PAYMENT_REQUIRED_EXIT_CODE;
1618
- return;
1619
- }
1620
856
  // No card on file → surface the shareable payment link instead of an
1621
857
  // opaque 402, then exit non-zero so scripts can react.
1622
858
  if (err instanceof AgentsHttpError &&
@@ -1632,32 +868,6 @@ export function registerAgentsCommand(program) {
1632
868
  fail(err);
1633
869
  }
1634
870
  });
1635
- agents
1636
- .command("login-code <agentUid> [code]")
1637
- .description("Submit a Claude subscription sign-in code for an agent")
1638
- .action(async (agentUid, codeArg) => {
1639
- let code = "";
1640
- try {
1641
- code = await readLoginCode(codeArg);
1642
- const token = (await resolveVaultCredential()).token;
1643
- await submitAgentLoginCode(token, agentUid, code);
1644
- console.log(chalk.green(`Sent the Claude sign-in code to agent ${agentUid}.`));
1645
- }
1646
- catch (err) {
1647
- if (err instanceof AgentsHttpError &&
1648
- err.status === 403 &&
1649
- err.code === "OUTPOST_ACCOUNT_MANAGEMENT_FORBIDDEN") {
1650
- const consoleUrl = agentConsoleResolveUrl(agentUid);
1651
- console.error(chalk.yellow(consoleUrl
1652
- ? `A person must paste this code in the agent console: ${consoleUrl}`
1653
- : "A person must paste this code in the agent console. Set HQ_CONSOLE_URL to configure it for this control plane."));
1654
- process.exit(1);
1655
- }
1656
- const detail = err instanceof Error ? err.message : String(err);
1657
- console.error(chalk.red(`Could not submit Claude sign-in code: ${redactLoginCode(detail, code)}`));
1658
- process.exit(1);
1659
- }
1660
- });
1661
871
  agents
1662
872
  .command("list")
1663
873
  .description("List the company's agents")
@@ -1691,7 +901,7 @@ export function registerAgentsCommand(program) {
1691
901
  }
1692
902
  const nameW = Math.max(4, ...roster.map((a) => (a.name ?? "").length));
1693
903
  const slugW = Math.max(4, ...roster.map((a) => (a.slug ?? "").length));
1694
- const statusW = Math.max(6, ...roster.map((a) => rosterStatusLabel(a).length));
904
+ const statusW = Math.max(6, ...roster.map((a) => (a.agentStatus ?? "").length));
1695
905
  const modelW = Math.max(5, ...roster.map((a) => (a.codexModel ?? "").length));
1696
906
  console.log(chalk.bold([
1697
907
  "NAME".padEnd(nameW),
@@ -1704,7 +914,7 @@ export function registerAgentsCommand(program) {
1704
914
  console.log([
1705
915
  (a.name ?? "").padEnd(nameW),
1706
916
  (a.slug ?? "").padEnd(slugW),
1707
- rosterStatusLabel(a).padEnd(statusW),
917
+ (a.agentStatus ?? "").padEnd(statusW),
1708
918
  (a.codexModel ?? "").padEnd(modelW),
1709
919
  a.uid,
1710
920
  ].join(" "));
@@ -1715,28 +925,16 @@ export function registerAgentsCommand(program) {
1715
925
  }
1716
926
  });
1717
927
  agents
1718
- .command("status <agent>")
928
+ .command("status <agentUid>")
1719
929
  .description("Show an agent's setup state and runtime detail")
1720
930
  .option("--company <slug>", "Company slug (resolves to companyUid)")
1721
931
  .option("--json", "Emit raw JSON")
1722
- .action(async function (agent, opts) {
932
+ .action(async function (agentUid, opts) {
1723
933
  try {
1724
934
  const token = (await resolveVaultCredential()).token;
1725
- const agentUid = await resolveAgentUid(token, agent, companyOf(this));
1726
935
  const status = await getAgentStatus(token, agentUid);
1727
- const actions = pendingOperatorActions(status, await consoleCompanySlug(token, status, companyOf(this)));
1728
936
  if (opts.json) {
1729
- process.stdout.write(JSON.stringify({
1730
- ...status,
1731
- ...(actions.length > 0
1732
- ? { pendingActions: pendingActionsJson(actions) }
1733
- : {}),
1734
- }, null, 2) + "\n");
1735
- return;
1736
- }
1737
- if (actions.length > 0) {
1738
- printPendingOperatorActions(statusAgentSlug(status) ??
1739
- (AGENT_UID_PATTERN.test(agent.trim()) ? null : agent.trim()), actions);
937
+ process.stdout.write(JSON.stringify(status, null, 2) + "\n");
1740
938
  return;
1741
939
  }
1742
940
  // Pretty but faithful: dump the top-level fields as key: value.
@@ -1806,10 +1004,9 @@ export function registerAgentsCommand(program) {
1806
1004
  });
1807
1005
  agents
1808
1006
  .command("config <agentUid>")
1809
- .alias("update")
1810
1007
  .description("Update an agent's runtime config (model / reasoning effort / service tier), or migrate its brain/runtime provider with --provider (DESTRUCTIVE: terminates + reprovisions the box)")
1811
1008
  .option("--company <slug>", "Company slug (resolves to companyUid)")
1812
- .option("--model <model>", "Model id from `hq agents models`")
1009
+ .option("--model <model>", "Codex model id")
1813
1010
  .option("--effort <effort>", "Reasoning effort: minimal | low | medium | high | xhigh")
1814
1011
  .option("--tier <tier>", "Service tier (speed): default | priority")
1815
1012
  .option("--provider <provider>", "Migrate brain/runtime provider (codex | grok | claude | agents-v2). DESTRUCTIVE: terminates and reprovisions the box; requires --model and --yes.")
@@ -1878,9 +1075,6 @@ export function registerAgentsCommand(program) {
1878
1075
  process.exit(1);
1879
1076
  }
1880
1077
  const token = (await resolveVaultCredential()).token;
1881
- if (opts.model !== undefined) {
1882
- await validateAgentModelOption(token, opts.provider?.trim().toLowerCase(), opts.model);
1883
- }
1884
1078
  const result = await patchAgentRuntimeConfig(token, agentUid, patch);
1885
1079
  if (opts.json) {
1886
1080
  process.stdout.write(JSON.stringify(result, null, 2) + "\n");
@@ -1900,16 +1094,8 @@ export function registerAgentsCommand(program) {
1900
1094
  .action(async function (agentUid) {
1901
1095
  try {
1902
1096
  const token = (await resolveVaultCredential()).token;
1903
- const result = await startStopAgent(token, agentUid, action);
1904
- const runtimeStatus = result.runtime?.status;
1905
- const successMessage = action === "start"
1906
- ? `Started agent ${agentUid}.`
1907
- : runtimeStatus === "terminated"
1908
- ? `Stopped agent ${agentUid}.`
1909
- : typeof runtimeStatus === "string"
1910
- ? `Stop accepted for agent ${agentUid} (status: ${runtimeStatus}).`
1911
- : `Stop accepted for agent ${agentUid}.`;
1912
- console.log(chalk.green(successMessage));
1097
+ await startStopAgent(token, agentUid, action);
1098
+ console.log(chalk.green(`${action === "start" ? "Started" : "Stopped"} agent ${agentUid}.`));
1913
1099
  }
1914
1100
  catch (err) {
1915
1101
  fail(err);
@@ -1936,7 +1122,6 @@ export function registerAgentsCommand(program) {
1936
1122
  .description("Deprovision (permanently tear down) an agent")
1937
1123
  .option("--company <slug>", "Company slug (resolves to companyUid)")
1938
1124
  .option("--yes", "Confirm the irreversible teardown (required)")
1939
- .option("--confirm-destroy-agents-v2 <instance-id>", "Confirm agents-v2 teardown by naming the live EC2 instance ID")
1940
1125
  .action(async function (agentUid, opts) {
1941
1126
  if (!opts.yes) {
1942
1127
  console.error(chalk.yellow(`This will permanently deprovision agent ${agentUid} and tear down its ` +
@@ -1946,13 +1131,7 @@ export function registerAgentsCommand(program) {
1946
1131
  }
1947
1132
  try {
1948
1133
  const token = (await resolveVaultCredential()).token;
1949
- const status = await getAgentStatus(token, agentUid);
1950
- if (recordValue(status.agent)?.runtimeKind === "external") {
1951
- await revokeAgent(token, agentUid, true);
1952
- console.log(chalk.green(`Revoked and removed external agent ${agentUid}.`));
1953
- return;
1954
- }
1955
- const result = await deprovisionAgent(token, agentUid, opts.confirmDestroyAgentsV2);
1134
+ const result = await deprovisionAgent(token, agentUid);
1956
1135
  if (result.terminal === false) {
1957
1136
  console.log(chalk.yellow(`Deprovision in progress for agent ${agentUid} (not yet fully torn down — re-run to continue).`));
1958
1137
  }
@@ -1964,56 +1143,12 @@ export function registerAgentsCommand(program) {
1964
1143
  fail(err);
1965
1144
  }
1966
1145
  });
1967
- agents
1968
- .command("rotate <agentUid>")
1969
- .description("Issue a fresh enrollment code for an external agent (old secret + host key stop minting)")
1970
- .option("--company <slug>", "Company slug (resolves to companyUid)")
1971
- .option("--json", "Emit raw JSON (code included — pipe carefully)")
1972
- .action(async function (agentUid, opts) {
1973
- try {
1974
- const token = (await resolveVaultCredential()).token;
1975
- const result = await rotateAgent(token, agentUid);
1976
- if (opts.json) {
1977
- console.log(JSON.stringify(result, null, 2));
1978
- return;
1979
- }
1980
- for (const line of formatRotateOutput(result))
1981
- console.log(line);
1982
- }
1983
- catch (err) {
1984
- fail(err);
1985
- }
1986
- });
1987
- agents
1988
- .command("revoke <agentUid>")
1989
- .description("Revoke an external agent: disable its login and drop it from the team")
1990
- .option("--company <slug>", "Company slug (resolves to companyUid)")
1991
- .option("--remove", "Also delete the agent entity (it disappears from the roster)")
1992
- .option("--yes", "Confirm the revoke (required)")
1993
- .action(async function (agentUid, opts) {
1994
- if (!opts.yes) {
1995
- console.error(chalk.yellow(`This will revoke agent ${agentUid}: its credentials stop working immediately and it ` +
1996
- `leaves the team${opts.remove ? ", and the agent record is deleted" : ""}. ` +
1997
- `Re-run with --yes to confirm: hq agents revoke ${agentUid}${opts.remove ? " --remove" : ""} --yes`));
1998
- process.exit(1);
1999
- }
2000
- try {
2001
- const token = (await resolveVaultCredential()).token;
2002
- const result = await revokeAgent(token, agentUid, opts.remove === true);
2003
- console.log(chalk.green(result.removed
2004
- ? `Revoked and removed agent ${agentUid}.`
2005
- : `Revoked agent ${agentUid}. Its next mint will be refused (401).`));
2006
- }
2007
- catch (err) {
2008
- fail(err);
2009
- }
2010
- });
2011
1146
  // Off-box job control (US-003). Nested group so `hq agents jobs --help`
2012
- // lists list|pause|resume|cancel. Same vaultApiFetch + person JWT as the rest of
1147
+ // lists list|pause|cancel. Same vaultApiFetch + person JWT as the rest of
2013
1148
  // this file; keyed HQ_API_KEY rewrites /v1/agents → /v1/keys/agents.
2014
1149
  const jobs = agents
2015
1150
  .command("jobs")
2016
- .description("List, pause, resume, or cancel an agent's scheduled jobs");
1151
+ .description("List, pause, or cancel an agent's scheduled jobs");
2017
1152
  jobs
2018
1153
  .command("list <agentUid>")
2019
1154
  .description("List an agent's scheduled jobs")
@@ -2051,20 +1186,6 @@ export function registerAgentsCommand(program) {
2051
1186
  failJobs(err, jobId);
2052
1187
  }
2053
1188
  });
2054
- jobs
2055
- .command("resume <agentUid> <jobId>")
2056
- .description("Resume a paused job's schedule")
2057
- .option("--company <slug>", "Company slug (to resolve an agent by name/slug)")
2058
- .action(async function (agentUid, jobId) {
2059
- const { token, targetUid } = await resolveJobsTargetOrExit(agentUid, companyOf(this));
2060
- try {
2061
- const result = await resumeAgentJob(token, targetUid, jobId);
2062
- console.log(chalk.green(formatResumeResult(result)));
2063
- }
2064
- catch (err) {
2065
- failJobs(err, jobId, "resume");
2066
- }
2067
- });
2068
1189
  jobs
2069
1190
  .command("cancel <agentUid> <jobId>")
2070
1191
  .description("Cancel a job and delete its schedule")