@indigoai-us/hq-cli 5.313.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 (1174) hide show
  1. package/CHANGELOG.md +1 -4300
  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 -357
  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 -68
  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 -277
  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 -87
  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 -20
  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 +7 -26
  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 -53
  187. package/dist/lib/mesh/live/daemon/doctor.js +6 -190
  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 -13
  236. package/dist/lib/work-context/contract.schema.json +1 -3
  237. package/dist/lib/work-context/index.d.ts +25 -0
  238. package/dist/lib/work-context/index.js +21 -0
  239. package/dist/lib/work-context/outbox.d.ts +5 -27
  240. package/dist/lib/work-context/outbox.js +6 -135
  241. package/dist/lib/work-context/reconcile.d.ts +0 -15
  242. package/dist/lib/work-context/reconcile.js +29 -405
  243. package/dist/lib/work-context/state.d.ts +10 -93
  244. package/dist/lib/work-context/state.js +29 -342
  245. package/dist/lib/workers-registry/index.js +8 -62
  246. package/dist/main.d.ts +0 -32
  247. package/dist/main.js +73 -273
  248. package/dist/node-network-compat.d.ts +30 -2
  249. package/dist/node-network-compat.js +51 -4
  250. package/dist/node-preflight.d.ts +1 -7
  251. package/dist/node-preflight.js +5 -5
  252. package/dist/register-all.d.ts +29 -4
  253. package/dist/register-all.js +233 -4
  254. package/dist/run/discover-schemas.d.ts +1 -2
  255. package/dist/run/env-graph-guard.d.ts +2 -2
  256. package/dist/run/env-graph-guard.js +2 -5
  257. package/dist/run/hq-plugin.d.ts +0 -4
  258. package/dist/run/hq-plugin.js +8 -36
  259. package/dist/sentry-before-send.js +0 -80
  260. package/dist/sentry.d.ts +2 -8
  261. package/dist/sentry.js +13 -117
  262. package/dist/startup-registration.d.ts +2 -26
  263. package/dist/startup-registration.js +15 -116
  264. package/dist/utils/cli-telemetry.d.ts +1 -74
  265. package/dist/utils/cli-telemetry.js +7 -434
  266. package/dist/utils/client-health.d.ts +4 -0
  267. package/dist/utils/client-health.js +2 -2
  268. package/dist/utils/cognito-session.d.ts +0 -71
  269. package/dist/utils/cognito-session.js +27 -481
  270. package/dist/utils/contribution-table.d.ts +1 -1
  271. package/dist/utils/environmental-error.d.ts +0 -18
  272. package/dist/utils/environmental-error.js +7 -240
  273. package/dist/utils/expected-cli-error.d.ts +0 -2
  274. package/dist/utils/expected-cli-error.js +0 -4
  275. package/dist/utils/feedback-diagnostics.d.ts +1 -2
  276. package/dist/utils/feedback-log-bundle.d.ts +26 -51
  277. package/dist/utils/feedback-log-bundle.js +31 -211
  278. package/dist/utils/feedback-logs.d.ts +47 -18
  279. package/dist/utils/feedback-logs.js +21 -50
  280. package/dist/utils/feedback-screenshots.d.ts +1 -0
  281. package/dist/utils/feedback-screenshots.js +1 -1
  282. package/dist/utils/hq-roots.d.ts +2 -25
  283. package/dist/utils/hq-roots.js +7 -67
  284. package/dist/utils/incomplete-install-error.d.ts +19 -87
  285. package/dist/utils/incomplete-install-error.js +68 -319
  286. package/dist/utils/install-tree-torn.d.ts +24 -260
  287. package/dist/utils/install-tree-torn.js +51 -998
  288. package/dist/utils/large-file-guard.d.ts +10 -0
  289. package/dist/utils/large-file-guard.js +1 -1
  290. package/dist/utils/local-files-overview.d.ts +8 -4
  291. package/dist/utils/local-files-overview.js +7 -48
  292. package/dist/utils/login-provider.d.ts +0 -7
  293. package/dist/utils/login-provider.js +0 -34
  294. package/dist/utils/pack-contributions.d.ts +14 -2
  295. package/dist/utils/pack-contributions.js +44 -7
  296. package/dist/utils/package-root-diagnostics.d.ts +1 -1
  297. package/dist/utils/people.d.ts +11 -7
  298. package/dist/utils/people.js +20 -5
  299. package/dist/utils/plan-gate-error.d.ts +10 -52
  300. package/dist/utils/plan-gate-error.js +41 -364
  301. package/dist/utils/qmd-model-download-error.d.ts +8 -0
  302. package/dist/utils/qmd-model-download-error.js +1 -1
  303. package/dist/utils/qmd-query-document-error.d.ts +6 -0
  304. package/dist/utils/qmd-query-document-error.js +1 -1
  305. package/dist/utils/redact-error-text.d.ts +2 -0
  306. package/dist/utils/redact-error-text.js +2 -3
  307. package/dist/utils/run-bundled-script.d.ts +0 -6
  308. package/dist/utils/run-bundled-script.js +4 -117
  309. package/dist/utils/sandbox-runner-client.d.ts +1 -2
  310. package/dist/utils/secrets-cache.d.ts +3 -7
  311. package/dist/utils/secrets-cache.js +14 -162
  312. package/dist/utils/self-update.d.ts +1 -34
  313. package/dist/utils/self-update.js +42 -660
  314. package/dist/utils/sentry-fingerprint.d.ts +1 -23
  315. package/dist/utils/sentry-fingerprint.js +31 -223
  316. package/dist/utils/team-upgrade.d.ts +1 -1
  317. package/dist/utils/team-upgrade.js +3 -4
  318. package/dist/utils/vault-api.d.ts +1 -21
  319. package/dist/utils/vault-api.js +84 -251
  320. package/dist/utils/version-check.d.ts +1 -11
  321. package/dist/utils/version-check.js +3 -32
  322. package/dist/utils/version-gate.d.ts +17 -101
  323. package/dist/utils/version-gate.js +70 -645
  324. package/dist/utils/windows-spawn.d.ts +0 -6
  325. package/dist/utils/windows-spawn.js +0 -37
  326. package/package.json +8 -20
  327. package/README.md +0 -113
  328. package/assets/bot-workers/setup/context/USER-GUIDE.md +0 -404
  329. package/assets/bot-workers/setup/context/quick-reference.md +0 -199
  330. package/assets/bot-workers/setup/skills/agents-and-team.md +0 -167
  331. package/assets/bot-workers/setup/skills/explain-hq.md +0 -35
  332. package/assets/bot-workers/setup/skills/first-company.md +0 -74
  333. package/assets/bot-workers/setup/skills/joining-a-team.md +0 -125
  334. package/assets/bot-workers/setup/skills/pricing.md +0 -92
  335. package/assets/bot-workers/setup/skills/standing-help.md +0 -81
  336. package/assets/bot-workers/setup/skills/your-business.md +0 -281
  337. package/assets/bot-workers/setup/worker.yaml +0 -791
  338. package/assets/lanes-hooks/hq-lanes-drain.json +0 -15
  339. package/assets/lanes-hooks/hq-lanes-drain.mjs +0 -275
  340. package/assets/lanes-hooks/hq-lanes-drain.sh +0 -21
  341. package/assets/lanes-reconcile/hq-lanes-reconcile.service +0 -11
  342. package/assets/lanes-reconcile/hq-lanes-reconcile.timer +0 -12
  343. package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +0 -485
  344. package/assets/scaffold/core/scripts/audit-log.sh +0 -384
  345. package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +0 -171
  346. package/assets/scaffold/core/scripts/eval-trigger.sh +0 -193
  347. package/assets/scaffold/core/scripts/git-pack-extension-check.sh +0 -164
  348. package/assets/scaffold/core/scripts/handoff-finalize.sh +0 -688
  349. package/assets/scaffold/core/scripts/handoff-open-steps.sh +0 -81
  350. package/assets/scaffold/core/scripts/handoff-post.sh +0 -252
  351. package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +0 -307
  352. package/assets/scaffold/core/scripts/hq-delegate-grant.sh +0 -252
  353. package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +0 -99
  354. package/assets/scaffold/core/scripts/hq-delegate-publish.sh +0 -91
  355. package/assets/scaffold/core/scripts/hq-delegate-repo.sh +0 -158
  356. package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +0 -145
  357. package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +0 -129
  358. package/assets/scaffold/core/scripts/hq-delegate-send.sh +0 -259
  359. package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +0 -175
  360. package/assets/scaffold/core/scripts/hq-delegate-verify.sh +0 -238
  361. package/assets/scaffold/core/scripts/hq-dm-bind.sh +0 -585
  362. package/assets/scaffold/core/scripts/hq-job-notify.sh +0 -389
  363. package/assets/scaffold/core/scripts/hq-job-probe.sh +0 -835
  364. package/assets/scaffold/core/scripts/hq-job-remediate.sh +0 -359
  365. package/assets/scaffold/core/scripts/hq-job-run.sh +0 -1025
  366. package/assets/scaffold/core/scripts/hq-pin.sh +0 -118
  367. package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +0 -310
  368. package/assets/scaffold/core/scripts/jobs-validate.sh +0 -451
  369. package/assets/scaffold/core/scripts/knowledge-prefs.sh +0 -55
  370. package/assets/scaffold/core/scripts/lib/portable.sh +0 -211
  371. package/assets/scaffold/core/scripts/lib/secret-patterns.sh +0 -58
  372. package/assets/scaffold/core/scripts/lib/work-mesh-live-hook.sh +0 -378
  373. package/assets/scaffold/core/scripts/lib/work-mesh-live-rebind.sh +0 -141
  374. package/assets/scaffold/core/scripts/migrate-policy-triggers.sh +0 -373
  375. package/assets/scaffold/core/scripts/ontology-audience-grant.sh +0 -81
  376. package/assets/scaffold/core/scripts/ontology-brief.mjs +0 -93
  377. package/assets/scaffold/core/scripts/ontology-candidate.sh +0 -100
  378. package/assets/scaffold/core/scripts/ontology-garden.mjs +0 -238
  379. package/assets/scaffold/core/scripts/ontology-source-worklist.sh +0 -79
  380. package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +0 -834
  381. package/assets/scaffold/core/scripts/policy-age-report.sh +0 -156
  382. package/assets/scaffold/core/scripts/policy-retire.sh +0 -199
  383. package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +0 -40
  384. package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +0 -32
  385. package/assets/scaffold/core/scripts/refresh-vault-access.sh +0 -188
  386. package/assets/scaffold/core/scripts/register-project.sh +0 -262
  387. package/assets/scaffold/core/scripts/resolve-company.sh +0 -199
  388. package/assets/scaffold/core/scripts/resume-thread-lock.sh +0 -285
  389. package/assets/scaffold/core/scripts/source-yaml-validate.sh +0 -36
  390. package/assets/scaffold/core/scripts/verify-story-deliverables.sh +0 -148
  391. package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +0 -152
  392. package/assets/scaffold/core/scripts/work-mesh-live-rebind.sh +0 -59
  393. package/assets/scaffold/core/scripts/worktree-gc.sh +0 -362
  394. package/contracts/preflight/v1/fixtures.json +0 -87
  395. package/contracts/preflight/v1/schema.json +0 -58
  396. package/dist/command-catalog.generated.d.ts +0 -10735
  397. package/dist/command-catalog.generated.js +0 -13836
  398. package/dist/command-registration-plan.d.ts +0 -474
  399. package/dist/command-registration-plan.js +0 -136
  400. package/dist/commands/agent-enroll.d.ts +0 -146
  401. package/dist/commands/agent-enroll.js +0 -401
  402. package/dist/commands/agent-inbox.d.ts +0 -9
  403. package/dist/commands/agent-inbox.js +0 -102
  404. package/dist/commands/agent-kit.d.ts +0 -87
  405. package/dist/commands/agent-kit.js +0 -480
  406. package/dist/commands/agent-mcp.d.ts +0 -24
  407. package/dist/commands/agent-mcp.js +0 -127
  408. package/dist/commands/agent-probe.d.ts +0 -77
  409. package/dist/commands/agent-probe.js +0 -335
  410. package/dist/commands/agent.d.ts +0 -13
  411. package/dist/commands/agent.js +0 -40
  412. package/dist/commands/billing-sponsor.d.ts +0 -83
  413. package/dist/commands/billing-sponsor.js +0 -344
  414. package/dist/commands/bot-companies.d.ts +0 -40
  415. package/dist/commands/bot-companies.js +0 -64
  416. package/dist/commands/bot-continuity.d.ts +0 -28
  417. package/dist/commands/bot-continuity.js +0 -68
  418. package/dist/commands/bot-jobs.d.ts +0 -127
  419. package/dist/commands/bot-jobs.js +0 -454
  420. package/dist/commands/bot.d.ts +0 -278
  421. package/dist/commands/bot.js +0 -1982
  422. package/dist/commands/cloud-retire.d.ts +0 -51
  423. package/dist/commands/cloud-retire.js +0 -154
  424. package/dist/commands/company-rename-flag.d.ts +0 -4
  425. package/dist/commands/company-rename-flag.js +0 -7
  426. package/dist/commands/company-rename.d.ts +0 -4
  427. package/dist/commands/company-rename.js +0 -90
  428. package/dist/commands/core-audit-log-native.d.ts +0 -9
  429. package/dist/commands/core-audit-log-native.js +0 -257
  430. package/dist/commands/core-checkpoint-gate-setting.d.ts +0 -59
  431. package/dist/commands/core-checkpoint-gate-setting.js +0 -163
  432. package/dist/commands/core-checkpoint-stop-gate-native.d.ts +0 -34
  433. package/dist/commands/core-checkpoint-stop-gate-native.js +0 -725
  434. package/dist/commands/core-command-catalog.d.ts +0 -34
  435. package/dist/commands/core-command-catalog.js +0 -62
  436. package/dist/commands/core-company-index-scope-flag.d.ts +0 -3
  437. package/dist/commands/core-company-index-scope-flag.js +0 -6
  438. package/dist/commands/core-delegate-w1b.d.ts +0 -10
  439. package/dist/commands/core-delegate-w1b.js +0 -1219
  440. package/dist/commands/core-delegate.d.ts +0 -46
  441. package/dist/commands/core-delegate.js +0 -1040
  442. package/dist/commands/core-dm-bind-native.d.ts +0 -32
  443. package/dist/commands/core-dm-bind-native.js +0 -668
  444. package/dist/commands/core-eval-trigger-native.d.ts +0 -4
  445. package/dist/commands/core-eval-trigger-native.js +0 -12
  446. package/dist/commands/core-git-pack-extension-check-native.d.ts +0 -22
  447. package/dist/commands/core-git-pack-extension-check-native.js +0 -190
  448. package/dist/commands/core-handoff-fast.d.ts +0 -18
  449. package/dist/commands/core-handoff-fast.js +0 -104
  450. package/dist/commands/core-handoff-open-steps.d.ts +0 -21
  451. package/dist/commands/core-handoff-open-steps.js +0 -264
  452. package/dist/commands/core-handoff.d.ts +0 -24
  453. package/dist/commands/core-handoff.js +0 -1144
  454. package/dist/commands/core-hq-session-native.d.ts +0 -39
  455. package/dist/commands/core-hq-session-native.js +0 -579
  456. package/dist/commands/core-job-native-utils.d.ts +0 -6
  457. package/dist/commands/core-job-native-utils.js +0 -80
  458. package/dist/commands/core-job-native.d.ts +0 -5
  459. package/dist/commands/core-job-native.js +0 -16
  460. package/dist/commands/core-job-notify-native.d.ts +0 -36
  461. package/dist/commands/core-job-notify-native.js +0 -359
  462. package/dist/commands/core-job-probe-native.d.ts +0 -45
  463. package/dist/commands/core-job-probe-native.js +0 -564
  464. package/dist/commands/core-job-remediate-native.d.ts +0 -26
  465. package/dist/commands/core-job-remediate-native.js +0 -374
  466. package/dist/commands/core-job-remote-launcher.d.ts +0 -7
  467. package/dist/commands/core-job-remote-launcher.js +0 -51
  468. package/dist/commands/core-job-run-native.d.ts +0 -47
  469. package/dist/commands/core-job-run-native.js +0 -1215
  470. package/dist/commands/core-jobs-native.d.ts +0 -25
  471. package/dist/commands/core-jobs-native.js +0 -1339
  472. package/dist/commands/core-knowledge-prefs.d.ts +0 -11
  473. package/dist/commands/core-knowledge-prefs.js +0 -137
  474. package/dist/commands/core-migrate-policy-triggers-native.d.ts +0 -21
  475. package/dist/commands/core-migrate-policy-triggers-native.js +0 -378
  476. package/dist/commands/core-native-handoff-flag.d.ts +0 -4
  477. package/dist/commands/core-native-handoff-flag.js +0 -7
  478. package/dist/commands/core-native-hook-helper-commands.d.ts +0 -4
  479. package/dist/commands/core-native-hook-helper-commands.js +0 -56
  480. package/dist/commands/core-native-hook-helpers-flag.d.ts +0 -4
  481. package/dist/commands/core-native-hook-helpers-flag.js +0 -7
  482. package/dist/commands/core-native-jobs-flag.d.ts +0 -4
  483. package/dist/commands/core-native-jobs-flag.js +0 -7
  484. package/dist/commands/core-native-policy-flag.d.ts +0 -9
  485. package/dist/commands/core-native-policy-flag.js +0 -12
  486. package/dist/commands/core-native-session-flag.d.ts +0 -4
  487. package/dist/commands/core-native-session-flag.js +0 -7
  488. package/dist/commands/core-native-utilities-flag.d.ts +0 -4
  489. package/dist/commands/core-native-utilities-flag.js +0 -7
  490. package/dist/commands/core-native-utilities.d.ts +0 -29
  491. package/dist/commands/core-native-utilities.js +0 -54
  492. package/dist/commands/core-native-worker-skills-flag.d.ts +0 -4
  493. package/dist/commands/core-native-worker-skills-flag.js +0 -7
  494. package/dist/commands/core-ontology-native.d.ts +0 -17
  495. package/dist/commands/core-ontology-native.js +0 -916
  496. package/dist/commands/core-ontology.d.ts +0 -66
  497. package/dist/commands/core-ontology.js +0 -430
  498. package/dist/commands/core-pin-native.d.ts +0 -14
  499. package/dist/commands/core-pin-native.js +0 -236
  500. package/dist/commands/core-policy-frontmatter.d.ts +0 -8
  501. package/dist/commands/core-policy-frontmatter.js +0 -52
  502. package/dist/commands/core-policy.d.ts +0 -14
  503. package/dist/commands/core-policy.js +0 -1018
  504. package/dist/commands/core-refresh-vault-access-native.d.ts +0 -20
  505. package/dist/commands/core-refresh-vault-access-native.js +0 -229
  506. package/dist/commands/core-register-project-native.d.ts +0 -30
  507. package/dist/commands/core-register-project-native.js +0 -347
  508. package/dist/commands/core-resolve-company-command.d.ts +0 -4
  509. package/dist/commands/core-resolve-company-command.js +0 -42
  510. package/dist/commands/core-resolve-company-native.d.ts +0 -28
  511. package/dist/commands/core-resolve-company-native.js +0 -408
  512. package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +0 -32
  513. package/dist/commands/core-work-mesh-bind-trusted-native.js +0 -190
  514. package/dist/commands/core-work-mesh-live-rebind-native.d.ts +0 -18
  515. package/dist/commands/core-work-mesh-live-rebind-native.js +0 -262
  516. package/dist/commands/core-worker-lint-native.d.ts +0 -4
  517. package/dist/commands/core-worker-lint-native.js +0 -160
  518. package/dist/commands/core-worker-share-native.d.ts +0 -4
  519. package/dist/commands/core-worker-share-native.js +0 -260
  520. package/dist/commands/core-worker-skills-command.d.ts +0 -8
  521. package/dist/commands/core-worker-skills-command.js +0 -33
  522. package/dist/commands/core-worker-skills-runtime.d.ts +0 -33
  523. package/dist/commands/core-worker-skills-runtime.js +0 -86
  524. package/dist/commands/daemon.d.ts +0 -63
  525. package/dist/commands/daemon.js +0 -877
  526. package/dist/commands/deploy-comments.d.ts +0 -3
  527. package/dist/commands/deploy-comments.js +0 -162
  528. package/dist/commands/lanes-accounts.d.ts +0 -28
  529. package/dist/commands/lanes-accounts.js +0 -595
  530. package/dist/commands/lanes-autopilot.d.ts +0 -11
  531. package/dist/commands/lanes-autopilot.js +0 -336
  532. package/dist/commands/lanes-checks.d.ts +0 -51
  533. package/dist/commands/lanes-checks.js +0 -941
  534. package/dist/commands/lanes-hold.d.ts +0 -43
  535. package/dist/commands/lanes-hold.js +0 -655
  536. package/dist/commands/lanes-kpis.d.ts +0 -11
  537. package/dist/commands/lanes-kpis.js +0 -34
  538. package/dist/commands/lanes-message.d.ts +0 -9
  539. package/dist/commands/lanes-message.js +0 -937
  540. package/dist/commands/lanes-move.d.ts +0 -12
  541. package/dist/commands/lanes-move.js +0 -397
  542. package/dist/commands/lanes-questions.d.ts +0 -36
  543. package/dist/commands/lanes-questions.js +0 -1005
  544. package/dist/commands/lanes-report.d.ts +0 -11
  545. package/dist/commands/lanes-report.js +0 -333
  546. package/dist/commands/lanes-resume.d.ts +0 -6
  547. package/dist/commands/lanes-resume.js +0 -564
  548. package/dist/commands/lanes-review.d.ts +0 -10
  549. package/dist/commands/lanes-review.js +0 -56
  550. package/dist/commands/lanes-shared.d.ts +0 -448
  551. package/dist/commands/lanes-shared.js +0 -170
  552. package/dist/commands/lanes-stories.d.ts +0 -15
  553. package/dist/commands/lanes-stories.js +0 -347
  554. package/dist/commands/lanes-watch.d.ts +0 -7
  555. package/dist/commands/lanes-watch.js +0 -216
  556. package/dist/commands/lanes.d.ts +0 -149
  557. package/dist/commands/lanes.js +0 -8973
  558. package/dist/commands/monitor.d.ts +0 -58
  559. package/dist/commands/monitor.js +0 -980
  560. package/dist/commands/onboard-bot-membership.d.ts +0 -32
  561. package/dist/commands/onboard-bot-membership.js +0 -40
  562. package/dist/commands/onboard-create-identity.d.ts +0 -26
  563. package/dist/commands/onboard-create-identity.js +0 -23
  564. package/dist/commands/outpost-pruner.d.ts +0 -3
  565. package/dist/commands/outpost-pruner.js +0 -125
  566. package/dist/commands/personal-connector-settings-flag.d.ts +0 -4
  567. package/dist/commands/personal-connector-settings-flag.js +0 -7
  568. package/dist/commands/personal-targeted-push-flag.d.ts +0 -4
  569. package/dist/commands/personal-targeted-push-flag.js +0 -7
  570. package/dist/commands/personal-targeted-push-paths.d.ts +0 -3
  571. package/dist/commands/personal-targeted-push-paths.js +0 -67
  572. package/dist/commands/report.d.ts +0 -19
  573. package/dist/commands/report.js +0 -537
  574. package/dist/commands/run-feature-telemetry.d.ts +0 -3
  575. package/dist/commands/run-feature-telemetry.js +0 -6
  576. package/dist/commands/staff/reset-test-account.d.ts +0 -110
  577. package/dist/commands/staff/reset-test-account.js +0 -268
  578. package/dist/commands/staff/test-account.d.ts +0 -51
  579. package/dist/commands/staff/test-account.js +0 -196
  580. package/dist/commands/vault-retention-flag.d.ts +0 -3
  581. package/dist/commands/vault-retention-flag.js +0 -9
  582. package/dist/commands/vault-retention.d.ts +0 -11
  583. package/dist/commands/vault-retention.js +0 -69
  584. package/dist/commands/version.d.ts +0 -10
  585. package/dist/commands/version.js +0 -11
  586. package/dist/fast-scaffold.d.ts +0 -86
  587. package/dist/fast-scaffold.js +0 -364
  588. package/dist/lanes-drain-hook.d.ts +0 -14
  589. package/dist/lanes-drain-hook.js +0 -203
  590. package/dist/lib/agent-kit/adopt-identity.d.ts +0 -27
  591. package/dist/lib/agent-kit/adopt-identity.js +0 -60
  592. package/dist/lib/agent-kit/attachment-download.d.ts +0 -24
  593. package/dist/lib/agent-kit/attachment-download.js +0 -47
  594. package/dist/lib/agent-kit/creds.d.ts +0 -106
  595. package/dist/lib/agent-kit/creds.js +0 -163
  596. package/dist/lib/agent-kit/fallback.d.ts +0 -78
  597. package/dist/lib/agent-kit/fallback.js +0 -210
  598. package/dist/lib/agent-kit/inbox-state.d.ts +0 -83
  599. package/dist/lib/agent-kit/inbox-state.js +0 -159
  600. package/dist/lib/agent-kit/kit-config.d.ts +0 -56
  601. package/dist/lib/agent-kit/kit-config.js +0 -65
  602. package/dist/lib/agent-kit/log.d.ts +0 -16
  603. package/dist/lib/agent-kit/log.js +0 -46
  604. package/dist/lib/agent-kit/mcp/attachments.d.ts +0 -126
  605. package/dist/lib/agent-kit/mcp/attachments.js +0 -222
  606. package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +0 -75
  607. package/dist/lib/agent-kit/mcp/jsonrpc.js +0 -164
  608. package/dist/lib/agent-kit/mcp/tools.d.ts +0 -64
  609. package/dist/lib/agent-kit/mcp/tools.js +0 -397
  610. package/dist/lib/agent-kit/paths.d.ts +0 -65
  611. package/dist/lib/agent-kit/paths.js +0 -118
  612. package/dist/lib/agent-kit/private-file.d.ts +0 -29
  613. package/dist/lib/agent-kit/private-file.js +0 -91
  614. package/dist/lib/agent-kit/run/heartbeat.d.ts +0 -72
  615. package/dist/lib/agent-kit/run/heartbeat.js +0 -128
  616. package/dist/lib/agent-kit/run/inbox.d.ts +0 -76
  617. package/dist/lib/agent-kit/run/inbox.js +0 -205
  618. package/dist/lib/agent-kit/run/supervisor.d.ts +0 -35
  619. package/dist/lib/agent-kit/run/supervisor.js +0 -85
  620. package/dist/lib/agent-kit/run/sync.d.ts +0 -33
  621. package/dist/lib/agent-kit/run/sync.js +0 -58
  622. package/dist/lib/agent-kit/services.d.ts +0 -31
  623. package/dist/lib/agent-kit/services.js +0 -55
  624. package/dist/lib/agent-kit/skills.d.ts +0 -18
  625. package/dist/lib/agent-kit/skills.js +0 -151
  626. package/dist/lib/agent-kit/wake.d.ts +0 -83
  627. package/dist/lib/agent-kit/wake.js +0 -243
  628. package/dist/lib/agents/model-catalog.d.ts +0 -62
  629. package/dist/lib/agents/model-catalog.js +0 -275
  630. package/dist/lib/auth-login-provider-state.d.ts +0 -8
  631. package/dist/lib/auth-login-provider-state.js +0 -63
  632. package/dist/lib/aws-sdk-node-warning-output.d.ts +0 -12
  633. package/dist/lib/aws-sdk-node-warning-output.js +0 -22
  634. package/dist/lib/billing/free-month.d.ts +0 -18
  635. package/dist/lib/billing/free-month.js +0 -31
  636. package/dist/lib/billing/plan-limit-refusals.d.ts +0 -69
  637. package/dist/lib/billing/plan-limit-refusals.js +0 -187
  638. package/dist/lib/billing/plan-limit-upgrade-url.d.ts +0 -11
  639. package/dist/lib/billing/plan-limit-upgrade-url.js +0 -66
  640. package/dist/lib/billing/plan-lock.d.ts +0 -143
  641. package/dist/lib/billing/plan-lock.js +0 -439
  642. package/dist/lib/bot/api.d.ts +0 -349
  643. package/dist/lib/bot/api.js +0 -316
  644. package/dist/lib/bot/attachments.d.ts +0 -45
  645. package/dist/lib/bot/attachments.js +0 -89
  646. package/dist/lib/bot/cli-update.d.ts +0 -138
  647. package/dist/lib/bot/cli-update.js +0 -278
  648. package/dist/lib/bot/company-bind.d.ts +0 -27
  649. package/dist/lib/bot/company-bind.js +0 -62
  650. package/dist/lib/bot/config.d.ts +0 -153
  651. package/dist/lib/bot/config.js +0 -233
  652. package/dist/lib/bot/continuity-download.d.ts +0 -28
  653. package/dist/lib/bot/continuity-download.js +0 -75
  654. package/dist/lib/bot/continuity-install.d.ts +0 -14
  655. package/dist/lib/bot/continuity-install.js +0 -101
  656. package/dist/lib/bot/continuity.d.ts +0 -67
  657. package/dist/lib/bot/continuity.js +0 -301
  658. package/dist/lib/bot/creds.d.ts +0 -24
  659. package/dist/lib/bot/creds.js +0 -51
  660. package/dist/lib/bot/daemon.d.ts +0 -173
  661. package/dist/lib/bot/daemon.js +0 -552
  662. package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +0 -24
  663. package/dist/lib/bot/inbox-poll-backoff-flag.js +0 -135
  664. package/dist/lib/bot/inbox-state.d.ts +0 -18
  665. package/dist/lib/bot/inbox-state.js +0 -51
  666. package/dist/lib/bot/index.d.ts +0 -23
  667. package/dist/lib/bot/index.js +0 -23
  668. package/dist/lib/bot/inflight.d.ts +0 -119
  669. package/dist/lib/bot/inflight.js +0 -83
  670. package/dist/lib/bot/job-completions.d.ts +0 -89
  671. package/dist/lib/bot/job-completions.js +0 -132
  672. package/dist/lib/bot/job-run.d.ts +0 -109
  673. package/dist/lib/bot/job-run.js +0 -246
  674. package/dist/lib/bot/local-config.d.ts +0 -61
  675. package/dist/lib/bot/local-config.js +0 -145
  676. package/dist/lib/bot/local-jobs.d.ts +0 -89
  677. package/dist/lib/bot/local-jobs.js +0 -459
  678. package/dist/lib/bot/local-name.d.ts +0 -54
  679. package/dist/lib/bot/local-name.js +0 -114
  680. package/dist/lib/bot/log.d.ts +0 -13
  681. package/dist/lib/bot/log.js +0 -59
  682. package/dist/lib/bot/owner-context.d.ts +0 -79
  683. package/dist/lib/bot/owner-context.js +0 -175
  684. package/dist/lib/bot/paths.d.ts +0 -76
  685. package/dist/lib/bot/paths.js +0 -131
  686. package/dist/lib/bot/progress.d.ts +0 -132
  687. package/dist/lib/bot/progress.js +0 -289
  688. package/dist/lib/bot/promote.d.ts +0 -16
  689. package/dist/lib/bot/promote.js +0 -106
  690. package/dist/lib/bot/promotion-hold.d.ts +0 -24
  691. package/dist/lib/bot/promotion-hold.js +0 -103
  692. package/dist/lib/bot/promotion-receipt.d.ts +0 -9
  693. package/dist/lib/bot/promotion-receipt.js +0 -56
  694. package/dist/lib/bot/promotion-upload.d.ts +0 -16
  695. package/dist/lib/bot/promotion-upload.js +0 -80
  696. package/dist/lib/bot/prompt.d.ts +0 -136
  697. package/dist/lib/bot/prompt.js +0 -433
  698. package/dist/lib/bot/room-policy.d.ts +0 -63
  699. package/dist/lib/bot/room-policy.js +0 -91
  700. package/dist/lib/bot/run.d.ts +0 -217
  701. package/dist/lib/bot/run.js +0 -1869
  702. package/dist/lib/bot/runnable.d.ts +0 -51
  703. package/dist/lib/bot/runnable.js +0 -65
  704. package/dist/lib/bot/runtime/claude.d.ts +0 -50
  705. package/dist/lib/bot/runtime/claude.js +0 -170
  706. package/dist/lib/bot/runtime/codex.d.ts +0 -28
  707. package/dist/lib/bot/runtime/codex.js +0 -153
  708. package/dist/lib/bot/runtime/grok-acp.d.ts +0 -40
  709. package/dist/lib/bot/runtime/grok-acp.js +0 -265
  710. package/dist/lib/bot/runtime/grok.d.ts +0 -41
  711. package/dist/lib/bot/runtime/grok.js +0 -169
  712. package/dist/lib/bot/runtime/index.d.ts +0 -36
  713. package/dist/lib/bot/runtime/index.js +0 -417
  714. package/dist/lib/bot/runtime/messages-stream.d.ts +0 -56
  715. package/dist/lib/bot/runtime/messages-stream.js +0 -194
  716. package/dist/lib/bot/runtime/sanitize.d.ts +0 -18
  717. package/dist/lib/bot/runtime/sanitize.js +0 -28
  718. package/dist/lib/bot/runtime/types.d.ts +0 -159
  719. package/dist/lib/bot/runtime/types.js +0 -51
  720. package/dist/lib/bot/runtime/windows.d.ts +0 -10
  721. package/dist/lib/bot/runtime/windows.js +0 -53
  722. package/dist/lib/bot/runtime-sign-in.d.ts +0 -24
  723. package/dist/lib/bot/runtime-sign-in.js +0 -31
  724. package/dist/lib/bot/scaffold.d.ts +0 -38
  725. package/dist/lib/bot/scaffold.js +0 -94
  726. package/dist/lib/bot/self-heal.d.ts +0 -52
  727. package/dist/lib/bot/self-heal.js +0 -79
  728. package/dist/lib/bot/self-process.d.ts +0 -19
  729. package/dist/lib/bot/self-process.js +0 -35
  730. package/dist/lib/bot/session.d.ts +0 -19
  731. package/dist/lib/bot/session.js +0 -39
  732. package/dist/lib/bot/setup-explain.d.ts +0 -64
  733. package/dist/lib/bot/setup-explain.js +0 -141
  734. package/dist/lib/bot/split.d.ts +0 -32
  735. package/dist/lib/bot/split.js +0 -241
  736. package/dist/lib/bot/status.d.ts +0 -57
  737. package/dist/lib/bot/status.js +0 -66
  738. package/dist/lib/bot/worker-source.d.ts +0 -66
  739. package/dist/lib/bot/worker-source.js +0 -283
  740. package/dist/lib/checkpoint-ontology/aliases.d.ts +0 -17
  741. package/dist/lib/checkpoint-ontology/aliases.js +0 -44
  742. package/dist/lib/checkpoint-ontology/apply.d.ts +0 -110
  743. package/dist/lib/checkpoint-ontology/apply.js +0 -777
  744. package/dist/lib/checkpoint-ontology/company-brief.d.ts +0 -18
  745. package/dist/lib/checkpoint-ontology/company-brief.js +0 -337
  746. package/dist/lib/checkpoint-ontology/company.d.ts +0 -44
  747. package/dist/lib/checkpoint-ontology/company.js +0 -118
  748. package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +0 -41
  749. package/dist/lib/checkpoint-ontology/drop-aliases.js +0 -76
  750. package/dist/lib/checkpoint-ontology/entity-file.d.ts +0 -109
  751. package/dist/lib/checkpoint-ontology/entity-file.js +0 -371
  752. package/dist/lib/checkpoint-ontology/identity.d.ts +0 -38
  753. package/dist/lib/checkpoint-ontology/identity.js +0 -95
  754. package/dist/lib/checkpoint-ontology/merge-copies.d.ts +0 -199
  755. package/dist/lib/checkpoint-ontology/merge-copies.js +0 -1086
  756. package/dist/lib/checkpoint-ontology/multi-writer.d.ts +0 -101
  757. package/dist/lib/checkpoint-ontology/multi-writer.js +0 -394
  758. package/dist/lib/checkpoint-ontology/plan.d.ts +0 -193
  759. package/dist/lib/checkpoint-ontology/plan.js +0 -504
  760. package/dist/lib/checkpoint-ontology/queued-touches.d.ts +0 -29
  761. package/dist/lib/checkpoint-ontology/queued-touches.js +0 -193
  762. package/dist/lib/checkpoint-ontology/sync-client.d.ts +0 -38
  763. package/dist/lib/checkpoint-ontology/sync-client.js +0 -84
  764. package/dist/lib/checkpoint-ontology/tree.d.ts +0 -55
  765. package/dist/lib/checkpoint-ontology/tree.js +0 -198
  766. package/dist/lib/company-errors-sdk-warning-flag.d.ts +0 -5
  767. package/dist/lib/company-errors-sdk-warning-flag.js +0 -8
  768. package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +0 -20
  769. package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +0 -81
  770. package/dist/lib/core-utils/jq-json-serializer.d.ts +0 -5
  771. package/dist/lib/core-utils/jq-json-serializer.js +0 -10
  772. package/dist/lib/core-utils/secret-patterns.d.ts +0 -43
  773. package/dist/lib/core-utils/secret-patterns.js +0 -34
  774. package/dist/lib/core-utils/sentry-report.d.ts +0 -114
  775. package/dist/lib/core-utils/sentry-report.js +0 -1034
  776. package/dist/lib/core-utils/timeout-guard-native.d.ts +0 -7
  777. package/dist/lib/core-utils/timeout-guard-native.js +0 -40
  778. package/dist/lib/core-utils/worktree-resume.d.ts +0 -20
  779. package/dist/lib/core-utils/worktree-resume.js +0 -1198
  780. package/dist/lib/daemon/catalog.d.ts +0 -134
  781. package/dist/lib/daemon/catalog.js +0 -358
  782. package/dist/lib/daemon/config.d.ts +0 -35
  783. package/dist/lib/daemon/config.js +0 -108
  784. package/dist/lib/daemon/flag.d.ts +0 -25
  785. package/dist/lib/daemon/flag.js +0 -59
  786. package/dist/lib/daemon/handoff.d.ts +0 -56
  787. package/dist/lib/daemon/handoff.js +0 -161
  788. package/dist/lib/daemon/hq-cloud.d.ts +0 -79
  789. package/dist/lib/daemon/hq-cloud.js +0 -183
  790. package/dist/lib/daemon/install.d.ts +0 -85
  791. package/dist/lib/daemon/install.js +0 -320
  792. package/dist/lib/daemon/legacy-sync-env.d.ts +0 -10
  793. package/dist/lib/daemon/legacy-sync-env.js +0 -58
  794. package/dist/lib/daemon/legacy.d.ts +0 -45
  795. package/dist/lib/daemon/legacy.js +0 -133
  796. package/dist/lib/daemon/lock.d.ts +0 -47
  797. package/dist/lib/daemon/lock.js +0 -138
  798. package/dist/lib/daemon/machine-type.d.ts +0 -50
  799. package/dist/lib/daemon/machine-type.js +0 -159
  800. package/dist/lib/daemon/migrate.d.ts +0 -77
  801. package/dist/lib/daemon/migrate.js +0 -265
  802. package/dist/lib/daemon/paths.d.ts +0 -24
  803. package/dist/lib/daemon/paths.js +0 -43
  804. package/dist/lib/daemon/protocol-tail.d.ts +0 -33
  805. package/dist/lib/daemon/protocol-tail.js +0 -131
  806. package/dist/lib/daemon/remote-control.d.ts +0 -74
  807. package/dist/lib/daemon/remote-control.js +0 -153
  808. package/dist/lib/daemon/requests.d.ts +0 -28
  809. package/dist/lib/daemon/requests.js +0 -65
  810. package/dist/lib/daemon/run.d.ts +0 -79
  811. package/dist/lib/daemon/run.js +0 -755
  812. package/dist/lib/daemon/succession.d.ts +0 -118
  813. package/dist/lib/daemon/succession.js +0 -263
  814. package/dist/lib/daemon/supervisor.d.ts +0 -132
  815. package/dist/lib/daemon/supervisor.js +0 -836
  816. package/dist/lib/daemon/sync-runner.d.ts +0 -58
  817. package/dist/lib/daemon/sync-runner.js +0 -277
  818. package/dist/lib/daemon/tools.d.ts +0 -52
  819. package/dist/lib/daemon/tools.js +0 -95
  820. package/dist/lib/daemon/updater.d.ts +0 -57
  821. package/dist/lib/daemon/updater.js +0 -163
  822. package/dist/lib/deploy-api.d.ts +0 -5
  823. package/dist/lib/deploy-api.js +0 -21
  824. package/dist/lib/deploy-apps.d.ts +0 -13
  825. package/dist/lib/deploy-apps.js +0 -29
  826. package/dist/lib/doctor/__testing__/run-doctor.d.ts +0 -8
  827. package/dist/lib/doctor/__testing__/run-doctor.js +0 -52
  828. package/dist/lib/doctor/checks/bots.d.ts +0 -13
  829. package/dist/lib/doctor/checks/bots.js +0 -189
  830. package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +0 -6
  831. package/dist/lib/doctor/checks/scaffold-cli-floor.js +0 -73
  832. package/dist/lib/doctor/checks/sync-runtime.d.ts +0 -11
  833. package/dist/lib/doctor/checks/sync-runtime.js +0 -216
  834. package/dist/lib/doctor/client-health-flag-token.d.ts +0 -15
  835. package/dist/lib/doctor/client-health-flag-token.js +0 -66
  836. package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +0 -27
  837. package/dist/lib/doctor/client-health-reason-codes-flag.js +0 -106
  838. package/dist/lib/doctor/fix/json-output.d.ts +0 -28
  839. package/dist/lib/doctor/fix/json-output.js +0 -33
  840. package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +0 -12
  841. package/dist/lib/doctor/fix/refresh-sync-outcome.js +0 -25
  842. package/dist/lib/doctor/shared.d.ts +0 -8
  843. package/dist/lib/doctor/shared.js +0 -38
  844. package/dist/lib/doctor/stray-gate-entries.d.ts +0 -35
  845. package/dist/lib/doctor/stray-gate-entries.js +0 -83
  846. package/dist/lib/first-sync-next-step.d.ts +0 -37
  847. package/dist/lib/first-sync-next-step.js +0 -189
  848. package/dist/lib/flag-registry-endpoint.d.ts +0 -5
  849. package/dist/lib/flag-registry-endpoint.js +0 -9
  850. package/dist/lib/flag-registry-worker-source.generated.d.ts +0 -2
  851. package/dist/lib/flag-registry-worker-source.generated.js +0 -3
  852. package/dist/lib/flag-snapshot-file.d.ts +0 -20
  853. package/dist/lib/flag-snapshot-file.js +0 -91
  854. package/dist/lib/heartbeat-identity.d.ts +0 -30
  855. package/dist/lib/heartbeat-identity.js +0 -76
  856. package/dist/lib/lanes/account-home.d.ts +0 -8
  857. package/dist/lib/lanes/account-home.js +0 -10
  858. package/dist/lib/lanes/accounts.d.ts +0 -117
  859. package/dist/lib/lanes/accounts.js +0 -366
  860. package/dist/lib/lanes/admission-host.d.ts +0 -22
  861. package/dist/lib/lanes/admission-host.js +0 -37
  862. package/dist/lib/lanes/admission.d.ts +0 -26
  863. package/dist/lib/lanes/admission.js +0 -210
  864. package/dist/lib/lanes/approval-gate.d.ts +0 -8
  865. package/dist/lib/lanes/approval-gate.js +0 -90
  866. package/dist/lib/lanes/autopilot-metrics.d.ts +0 -99
  867. package/dist/lib/lanes/autopilot-metrics.js +0 -301
  868. package/dist/lib/lanes/autopilot-registry.d.ts +0 -62
  869. package/dist/lib/lanes/autopilot-registry.js +0 -192
  870. package/dist/lib/lanes/autopilot.d.ts +0 -120
  871. package/dist/lib/lanes/autopilot.js +0 -1061
  872. package/dist/lib/lanes/blocker-freshness.d.ts +0 -31
  873. package/dist/lib/lanes/blocker-freshness.js +0 -168
  874. package/dist/lib/lanes/checked-company-path.d.ts +0 -3
  875. package/dist/lib/lanes/checked-company-path.js +0 -39
  876. package/dist/lib/lanes/claude-balance.d.ts +0 -97
  877. package/dist/lib/lanes/claude-balance.js +0 -319
  878. package/dist/lib/lanes/compaction.d.ts +0 -110
  879. package/dist/lib/lanes/compaction.js +0 -293
  880. package/dist/lib/lanes/config.d.ts +0 -94
  881. package/dist/lib/lanes/config.js +0 -606
  882. package/dist/lib/lanes/constants.d.ts +0 -3
  883. package/dist/lib/lanes/constants.js +0 -3
  884. package/dist/lib/lanes/delivery-core.d.ts +0 -15
  885. package/dist/lib/lanes/delivery-core.js +0 -21
  886. package/dist/lib/lanes/delivery.d.ts +0 -180
  887. package/dist/lib/lanes/delivery.js +0 -443
  888. package/dist/lib/lanes/disk-guard.d.ts +0 -66
  889. package/dist/lib/lanes/disk-guard.js +0 -172
  890. package/dist/lib/lanes/dropbox.d.ts +0 -129
  891. package/dist/lib/lanes/dropbox.js +0 -601
  892. package/dist/lib/lanes/effort.d.ts +0 -51
  893. package/dist/lib/lanes/effort.js +0 -113
  894. package/dist/lib/lanes/envelope-repair-dispatch.d.ts +0 -26
  895. package/dist/lib/lanes/envelope-repair-dispatch.js +0 -74
  896. package/dist/lib/lanes/errors.d.ts +0 -39
  897. package/dist/lib/lanes/errors.js +0 -72
  898. package/dist/lib/lanes/flag-keys.d.ts +0 -15
  899. package/dist/lib/lanes/flag-keys.js +0 -15
  900. package/dist/lib/lanes/grants.d.ts +0 -30
  901. package/dist/lib/lanes/grants.js +0 -171
  902. package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
  903. package/dist/lib/lanes/hire-grant-dispatch.js +0 -315
  904. package/dist/lib/lanes/hooks-install.d.ts +0 -82
  905. package/dist/lib/lanes/hooks-install.js +0 -479
  906. package/dist/lib/lanes/host-capacity.d.ts +0 -69
  907. package/dist/lib/lanes/host-capacity.js +0 -254
  908. package/dist/lib/lanes/hq-root.d.ts +0 -19
  909. package/dist/lib/lanes/hq-root.js +0 -28
  910. package/dist/lib/lanes/index.d.ts +0 -76
  911. package/dist/lib/lanes/index.js +0 -42
  912. package/dist/lib/lanes/keep-alive.d.ts +0 -68
  913. package/dist/lib/lanes/keep-alive.js +0 -343
  914. package/dist/lib/lanes/kr-freshness.d.ts +0 -76
  915. package/dist/lib/lanes/kr-freshness.js +0 -413
  916. package/dist/lib/lanes/lane-company.d.ts +0 -10
  917. package/dist/lib/lanes/lane-company.js +0 -41
  918. package/dist/lib/lanes/liveness.d.ts +0 -108
  919. package/dist/lib/lanes/liveness.js +0 -396
  920. package/dist/lib/lanes/machine-identity.d.ts +0 -34
  921. package/dist/lib/lanes/machine-identity.js +0 -92
  922. package/dist/lib/lanes/manager-status-gate.d.ts +0 -17
  923. package/dist/lib/lanes/manager-status-gate.js +0 -133
  924. package/dist/lib/lanes/merge-command.d.ts +0 -15
  925. package/dist/lib/lanes/merge-command.js +0 -629
  926. package/dist/lib/lanes/mesh-events.d.ts +0 -127
  927. package/dist/lib/lanes/mesh-events.js +0 -564
  928. package/dist/lib/lanes/message-replay.d.ts +0 -21
  929. package/dist/lib/lanes/message-replay.js +0 -122
  930. package/dist/lib/lanes/models.d.ts +0 -86
  931. package/dist/lib/lanes/models.js +0 -234
  932. package/dist/lib/lanes/monitor.d.ts +0 -48
  933. package/dist/lib/lanes/monitor.js +0 -428
  934. package/dist/lib/lanes/move-account.d.ts +0 -56
  935. package/dist/lib/lanes/move-account.js +0 -193
  936. package/dist/lib/lanes/orphans.d.ts +0 -25
  937. package/dist/lib/lanes/orphans.js +0 -102
  938. package/dist/lib/lanes/outpost-dispatch.d.ts +0 -147
  939. package/dist/lib/lanes/outpost-dispatch.js +0 -271
  940. package/dist/lib/lanes/outpost-hire-cache.d.ts +0 -22
  941. package/dist/lib/lanes/outpost-hire-cache.js +0 -153
  942. package/dist/lib/lanes/outpost-identity.d.ts +0 -33
  943. package/dist/lib/lanes/outpost-identity.js +0 -59
  944. package/dist/lib/lanes/outpost-profile-repin.d.ts +0 -17
  945. package/dist/lib/lanes/outpost-profile-repin.js +0 -84
  946. package/dist/lib/lanes/outpost-pruner-install.d.ts +0 -37
  947. package/dist/lib/lanes/outpost-pruner-install.js +0 -238
  948. package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +0 -18
  949. package/dist/lib/lanes/outpost-registry-worker-approval.js +0 -109
  950. package/dist/lib/lanes/outpost-snapshot-memo.d.ts +0 -6
  951. package/dist/lib/lanes/outpost-snapshot-memo.js +0 -14
  952. package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +0 -19
  953. package/dist/lib/lanes/outpost-worktree-pruner-flag.js +0 -86
  954. package/dist/lib/lanes/outpost-worktree-pruner.d.ts +0 -62
  955. package/dist/lib/lanes/outpost-worktree-pruner.js +0 -1201
  956. package/dist/lib/lanes/profile.d.ts +0 -69
  957. package/dist/lib/lanes/profile.js +0 -552
  958. package/dist/lib/lanes/provider-rejection.d.ts +0 -86
  959. package/dist/lib/lanes/provider-rejection.js +0 -286
  960. package/dist/lib/lanes/questions.d.ts +0 -90
  961. package/dist/lib/lanes/questions.js +0 -384
  962. package/dist/lib/lanes/quota.d.ts +0 -134
  963. package/dist/lib/lanes/quota.js +0 -471
  964. package/dist/lib/lanes/reconcile-install.d.ts +0 -90
  965. package/dist/lib/lanes/reconcile-install.js +0 -257
  966. package/dist/lib/lanes/reconcile.d.ts +0 -161
  967. package/dist/lib/lanes/reconcile.js +0 -3324
  968. package/dist/lib/lanes/registry-flag.d.ts +0 -35
  969. package/dist/lib/lanes/registry-flag.js +0 -164
  970. package/dist/lib/lanes/registry-persona.d.ts +0 -20
  971. package/dist/lib/lanes/registry-persona.js +0 -329
  972. package/dist/lib/lanes/registry.d.ts +0 -122
  973. package/dist/lib/lanes/registry.js +0 -570
  974. package/dist/lib/lanes/reviews.d.ts +0 -38
  975. package/dist/lib/lanes/reviews.js +0 -395
  976. package/dist/lib/lanes/runaway-tool-guard.d.ts +0 -38
  977. package/dist/lib/lanes/runaway-tool-guard.js +0 -284
  978. package/dist/lib/lanes/session-relink.d.ts +0 -25
  979. package/dist/lib/lanes/session-relink.js +0 -216
  980. package/dist/lib/lanes/spawn.d.ts +0 -355
  981. package/dist/lib/lanes/spawn.js +0 -2668
  982. package/dist/lib/lanes/ssm-command-context.d.ts +0 -12
  983. package/dist/lib/lanes/ssm-command-context.js +0 -52
  984. package/dist/lib/lanes/store.d.ts +0 -91
  985. package/dist/lib/lanes/store.js +0 -1822
  986. package/dist/lib/lanes/stories.d.ts +0 -23
  987. package/dist/lib/lanes/stories.js +0 -92
  988. package/dist/lib/lanes/story-ledger.d.ts +0 -80
  989. package/dist/lib/lanes/story-ledger.js +0 -815
  990. package/dist/lib/lanes/story-switch.d.ts +0 -21
  991. package/dist/lib/lanes/story-switch.js +0 -75
  992. package/dist/lib/lanes/text-scan.d.ts +0 -11
  993. package/dist/lib/lanes/text-scan.js +0 -103
  994. package/dist/lib/lanes/throttle.d.ts +0 -116
  995. package/dist/lib/lanes/throttle.js +0 -437
  996. package/dist/lib/lanes/timestamp.d.ts +0 -3
  997. package/dist/lib/lanes/timestamp.js +0 -26
  998. package/dist/lib/lanes/tracker-checks.d.ts +0 -77
  999. package/dist/lib/lanes/tracker-checks.js +0 -134
  1000. package/dist/lib/lanes/tracker-report-state.d.ts +0 -10
  1001. package/dist/lib/lanes/tracker-report-state.js +0 -124
  1002. package/dist/lib/lanes/tracker-report.d.ts +0 -203
  1003. package/dist/lib/lanes/tracker-report.js +0 -522
  1004. package/dist/lib/lanes/tracker-store.d.ts +0 -18
  1005. package/dist/lib/lanes/tracker-store.js +0 -106
  1006. package/dist/lib/lanes/types.d.ts +0 -1030
  1007. package/dist/lib/lanes/types.js +0 -418
  1008. package/dist/lib/lanes/wait.d.ts +0 -39
  1009. package/dist/lib/lanes/wait.js +0 -159
  1010. package/dist/lib/lanes/watch.d.ts +0 -39
  1011. package/dist/lib/lanes/watch.js +0 -249
  1012. package/dist/lib/lanes/watcher-main.d.ts +0 -11
  1013. package/dist/lib/lanes/watcher-main.js +0 -108
  1014. package/dist/lib/lanes/watcher.d.ts +0 -287
  1015. package/dist/lib/lanes/watcher.js +0 -1972
  1016. package/dist/lib/mesh/denial-codes.d.ts +0 -5
  1017. package/dist/lib/mesh/denial-codes.js +0 -14
  1018. package/dist/lib/mesh/live/daemon/config.d.ts +0 -36
  1019. package/dist/lib/mesh/live/daemon/config.js +0 -120
  1020. package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +0 -43
  1021. package/dist/lib/mesh/live/daemon/legacy-listen.js +0 -89
  1022. package/dist/lib/mesh/live/daemon/live-cache.d.ts +0 -26
  1023. package/dist/lib/mesh/live/daemon/live-cache.js +0 -116
  1024. package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +0 -7
  1025. package/dist/lib/mesh/live/daemon/mqtt-events.js +0 -2
  1026. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +0 -2
  1027. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +0 -10
  1028. package/dist/lib/mesh/live/daemon/version-drift.d.ts +0 -5
  1029. package/dist/lib/mesh/live/daemon/version-drift.js +0 -47
  1030. package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +0 -32
  1031. package/dist/lib/mesh/live/daemon/work-subscribe.js +0 -262
  1032. package/dist/lib/mesh/live/report-summary.d.ts +0 -45
  1033. package/dist/lib/mesh/live/report-summary.js +0 -234
  1034. package/dist/lib/mesh/live/session-seq.d.ts +0 -4
  1035. package/dist/lib/mesh/live/session-seq.js +0 -33
  1036. package/dist/lib/mesh/project-board.d.ts +0 -65
  1037. package/dist/lib/mesh/project-board.js +0 -181
  1038. package/dist/lib/mesh/story-status.d.ts +0 -22
  1039. package/dist/lib/mesh/story-status.js +0 -49
  1040. package/dist/lib/monitor.d.ts +0 -149
  1041. package/dist/lib/monitor.js +0 -519
  1042. package/dist/lib/node-binary.d.ts +0 -50
  1043. package/dist/lib/node-binary.js +0 -133
  1044. package/dist/lib/notify-recipient.d.ts +0 -7
  1045. package/dist/lib/notify-recipient.js +0 -11
  1046. package/dist/lib/onboarding/checkpoint.d.ts +0 -13
  1047. package/dist/lib/onboarding/checkpoint.js +0 -44
  1048. package/dist/lib/onboarding/cli/onboard.d.ts +0 -53
  1049. package/dist/lib/onboarding/cli/onboard.js +0 -135
  1050. package/dist/lib/onboarding/cli/prompts.d.ts +0 -28
  1051. package/dist/lib/onboarding/cli/prompts.js +0 -83
  1052. package/dist/lib/onboarding/errors.d.ts +0 -34
  1053. package/dist/lib/onboarding/errors.js +0 -59
  1054. package/dist/lib/onboarding/index.d.ts +0 -13
  1055. package/dist/lib/onboarding/index.js +0 -13
  1056. package/dist/lib/onboarding/orchestrator.d.ts +0 -47
  1057. package/dist/lib/onboarding/orchestrator.js +0 -569
  1058. package/dist/lib/onboarding/types.d.ts +0 -79
  1059. package/dist/lib/onboarding/types.js +0 -8
  1060. package/dist/lib/policy-validator.d.ts +0 -7
  1061. package/dist/lib/policy-validator.js +0 -187
  1062. package/dist/lib/process-flag-company-context.d.ts +0 -8
  1063. package/dist/lib/process-flag-company-context.js +0 -67
  1064. package/dist/lib/report-publish.d.ts +0 -175
  1065. package/dist/lib/report-publish.js +0 -421
  1066. package/dist/lib/report-run.d.ts +0 -62
  1067. package/dist/lib/report-run.js +0 -123
  1068. package/dist/lib/report-snapshot.d.ts +0 -12
  1069. package/dist/lib/report-snapshot.js +0 -135
  1070. package/dist/lib/report-templates.d.ts +0 -9
  1071. package/dist/lib/report-templates.js +0 -21
  1072. package/dist/lib/scaffold-cli-floor.d.ts +0 -8
  1073. package/dist/lib/scaffold-cli-floor.js +0 -50
  1074. package/dist/lib/search-index/collection-path-repair-flag.d.ts +0 -4
  1075. package/dist/lib/search-index/collection-path-repair-flag.js +0 -7
  1076. package/dist/lib/search-index/embed-lock.d.ts +0 -34
  1077. package/dist/lib/search-index/embed-lock.js +0 -295
  1078. package/dist/lib/search-index/load-gate.d.ts +0 -57
  1079. package/dist/lib/search-index/load-gate.js +0 -270
  1080. package/dist/lib/search-index/max-doc-bytes.d.ts +0 -219
  1081. package/dist/lib/search-index/max-doc-bytes.js +0 -463
  1082. package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +0 -5
  1083. package/dist/lib/search-index/qmd-exit-diagnostics.js +0 -40
  1084. package/dist/lib/search-index/reindex-single-flight-flag.d.ts +0 -5
  1085. package/dist/lib/search-index/reindex-single-flight-flag.js +0 -8
  1086. package/dist/lib/service-manager/index.d.ts +0 -42
  1087. package/dist/lib/service-manager/index.js +0 -105
  1088. package/dist/lib/service-manager/launchd.d.ts +0 -81
  1089. package/dist/lib/service-manager/launchd.js +0 -212
  1090. package/dist/lib/service-manager/systemd.d.ts +0 -19
  1091. package/dist/lib/service-manager/systemd.js +0 -72
  1092. package/dist/lib/service-manager/types.d.ts +0 -34
  1093. package/dist/lib/service-manager/types.js +0 -26
  1094. package/dist/lib/test-utils/isolated-flag-company-context.d.ts +0 -3
  1095. package/dist/lib/test-utils/isolated-flag-company-context.js +0 -18
  1096. package/dist/lib/work-context/bind-best.d.ts +0 -66
  1097. package/dist/lib/work-context/bind-best.js +0 -344
  1098. package/dist/lib/work-context/bind-calling-session.d.ts +0 -26
  1099. package/dist/lib/work-context/bind-calling-session.js +0 -63
  1100. package/dist/lib/work-context/company-rebind.d.ts +0 -23
  1101. package/dist/lib/work-context/company-rebind.js +0 -59
  1102. package/dist/lib/work-context/default-company.d.ts +0 -43
  1103. package/dist/lib/work-context/default-company.js +0 -83
  1104. package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +0 -4
  1105. package/dist/lib/work-context/outbox-quarantine-status-flag.js +0 -7
  1106. package/dist/lib/work-context/prd-sync.d.ts +0 -56
  1107. package/dist/lib/work-context/prd-sync.js +0 -197
  1108. package/dist/lib/work-context/preflight-contract.d.ts +0 -28
  1109. package/dist/lib/work-context/preflight-contract.js +0 -85
  1110. package/dist/lib/work-context/prompt-rebind.d.ts +0 -25
  1111. package/dist/lib/work-context/prompt-rebind.js +0 -85
  1112. package/dist/lib/work-context/windows-acl.d.ts +0 -123
  1113. package/dist/lib/work-context/windows-acl.js +0 -425
  1114. package/dist/lib/workers-registry/read.d.ts +0 -15
  1115. package/dist/lib/workers-registry/read.js +0 -17
  1116. package/dist/native-fast-route.d.ts +0 -7
  1117. package/dist/native-fast-route.js +0 -45
  1118. package/dist/node-network-compat-core.d.ts +0 -12
  1119. package/dist/node-network-compat-core.js +0 -41
  1120. package/dist/node-network-compat-fast.d.ts +0 -7
  1121. package/dist/node-network-compat-fast.js +0 -23
  1122. package/dist/secrets-env-fast-path.d.ts +0 -5
  1123. package/dist/secrets-env-fast-path.js +0 -16
  1124. package/dist/secrets-env-fast-route.d.ts +0 -18
  1125. package/dist/secrets-env-fast-route.js +0 -54
  1126. package/dist/utils/checkpoint-stamp-write-error.d.ts +0 -28
  1127. package/dist/utils/checkpoint-stamp-write-error.js +0 -99
  1128. package/dist/utils/cli-network-lifecycle.d.ts +0 -4
  1129. package/dist/utils/cli-network-lifecycle.js +0 -11
  1130. package/dist/utils/cognito-refresh-sentry.d.ts +0 -3
  1131. package/dist/utils/cognito-refresh-sentry.js +0 -49
  1132. package/dist/utils/console-origin.d.ts +0 -9
  1133. package/dist/utils/console-origin.js +0 -28
  1134. package/dist/utils/core-eval-trigger.d.ts +0 -4
  1135. package/dist/utils/core-eval-trigger.js +0 -88
  1136. package/dist/utils/exclusive-lock.d.ts +0 -32
  1137. package/dist/utils/exclusive-lock.js +0 -75
  1138. package/dist/utils/fast-stream-errors.d.ts +0 -12
  1139. package/dist/utils/fast-stream-errors.js +0 -18
  1140. package/dist/utils/files-browse-acl.d.ts +0 -5
  1141. package/dist/utils/files-browse-acl.js +0 -11
  1142. package/dist/utils/hq-core-yaml.d.ts +0 -10
  1143. package/dist/utils/hq-core-yaml.js +0 -40
  1144. package/dist/utils/hq-root-resolver.d.ts +0 -13
  1145. package/dist/utils/hq-root-resolver.js +0 -103
  1146. package/dist/utils/redact-url.d.ts +0 -14
  1147. package/dist/utils/redact-url.js +0 -218
  1148. package/dist/utils/scaffold-fast-import-guard.d.ts +0 -2
  1149. package/dist/utils/scaffold-fast-import-guard.js +0 -40
  1150. package/dist/utils/scaffold-packlist-guard.d.ts +0 -7
  1151. package/dist/utils/scaffold-packlist-guard.js +0 -23
  1152. package/dist/utils/scaffold-sibling-references.d.ts +0 -22
  1153. package/dist/utils/scaffold-sibling-references.js +0 -156
  1154. package/dist/utils/secret-load-availability.d.ts +0 -8
  1155. package/dist/utils/secret-load-availability.js +0 -54
  1156. package/dist/utils/staged-install.d.ts +0 -34
  1157. package/dist/utils/staged-install.js +0 -346
  1158. package/dist/utils/staged-npm-install.d.ts +0 -16
  1159. package/dist/utils/staged-npm-install.js +0 -264
  1160. package/dist/utils/sync-log-sources.d.ts +0 -15
  1161. package/dist/utils/sync-log-sources.js +0 -36
  1162. package/dist/utils/table-width.d.ts +0 -7
  1163. package/dist/utils/table-width.js +0 -15
  1164. package/dist/utils/update-command-supervisor.cjs +0 -247
  1165. package/dist/utils/upload-author.d.ts +0 -15
  1166. package/dist/utils/upload-author.js +0 -39
  1167. package/dist/utils/version-report.d.ts +0 -27
  1168. package/dist/utils/version-report.js +0 -105
  1169. package/dist/version-request.d.ts +0 -14
  1170. package/dist/version-request.js +0 -36
  1171. package/scripts/mesh-daemon-if-stale.mjs +0 -20
  1172. package/templates/reports/blank.md +0 -3
  1173. package/templates/reports/daily-digest.md +0 -11
  1174. package/templates/runbooks/update-report.md +0 -21
@@ -28,33 +28,25 @@
28
28
  * to silence both check + gate).
29
29
  */
30
30
  import { spawnSync } from "node:child_process";
31
- import { createHash } from "node:crypto";
32
31
  import { buildSpawnPlan, quoteForWindowsShell } from "./windows-spawn.js";
33
- import { accessSync, closeSync, constants as fsConstants, copyFileSync, existsSync, mkdirSync, mkdtempSync, openSync, readdirSync, realpathSync, readFileSync, rmSync, } from "node:fs";
32
+ import { accessSync, closeSync, constants as fsConstants, existsSync, mkdtempSync, openSync, readdirSync, readFileSync, rmSync, } from "node:fs";
34
33
  import os from "node:os";
35
34
  import path from "node:path";
36
35
  import { fileURLToPath } from "node:url";
37
36
  import chalk from "chalk";
38
37
  import semver from "semver";
39
38
  import { CLI_NAME, CLI_VERSION } from "../cli-version.js";
40
- import { Sentry } from "../sentry.js";
41
- import { isCliTelemetryDisabled } from "./cli-telemetry.js";
42
39
  import { DEFAULT_VAULT_API_URL } from "./cognito-session.js";
43
40
  import { acquireUpdateLock, } from "./update-lock.js";
44
41
  const CLIENT_ID = "hq-cli";
45
42
  const ENDPOINT_PATH = "/v1/client-version/check";
46
43
  const FETCH_TIMEOUT_MS = 3_000;
47
44
  const LATEST_PACKAGE_SPEC = `${CLI_NAME}@latest`;
48
- let currentVersionGatePhase = "unknown";
49
- /** The last closed version-gate phase observed in this process. */
50
- export function getVersionGatePhase() {
51
- return currentVersionGatePhase;
52
- }
53
45
  function isOptedOut() {
54
46
  return process.env.HQ_NO_UPDATE_CHECK === "1";
55
47
  }
56
- function findCliPackageRoot(startDir) {
57
- let dir = startDir;
48
+ function findRunningPackageRoot() {
49
+ let dir = path.dirname(fileURLToPath(import.meta.url));
58
50
  while (true) {
59
51
  try {
60
52
  const pkg = JSON.parse(readFileSync(path.join(dir, "package.json"), "utf-8"));
@@ -70,105 +62,6 @@ function findCliPackageRoot(startDir) {
70
62
  dir = parent;
71
63
  }
72
64
  }
73
- function findRunningPackageRoot() {
74
- return findCliPackageRoot(path.dirname(fileURLToPath(import.meta.url)));
75
- }
76
- /** Resolve an on-PATH executable back to the installed hq-cli package it loads. */
77
- function findPackageRootForExecutable(bin) {
78
- try {
79
- const packageRoot = findCliPackageRoot(path.dirname(realpathSync(bin)));
80
- if (packageRoot)
81
- return packageRoot;
82
- }
83
- catch {
84
- // A missing or inaccessible executable may still be recoverable from the
85
- // configured pnpm global layout below.
86
- }
87
- // pnpm emits shell/.cmd shims into its global bin directory. realpathSync()
88
- // resolves symlinks, but a generated shim is a regular file, so walking up
89
- // from its real path never reaches the package it invokes. Look up only the
90
- // hq-cli package under the matching PNPM_HOME/global layout instead.
91
- const binDir = path.dirname(bin);
92
- const configuredHome = process.env.PNPM_HOME;
93
- const inferredHome = path.basename(binDir).toLowerCase() === "bin"
94
- ? path.dirname(binDir)
95
- : binDir;
96
- const candidateHomes = [configuredHome, inferredHome].filter((home, index, homes) => Boolean(home) && homes.findIndex((candidate) => candidate === home) === index);
97
- const home = candidateHomes.find((candidate) => samePath(binDir, candidate) ||
98
- samePath(binDir, path.join(candidate, "bin")));
99
- if (!home)
100
- return null;
101
- const globalRoot = path.join(home, "global");
102
- let storeVersions;
103
- try {
104
- storeVersions = readdirSync(globalRoot);
105
- }
106
- catch {
107
- return null;
108
- }
109
- const packageSegments = CLI_NAME.split("/");
110
- for (const storeVersion of storeVersions) {
111
- const storeRoot = path.join(globalRoot, storeVersion);
112
- const packageRoots = [
113
- path.join(storeRoot, "node_modules", ...packageSegments),
114
- ];
115
- // pnpm v11 adds a hash between its global store version and node_modules.
116
- // Its documented `vN` global layout is recognized unconditionally below.
117
- if (/^v\d+$/.test(storeVersion)) {
118
- try {
119
- for (const hash of readdirSync(storeRoot)) {
120
- packageRoots.push(path.join(storeRoot, hash, "node_modules", ...packageSegments));
121
- }
122
- }
123
- catch {
124
- // A missing or unreadable version directory is simply not a candidate.
125
- }
126
- }
127
- for (const candidate of packageRoots) {
128
- const packageRoot = findCliPackageRoot(candidate);
129
- if (packageRoot &&
130
- samePath(packageRoot, candidate) &&
131
- isPnpmManagedPackageDir(packageRoot, true)) {
132
- return packageRoot;
133
- }
134
- }
135
- }
136
- return null;
137
- }
138
- function samePath(left, right) {
139
- const canonical = (value) => {
140
- try {
141
- return realpathSync(value);
142
- }
143
- catch {
144
- return path.resolve(value);
145
- }
146
- };
147
- const a = canonical(left);
148
- const b = canonical(right);
149
- return process.platform === "win32"
150
- ? a.toLowerCase() === b.toLowerCase()
151
- : a === b;
152
- }
153
- function globalInstallManagerForPath(bin, packageRoot) {
154
- if (isPnpmManagedPackageDir(packageRoot, true)) {
155
- return "pnpm";
156
- }
157
- if (isBunManagedPackageDir(packageRoot))
158
- return "bun";
159
- const prefix = npmPrefixFromPackageDir(packageRoot);
160
- if (!prefix)
161
- return null;
162
- const normalizedRoot = packageRoot.replace(/\\/g, "/");
163
- const normalizedPrefix = prefix.replace(/\\/g, "/").replace(/\/$/, "");
164
- // POSIX global npm packages live under <prefix>/lib/node_modules. On
165
- // Windows npm puts hq.cmd directly in <prefix>, so also verify the bin's
166
- // directory against the prefix-derived shim location there.
167
- const posixGlobal = normalizedRoot.includes("/lib/node_modules/");
168
- const windowsGlobal = process.platform === "win32" &&
169
- samePath(path.dirname(bin), normalizedPrefix);
170
- return posixGlobal || windowsGlobal ? "npm" : null;
171
- }
172
65
  export function npmPrefixFromPackageDir(pkgDir) {
173
66
  const normalized = pkgDir.replace(/\\/g, "/").replace(/\/+$/, "");
174
67
  const segments = normalized.split("/");
@@ -200,8 +93,8 @@ function pnpmHomeGlobalRoot() {
200
93
  * on PATH:
201
94
  *
202
95
  * $PNPM_HOME/hq <- shim on PATH
203
- * pnpm through v10: $PNPM_HOME/global/5/node_modules/@indigoai-us/hq-cli
204
- * pnpm v11+: $PNPM_HOME/global/v11/<hash>/node_modules/@indigoai-us/hq-cli
96
+ * $PNPM_HOME/global/5/node_modules/@indigoai-us/hq-cli <- symlink
97
+ * $PNPM_HOME/global/5/.pnpm/@indigoai-us+hq-cli@5.61.0/node_modules/…
205
98
  *
206
99
  * Both the symlinked and the resolved (`.pnpm`) form are recognised, because
207
100
  * whether `import.meta.url` reports the link or its target depends on how node
@@ -215,26 +108,18 @@ function pnpmHomeGlobalRoot() {
215
108
  * i.e. the gate would re-fire and re-install globally on every subsequent run.
216
109
  * Those layouts fall through to the ordinary npm-prefix/manual handling.
217
110
  */
218
- export function isPnpmManagedPackageDir(pkgDir, acceptVersionPrefixedGlobalDir = true) {
111
+ export function isPnpmManagedPackageDir(pkgDir) {
219
112
  const normalized = pkgDir.replace(/\\/g, "/").replace(/\/+$/, "");
220
113
  const segments = normalized.split("/").filter(Boolean);
221
- // pnpm through v10 uses `global/<digits>`; pnpm v11+ uses
222
- // `global/v<major>`. Recognize both documented layouts, and require a
223
- // version segment so `global/next` or a `v11` directory elsewhere cannot be
224
- // mistaken for a global install.
114
+ // `global/<digits>` — pnpm's global root, in either the symlinked or the
115
+ // resolved (`.pnpm`) form, and independent of where PNPM_HOME points.
225
116
  for (let i = 0; i < segments.length - 1; i += 1) {
226
- if (segments[i] !== "global")
227
- continue;
228
- const globalDirVersion = segments[i + 1];
229
- if (/^\d+$/.test(globalDirVersion))
117
+ if (segments[i] === "global" && /^\d+$/.test(segments[i + 1]))
230
118
  return true;
231
- if (acceptVersionPrefixedGlobalDir && /^v\d+$/.test(globalDirVersion)) {
232
- return true;
233
- }
234
119
  }
235
- // PNPM_HOME/global is pnpm's configured global root by construction, so
236
- // keep this fallback in both flag states. The flag above gates only the new
237
- // documented global/v<major> segment match outside that configured root.
120
+ // Belt-and-braces for a future pnpm layout whose store dir is not numeric:
121
+ // anything under `$PNPM_HOME/global` is global by construction. Still keyed
122
+ // on the `global` segment so `$PNPM_HOME/store/**` (dlx caches) stays out.
238
123
  const globalRoot = pnpmHomeGlobalRoot();
239
124
  if (globalRoot) {
240
125
  if (normalized === globalRoot || normalized.startsWith(`${globalRoot}/`)) {
@@ -361,7 +246,7 @@ export function resolveRunningInstall() {
361
246
  const packageRoot = findRunningPackageRoot();
362
247
  if (!packageRoot)
363
248
  return { manager: "npm", prefix: null, packageRoot: null };
364
- if (isPnpmManagedPackageDir(packageRoot, true)) {
249
+ if (isPnpmManagedPackageDir(packageRoot)) {
365
250
  return { manager: "pnpm", prefix: null, packageRoot };
366
251
  }
367
252
  if (isBunManagedPackageDir(packageRoot)) {
@@ -393,9 +278,9 @@ export function resolveRunningPrefix() {
393
278
  return resolveRunningInstall().prefix;
394
279
  }
395
280
  /**
396
- * Whether the current process can write the npm global install targets — i.e.
397
- * whether an `npm install -g --prefix <prefix>` could actually replace the
398
- * installed CLI, or would fail with EACCES.
281
+ * Whether the current process can write the npm global `prefix` — i.e. whether
282
+ * an `npm install -g --prefix <prefix>` could actually replace the installed
283
+ * CLI, or would fail with EACCES.
399
284
  *
400
285
  * The path npm rewrites is the prefix's `bin` dir (`<prefix>/bin/hq` on unix
401
286
  * globals — the `rename /usr/bin/hq` EACCES the agent boxes hit), so that is
@@ -424,119 +309,17 @@ export function isPrefixWritable(prefix, access = (target, mode) => accessSync(t
424
309
  return false;
425
310
  }
426
311
  /**
427
- * Check the directories an npm global update must mutate before spawning npm.
428
- * Npm replaces the package under node_modules and writes executable links
429
- * under prefix/bin. The package's parent must be writable because npm renames
430
- * the old package there.
431
- *
432
- * When one of those directories has not been created yet, check its nearest
433
- * existing ancestor: npm can create a child only if that ancestor is writable.
312
+ * One-line operator explanation for a failed global update whose prefix the
313
+ * running user cannot write. This is the agent-box case: the CLI is a
314
+ * root-owned `/usr` global install and the runtime is unprivileged, so the
315
+ * update genuinely cannot converge from here and re-trying it silently would
316
+ * loop. Says so plainly and points at the paths that CAN update it.
434
317
  */
435
- export function canWriteNpmInstall(prefix, packageRoot, access = (target, mode) => accessSync(target, mode)) {
436
- let nodeModulesRoot = path.join(prefix, process.platform === "win32" ? "node_modules" : "lib/node_modules");
437
- let cursor = path.resolve(packageRoot);
438
- while (true) {
439
- if (path.basename(cursor).toLowerCase() === "node_modules") {
440
- nodeModulesRoot = cursor;
441
- break;
442
- }
443
- const parent = path.dirname(cursor);
444
- if (parent === cursor)
445
- break;
446
- cursor = parent;
447
- }
448
- const mode = fsConstants.W_OK | fsConstants.X_OK;
449
- // npm needs write access to the directories it replaces or links into. The
450
- // prefix root itself need not be writable when those directories already
451
- // exist; when one is missing, the nearest-existing-ancestor check below
452
- // still verifies permission to create it.
453
- const targets = [path.join(prefix, "bin"), nodeModulesRoot, path.dirname(packageRoot)];
454
- return targets.every((target) => {
455
- let candidate = path.resolve(target);
456
- while (true) {
457
- try {
458
- access(candidate, mode);
459
- return true;
460
- }
461
- catch (error) {
462
- if (error?.code !== "ENOENT") {
463
- return false;
464
- }
465
- const parent = path.dirname(candidate);
466
- if (parent === candidate)
467
- return false;
468
- candidate = parent;
469
- }
470
- }
471
- });
472
- }
473
- const nonWritablePrefixNotices = new Set();
474
- /** Claim the one local warning/report for this installed version and prefix. */
475
- export function claimNonWritableNpmPrefixNotice(install, fromVersion, homeDir = os.homedir(), kind = "user") {
476
- const installIdentity = path.resolve(install.packageRoot ?? install.prefix ?? `${install.manager}:unknown-install`);
477
- const identity = createHash("sha256")
478
- .update(`${installIdentity}\0${fromVersion}`)
479
- .digest("hex");
480
- const localKey = path.join(homeDir, ".hq", "self-update", "prefix-not-writable", `${kind}-${identity}`);
481
- if (nonWritablePrefixNotices.has(localKey))
482
- return false;
483
- try {
484
- mkdirSync(path.dirname(localKey), { recursive: true, mode: 0o700 });
485
- const descriptor = openSync(localKey, "wx", 0o600);
486
- closeSync(descriptor);
487
- nonWritablePrefixNotices.add(localKey);
488
- return true;
489
- }
490
- catch (error) {
491
- if (error?.code === "EEXIST") {
492
- nonWritablePrefixNotices.add(localKey);
493
- return false;
494
- }
495
- // Preserve the warning/report for this process if the home directory is
496
- // unavailable. The marker is normally durable across CLI invocations.
497
- console.error(chalk.dim("hq: could not persist the self-update permission notice rate limit."));
498
- nonWritablePrefixNotices.add(localKey);
499
- return true;
500
- }
501
- }
502
- /** Emit one path-free warning event for a handled non-writable npm prefix. */
503
- export function captureNonWritableNpmPrefixNotice(input) {
504
- if (isCliTelemetryDisabled(input.env ?? process.env))
505
- return Promise.resolve();
506
- const claimed = claimNonWritableNpmPrefixNotice(input.install, input.fromVersion, input.homeDir, "report");
507
- if (!claimed)
508
- return Promise.resolve();
509
- Sentry.captureMessage("Self-update deferred: npm prefix is not writable", {
510
- level: "warning",
511
- fingerprint: ["self-update", "npm-prefix-not-writable"],
512
- tags: {
513
- from_version: input.fromVersion,
514
- target_version: input.targetVersion,
515
- install_flavor: "npm",
516
- error_class: "prefix_not_writable",
517
- error_reason: "permission_denied",
518
- },
519
- });
520
- return Sentry.flush(2_000).then((flushed) => {
521
- if (!flushed) {
522
- console.error(chalk.dim("hq: the self-update permission notice could not be sent to Sentry yet."));
523
- }
524
- });
525
- }
526
- /** One-line repair guidance for a global npm install the current user cannot write. */
527
- export function nonWritablePrefixNote(prefix, platform = process.platform) {
528
- const prefixArg = `'${prefix.replace(/'/g, "'\\''")}'`;
529
- if (platform === "win32") {
530
- const windowsPrefixArg = `"${prefix.replace(/"/g, '""')}"`;
531
- return (`The npm global prefix ${prefix} is not writable by the current user, so hq-cli was not updated. ` +
532
- `Open PowerShell as Administrator and run \`npm install -g --prefix ${windowsPrefixArg} ${CLI_NAME}@latest\`, ` +
533
- `or set a user-owned prefix with \`npm config set prefix "$env:APPDATA\\npm"\` and run ` +
534
- `\`npm install -g ${CLI_NAME}@latest\` from that PowerShell session.`);
535
- }
536
- return (`The npm global prefix ${prefix} is not writable by the current user, so hq-cli was not updated. ` +
537
- `Run \`sudo npm install -g --prefix ${prefixArg} ${CLI_NAME}@latest\` to update this install, ` +
538
- `or switch to a user-owned prefix with \`npm config set prefix ~/.npm-global\`, then run ` +
539
- `\`npm install -g ${CLI_NAME}@latest\` after adding ~/.npm-global/bin to PATH.`);
318
+ export function nonWritablePrefixNote(prefix) {
319
+ return (`The npm global prefix ${prefix} is not writable by the current user, so this update cannot ` +
320
+ `take effect here. On an agent box this is expected: the CLI is a root-owned global install and ` +
321
+ `updates land as root — via the box's hq-cli-update timer, or \`sudo npm install -g ${CLI_NAME}@latest\` — ` +
322
+ `not from the unprivileged runtime.`);
540
323
  }
541
324
  /**
542
325
  * Derive `PNPM_HOME` from a pnpm-managed install's own path. pnpm resolves its
@@ -687,7 +470,7 @@ export function cleanStalePartialInstall(prefix, fs = nodeStaleInstallFs) {
687
470
  * `null` on any failure (caller treats as "no gate"). Tight 3s timeout —
688
471
  * a hung server must not delay CLI startup.
689
472
  */
690
- async function fetchVersionDecision(timeoutMs = FETCH_TIMEOUT_MS) {
473
+ async function fetchVersionDecision() {
691
474
  try {
692
475
  const url = `${DEFAULT_VAULT_API_URL}${ENDPOINT_PATH}`;
693
476
  const res = await fetch(url, {
@@ -701,7 +484,7 @@ async function fetchVersionDecision(timeoutMs = FETCH_TIMEOUT_MS) {
701
484
  currentVersion: CLI_VERSION,
702
485
  platform: `${process.platform}-${process.arch}`,
703
486
  }),
704
- signal: AbortSignal.timeout(timeoutMs),
487
+ signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
705
488
  });
706
489
  if (!res.ok)
707
490
  return null;
@@ -747,185 +530,20 @@ export { buildSpawnPlan, quoteForWindowsShell };
747
530
  * protection silently disappearing.
748
531
  */
749
532
  export function inOwnProcessGroup(options) {
750
- return { ...options, detached: true, windowsHide: true };
533
+ return { ...options, detached: true };
751
534
  }
752
535
  /** Tail of captured installer stderr kept to explain a failure. */
753
536
  const INSTALL_DETAIL_MAX_CHARS = 400;
754
- const KNOWN_NPM_UPDATE_ERROR_CODES = new Set([
755
- "E404",
756
- "EACCES",
757
- "EAI_AGAIN",
758
- "ECONNREFUSED",
759
- "ECONNRESET",
760
- "ENOTFOUND",
761
- "EPERM",
762
- "ETARGET",
763
- "ETIMEDOUT",
764
- ]);
765
- function knownNpmUpdateErrorCode(stderr) {
766
- const escape = String.fromCharCode(0x1b);
767
- const plainStderr = stderr.replace(new RegExp(`${escape}\\[[0-9;]*m`, "g"), "");
768
- const match = /^[ \t]*npm[ \t]+(?:ERR!|error)[ \t]+code[ \t]+([A-Z0-9_]{1,32})[ \t]*$/im.exec(plainStderr);
769
- const code = match?.[1]?.toUpperCase();
770
- return code && KNOWN_NPM_UPDATE_ERROR_CODES.has(code) ? code : undefined;
771
- }
772
- function readKnownNpmDiagnosticCode(filename) {
773
- if (!existsSync(filename))
774
- return undefined;
775
- try {
776
- const contents = readFileSync(filename, "utf-8").trim();
777
- if (KNOWN_NPM_UPDATE_ERROR_CODES.has(contents))
778
- return contents;
779
- return knownNpmUpdateErrorCode(contents);
780
- }
781
- catch (error) {
782
- const code = error &&
783
- typeof error === "object" &&
784
- "code" in error &&
785
- typeof error.code === "string" &&
786
- /^[A-Z0-9_]{1,32}$/.test(error.code)
787
- ? error.code
788
- : error instanceof Error
789
- ? "Error"
790
- : "UnknownError";
791
- console.error(chalk.yellow(`Could not read update diagnostic output (${code}).`));
792
- return undefined;
793
- }
794
- }
795
- /** Give a package-manager update ample time without letting it wedge every CLI call. */
796
- const DEFAULT_UPDATE_TIMEOUT_MS = 30 * 60 * 1_000;
797
- /** Node clamps longer timer delays to 1ms, so accepting them would invert the deadline. */
798
- const MAX_UPDATE_TIMEOUT_MS = 2_147_483_647;
799
- /** Let a well-behaved updater stop before force-killing the rest of its group. */
800
- const UPDATE_TERMINATE_GRACE_MS = 1_000;
801
- /** A successful group kill must still yield a close event so the supervisor reaps its child. */
802
- const UPDATE_REAP_GRACE_MS = 1_000;
803
- function updateTimeoutMs(env = process.env) {
804
- const value = env.HQ_UPDATE_TIMEOUT_MS;
805
- if (value === undefined || value.trim() === "")
806
- return DEFAULT_UPDATE_TIMEOUT_MS;
807
- const parsed = Number(value);
808
- if (Number.isInteger(parsed) && parsed > 0 && parsed <= MAX_UPDATE_TIMEOUT_MS) {
809
- return parsed;
810
- }
811
- // Falling back rather than clamping is deliberate: a clamp would silently
812
- // substitute a materially different deadline. The warning tells operators
813
- // their requested value was rejected before any update begins.
814
- console.error(chalk.yellow(`⚠ Ignoring HQ_UPDATE_TIMEOUT_MS=${JSON.stringify(value)}: expected a positive integer no greater than ${MAX_UPDATE_TIMEOUT_MS}ms; using ${DEFAULT_UPDATE_TIMEOUT_MS}ms.`));
815
- return DEFAULT_UPDATE_TIMEOUT_MS;
816
- }
817
- /**
818
- * The actual installer runs in a small asynchronous supervisor, rather than
819
- * directly under `spawnSync`. `spawnSync({ timeout })` only signals its direct
820
- * child. That is unsafe here because the installer deliberately runs in its
821
- * own process group: the leader can exit while its descendants keep the global
822
- * store and registry connection alive. The CommonJS file is copied next to the
823
- * compiled module for production and is directly runnable from source tests.
824
- */
825
- const UPDATE_COMMAND_SUPERVISOR = fileURLToPath(new URL("./update-command-supervisor.cjs", import.meta.url));
826
- /** Set while a self-update runs the installer through a copy of the supervisor. */
827
- let detachedSupervisor = null;
828
- /** The supervisor script the next install runs under. */
829
- export function updateSupervisorPath() {
830
- return detachedSupervisor ?? UPDATE_COMMAND_SUPERVISOR;
831
- }
832
- /**
833
- * Copies the supervisor to a temp dir and runs installs through the copy until
834
- * disposed. The in-place self-update moves the whole hq-cli package aside
835
- * before it starts the installer, and the supervisor ships inside that package
836
- * (5.290.0-5.292.0 failed every npm global self-update with MODULE_NOT_FOUND).
837
- * The script needs only Node builtins, so the copy runs on its own. Returns
838
- * null when the copy cannot be made; the caller then keeps the bundled path.
839
- */
840
- export function detachUpdateSupervisor() {
841
- if (detachedSupervisor)
842
- return null;
843
- let dir;
844
- try {
845
- dir = mkdtempSync(path.join(os.tmpdir(), "hq-cli-update-supervisor-"));
846
- const copy = path.join(dir, "update-command-supervisor.cjs");
847
- copyFileSync(UPDATE_COMMAND_SUPERVISOR, copy);
848
- detachedSupervisor = copy;
849
- const tempDir = dir;
850
- return {
851
- path: copy,
852
- dispose: () => {
853
- if (detachedSupervisor === copy)
854
- detachedSupervisor = null;
855
- try {
856
- rmSync(tempDir, { recursive: true, force: true });
857
- }
858
- catch (error) {
859
- const failureClass = error &&
860
- typeof error === "object" &&
861
- "code" in error &&
862
- typeof error.code === "string" &&
863
- /^[A-Z0-9_]{1,32}$/.test(error.code)
864
- ? error.code
865
- : error instanceof Error
866
- ? "Error"
867
- : "UnknownError";
868
- console.error(chalk.yellow(`Could not remove update supervisor temp dir (${failureClass}).`));
869
- }
870
- },
871
- };
872
- }
873
- catch (error) {
874
- const failureClass = error &&
875
- typeof error === "object" &&
876
- "code" in error &&
877
- typeof error.code === "string" &&
878
- /^[A-Z0-9_]{1,32}$/.test(error.code)
879
- ? error.code
880
- : error instanceof Error
881
- ? "Error"
882
- : "UnknownError";
883
- console.error(chalk.yellow(`Could not copy update supervisor (${failureClass}).`));
884
- if (dir)
885
- rmSync(dir, { recursive: true, force: true });
886
- return null;
887
- }
888
- }
889
- function readSupervisorSpawnError(errorMarker) {
890
- try {
891
- const value = JSON.parse(readFileSync(errorMarker, "utf-8"));
892
- const code = typeof value.code === "string" ? value.code : undefined;
893
- const detail = typeof value.detail === "string" ? value.detail : undefined;
894
- return code === undefined && detail === undefined ? undefined : { code, detail };
895
- }
896
- catch {
897
- return undefined;
898
- }
899
- }
900
537
  export function openInstallOutput(verbose, isTty = process.stdout.isTTY === true && process.stderr.isTTY === true) {
901
538
  if (verbose && isTty) {
902
- const dir = mkdtempSync(path.join(os.tmpdir(), "hq-cli-install-"));
903
- const timeoutMarker = path.join(dir, "timed-out");
904
- const errorMarker = path.join(dir, "spawn-error.json");
905
- const diagnosticMarker = path.join(dir, "npm-error-code");
906
539
  return {
907
540
  stdio: ["ignore", "inherit", "inherit"],
908
541
  stderrTail: () => "",
909
- diagnosticCode: () => readKnownNpmDiagnosticCode(diagnosticMarker),
910
- diagnosticMarker,
911
- timeoutMarker,
912
- errorMarker,
913
- timedOut: () => existsSync(timeoutMarker),
914
- spawnError: () => readSupervisorSpawnError(errorMarker),
915
- dispose: () => {
916
- try {
917
- rmSync(dir, { recursive: true, force: true });
918
- }
919
- catch {
920
- // Best-effort cleanup of the supervisor's timeout marker.
921
- }
922
- },
542
+ dispose: () => { },
923
543
  };
924
544
  }
925
545
  const dir = mkdtempSync(path.join(os.tmpdir(), "hq-cli-install-"));
926
546
  const errPath = path.join(dir, "stderr.log");
927
- const timeoutPath = path.join(dir, "timed-out");
928
- const errorPath = path.join(dir, "spawn-error.json");
929
547
  const out = openSync(path.join(dir, "stdout.log"), "a");
930
548
  const err = openSync(errPath, "a");
931
549
  return {
@@ -938,11 +556,6 @@ export function openInstallOutput(verbose, isTty = process.stdout.isTTY === true
938
556
  return "";
939
557
  }
940
558
  },
941
- diagnosticCode: () => readKnownNpmDiagnosticCode(errPath),
942
- timeoutMarker: timeoutPath,
943
- errorMarker: errorPath,
944
- timedOut: () => existsSync(timeoutPath),
945
- spawnError: () => readSupervisorSpawnError(errorPath),
946
559
  dispose: () => {
947
560
  for (const fd of [out, err]) {
948
561
  try {
@@ -961,29 +574,13 @@ export function openInstallOutput(verbose, isTty = process.stdout.isTTY === true
961
574
  },
962
575
  };
963
576
  }
964
- export function runSupervisedUpdateCommand(cmd, args, output, env) {
577
+ export function runUpdateCommand(cmd, args, env) {
578
+ const output = openInstallOutput(true);
965
579
  try {
966
580
  const plan = buildSpawnPlan(cmd, args);
967
- const timeoutMs = updateTimeoutMs(env);
968
- // The outer sync spawn waits only for our supervisor. The supervisor owns
969
- // the wall-clock deadline, sends TERM to the updater's whole process group,
970
- // waits briefly, sends KILL to survivors, and waits for its direct child so
971
- // the completed result leaves no zombie behind.
972
- const result = spawnSync(process.execPath, [
973
- updateSupervisorPath(),
974
- JSON.stringify({
975
- cmd: plan.cmd,
976
- args: plan.args,
977
- shell: plan.shell,
978
- timeoutMs,
979
- graceMs: UPDATE_TERMINATE_GRACE_MS,
980
- reapMs: UPDATE_REAP_GRACE_MS,
981
- timeoutMarker: output.timeoutMarker,
982
- errorMarker: output.errorMarker,
983
- diagnosticMarker: output.diagnosticMarker,
984
- }),
985
- ], inOwnProcessGroup({
581
+ const result = spawnSync(plan.cmd, plan.args, inOwnProcessGroup({
986
582
  stdio: output.stdio,
583
+ shell: plan.shell,
987
584
  ...(env ? { env } : {}),
988
585
  }));
989
586
  // spawnSync reports a missing executable via `error`, not a throw.
@@ -991,34 +588,12 @@ export function runSupervisedUpdateCommand(cmd, args, output, env) {
991
588
  const code = result.error.code;
992
589
  return { ok: false, code, detail: result.error.message };
993
590
  }
994
- if (output.timedOut()) {
995
- const command = [cmd, ...args].join(" ");
996
- const supervisorError = output.spawnError();
997
- const detail = [
998
- `timed out after ${timeoutMs}ms: ${command}`,
999
- supervisorError?.detail,
1000
- ]
1001
- .filter(Boolean)
1002
- .join("; ");
1003
- console.error(chalk.red(`✗ Update ${detail}.`));
1004
- return { ok: false, code: "ETIMEDOUT", detail };
1005
- }
1006
- const spawnedError = output.spawnError();
1007
- if (spawnedError) {
1008
- return {
1009
- ok: false,
1010
- code: spawnedError.code,
1011
- detail: spawnedError.detail ?? "failed to start updater",
1012
- };
1013
- }
1014
591
  if (result.status !== 0) {
1015
592
  // When output went to a file rather than the user's terminal, its tail is
1016
593
  // the only explanation anyone will ever see for this failure.
1017
594
  const captured = output.stderrTail();
1018
595
  return {
1019
596
  ok: false,
1020
- diagnosticCode: output.diagnosticCode(),
1021
- failureKind: "package_manager_exit",
1022
597
  detail: captured || `exit ${result.status ?? "signal"}`,
1023
598
  };
1024
599
  }
@@ -1031,12 +606,6 @@ export function runSupervisedUpdateCommand(cmd, args, output, env) {
1031
606
  detail: err instanceof Error ? err.message : String(err),
1032
607
  };
1033
608
  }
1034
- }
1035
- export function runUpdateCommand(cmd, args, env) {
1036
- const output = openInstallOutput(true);
1037
- try {
1038
- return runSupervisedUpdateCommand(cmd, args, output, env);
1039
- }
1040
609
  finally {
1041
610
  output.dispose();
1042
611
  }
@@ -1087,9 +656,7 @@ function manualUpdateCommand(install, decision) {
1087
656
  * remains for callers that pass no handler.
1088
657
  */
1089
658
  function nudgeUpdateRecommended(decision, install = resolveRunningInstall()) {
1090
- if (!isNewerVersion(decision.latestVersion, CLI_VERSION))
1091
- return;
1092
- const msg = chalk.yellow(`⚠ A new version of hq-cli is available: ${decision.latestVersion} (current: ${CLI_VERSION}).`);
659
+ const msg = chalk.yellow(`⚠ A new version of hq-cli is available: ${decision.latestVersion} (current: ${decision.currentVersion}).`);
1093
660
  console.error(msg);
1094
661
  // A local copy is not updated by any global command. Printing the server's
1095
662
  // npm-shaped one would send the user to install a second copy that this
@@ -1140,44 +707,6 @@ export function resolveHqOnPath() {
1140
707
  return null;
1141
708
  }
1142
709
  }
1143
- /**
1144
- * Pull the CLI version out of `hq --version` / `hq version` output.
1145
- *
1146
- * Compare CLI to CLI. Never take the first version-shaped token: 5.119.13–
1147
- * 5.121.0 printed `HQ <core>` above `CLI <cli>`, and scraping the HQ line
1148
- * made a successful install look like a PATH shadow.
1149
- *
1150
- * Accepts:
1151
- * - bare semver (historical `--version`, and `--version` again after this fix)
1152
- * - labelled `CLI x.y.z` (those 5.119.13–5.121.0 builds)
1153
- * - JSON `{ "cli": "x.y.z", ... }` from `--json`
1154
- */
1155
- export function parseReportedCliVersion(stdout) {
1156
- const text = stdout.trim();
1157
- if (!text)
1158
- return null;
1159
- if (text.startsWith("{")) {
1160
- try {
1161
- const parsed = JSON.parse(text);
1162
- if (typeof parsed.cli === "string" && parsed.cli.trim()) {
1163
- return parsed.cli.trim();
1164
- }
1165
- }
1166
- catch {
1167
- // Fall through to labelled / bare parsers.
1168
- }
1169
- }
1170
- const labelled = /^[ \t]*CLI[ \t]+(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)/m.exec(text);
1171
- if (labelled)
1172
- return labelled[1];
1173
- const lines = text
1174
- .split(/\r?\n/)
1175
- .map((line) => line.trim())
1176
- .filter(Boolean);
1177
- if (lines.length === 1)
1178
- return lines[0];
1179
- return null;
1180
- }
1181
710
  /** `<bin> --version` output (trimmed), or null on any failure/timeout. */
1182
711
  export function probeCliVersion(bin) {
1183
712
  try {
@@ -1187,7 +716,8 @@ export function probeCliVersion(bin) {
1187
716
  });
1188
717
  if (result.error || result.status !== 0)
1189
718
  return null;
1190
- return parseReportedCliVersion(result.stdout ?? "");
719
+ const out = (result.stdout ?? "").trim();
720
+ return out || null;
1191
721
  }
1192
722
  catch {
1193
723
  return null;
@@ -1202,10 +732,9 @@ export function probeCliVersion(bin) {
1202
732
  * pnpm-global shim at `~/Library/pnpm/bin/hq` shadowing the npm bin dir),
1203
733
  * every updater on the box probes the ghost's version, sees it stale, installs
1204
734
  * into the npm prefix, reports success, and repeats forever — the production
1205
- * updater-war this fix exists for. Detect a stale PATH result here, identify a
1206
- * distinct package managed by a supported global manager before calling it a
1207
- * shadow, and never retry: no number of retries into the same prefix can change
1208
- * what PATH resolves.
735
+ * updater-war this fix exists for. Detect the divergence here, warn ONCE with
736
+ * the exact shadowing path, and never retry: no number of retries into the
737
+ * same prefix can change what PATH resolves.
1209
738
  *
1210
739
  * Advisory only — resolution failure warns once and continues; nothing in
1211
740
  * here may crash or block the CLI.
@@ -1225,6 +754,12 @@ export function checkUpdateConvergence(targetVersion, deps = {}) {
1225
754
  }
1226
755
  if (reported === targetVersion)
1227
756
  return true; // converged — the normal case
757
+ console.error(chalk.yellow(`⚠ hq updated to ${targetVersion} but PATH still resolves ${bin} at version ${reported} — ` +
758
+ `a second install is shadowing the managed one. Remove it (e.g. \`pnpm remove -g ${CLI_NAME}\`) ` +
759
+ "or the updater will loop forever."));
760
+ // The warning above fires for ANY mismatch — something other than the copy
761
+ // we just wrote is winning PATH resolution, which is worth saying either
762
+ // way. But only a STALE result disproves convergence.
1228
763
  //
1229
764
  // The install runs `@latest`, not `@<targetVersion>`, so it can legitimately
1230
765
  // land a version NEWER than the `latestVersion` the gate was handed: the npm
@@ -1239,36 +774,6 @@ export function checkUpdateConvergence(targetVersion, deps = {}) {
1239
774
  semver.gte(reportedSemver, targetSemver)) {
1240
775
  return true;
1241
776
  }
1242
- const runningInstall = (deps.currentInstall ?? resolveRunningInstall)();
1243
- const packageRoot = (deps.packageRootForBin ?? findPackageRootForExecutable)(bin);
1244
- const manager = packageRoot &&
1245
- runningInstall.packageRoot &&
1246
- !samePath(packageRoot, runningInstall.packageRoot)
1247
- ? globalInstallManagerForPath(bin, packageRoot)
1248
- : null;
1249
- let detail;
1250
- if (manager) {
1251
- const removeCommand = manager === "pnpm"
1252
- ? `pnpm remove -g ${CLI_NAME}`
1253
- : manager === "bun"
1254
- ? `bun remove -g ${CLI_NAME}`
1255
- : `npm uninstall -g ${CLI_NAME}`;
1256
- let realPath = bin;
1257
- try {
1258
- realPath = realpathSync(bin);
1259
- }
1260
- catch {
1261
- // Keep the shell-resolved path when a platform shim is not canonicalizable.
1262
- }
1263
- detail =
1264
- `PATH resolves ${realPath} at version ${reported} (manager: ${manager}); ` +
1265
- `that second hq-cli install is shadowing the managed one. Remove it with \`${removeCommand}\`.`;
1266
- }
1267
- else {
1268
- detail =
1269
- `PATH resolves ${bin} at version ${reported}, but no second managed hq-cli install was confirmed.`;
1270
- }
1271
- console.error(chalk.yellow(`⚠ hq updated to ${targetVersion} but did not converge: ${detail}`));
1272
777
  return false;
1273
778
  }
1274
779
  catch {
@@ -1291,13 +796,9 @@ export function checkUpdateConvergence(targetVersion, deps = {}) {
1291
796
  * Exit codes:
1292
797
  * 0 — update succeeded; user must rerun their command
1293
798
  * 75 — update failed (EX_TEMPFAIL; common for sudo/EACCES on system npm)
1294
- *
1295
- * A timed-out updater is the exception: it has been forcibly reaped, so the
1296
- * gate returns and lets the user's command run on the current version.
1297
799
  */
1298
800
  function enforceUpdateRequired(decision, deps = {}) {
1299
- currentVersionGatePhase = "preflight";
1300
- const banner = chalk.red.bold(`✗ hq-cli ${CLI_VERSION} is below the minimum required version (${decision.minVersion}).`);
801
+ const banner = chalk.red.bold(`✗ hq-cli ${decision.currentVersion} is below the minimum required version (${decision.minVersion}).`);
1301
802
  console.error(banner);
1302
803
  if (decision.message)
1303
804
  console.error(chalk.dim(` ${decision.message}`));
@@ -1323,8 +824,8 @@ function enforceUpdateRequired(decision, deps = {}) {
1323
824
  // stale dist-tag, a bad cache, a misconfigured pin), reinstalling it on every
1324
825
  // invocation and announcing success each time is strictly worse than saying
1325
826
  // so once.
1326
- if (!isNewerVersion(decision.latestVersion, CLI_VERSION)) {
1327
- console.error(chalk.red(` Refusing to update: the offered version ${decision.latestVersion} is not newer than the running ${CLI_VERSION}.`));
827
+ if (!isNewerVersion(decision.latestVersion, decision.currentVersion)) {
828
+ console.error(chalk.red(` Refusing to update: the offered version ${decision.latestVersion} is not newer than the installed ${decision.currentVersion}.`));
1328
829
  console.error(chalk.dim(" This is a server-side or registry problem, not a local one — reinstalling would loop without ever converging."));
1329
830
  process.exit(75);
1330
831
  }
@@ -1347,30 +848,17 @@ function enforceUpdateRequired(decision, deps = {}) {
1347
848
  console.error(chalk.dim(" Another hq updater is already installing (update lock held); continuing on the current version."));
1348
849
  return;
1349
850
  }
1350
- currentVersionGatePhase = "lock_acquired";
1351
- let attempt;
851
+ let exitCode;
1352
852
  try {
1353
- attempt = attemptRequiredUpdate(decision, deps, install);
853
+ exitCode = attemptRequiredUpdate(decision, deps, install);
1354
854
  }
1355
- catch (error) {
855
+ finally {
856
+ // `process.exit` skips `finally` blocks, so the exit itself lives OUTSIDE
857
+ // the lock scope; this `finally` releases on the normal path and on any
858
+ // unexpected throw from the install attempt.
1356
859
  lock.release();
1357
- throw error;
1358
860
  }
1359
- if (attempt instanceof Promise) {
1360
- return attempt.then((exitCode) => {
1361
- lock.release();
1362
- if (exitCode !== "continue")
1363
- process.exit(exitCode);
1364
- }, (error) => {
1365
- lock.release();
1366
- throw error;
1367
- });
1368
- }
1369
- // `process.exit` skips `finally`, so release explicitly before exiting.
1370
- lock.release();
1371
- if (attempt === "continue")
1372
- return;
1373
- process.exit(attempt);
861
+ process.exit(exitCode);
1374
862
  }
1375
863
  /**
1376
864
  * The install attempt itself (npm/pnpm/bun routing, stale-partial cleanup,
@@ -1382,7 +870,6 @@ function attemptRequiredUpdate(decision, deps, install) {
1382
870
  const command = decision.updateCommand;
1383
871
  const isManagedOutsideNpm = install.manager !== "npm";
1384
872
  const prefix = install.prefix;
1385
- const stagedNpmPrefix = Boolean(!isManagedOutsideNpm && prefix && /\s/.test(prefix));
1386
873
  const runner = deps.runner ?? runUpdateCommand;
1387
874
  // Resolve the concrete install argv once so the sudo fallback below can re-run
1388
875
  // the EXACT same command under elevation.
@@ -1412,8 +899,6 @@ function attemptRequiredUpdate(decision, deps, install) {
1412
899
  // npm/bun and when PNPM_HOME is already set.
1413
900
  const updateEnv = pnpmUpdateEnv(install);
1414
901
  let result;
1415
- let noticeFlush = null;
1416
- currentVersionGatePhase = "installer_running";
1417
902
  if (isManagedOutsideNpm) {
1418
903
  console.error(chalk.dim(` Detected a ${install.manager}-managed global install; updating with ${install.manager}`));
1419
904
  console.error(chalk.dim(` Running: ${primaryCmd} ${primaryArgs.join(" ")}`));
@@ -1421,20 +906,8 @@ function attemptRequiredUpdate(decision, deps, install) {
1421
906
  }
1422
907
  else if (prefix) {
1423
908
  console.error(chalk.dim(` Installing into npm prefix: ${prefix}`));
1424
- if (stagedNpmPrefix) {
1425
- console.error(chalk.dim(" Building in a space-free temporary prefix before activation."));
1426
- const installStaged = deps.installNpmPackageStaged;
1427
- if (!installStaged) {
1428
- result = { ok: false, detail: "staged npm installer was not loaded" };
1429
- }
1430
- else {
1431
- result = installStaged(prefix, LATEST_PACKAGE_SPEC, runner);
1432
- }
1433
- }
1434
- else {
1435
- console.error(chalk.dim(` Running: npm ${primaryArgs.join(" ")}`));
1436
- result = performUpdateCommand("npm", primaryArgs, runner);
1437
- }
909
+ console.error(chalk.dim(` Running: npm ${primaryArgs.join(" ")}`));
910
+ result = performUpdateCommand("npm", primaryArgs, runner);
1438
911
  }
1439
912
  else {
1440
913
  console.error(chalk.dim(` Running: ${command}`));
@@ -1450,7 +923,7 @@ function attemptRequiredUpdate(decision, deps, install) {
1450
923
  // artifacts and retry the install ONCE. Guarded on `cleaned.length > 0` so a
1451
924
  // plain EACCES on an otherwise-healthy prefix falls straight through to the
1452
925
  // sudo retry below without a redundant reinstall attempt.
1453
- if (!result.ok && result.code !== "ETIMEDOUT" && prefix && !stagedNpmPrefix) {
926
+ if (!result.ok && prefix) {
1454
927
  const cleaner = deps.cleanStale ?? cleanStalePartialInstall;
1455
928
  const cleaned = cleaner(prefix);
1456
929
  if (cleaned.length > 0) {
@@ -1470,37 +943,20 @@ function attemptRequiredUpdate(decision, deps, install) {
1470
943
  // Never for pnpm or Bun: elevation changes the package manager's global home,
1471
944
  // leaving the user's shim untouched while reporting success. A failed
1472
945
  // non-npm update must surface instead.
1473
- const platform = deps.platform ?? process.platform;
1474
- if (platform !== "win32" &&
1475
- !result.ok &&
1476
- result.code !== "ETIMEDOUT" &&
1477
- primaryCmd &&
1478
- !isManagedOutsideNpm &&
1479
- !stagedNpmPrefix) {
946
+ if (!result.ok && primaryCmd && !isManagedOutsideNpm) {
1480
947
  console.error(chalk.dim(` Update failed unprivileged; retrying with: sudo -n ${primaryCmd} ${primaryArgs.join(" ")}`));
1481
948
  const sudoResult = performUpdateCommand("sudo", ["-n", primaryCmd, ...primaryArgs], runner);
1482
949
  if (sudoResult.ok)
1483
950
  result = sudoResult;
1484
951
  }
1485
952
  if (!result.ok) {
1486
- currentVersionGatePhase = "failed";
1487
953
  console.error(chalk.red(`✗ Update failed${result.detail ? `: ${result.detail}` : ""}.`));
1488
- // If the npm prefix is still unwritable after the unprivileged and sudo
1489
- // attempts, explain the permission wall plainly instead of leaving exit 75
1490
- // as a generic failure. Only applies to npm-managed installs.
1491
- const npmPrefixNotWritable = !isManagedOutsideNpm &&
1492
- prefix &&
1493
- install.packageRoot &&
1494
- !(deps.canWriteNpmInstall ?? ((resolved) => canWriteNpmInstall(resolved.prefix, resolved.packageRoot)))(install);
1495
- if (npmPrefixNotWritable) {
954
+ // A root-owned global prefix the running user cannot write is the agent-box
955
+ // case: even the `sudo -n` retry above cannot help without passwordless
956
+ // sudo, so name the wall plainly rather than leaving `exit 75` to read as a
957
+ // generic failure. Only for npm-prefix installs (pnpm/Bun route elsewhere).
958
+ if (!isManagedOutsideNpm && prefix && !isPrefixWritable(prefix)) {
1496
959
  console.error(chalk.yellow(` ${nonWritablePrefixNote(prefix)}`));
1497
- noticeFlush = captureNonWritableNpmPrefixNotice({
1498
- fromVersion: CLI_VERSION,
1499
- targetVersion: decision.latestVersion,
1500
- install,
1501
- env: process.env,
1502
- homeDir: deps.homeDir,
1503
- });
1504
960
  }
1505
961
  // The package manager itself is missing from this environment — the usual
1506
962
  // cause is a minimal-PATH parent (launchd, cron, a bare systemd unit) that
@@ -1517,37 +973,25 @@ function attemptRequiredUpdate(decision, deps, install) {
1517
973
  if (isManagedOutsideNpm && result.code === "ENOENT" && command) {
1518
974
  console.error(chalk.dim(` (hq-pro suggests \`${command}\` — that is for npm-managed installs; use it only if you have switched this install to npm.)`));
1519
975
  }
1520
- // The self-update is allowed to fail, but a deadline expiry must not turn
1521
- // into a second, indefinite denial of the user's command. The supervisor
1522
- // either reaped the group or recorded why the OS denied that signal; in
1523
- // neither case did an update land. Continue on the current CLI rather than
1524
- // pretending it did or aborting the command that caused the gate to run.
1525
- if (result.code === "ETIMEDOUT") {
1526
- console.error(chalk.dim(" Continuing on the current hq-cli version."));
1527
- return "continue";
1528
- }
1529
- return noticeFlush ? noticeFlush.then(() => 75) : 75;
976
+ return 75;
1530
977
  }
1531
978
  // Read-your-writes: a "successful" install into the npm prefix does not
1532
979
  // prove the user's PATH resolves it. Verify BEFORE announcing, so a ghost
1533
980
  // install shadowing the copy we just wrote is reported as the failed update
1534
981
  // it is rather than as a success the caller will keep retrying — see
1535
982
  // checkUpdateConvergence.
1536
- currentVersionGatePhase = "verifying";
1537
983
  const converged = (deps.checkConvergence ?? checkUpdateConvergence)(decision.latestVersion);
1538
984
  if (converged === false) {
1539
- currentVersionGatePhase = "failed";
1540
985
  console.error(chalk.red(`✗ Update did not take effect: \`hq\` on PATH still resolves a different build than ${decision.latestVersion}.`));
1541
986
  return 75;
1542
987
  }
1543
- currentVersionGatePhase = "complete";
1544
988
  console.error(chalk.green(`✓ Updated to hq-cli ${decision.latestVersion}. Rerun your command.`));
1545
989
  return 0;
1546
990
  }
1547
- export async function enforceVersionGate(onUpdateRecommended, options = {}) {
991
+ export async function enforceVersionGate(onUpdateRecommended) {
1548
992
  if (isOptedOut())
1549
993
  return "continue";
1550
- const decision = await fetchVersionDecision(options.timeoutMs);
994
+ const decision = await fetchVersionDecision();
1551
995
  if (!decision)
1552
996
  return "continue"; // best-effort: silent on any failure
1553
997
  if (!decision.updateRequired && !decision.updateRecommended)
@@ -1556,18 +1000,9 @@ export async function enforceVersionGate(onUpdateRecommended, options = {}) {
1556
1000
  // neither downstream path repeats it.
1557
1001
  const install = resolveRunningInstall();
1558
1002
  if (decision.updateRequired) {
1559
- // Load the staged installer only for the uncommon spaced npm-prefix path.
1560
- // The version gate is imported during every CLI startup, including native
1561
- // fast routes, so eagerly importing this filesystem-heavy module adds cost
1562
- // to commands that never update.
1563
- const installNpmPackageStaged = install.manager === "npm" && install.prefix && /\s/.test(install.prefix)
1564
- ? (await import("./staged-npm-install.js")).installNpmPackageStaged
1565
- : undefined;
1566
1003
  // Exits the process, EXCEPT when another updater holds the shared update
1567
1004
  // lock — then it returns and the CLI continues on the current version.
1568
- const requiredUpdate = enforceUpdateRequired(decision, { resolveInstall: () => install, installNpmPackageStaged });
1569
- if (requiredUpdate)
1570
- await requiredUpdate;
1005
+ enforceUpdateRequired(decision, { resolveInstall: () => install });
1571
1006
  return "continue";
1572
1007
  }
1573
1008
  if (decision.updateRecommended) {
@@ -1588,18 +1023,11 @@ export async function enforceVersionGate(onUpdateRecommended, options = {}) {
1588
1023
  * force-upgraded.
1589
1024
  */
1590
1025
  export function shouldSkipGate(argv) {
1591
- return argv.some((a) => a === "--version" ||
1592
- a === "-V" ||
1593
- a === "-v" ||
1594
- a === "--help" ||
1595
- a === "-h" ||
1596
- a === "version");
1026
+ return argv.some((a) => a === "--version" || a === "-V" || a === "-v" || a === "--help" || a === "-h");
1597
1027
  }
1598
1028
  export const __test__ = {
1599
1029
  CLIENT_ID,
1600
- getVersionGatePhase,
1601
1030
  CONVERGENCE_TIMEOUT_MS,
1602
- DEFAULT_UPDATE_TIMEOUT_MS,
1603
1031
  ENDPOINT_PATH,
1604
1032
  FETCH_TIMEOUT_MS,
1605
1033
  checkUpdateConvergence,
@@ -1609,8 +1037,6 @@ export const __test__ = {
1609
1037
  buildPnpmInstallArgv,
1610
1038
  buildPrefixedInstallArgv,
1611
1039
  buildSpawnPlan,
1612
- canWriteNpmInstall,
1613
- claimNonWritableNpmPrefixNotice,
1614
1040
  cleanStalePartialInstall,
1615
1041
  derivePnpmHome,
1616
1042
  enforceUpdateRequired,
@@ -1632,6 +1058,5 @@ export const __test__ = {
1632
1058
  resolveRunningInstall,
1633
1059
  resolveRunningManager,
1634
1060
  resolveRunningPrefix,
1635
- updateTimeoutMs,
1636
1061
  };
1637
1062
  //# sourceMappingURL=version-gate.js.map