@indigoai-us/hq-cli 5.314.0 → 5.315.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 (1178) hide show
  1. package/CHANGELOG.md +4311 -1
  2. package/README.md +113 -0
  3. package/assets/bot-workers/setup/context/USER-GUIDE.md +404 -0
  4. package/assets/bot-workers/setup/context/quick-reference.md +199 -0
  5. package/assets/bot-workers/setup/skills/agents-and-team.md +167 -0
  6. package/assets/bot-workers/setup/skills/explain-hq.md +35 -0
  7. package/assets/bot-workers/setup/skills/first-company.md +74 -0
  8. package/assets/bot-workers/setup/skills/joining-a-team.md +125 -0
  9. package/assets/bot-workers/setup/skills/pricing.md +92 -0
  10. package/assets/bot-workers/setup/skills/standing-help.md +81 -0
  11. package/assets/bot-workers/setup/skills/your-business.md +281 -0
  12. package/assets/bot-workers/setup/worker.yaml +791 -0
  13. package/assets/lanes-hooks/hq-lanes-drain.json +15 -0
  14. package/assets/lanes-hooks/hq-lanes-drain.mjs +275 -0
  15. package/assets/lanes-hooks/hq-lanes-drain.sh +21 -0
  16. package/assets/lanes-reconcile/hq-lanes-reconcile.service +11 -0
  17. package/assets/lanes-reconcile/hq-lanes-reconcile.timer +12 -0
  18. package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +485 -0
  19. package/assets/scaffold/core/scripts/audit-log.sh +384 -0
  20. package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +281 -43
  21. package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +171 -0
  22. package/assets/scaffold/core/scripts/eval-trigger.sh +193 -0
  23. package/assets/scaffold/core/scripts/git-pack-extension-check.sh +164 -0
  24. package/assets/scaffold/core/scripts/handoff-finalize.sh +688 -0
  25. package/assets/scaffold/core/scripts/handoff-open-steps.sh +81 -0
  26. package/assets/scaffold/core/scripts/handoff-post.sh +252 -0
  27. package/assets/scaffold/core/scripts/hook-lib.sh +345 -50
  28. package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +307 -0
  29. package/assets/scaffold/core/scripts/hq-delegate-grant.sh +252 -0
  30. package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +99 -0
  31. package/assets/scaffold/core/scripts/hq-delegate-publish.sh +91 -0
  32. package/assets/scaffold/core/scripts/hq-delegate-repo.sh +158 -0
  33. package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +145 -0
  34. package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +129 -0
  35. package/assets/scaffold/core/scripts/hq-delegate-send.sh +259 -0
  36. package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +175 -0
  37. package/assets/scaffold/core/scripts/hq-delegate-verify.sh +238 -0
  38. package/assets/scaffold/core/scripts/hq-dm-bind.sh +585 -0
  39. package/assets/scaffold/core/scripts/hq-job-notify.sh +389 -0
  40. package/assets/scaffold/core/scripts/hq-job-probe.sh +835 -0
  41. package/assets/scaffold/core/scripts/hq-job-remediate.sh +359 -0
  42. package/assets/scaffold/core/scripts/hq-job-run.sh +1025 -0
  43. package/assets/scaffold/core/scripts/hq-pin.sh +118 -0
  44. package/assets/scaffold/core/scripts/hq-session.sh +184 -23
  45. package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +310 -0
  46. package/assets/scaffold/core/scripts/jobs-validate.sh +451 -0
  47. package/assets/scaffold/core/scripts/knowledge-prefs.sh +55 -0
  48. package/assets/scaffold/core/scripts/lib/portable.sh +211 -0
  49. package/assets/scaffold/core/scripts/lib/secret-patterns.sh +58 -0
  50. package/assets/scaffold/core/scripts/lib/session-id.sh +3 -2
  51. package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
  52. package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +2 -1
  53. package/assets/scaffold/core/scripts/lib/work-mesh-live-hook.sh +378 -0
  54. package/assets/scaffold/core/scripts/lib/work-mesh-live-rebind.sh +141 -0
  55. package/assets/scaffold/core/scripts/migrate-policy-triggers.sh +378 -0
  56. package/assets/scaffold/core/scripts/ontology-audience-grant.sh +81 -0
  57. package/assets/scaffold/core/scripts/ontology-brief.mjs +93 -0
  58. package/assets/scaffold/core/scripts/ontology-candidate.sh +100 -0
  59. package/assets/scaffold/core/scripts/ontology-garden.mjs +238 -0
  60. package/assets/scaffold/core/scripts/ontology-source-worklist.sh +79 -0
  61. package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +834 -0
  62. package/assets/scaffold/core/scripts/policy-age-report.sh +156 -0
  63. package/assets/scaffold/core/scripts/policy-retire.sh +199 -0
  64. package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +10 -87
  65. package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +40 -0
  66. package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +32 -0
  67. package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +36 -3
  68. package/assets/scaffold/core/scripts/rebuild-projects-index.sh +99 -12
  69. package/assets/scaffold/core/scripts/refresh-vault-access.sh +188 -0
  70. package/assets/scaffold/core/scripts/register-project.sh +262 -0
  71. package/assets/scaffold/core/scripts/resolve-company.sh +199 -0
  72. package/assets/scaffold/core/scripts/resume-thread-lock.sh +285 -0
  73. package/assets/scaffold/core/scripts/source-yaml-validate.sh +36 -0
  74. package/assets/scaffold/core/scripts/token-usage-report.sh +81 -20
  75. package/assets/scaffold/core/scripts/verify-story-deliverables.sh +148 -0
  76. package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +152 -0
  77. package/assets/scaffold/core/scripts/work-mesh-live-rebind.sh +59 -0
  78. package/assets/scaffold/core/scripts/worktree-gc.sh +362 -0
  79. package/contracts/preflight/v1/fixtures.json +87 -0
  80. package/contracts/preflight/v1/schema.json +58 -0
  81. package/dist/bin/hq-auth-refresh.d.ts +2 -0
  82. package/dist/bin/hq-auth-refresh.js +12 -6
  83. package/dist/command-catalog.generated.d.ts +10753 -0
  84. package/dist/command-catalog.generated.js +13859 -0
  85. package/dist/command-registration-plan.d.ts +474 -0
  86. package/dist/command-registration-plan.js +136 -0
  87. package/dist/commands/__fixtures__/access-vault.d.ts +2 -0
  88. package/dist/commands/__fixtures__/access-vault.js +1 -1
  89. package/dist/commands/_patterns.d.ts +16 -0
  90. package/dist/commands/_patterns.js +20 -3
  91. package/dist/commands/access.d.ts +2 -1
  92. package/dist/commands/access.js +58 -49
  93. package/dist/commands/agent-enroll.d.ts +146 -0
  94. package/dist/commands/agent-enroll.js +401 -0
  95. package/dist/commands/agent-inbox.d.ts +9 -0
  96. package/dist/commands/agent-inbox.js +102 -0
  97. package/dist/commands/agent-kit.d.ts +87 -0
  98. package/dist/commands/agent-kit.js +480 -0
  99. package/dist/commands/agent-mcp.d.ts +24 -0
  100. package/dist/commands/agent-mcp.js +127 -0
  101. package/dist/commands/agent-probe.d.ts +77 -0
  102. package/dist/commands/agent-probe.js +335 -0
  103. package/dist/commands/agent.d.ts +13 -0
  104. package/dist/commands/agent.js +40 -0
  105. package/dist/commands/agents.d.ts +106 -4
  106. package/dist/commands/agents.js +924 -45
  107. package/dist/commands/auth.d.ts +1 -0
  108. package/dist/commands/auth.js +189 -19
  109. package/dist/commands/billing-sponsor.d.ts +83 -0
  110. package/dist/commands/billing-sponsor.js +344 -0
  111. package/dist/commands/billing.d.ts +3 -0
  112. package/dist/commands/billing.js +6 -1
  113. package/dist/commands/bot-companies.d.ts +40 -0
  114. package/dist/commands/bot-companies.js +64 -0
  115. package/dist/commands/bot-continuity.d.ts +28 -0
  116. package/dist/commands/bot-continuity.js +68 -0
  117. package/dist/commands/bot-jobs.d.ts +127 -0
  118. package/dist/commands/bot-jobs.js +454 -0
  119. package/dist/commands/bot.d.ts +278 -0
  120. package/dist/commands/bot.js +1982 -0
  121. package/dist/commands/channels.js +56 -1
  122. package/dist/commands/cloud-demote.js +3 -2
  123. package/dist/commands/cloud-provision.d.ts +14 -0
  124. package/dist/commands/cloud-provision.js +232 -58
  125. package/dist/commands/cloud-retire.d.ts +51 -0
  126. package/dist/commands/cloud-retire.js +154 -0
  127. package/dist/commands/cloud.d.ts +49 -15
  128. package/dist/commands/cloud.js +357 -122
  129. package/dist/commands/company-rename-flag.d.ts +4 -0
  130. package/dist/commands/company-rename-flag.js +7 -0
  131. package/dist/commands/company-rename.d.ts +4 -0
  132. package/dist/commands/company-rename.js +90 -0
  133. package/dist/commands/company-transfer.d.ts +4 -28
  134. package/dist/commands/company-transfer.js +5 -49
  135. package/dist/commands/company.js +68 -3
  136. package/dist/commands/core-audit-log-native.d.ts +9 -0
  137. package/dist/commands/core-audit-log-native.js +257 -0
  138. package/dist/commands/core-checkpoint-gate-setting.d.ts +59 -0
  139. package/dist/commands/core-checkpoint-gate-setting.js +163 -0
  140. package/dist/commands/core-checkpoint-stop-gate-native.d.ts +34 -0
  141. package/dist/commands/core-checkpoint-stop-gate-native.js +725 -0
  142. package/dist/commands/core-checkpoint.d.ts +19 -9
  143. package/dist/commands/core-checkpoint.js +301 -37
  144. package/dist/commands/core-command-catalog.d.ts +34 -0
  145. package/dist/commands/core-command-catalog.js +62 -0
  146. package/dist/commands/core-company-index-scope-flag.d.ts +3 -0
  147. package/dist/commands/core-company-index-scope-flag.js +6 -0
  148. package/dist/commands/core-delegate-w1b.d.ts +10 -0
  149. package/dist/commands/core-delegate-w1b.js +1219 -0
  150. package/dist/commands/core-delegate.d.ts +46 -0
  151. package/dist/commands/core-delegate.js +1040 -0
  152. package/dist/commands/core-dm-bind-native.d.ts +32 -0
  153. package/dist/commands/core-dm-bind-native.js +668 -0
  154. package/dist/commands/core-eval-trigger-native.d.ts +4 -0
  155. package/dist/commands/core-eval-trigger-native.js +12 -0
  156. package/dist/commands/core-git-pack-extension-check-native.d.ts +22 -0
  157. package/dist/commands/core-git-pack-extension-check-native.js +190 -0
  158. package/dist/commands/core-handoff-fast.d.ts +18 -0
  159. package/dist/commands/core-handoff-fast.js +104 -0
  160. package/dist/commands/core-handoff-open-steps.d.ts +21 -0
  161. package/dist/commands/core-handoff-open-steps.js +264 -0
  162. package/dist/commands/core-handoff.d.ts +24 -0
  163. package/dist/commands/core-handoff.js +1144 -0
  164. package/dist/commands/core-hq-session-native.d.ts +39 -0
  165. package/dist/commands/core-hq-session-native.js +579 -0
  166. package/dist/commands/core-job-native-utils.d.ts +6 -0
  167. package/dist/commands/core-job-native-utils.js +80 -0
  168. package/dist/commands/core-job-native.d.ts +5 -0
  169. package/dist/commands/core-job-native.js +16 -0
  170. package/dist/commands/core-job-notify-native.d.ts +36 -0
  171. package/dist/commands/core-job-notify-native.js +359 -0
  172. package/dist/commands/core-job-probe-native.d.ts +45 -0
  173. package/dist/commands/core-job-probe-native.js +564 -0
  174. package/dist/commands/core-job-remediate-native.d.ts +26 -0
  175. package/dist/commands/core-job-remediate-native.js +374 -0
  176. package/dist/commands/core-job-remote-launcher.d.ts +7 -0
  177. package/dist/commands/core-job-remote-launcher.js +51 -0
  178. package/dist/commands/core-job-run-native.d.ts +47 -0
  179. package/dist/commands/core-job-run-native.js +1215 -0
  180. package/dist/commands/core-jobs-native.d.ts +25 -0
  181. package/dist/commands/core-jobs-native.js +1339 -0
  182. package/dist/commands/core-knowledge-prefs.d.ts +11 -0
  183. package/dist/commands/core-knowledge-prefs.js +137 -0
  184. package/dist/commands/core-migrate-policy-triggers-native.d.ts +21 -0
  185. package/dist/commands/core-migrate-policy-triggers-native.js +374 -0
  186. package/dist/commands/core-native-handoff-flag.d.ts +4 -0
  187. package/dist/commands/core-native-handoff-flag.js +7 -0
  188. package/dist/commands/core-native-hook-helper-commands.d.ts +4 -0
  189. package/dist/commands/core-native-hook-helper-commands.js +56 -0
  190. package/dist/commands/core-native-hook-helpers-flag.d.ts +4 -0
  191. package/dist/commands/core-native-hook-helpers-flag.js +7 -0
  192. package/dist/commands/core-native-jobs-flag.d.ts +4 -0
  193. package/dist/commands/core-native-jobs-flag.js +7 -0
  194. package/dist/commands/core-native-policy-flag.d.ts +9 -0
  195. package/dist/commands/core-native-policy-flag.js +12 -0
  196. package/dist/commands/core-native-session-flag.d.ts +4 -0
  197. package/dist/commands/core-native-session-flag.js +7 -0
  198. package/dist/commands/core-native-utilities-flag.d.ts +4 -0
  199. package/dist/commands/core-native-utilities-flag.js +7 -0
  200. package/dist/commands/core-native-utilities.d.ts +29 -0
  201. package/dist/commands/core-native-utilities.js +54 -0
  202. package/dist/commands/core-native-worker-skills-flag.d.ts +4 -0
  203. package/dist/commands/core-native-worker-skills-flag.js +7 -0
  204. package/dist/commands/core-ontology-native.d.ts +17 -0
  205. package/dist/commands/core-ontology-native.js +916 -0
  206. package/dist/commands/core-ontology.d.ts +66 -0
  207. package/dist/commands/core-ontology.js +430 -0
  208. package/dist/commands/core-pin-native.d.ts +14 -0
  209. package/dist/commands/core-pin-native.js +236 -0
  210. package/dist/commands/core-policy-frontmatter.d.ts +8 -0
  211. package/dist/commands/core-policy-frontmatter.js +52 -0
  212. package/dist/commands/core-policy.d.ts +14 -0
  213. package/dist/commands/core-policy.js +1018 -0
  214. package/dist/commands/core-refresh-vault-access-native.d.ts +20 -0
  215. package/dist/commands/core-refresh-vault-access-native.js +229 -0
  216. package/dist/commands/core-register-project-native.d.ts +30 -0
  217. package/dist/commands/core-register-project-native.js +347 -0
  218. package/dist/commands/core-resolve-company-command.d.ts +4 -0
  219. package/dist/commands/core-resolve-company-command.js +42 -0
  220. package/dist/commands/core-resolve-company-native.d.ts +28 -0
  221. package/dist/commands/core-resolve-company-native.js +408 -0
  222. package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +32 -0
  223. package/dist/commands/core-work-mesh-bind-trusted-native.js +190 -0
  224. package/dist/commands/core-work-mesh-live-rebind-native.d.ts +18 -0
  225. package/dist/commands/core-work-mesh-live-rebind-native.js +262 -0
  226. package/dist/commands/core-worker-lint-native.d.ts +4 -0
  227. package/dist/commands/core-worker-lint-native.js +160 -0
  228. package/dist/commands/core-worker-share-native.d.ts +4 -0
  229. package/dist/commands/core-worker-share-native.js +260 -0
  230. package/dist/commands/core-worker-skills-command.d.ts +8 -0
  231. package/dist/commands/core-worker-skills-command.js +33 -0
  232. package/dist/commands/core-worker-skills-runtime.d.ts +33 -0
  233. package/dist/commands/core-worker-skills-runtime.js +86 -0
  234. package/dist/commands/core.d.ts +4 -0
  235. package/dist/commands/core.js +277 -80
  236. package/dist/commands/crm.js +52 -3
  237. package/dist/commands/daemon.d.ts +63 -0
  238. package/dist/commands/daemon.js +877 -0
  239. package/dist/commands/db-provision.js +4 -4
  240. package/dist/commands/db-sql.js +7 -21
  241. package/dist/commands/deploy-comments.d.ts +3 -0
  242. package/dist/commands/deploy-comments.js +162 -0
  243. package/dist/commands/dm.d.ts +119 -12
  244. package/dist/commands/dm.js +388 -38
  245. package/dist/commands/doctor.d.ts +12 -0
  246. package/dist/commands/doctor.js +158 -12
  247. package/dist/commands/feedback.d.ts +6 -0
  248. package/dist/commands/feedback.js +86 -37
  249. package/dist/commands/files-browse.d.ts +32 -12
  250. package/dist/commands/files-browse.js +176 -60
  251. package/dist/commands/files.d.ts +17 -0
  252. package/dist/commands/files.js +300 -47
  253. package/dist/commands/group-grants.js +3 -2
  254. package/dist/commands/groups.js +6 -5
  255. package/dist/commands/index-cmd.d.ts +19 -1
  256. package/dist/commands/index-cmd.js +74 -7
  257. package/dist/commands/integrations-api.d.ts +15 -10
  258. package/dist/commands/integrations-api.js +27 -22
  259. package/dist/commands/integrations-connect.d.ts +51 -13
  260. package/dist/commands/integrations-connect.js +86 -71
  261. package/dist/commands/integrations-core.d.ts +6 -6
  262. package/dist/commands/integrations-core.js +25 -11
  263. package/dist/commands/integrations-import.d.ts +1 -1
  264. package/dist/commands/integrations-import.js +43 -24
  265. package/dist/commands/integrations-manage.js +20 -13
  266. package/dist/commands/integrations.d.ts +8 -0
  267. package/dist/commands/integrations.js +94 -7
  268. package/dist/commands/lanes-accounts.d.ts +28 -0
  269. package/dist/commands/lanes-accounts.js +595 -0
  270. package/dist/commands/lanes-autopilot.d.ts +11 -0
  271. package/dist/commands/lanes-autopilot.js +336 -0
  272. package/dist/commands/lanes-checks.d.ts +51 -0
  273. package/dist/commands/lanes-checks.js +941 -0
  274. package/dist/commands/lanes-hold.d.ts +43 -0
  275. package/dist/commands/lanes-hold.js +655 -0
  276. package/dist/commands/lanes-keep-alive-audit.d.ts +10 -0
  277. package/dist/commands/lanes-keep-alive-audit.js +19 -0
  278. package/dist/commands/lanes-kpis.d.ts +11 -0
  279. package/dist/commands/lanes-kpis.js +34 -0
  280. package/dist/commands/lanes-message.d.ts +9 -0
  281. package/dist/commands/lanes-message.js +946 -0
  282. package/dist/commands/lanes-move.d.ts +12 -0
  283. package/dist/commands/lanes-move.js +397 -0
  284. package/dist/commands/lanes-questions.d.ts +36 -0
  285. package/dist/commands/lanes-questions.js +1005 -0
  286. package/dist/commands/lanes-report.d.ts +11 -0
  287. package/dist/commands/lanes-report.js +333 -0
  288. package/dist/commands/lanes-resume.d.ts +6 -0
  289. package/dist/commands/lanes-resume.js +564 -0
  290. package/dist/commands/lanes-review.d.ts +10 -0
  291. package/dist/commands/lanes-review.js +56 -0
  292. package/dist/commands/lanes-shared.d.ts +449 -0
  293. package/dist/commands/lanes-shared.js +170 -0
  294. package/dist/commands/lanes-stories.d.ts +15 -0
  295. package/dist/commands/lanes-stories.js +347 -0
  296. package/dist/commands/lanes-watch.d.ts +7 -0
  297. package/dist/commands/lanes-watch.js +216 -0
  298. package/dist/commands/lanes.d.ts +149 -0
  299. package/dist/commands/lanes.js +8983 -0
  300. package/dist/commands/login.js +49 -6
  301. package/dist/commands/mcp-registration.d.ts +32 -25
  302. package/dist/commands/mcp-registration.js +256 -23
  303. package/dist/commands/mcp-status.js +1 -0
  304. package/dist/commands/meetings.js +55 -34
  305. package/dist/commands/members.js +5 -1
  306. package/dist/commands/mesh.d.ts +11 -0
  307. package/dist/commands/mesh.js +1086 -76
  308. package/dist/commands/monitor.d.ts +58 -0
  309. package/dist/commands/monitor.js +980 -0
  310. package/dist/commands/onboard-bot-membership.d.ts +32 -0
  311. package/dist/commands/onboard-bot-membership.js +40 -0
  312. package/dist/commands/onboard-create-identity.d.ts +26 -0
  313. package/dist/commands/onboard-create-identity.js +23 -0
  314. package/dist/commands/onboard-identity-guard.d.ts +1 -1
  315. package/dist/commands/onboard.js +24 -5
  316. package/dist/commands/outpost-pruner.d.ts +3 -0
  317. package/dist/commands/outpost-pruner.js +125 -0
  318. package/dist/commands/pack-install.js +3 -1
  319. package/dist/commands/packs.js +11 -1
  320. package/dist/commands/people.d.ts +4 -0
  321. package/dist/commands/people.js +37 -3
  322. package/dist/commands/personal-connector-settings-flag.d.ts +4 -0
  323. package/dist/commands/personal-connector-settings-flag.js +7 -0
  324. package/dist/commands/personal-targeted-push-flag.d.ts +4 -0
  325. package/dist/commands/personal-targeted-push-flag.js +7 -0
  326. package/dist/commands/personal-targeted-push-paths.d.ts +3 -0
  327. package/dist/commands/personal-targeted-push-paths.js +67 -0
  328. package/dist/commands/publish.d.ts +8 -1
  329. package/dist/commands/publish.js +17 -4
  330. package/dist/commands/reindex.js +56 -6
  331. package/dist/commands/report.d.ts +19 -0
  332. package/dist/commands/report.js +537 -0
  333. package/dist/commands/rescue.d.ts +4 -0
  334. package/dist/commands/rescue.js +27 -17
  335. package/dist/commands/run-feature-telemetry.d.ts +3 -0
  336. package/dist/commands/run-feature-telemetry.js +6 -0
  337. package/dist/commands/run.js +18 -4
  338. package/dist/commands/safe-extract.d.ts +11 -2
  339. package/dist/commands/safe-extract.js +36 -8
  340. package/dist/commands/secrets.d.ts +20 -2
  341. package/dist/commands/secrets.js +175 -71
  342. package/dist/commands/skill.d.ts +35 -4
  343. package/dist/commands/skill.js +357 -18
  344. package/dist/commands/staff/reset-test-account.d.ts +110 -0
  345. package/dist/commands/staff/reset-test-account.js +268 -0
  346. package/dist/commands/staff/test-account.d.ts +51 -0
  347. package/dist/commands/staff/test-account.js +196 -0
  348. package/dist/commands/sync-mode.d.ts +11 -0
  349. package/dist/commands/sync-mode.js +30 -0
  350. package/dist/commands/sync-narrow.js +36 -5
  351. package/dist/commands/team-sync.js +71 -10
  352. package/dist/commands/update.js +6 -0
  353. package/dist/commands/vault-retention-flag.d.ts +3 -0
  354. package/dist/commands/vault-retention-flag.js +9 -0
  355. package/dist/commands/vault-retention.d.ts +11 -0
  356. package/dist/commands/vault-retention.js +69 -0
  357. package/dist/commands/version.d.ts +10 -0
  358. package/dist/commands/version.js +11 -0
  359. package/dist/commands/whoami.d.ts +22 -0
  360. package/dist/commands/whoami.js +137 -4
  361. package/dist/commands/workers.d.ts +2 -14
  362. package/dist/commands/workers.js +7 -10
  363. package/dist/fast-core.d.ts +6 -7
  364. package/dist/fast-core.js +87 -24
  365. package/dist/fast-scaffold.d.ts +86 -0
  366. package/dist/fast-scaffold.js +364 -0
  367. package/dist/index.d.ts +3 -4
  368. package/dist/index.js +59 -9
  369. package/dist/lanes-drain-hook.d.ts +14 -0
  370. package/dist/lanes-drain-hook.js +203 -0
  371. package/dist/lazy-commands.d.ts +20 -44
  372. package/dist/lazy-commands.js +60 -58
  373. package/dist/lib/agent-kit/adopt-identity.d.ts +27 -0
  374. package/dist/lib/agent-kit/adopt-identity.js +60 -0
  375. package/dist/lib/agent-kit/attachment-download.d.ts +24 -0
  376. package/dist/lib/agent-kit/attachment-download.js +47 -0
  377. package/dist/lib/agent-kit/creds.d.ts +106 -0
  378. package/dist/lib/agent-kit/creds.js +163 -0
  379. package/dist/lib/agent-kit/fallback.d.ts +78 -0
  380. package/dist/lib/agent-kit/fallback.js +210 -0
  381. package/dist/lib/agent-kit/inbox-state.d.ts +83 -0
  382. package/dist/lib/agent-kit/inbox-state.js +159 -0
  383. package/dist/lib/agent-kit/kit-config.d.ts +56 -0
  384. package/dist/lib/agent-kit/kit-config.js +65 -0
  385. package/dist/lib/agent-kit/log.d.ts +16 -0
  386. package/dist/lib/agent-kit/log.js +46 -0
  387. package/dist/lib/agent-kit/mcp/attachments.d.ts +126 -0
  388. package/dist/lib/agent-kit/mcp/attachments.js +222 -0
  389. package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +75 -0
  390. package/dist/lib/agent-kit/mcp/jsonrpc.js +164 -0
  391. package/dist/lib/agent-kit/mcp/tools.d.ts +64 -0
  392. package/dist/lib/agent-kit/mcp/tools.js +397 -0
  393. package/dist/lib/agent-kit/paths.d.ts +65 -0
  394. package/dist/lib/agent-kit/paths.js +118 -0
  395. package/dist/lib/agent-kit/private-file.d.ts +29 -0
  396. package/dist/lib/agent-kit/private-file.js +91 -0
  397. package/dist/lib/agent-kit/run/heartbeat.d.ts +72 -0
  398. package/dist/lib/agent-kit/run/heartbeat.js +128 -0
  399. package/dist/lib/agent-kit/run/inbox.d.ts +76 -0
  400. package/dist/lib/agent-kit/run/inbox.js +205 -0
  401. package/dist/lib/agent-kit/run/supervisor.d.ts +35 -0
  402. package/dist/lib/agent-kit/run/supervisor.js +85 -0
  403. package/dist/lib/agent-kit/run/sync.d.ts +33 -0
  404. package/dist/lib/agent-kit/run/sync.js +58 -0
  405. package/dist/lib/agent-kit/services.d.ts +31 -0
  406. package/dist/lib/agent-kit/services.js +55 -0
  407. package/dist/lib/agent-kit/skills.d.ts +18 -0
  408. package/dist/lib/agent-kit/skills.js +151 -0
  409. package/dist/lib/agent-kit/wake.d.ts +83 -0
  410. package/dist/lib/agent-kit/wake.js +243 -0
  411. package/dist/lib/agents/model-catalog.d.ts +62 -0
  412. package/dist/lib/agents/model-catalog.js +275 -0
  413. package/dist/lib/auth-login-provider-state.d.ts +8 -0
  414. package/dist/lib/auth-login-provider-state.js +63 -0
  415. package/dist/lib/aws-sdk-node-warning-output.d.ts +12 -0
  416. package/dist/lib/aws-sdk-node-warning-output.js +22 -0
  417. package/dist/lib/billing/free-month.d.ts +18 -0
  418. package/dist/lib/billing/free-month.js +31 -0
  419. package/dist/lib/billing/plan-limit-refusals.d.ts +69 -0
  420. package/dist/lib/billing/plan-limit-refusals.js +187 -0
  421. package/dist/lib/billing/plan-limit-upgrade-url.d.ts +11 -0
  422. package/dist/lib/billing/plan-limit-upgrade-url.js +66 -0
  423. package/dist/lib/billing/plan-lock.d.ts +143 -0
  424. package/dist/lib/billing/plan-lock.js +439 -0
  425. package/dist/lib/bot/api.d.ts +349 -0
  426. package/dist/lib/bot/api.js +316 -0
  427. package/dist/lib/bot/attachments.d.ts +45 -0
  428. package/dist/lib/bot/attachments.js +89 -0
  429. package/dist/lib/bot/cli-update.d.ts +138 -0
  430. package/dist/lib/bot/cli-update.js +278 -0
  431. package/dist/lib/bot/company-bind.d.ts +27 -0
  432. package/dist/lib/bot/company-bind.js +62 -0
  433. package/dist/lib/bot/config.d.ts +153 -0
  434. package/dist/lib/bot/config.js +233 -0
  435. package/dist/lib/bot/continuity-download.d.ts +28 -0
  436. package/dist/lib/bot/continuity-download.js +75 -0
  437. package/dist/lib/bot/continuity-install.d.ts +14 -0
  438. package/dist/lib/bot/continuity-install.js +101 -0
  439. package/dist/lib/bot/continuity.d.ts +67 -0
  440. package/dist/lib/bot/continuity.js +301 -0
  441. package/dist/lib/bot/creds.d.ts +24 -0
  442. package/dist/lib/bot/creds.js +51 -0
  443. package/dist/lib/bot/daemon.d.ts +173 -0
  444. package/dist/lib/bot/daemon.js +552 -0
  445. package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +24 -0
  446. package/dist/lib/bot/inbox-poll-backoff-flag.js +135 -0
  447. package/dist/lib/bot/inbox-state.d.ts +18 -0
  448. package/dist/lib/bot/inbox-state.js +51 -0
  449. package/dist/lib/bot/index.d.ts +23 -0
  450. package/dist/lib/bot/index.js +23 -0
  451. package/dist/lib/bot/inflight.d.ts +119 -0
  452. package/dist/lib/bot/inflight.js +83 -0
  453. package/dist/lib/bot/job-completions.d.ts +89 -0
  454. package/dist/lib/bot/job-completions.js +132 -0
  455. package/dist/lib/bot/job-run.d.ts +109 -0
  456. package/dist/lib/bot/job-run.js +246 -0
  457. package/dist/lib/bot/local-config.d.ts +61 -0
  458. package/dist/lib/bot/local-config.js +145 -0
  459. package/dist/lib/bot/local-jobs.d.ts +89 -0
  460. package/dist/lib/bot/local-jobs.js +459 -0
  461. package/dist/lib/bot/local-name.d.ts +54 -0
  462. package/dist/lib/bot/local-name.js +114 -0
  463. package/dist/lib/bot/log.d.ts +13 -0
  464. package/dist/lib/bot/log.js +59 -0
  465. package/dist/lib/bot/owner-context.d.ts +79 -0
  466. package/dist/lib/bot/owner-context.js +175 -0
  467. package/dist/lib/bot/paths.d.ts +76 -0
  468. package/dist/lib/bot/paths.js +131 -0
  469. package/dist/lib/bot/progress.d.ts +132 -0
  470. package/dist/lib/bot/progress.js +289 -0
  471. package/dist/lib/bot/promote.d.ts +16 -0
  472. package/dist/lib/bot/promote.js +106 -0
  473. package/dist/lib/bot/promotion-hold.d.ts +24 -0
  474. package/dist/lib/bot/promotion-hold.js +103 -0
  475. package/dist/lib/bot/promotion-receipt.d.ts +9 -0
  476. package/dist/lib/bot/promotion-receipt.js +56 -0
  477. package/dist/lib/bot/promotion-upload.d.ts +16 -0
  478. package/dist/lib/bot/promotion-upload.js +80 -0
  479. package/dist/lib/bot/prompt.d.ts +136 -0
  480. package/dist/lib/bot/prompt.js +433 -0
  481. package/dist/lib/bot/room-policy.d.ts +63 -0
  482. package/dist/lib/bot/room-policy.js +91 -0
  483. package/dist/lib/bot/run.d.ts +217 -0
  484. package/dist/lib/bot/run.js +1869 -0
  485. package/dist/lib/bot/runnable.d.ts +51 -0
  486. package/dist/lib/bot/runnable.js +65 -0
  487. package/dist/lib/bot/runtime/claude.d.ts +50 -0
  488. package/dist/lib/bot/runtime/claude.js +170 -0
  489. package/dist/lib/bot/runtime/codex.d.ts +28 -0
  490. package/dist/lib/bot/runtime/codex.js +153 -0
  491. package/dist/lib/bot/runtime/grok-acp.d.ts +40 -0
  492. package/dist/lib/bot/runtime/grok-acp.js +265 -0
  493. package/dist/lib/bot/runtime/grok.d.ts +41 -0
  494. package/dist/lib/bot/runtime/grok.js +169 -0
  495. package/dist/lib/bot/runtime/index.d.ts +36 -0
  496. package/dist/lib/bot/runtime/index.js +417 -0
  497. package/dist/lib/bot/runtime/messages-stream.d.ts +56 -0
  498. package/dist/lib/bot/runtime/messages-stream.js +194 -0
  499. package/dist/lib/bot/runtime/sanitize.d.ts +18 -0
  500. package/dist/lib/bot/runtime/sanitize.js +28 -0
  501. package/dist/lib/bot/runtime/types.d.ts +159 -0
  502. package/dist/lib/bot/runtime/types.js +51 -0
  503. package/dist/lib/bot/runtime/windows.d.ts +10 -0
  504. package/dist/lib/bot/runtime/windows.js +53 -0
  505. package/dist/lib/bot/runtime-sign-in.d.ts +24 -0
  506. package/dist/lib/bot/runtime-sign-in.js +31 -0
  507. package/dist/lib/bot/scaffold.d.ts +38 -0
  508. package/dist/lib/bot/scaffold.js +94 -0
  509. package/dist/lib/bot/self-heal.d.ts +52 -0
  510. package/dist/lib/bot/self-heal.js +79 -0
  511. package/dist/lib/bot/self-process.d.ts +19 -0
  512. package/dist/lib/bot/self-process.js +35 -0
  513. package/dist/lib/bot/session.d.ts +19 -0
  514. package/dist/lib/bot/session.js +39 -0
  515. package/dist/lib/bot/setup-explain.d.ts +64 -0
  516. package/dist/lib/bot/setup-explain.js +141 -0
  517. package/dist/lib/bot/split.d.ts +32 -0
  518. package/dist/lib/bot/split.js +241 -0
  519. package/dist/lib/bot/status.d.ts +57 -0
  520. package/dist/lib/bot/status.js +66 -0
  521. package/dist/lib/bot/worker-source.d.ts +66 -0
  522. package/dist/lib/bot/worker-source.js +283 -0
  523. package/dist/lib/checkpoint-ontology/aliases.d.ts +17 -0
  524. package/dist/lib/checkpoint-ontology/aliases.js +44 -0
  525. package/dist/lib/checkpoint-ontology/apply.d.ts +110 -0
  526. package/dist/lib/checkpoint-ontology/apply.js +777 -0
  527. package/dist/lib/checkpoint-ontology/company-brief.d.ts +18 -0
  528. package/dist/lib/checkpoint-ontology/company-brief.js +337 -0
  529. package/dist/lib/checkpoint-ontology/company.d.ts +44 -0
  530. package/dist/lib/checkpoint-ontology/company.js +118 -0
  531. package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +41 -0
  532. package/dist/lib/checkpoint-ontology/drop-aliases.js +76 -0
  533. package/dist/lib/checkpoint-ontology/entity-file.d.ts +109 -0
  534. package/dist/lib/checkpoint-ontology/entity-file.js +371 -0
  535. package/dist/lib/checkpoint-ontology/identity.d.ts +38 -0
  536. package/dist/lib/checkpoint-ontology/identity.js +95 -0
  537. package/dist/lib/checkpoint-ontology/merge-copies.d.ts +199 -0
  538. package/dist/lib/checkpoint-ontology/merge-copies.js +1086 -0
  539. package/dist/lib/checkpoint-ontology/multi-writer.d.ts +101 -0
  540. package/dist/lib/checkpoint-ontology/multi-writer.js +394 -0
  541. package/dist/lib/checkpoint-ontology/plan.d.ts +193 -0
  542. package/dist/lib/checkpoint-ontology/plan.js +504 -0
  543. package/dist/lib/checkpoint-ontology/queued-touches.d.ts +29 -0
  544. package/dist/lib/checkpoint-ontology/queued-touches.js +193 -0
  545. package/dist/lib/checkpoint-ontology/sync-client.d.ts +38 -0
  546. package/dist/lib/checkpoint-ontology/sync-client.js +84 -0
  547. package/dist/lib/checkpoint-ontology/tree.d.ts +55 -0
  548. package/dist/lib/checkpoint-ontology/tree.js +198 -0
  549. package/dist/lib/company-errors-sdk-warning-flag.d.ts +5 -0
  550. package/dist/lib/company-errors-sdk-warning-flag.js +8 -0
  551. package/dist/lib/company-skill-wrapper.d.ts +1 -0
  552. package/dist/lib/company-skill-wrapper.js +121 -29
  553. package/dist/lib/core-utils/codex-skill-bridge.d.ts +2 -1
  554. package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +20 -0
  555. package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +81 -0
  556. package/dist/lib/core-utils/jq-json-serializer.d.ts +5 -0
  557. package/dist/lib/core-utils/jq-json-serializer.js +10 -0
  558. package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +14 -1
  559. package/dist/lib/core-utils/qmd-reindex-after-sync.js +101 -17
  560. package/dist/lib/core-utils/secret-patterns.d.ts +43 -0
  561. package/dist/lib/core-utils/secret-patterns.js +34 -0
  562. package/dist/lib/core-utils/sentry-report.d.ts +114 -0
  563. package/dist/lib/core-utils/sentry-report.js +1055 -0
  564. package/dist/lib/core-utils/soft-timeout.js +1 -1
  565. package/dist/lib/core-utils/timeout-guard-native.d.ts +7 -0
  566. package/dist/lib/core-utils/timeout-guard-native.js +40 -0
  567. package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
  568. package/dist/lib/core-utils/timeout-guard.js +28 -13
  569. package/dist/lib/core-utils/token-usage-report.js +17 -3
  570. package/dist/lib/core-utils/worktree-resume.d.ts +20 -0
  571. package/dist/lib/core-utils/worktree-resume.js +1198 -0
  572. package/dist/lib/daemon/catalog.d.ts +134 -0
  573. package/dist/lib/daemon/catalog.js +358 -0
  574. package/dist/lib/daemon/config.d.ts +35 -0
  575. package/dist/lib/daemon/config.js +108 -0
  576. package/dist/lib/daemon/flag.d.ts +25 -0
  577. package/dist/lib/daemon/flag.js +59 -0
  578. package/dist/lib/daemon/handoff.d.ts +56 -0
  579. package/dist/lib/daemon/handoff.js +161 -0
  580. package/dist/lib/daemon/hq-cloud.d.ts +79 -0
  581. package/dist/lib/daemon/hq-cloud.js +183 -0
  582. package/dist/lib/daemon/install.d.ts +85 -0
  583. package/dist/lib/daemon/install.js +320 -0
  584. package/dist/lib/daemon/legacy-sync-env.d.ts +10 -0
  585. package/dist/lib/daemon/legacy-sync-env.js +58 -0
  586. package/dist/lib/daemon/legacy.d.ts +45 -0
  587. package/dist/lib/daemon/legacy.js +133 -0
  588. package/dist/lib/daemon/lock.d.ts +47 -0
  589. package/dist/lib/daemon/lock.js +138 -0
  590. package/dist/lib/daemon/machine-type.d.ts +50 -0
  591. package/dist/lib/daemon/machine-type.js +159 -0
  592. package/dist/lib/daemon/migrate.d.ts +77 -0
  593. package/dist/lib/daemon/migrate.js +265 -0
  594. package/dist/lib/daemon/paths.d.ts +24 -0
  595. package/dist/lib/daemon/paths.js +43 -0
  596. package/dist/lib/daemon/protocol-tail.d.ts +33 -0
  597. package/dist/lib/daemon/protocol-tail.js +131 -0
  598. package/dist/lib/daemon/remote-control.d.ts +74 -0
  599. package/dist/lib/daemon/remote-control.js +153 -0
  600. package/dist/lib/daemon/requests.d.ts +28 -0
  601. package/dist/lib/daemon/requests.js +65 -0
  602. package/dist/lib/daemon/run.d.ts +79 -0
  603. package/dist/lib/daemon/run.js +755 -0
  604. package/dist/lib/daemon/succession.d.ts +118 -0
  605. package/dist/lib/daemon/succession.js +263 -0
  606. package/dist/lib/daemon/supervisor.d.ts +132 -0
  607. package/dist/lib/daemon/supervisor.js +836 -0
  608. package/dist/lib/daemon/sync-runner.d.ts +58 -0
  609. package/dist/lib/daemon/sync-runner.js +277 -0
  610. package/dist/lib/daemon/tools.d.ts +52 -0
  611. package/dist/lib/daemon/tools.js +95 -0
  612. package/dist/lib/daemon/updater.d.ts +57 -0
  613. package/dist/lib/daemon/updater.js +163 -0
  614. package/dist/lib/db/control-plane.js +6 -0
  615. package/dist/lib/db/local.d.ts +0 -5
  616. package/dist/lib/db/local.js +1 -1
  617. package/dist/lib/db/migrate.d.ts +0 -12
  618. package/dist/lib/db/migrate.js +5 -5
  619. package/dist/lib/db/remote-sql.d.ts +2 -2
  620. package/dist/lib/db/remote-sql.js +3 -3
  621. package/dist/lib/db/sql.d.ts +0 -10
  622. package/dist/lib/db/sql.js +4 -8
  623. package/dist/lib/deploy-api.d.ts +5 -0
  624. package/dist/lib/deploy-api.js +21 -0
  625. package/dist/lib/deploy-apps.d.ts +13 -0
  626. package/dist/lib/deploy-apps.js +29 -0
  627. package/dist/lib/doctor/__testing__/fake-hq-tree.d.ts +1 -1
  628. package/dist/lib/doctor/__testing__/fake-hq-tree.js +1 -1
  629. package/dist/lib/doctor/__testing__/run-doctor.d.ts +8 -0
  630. package/dist/lib/doctor/__testing__/run-doctor.js +52 -0
  631. package/dist/lib/doctor/checks/bots.d.ts +13 -0
  632. package/dist/lib/doctor/checks/bots.js +189 -0
  633. package/dist/lib/doctor/checks/claude-wiring.js +70 -1
  634. package/dist/lib/doctor/checks/codex-wiring.d.ts +0 -4
  635. package/dist/lib/doctor/checks/codex-wiring.js +3 -35
  636. package/dist/lib/doctor/checks/grok-wiring.js +1 -34
  637. package/dist/lib/doctor/checks/integrations.js +11 -0
  638. package/dist/lib/doctor/checks/runtime-health.d.ts +4 -17
  639. package/dist/lib/doctor/checks/runtime-health.js +20 -7
  640. package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +6 -0
  641. package/dist/lib/doctor/checks/scaffold-cli-floor.js +73 -0
  642. package/dist/lib/doctor/checks/sync-health.d.ts +21 -0
  643. package/dist/lib/doctor/checks/sync-health.js +72 -2
  644. package/dist/lib/doctor/checks/sync-runtime.d.ts +11 -0
  645. package/dist/lib/doctor/checks/sync-runtime.js +216 -0
  646. package/dist/lib/doctor/checks/work-context.js +20 -6
  647. package/dist/lib/doctor/client-health-flag-token.d.ts +15 -0
  648. package/dist/lib/doctor/client-health-flag-token.js +66 -0
  649. package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +27 -0
  650. package/dist/lib/doctor/client-health-reason-codes-flag.js +106 -0
  651. package/dist/lib/doctor/compat.d.ts +0 -16
  652. package/dist/lib/doctor/compat.js +4 -3
  653. package/dist/lib/doctor/deep/effects.js +1 -3
  654. package/dist/lib/doctor/deep/executor.d.ts +4 -10
  655. package/dist/lib/doctor/deep/executor.js +1 -1
  656. package/dist/lib/doctor/deep/parity.d.ts +2 -29
  657. package/dist/lib/doctor/deep/parity.js +7 -7
  658. package/dist/lib/doctor/deep/sandbox.d.ts +7 -25
  659. package/dist/lib/doctor/deep/sandbox.js +5 -7
  660. package/dist/lib/doctor/fix/apply.d.ts +79 -8
  661. package/dist/lib/doctor/fix/apply.js +292 -80
  662. package/dist/lib/doctor/fix/json-output.d.ts +28 -0
  663. package/dist/lib/doctor/fix/json-output.js +33 -0
  664. package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +12 -0
  665. package/dist/lib/doctor/fix/refresh-sync-outcome.js +25 -0
  666. package/dist/lib/doctor/fix/remediation.d.ts +14 -6
  667. package/dist/lib/doctor/fix/remediation.js +49 -9
  668. package/dist/lib/doctor/fixtures/schema.js +1 -3
  669. package/dist/lib/doctor/json-output.d.ts +17 -1
  670. package/dist/lib/doctor/json-output.js +7 -2
  671. package/dist/lib/doctor/platform.d.ts +0 -26
  672. package/dist/lib/doctor/platform.js +5 -5
  673. package/dist/lib/doctor/registry.d.ts +14 -0
  674. package/dist/lib/doctor/registry.js +71 -0
  675. package/dist/lib/doctor/report.js +1 -1
  676. package/dist/lib/doctor/shared.d.ts +8 -0
  677. package/dist/lib/doctor/shared.js +38 -0
  678. package/dist/lib/doctor/stray-gate-entries.d.ts +35 -0
  679. package/dist/lib/doctor/stray-gate-entries.js +83 -0
  680. package/dist/lib/doctor/types.d.ts +5 -0
  681. package/dist/lib/doctor/types.js +20 -0
  682. package/dist/lib/first-sync-next-step.d.ts +34 -0
  683. package/dist/lib/first-sync-next-step.js +179 -0
  684. package/dist/lib/flag-registry-endpoint.d.ts +5 -0
  685. package/dist/lib/flag-registry-endpoint.js +9 -0
  686. package/dist/lib/flag-registry-worker-source.generated.d.ts +2 -0
  687. package/dist/lib/flag-registry-worker-source.generated.js +3 -0
  688. package/dist/lib/flag-registry-worker.js +12 -1
  689. package/dist/lib/flag-registry.d.ts +26 -6
  690. package/dist/lib/flag-registry.js +133 -16
  691. package/dist/lib/flag-snapshot-file.d.ts +20 -0
  692. package/dist/lib/flag-snapshot-file.js +91 -0
  693. package/dist/lib/heartbeat-identity.d.ts +30 -0
  694. package/dist/lib/heartbeat-identity.js +76 -0
  695. package/dist/lib/index-render/companies.d.ts +4 -1
  696. package/dist/lib/index-render/companies.js +66 -3
  697. package/dist/lib/index-render/company-knowledge.js +80 -17
  698. package/dist/lib/index-render/index.d.ts +1 -0
  699. package/dist/lib/index-render/index.js +2 -1
  700. package/dist/lib/index-render/projects.js +82 -5
  701. package/dist/lib/index-render/shared.d.ts +13 -1
  702. package/dist/lib/index-render/shared.js +41 -2
  703. package/dist/lib/lanes/account-home.d.ts +8 -0
  704. package/dist/lib/lanes/account-home.js +10 -0
  705. package/dist/lib/lanes/accounts.d.ts +117 -0
  706. package/dist/lib/lanes/accounts.js +366 -0
  707. package/dist/lib/lanes/admission-host.d.ts +22 -0
  708. package/dist/lib/lanes/admission-host.js +37 -0
  709. package/dist/lib/lanes/admission.d.ts +26 -0
  710. package/dist/lib/lanes/admission.js +210 -0
  711. package/dist/lib/lanes/approval-gate.d.ts +8 -0
  712. package/dist/lib/lanes/approval-gate.js +90 -0
  713. package/dist/lib/lanes/autopilot-metrics.d.ts +99 -0
  714. package/dist/lib/lanes/autopilot-metrics.js +301 -0
  715. package/dist/lib/lanes/autopilot-registry.d.ts +62 -0
  716. package/dist/lib/lanes/autopilot-registry.js +192 -0
  717. package/dist/lib/lanes/autopilot.d.ts +133 -0
  718. package/dist/lib/lanes/autopilot.js +1222 -0
  719. package/dist/lib/lanes/blocker-freshness.d.ts +31 -0
  720. package/dist/lib/lanes/blocker-freshness.js +168 -0
  721. package/dist/lib/lanes/checked-company-path.d.ts +3 -0
  722. package/dist/lib/lanes/checked-company-path.js +39 -0
  723. package/dist/lib/lanes/claude-balance.d.ts +97 -0
  724. package/dist/lib/lanes/claude-balance.js +319 -0
  725. package/dist/lib/lanes/compaction.d.ts +110 -0
  726. package/dist/lib/lanes/compaction.js +293 -0
  727. package/dist/lib/lanes/config.d.ts +94 -0
  728. package/dist/lib/lanes/config.js +606 -0
  729. package/dist/lib/lanes/constants.d.ts +3 -0
  730. package/dist/lib/lanes/constants.js +3 -0
  731. package/dist/lib/lanes/delivery-core.d.ts +15 -0
  732. package/dist/lib/lanes/delivery-core.js +21 -0
  733. package/dist/lib/lanes/delivery.d.ts +180 -0
  734. package/dist/lib/lanes/delivery.js +443 -0
  735. package/dist/lib/lanes/disk-guard.d.ts +66 -0
  736. package/dist/lib/lanes/disk-guard.js +172 -0
  737. package/dist/lib/lanes/dropbox.d.ts +129 -0
  738. package/dist/lib/lanes/dropbox.js +601 -0
  739. package/dist/lib/lanes/effort.d.ts +51 -0
  740. package/dist/lib/lanes/effort.js +113 -0
  741. package/dist/lib/lanes/envelope-repair-dispatch.d.ts +26 -0
  742. package/dist/lib/lanes/envelope-repair-dispatch.js +74 -0
  743. package/dist/lib/lanes/errors.d.ts +39 -0
  744. package/dist/lib/lanes/errors.js +72 -0
  745. package/dist/lib/lanes/flag-keys.d.ts +22 -0
  746. package/dist/lib/lanes/flag-keys.js +22 -0
  747. package/dist/lib/lanes/grants.d.ts +30 -0
  748. package/dist/lib/lanes/grants.js +171 -0
  749. package/dist/lib/lanes/hire-grant-dispatch.d.ts +29 -0
  750. package/dist/lib/lanes/hire-grant-dispatch.js +315 -0
  751. package/dist/lib/lanes/hooks-install.d.ts +82 -0
  752. package/dist/lib/lanes/hooks-install.js +479 -0
  753. package/dist/lib/lanes/host-capacity.d.ts +69 -0
  754. package/dist/lib/lanes/host-capacity.js +254 -0
  755. package/dist/lib/lanes/hq-root.d.ts +19 -0
  756. package/dist/lib/lanes/hq-root.js +28 -0
  757. package/dist/lib/lanes/index.d.ts +76 -0
  758. package/dist/lib/lanes/index.js +42 -0
  759. package/dist/lib/lanes/keep-alive-audit.d.ts +46 -0
  760. package/dist/lib/lanes/keep-alive-audit.js +370 -0
  761. package/dist/lib/lanes/keep-alive.d.ts +68 -0
  762. package/dist/lib/lanes/keep-alive.js +343 -0
  763. package/dist/lib/lanes/kr-freshness.d.ts +76 -0
  764. package/dist/lib/lanes/kr-freshness.js +413 -0
  765. package/dist/lib/lanes/lane-company.d.ts +10 -0
  766. package/dist/lib/lanes/lane-company.js +41 -0
  767. package/dist/lib/lanes/liveness.d.ts +108 -0
  768. package/dist/lib/lanes/liveness.js +396 -0
  769. package/dist/lib/lanes/machine-identity.d.ts +34 -0
  770. package/dist/lib/lanes/machine-identity.js +92 -0
  771. package/dist/lib/lanes/manager-status-gate.d.ts +17 -0
  772. package/dist/lib/lanes/manager-status-gate.js +133 -0
  773. package/dist/lib/lanes/merge-command.d.ts +15 -0
  774. package/dist/lib/lanes/merge-command.js +629 -0
  775. package/dist/lib/lanes/mesh-events.d.ts +127 -0
  776. package/dist/lib/lanes/mesh-events.js +564 -0
  777. package/dist/lib/lanes/message-replay.d.ts +21 -0
  778. package/dist/lib/lanes/message-replay.js +122 -0
  779. package/dist/lib/lanes/models.d.ts +86 -0
  780. package/dist/lib/lanes/models.js +234 -0
  781. package/dist/lib/lanes/monitor.d.ts +48 -0
  782. package/dist/lib/lanes/monitor.js +428 -0
  783. package/dist/lib/lanes/move-account.d.ts +56 -0
  784. package/dist/lib/lanes/move-account.js +193 -0
  785. package/dist/lib/lanes/orphans.d.ts +25 -0
  786. package/dist/lib/lanes/orphans.js +102 -0
  787. package/dist/lib/lanes/outpost-dispatch.d.ts +147 -0
  788. package/dist/lib/lanes/outpost-dispatch.js +271 -0
  789. package/dist/lib/lanes/outpost-hire-cache.d.ts +22 -0
  790. package/dist/lib/lanes/outpost-hire-cache.js +153 -0
  791. package/dist/lib/lanes/outpost-identity.d.ts +33 -0
  792. package/dist/lib/lanes/outpost-identity.js +59 -0
  793. package/dist/lib/lanes/outpost-profile-repin.d.ts +17 -0
  794. package/dist/lib/lanes/outpost-profile-repin.js +84 -0
  795. package/dist/lib/lanes/outpost-pruner-install.d.ts +37 -0
  796. package/dist/lib/lanes/outpost-pruner-install.js +238 -0
  797. package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +18 -0
  798. package/dist/lib/lanes/outpost-registry-worker-approval.js +109 -0
  799. package/dist/lib/lanes/outpost-snapshot-memo.d.ts +6 -0
  800. package/dist/lib/lanes/outpost-snapshot-memo.js +14 -0
  801. package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +19 -0
  802. package/dist/lib/lanes/outpost-worktree-pruner-flag.js +86 -0
  803. package/dist/lib/lanes/outpost-worktree-pruner.d.ts +62 -0
  804. package/dist/lib/lanes/outpost-worktree-pruner.js +1201 -0
  805. package/dist/lib/lanes/profile.d.ts +69 -0
  806. package/dist/lib/lanes/profile.js +552 -0
  807. package/dist/lib/lanes/provider-rejection.d.ts +86 -0
  808. package/dist/lib/lanes/provider-rejection.js +286 -0
  809. package/dist/lib/lanes/questions.d.ts +90 -0
  810. package/dist/lib/lanes/questions.js +384 -0
  811. package/dist/lib/lanes/quota.d.ts +134 -0
  812. package/dist/lib/lanes/quota.js +471 -0
  813. package/dist/lib/lanes/reconcile-install.d.ts +90 -0
  814. package/dist/lib/lanes/reconcile-install.js +257 -0
  815. package/dist/lib/lanes/reconcile.d.ts +161 -0
  816. package/dist/lib/lanes/reconcile.js +3343 -0
  817. package/dist/lib/lanes/registry-flag.d.ts +35 -0
  818. package/dist/lib/lanes/registry-flag.js +164 -0
  819. package/dist/lib/lanes/registry-persona.d.ts +20 -0
  820. package/dist/lib/lanes/registry-persona.js +329 -0
  821. package/dist/lib/lanes/registry.d.ts +122 -0
  822. package/dist/lib/lanes/registry.js +570 -0
  823. package/dist/lib/lanes/reviews.d.ts +38 -0
  824. package/dist/lib/lanes/reviews.js +395 -0
  825. package/dist/lib/lanes/runaway-tool-guard.d.ts +38 -0
  826. package/dist/lib/lanes/runaway-tool-guard.js +284 -0
  827. package/dist/lib/lanes/session-relink.d.ts +25 -0
  828. package/dist/lib/lanes/session-relink.js +216 -0
  829. package/dist/lib/lanes/spawn.d.ts +355 -0
  830. package/dist/lib/lanes/spawn.js +2668 -0
  831. package/dist/lib/lanes/ssm-command-context.d.ts +12 -0
  832. package/dist/lib/lanes/ssm-command-context.js +52 -0
  833. package/dist/lib/lanes/store.d.ts +91 -0
  834. package/dist/lib/lanes/store.js +1822 -0
  835. package/dist/lib/lanes/stories.d.ts +23 -0
  836. package/dist/lib/lanes/stories.js +92 -0
  837. package/dist/lib/lanes/story-ledger.d.ts +80 -0
  838. package/dist/lib/lanes/story-ledger.js +815 -0
  839. package/dist/lib/lanes/story-switch.d.ts +21 -0
  840. package/dist/lib/lanes/story-switch.js +75 -0
  841. package/dist/lib/lanes/text-scan.d.ts +11 -0
  842. package/dist/lib/lanes/text-scan.js +103 -0
  843. package/dist/lib/lanes/throttle.d.ts +116 -0
  844. package/dist/lib/lanes/throttle.js +437 -0
  845. package/dist/lib/lanes/timestamp.d.ts +3 -0
  846. package/dist/lib/lanes/timestamp.js +26 -0
  847. package/dist/lib/lanes/tracker-checks.d.ts +77 -0
  848. package/dist/lib/lanes/tracker-checks.js +134 -0
  849. package/dist/lib/lanes/tracker-report-state.d.ts +10 -0
  850. package/dist/lib/lanes/tracker-report-state.js +124 -0
  851. package/dist/lib/lanes/tracker-report.d.ts +203 -0
  852. package/dist/lib/lanes/tracker-report.js +522 -0
  853. package/dist/lib/lanes/tracker-store.d.ts +18 -0
  854. package/dist/lib/lanes/tracker-store.js +106 -0
  855. package/dist/lib/lanes/types.d.ts +1030 -0
  856. package/dist/lib/lanes/types.js +418 -0
  857. package/dist/lib/lanes/wait.d.ts +39 -0
  858. package/dist/lib/lanes/wait.js +159 -0
  859. package/dist/lib/lanes/watch.d.ts +39 -0
  860. package/dist/lib/lanes/watch.js +249 -0
  861. package/dist/lib/lanes/watcher-main.d.ts +11 -0
  862. package/dist/lib/lanes/watcher-main.js +108 -0
  863. package/dist/lib/lanes/watcher.d.ts +287 -0
  864. package/dist/lib/lanes/watcher.js +1972 -0
  865. package/dist/lib/mesh/api.d.ts +103 -10
  866. package/dist/lib/mesh/api.js +334 -64
  867. package/dist/lib/mesh/client.d.ts +3 -2
  868. package/dist/lib/mesh/client.js +26 -7
  869. package/dist/lib/mesh/denial-codes.d.ts +5 -0
  870. package/dist/lib/mesh/denial-codes.js +14 -0
  871. package/dist/lib/mesh/live/backfill-held.d.ts +67 -16
  872. package/dist/lib/mesh/live/backfill-held.js +415 -61
  873. package/dist/lib/mesh/live/backoff.d.ts +2 -2
  874. package/dist/lib/mesh/live/backoff.js +16 -3
  875. package/dist/lib/mesh/live/daemon/board-refresh.d.ts +7 -1
  876. package/dist/lib/mesh/live/daemon/board-refresh.js +78 -30
  877. package/dist/lib/mesh/live/daemon/config.d.ts +36 -0
  878. package/dist/lib/mesh/live/daemon/config.js +120 -0
  879. package/dist/lib/mesh/live/daemon/credentials.d.ts +64 -10
  880. package/dist/lib/mesh/live/daemon/credentials.js +270 -20
  881. package/dist/lib/mesh/live/daemon/doctor.d.ts +53 -0
  882. package/dist/lib/mesh/live/daemon/doctor.js +190 -6
  883. package/dist/lib/mesh/live/daemon/index.d.ts +13 -10
  884. package/dist/lib/mesh/live/daemon/index.js +7 -6
  885. package/dist/lib/mesh/live/daemon/install.d.ts +255 -1
  886. package/dist/lib/mesh/live/daemon/install.js +811 -13
  887. package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +43 -0
  888. package/dist/lib/mesh/live/daemon/legacy-listen.js +89 -0
  889. package/dist/lib/mesh/live/daemon/live-cache.d.ts +26 -0
  890. package/dist/lib/mesh/live/daemon/live-cache.js +116 -0
  891. package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +7 -0
  892. package/dist/lib/mesh/live/daemon/mqtt-events.js +2 -0
  893. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +2 -0
  894. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +10 -0
  895. package/dist/lib/mesh/live/daemon/paths.d.ts +2 -0
  896. package/dist/lib/mesh/live/daemon/paths.js +2 -0
  897. package/dist/lib/mesh/live/daemon/presence.d.ts +24 -5
  898. package/dist/lib/mesh/live/daemon/presence.js +79 -10
  899. package/dist/lib/mesh/live/daemon/run.d.ts +48 -2
  900. package/dist/lib/mesh/live/daemon/run.js +485 -33
  901. package/dist/lib/mesh/live/daemon/state.d.ts +19 -2
  902. package/dist/lib/mesh/live/daemon/state.js +34 -2
  903. package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +45 -9
  904. package/dist/lib/mesh/live/daemon/transcript-watch.js +227 -31
  905. package/dist/lib/mesh/live/daemon/version-drift.d.ts +5 -0
  906. package/dist/lib/mesh/live/daemon/version-drift.js +47 -0
  907. package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +32 -0
  908. package/dist/lib/mesh/live/daemon/work-subscribe.js +262 -0
  909. package/dist/lib/mesh/live/emit-client.d.ts +8 -0
  910. package/dist/lib/mesh/live/emit-client.js +23 -8
  911. package/dist/lib/mesh/live/emit-evidence.d.ts +19 -0
  912. package/dist/lib/mesh/live/emit-evidence.js +20 -2
  913. package/dist/lib/mesh/live/emit.d.ts +9 -0
  914. package/dist/lib/mesh/live/emit.js +28 -2
  915. package/dist/lib/mesh/live/enqueue.d.ts +5 -0
  916. package/dist/lib/mesh/live/enqueue.js +19 -0
  917. package/dist/lib/mesh/live/flush.d.ts +17 -5
  918. package/dist/lib/mesh/live/flush.js +391 -38
  919. package/dist/lib/mesh/live/format-spool-line.d.ts +5 -2
  920. package/dist/lib/mesh/live/format-spool-line.js +10 -0
  921. package/dist/lib/mesh/live/paths.d.ts +2 -0
  922. package/dist/lib/mesh/live/paths.js +4 -0
  923. package/dist/lib/mesh/live/report-summary.d.ts +45 -0
  924. package/dist/lib/mesh/live/report-summary.js +234 -0
  925. package/dist/lib/mesh/live/session-event.schema.json +24 -1
  926. package/dist/lib/mesh/live/session-events-client.d.ts +2 -0
  927. package/dist/lib/mesh/live/session-events-client.js +26 -0
  928. package/dist/lib/mesh/live/session-seq.d.ts +4 -0
  929. package/dist/lib/mesh/live/session-seq.js +33 -0
  930. package/dist/lib/mesh/live/spool.d.ts +19 -0
  931. package/dist/lib/mesh/live/spool.js +269 -3
  932. package/dist/lib/mesh/live/validate-session-event.d.ts +1 -1
  933. package/dist/lib/mesh/live/validate-session-event.js +1 -1
  934. package/dist/lib/mesh/project-board.d.ts +65 -0
  935. package/dist/lib/mesh/project-board.js +181 -0
  936. package/dist/lib/mesh/story-status.d.ts +22 -0
  937. package/dist/lib/mesh/story-status.js +49 -0
  938. package/dist/lib/monitor.d.ts +149 -0
  939. package/dist/lib/monitor.js +519 -0
  940. package/dist/lib/node-binary.d.ts +50 -0
  941. package/dist/lib/node-binary.js +133 -0
  942. package/dist/lib/notify-recipient.d.ts +7 -0
  943. package/dist/lib/notify-recipient.js +11 -0
  944. package/dist/lib/onboarding/checkpoint.d.ts +13 -0
  945. package/dist/lib/onboarding/checkpoint.js +44 -0
  946. package/dist/lib/onboarding/cli/onboard.d.ts +53 -0
  947. package/dist/lib/onboarding/cli/onboard.js +135 -0
  948. package/dist/lib/onboarding/cli/prompts.d.ts +28 -0
  949. package/dist/lib/onboarding/cli/prompts.js +83 -0
  950. package/dist/lib/onboarding/errors.d.ts +34 -0
  951. package/dist/lib/onboarding/errors.js +59 -0
  952. package/dist/lib/onboarding/index.d.ts +13 -0
  953. package/dist/lib/onboarding/index.js +13 -0
  954. package/dist/lib/onboarding/orchestrator.d.ts +47 -0
  955. package/dist/lib/onboarding/orchestrator.js +569 -0
  956. package/dist/lib/onboarding/types.d.ts +79 -0
  957. package/dist/lib/onboarding/types.js +8 -0
  958. package/dist/lib/plan-limit-nag.d.ts +102 -6
  959. package/dist/lib/plan-limit-nag.js +348 -43
  960. package/dist/lib/policy-validator.d.ts +7 -0
  961. package/dist/lib/policy-validator.js +187 -0
  962. package/dist/lib/process-flag-company-context.d.ts +8 -0
  963. package/dist/lib/process-flag-company-context.js +67 -0
  964. package/dist/lib/report-publish.d.ts +175 -0
  965. package/dist/lib/report-publish.js +421 -0
  966. package/dist/lib/report-run.d.ts +62 -0
  967. package/dist/lib/report-run.js +123 -0
  968. package/dist/lib/report-snapshot.d.ts +12 -0
  969. package/dist/lib/report-snapshot.js +135 -0
  970. package/dist/lib/report-templates.d.ts +9 -0
  971. package/dist/lib/report-templates.js +21 -0
  972. package/dist/lib/scaffold-cli-floor.d.ts +8 -0
  973. package/dist/lib/scaffold-cli-floor.js +50 -0
  974. package/dist/lib/scan-packages/index.d.ts +2 -0
  975. package/dist/lib/scan-packages/index.js +168 -6
  976. package/dist/lib/search-index/background.d.ts +8 -1
  977. package/dist/lib/search-index/background.js +55 -200
  978. package/dist/lib/search-index/collection-path-repair-flag.d.ts +4 -0
  979. package/dist/lib/search-index/collection-path-repair-flag.js +7 -0
  980. package/dist/lib/search-index/embed-lock.d.ts +34 -0
  981. package/dist/lib/search-index/embed-lock.js +295 -0
  982. package/dist/lib/search-index/index.d.ts +12 -0
  983. package/dist/lib/search-index/index.js +153 -7
  984. package/dist/lib/search-index/load-gate.d.ts +57 -0
  985. package/dist/lib/search-index/load-gate.js +270 -0
  986. package/dist/lib/search-index/max-doc-bytes.d.ts +219 -0
  987. package/dist/lib/search-index/max-doc-bytes.js +463 -0
  988. package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +5 -0
  989. package/dist/lib/search-index/qmd-exit-diagnostics.js +40 -0
  990. package/dist/lib/search-index/reindex-single-flight-flag.d.ts +5 -0
  991. package/dist/lib/search-index/reindex-single-flight-flag.js +8 -0
  992. package/dist/lib/service-manager/index.d.ts +42 -0
  993. package/dist/lib/service-manager/index.js +105 -0
  994. package/dist/lib/service-manager/launchd.d.ts +81 -0
  995. package/dist/lib/service-manager/launchd.js +212 -0
  996. package/dist/lib/service-manager/systemd.d.ts +19 -0
  997. package/dist/lib/service-manager/systemd.js +72 -0
  998. package/dist/lib/service-manager/types.d.ts +34 -0
  999. package/dist/lib/service-manager/types.js +26 -0
  1000. package/dist/lib/test-utils/isolated-flag-company-context.d.ts +3 -0
  1001. package/dist/lib/test-utils/isolated-flag-company-context.js +18 -0
  1002. package/dist/lib/work-context/bind-best.d.ts +66 -0
  1003. package/dist/lib/work-context/bind-best.js +344 -0
  1004. package/dist/lib/work-context/bind-calling-session.d.ts +26 -0
  1005. package/dist/lib/work-context/bind-calling-session.js +63 -0
  1006. package/dist/lib/work-context/company-rebind.d.ts +23 -0
  1007. package/dist/lib/work-context/company-rebind.js +59 -0
  1008. package/dist/lib/work-context/company.d.ts +22 -20
  1009. package/dist/lib/work-context/company.js +124 -40
  1010. package/dist/lib/work-context/config.d.ts +58 -11
  1011. package/dist/lib/work-context/config.js +334 -83
  1012. package/dist/lib/work-context/contract.d.ts +13 -0
  1013. package/dist/lib/work-context/contract.schema.json +3 -1
  1014. package/dist/lib/work-context/default-company.d.ts +43 -0
  1015. package/dist/lib/work-context/default-company.js +83 -0
  1016. package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +4 -0
  1017. package/dist/lib/work-context/outbox-quarantine-status-flag.js +7 -0
  1018. package/dist/lib/work-context/outbox.d.ts +27 -5
  1019. package/dist/lib/work-context/outbox.js +135 -6
  1020. package/dist/lib/work-context/prd-sync.d.ts +56 -0
  1021. package/dist/lib/work-context/prd-sync.js +197 -0
  1022. package/dist/lib/work-context/preflight-contract.d.ts +28 -0
  1023. package/dist/lib/work-context/preflight-contract.js +85 -0
  1024. package/dist/lib/work-context/prompt-rebind.d.ts +25 -0
  1025. package/dist/lib/work-context/prompt-rebind.js +85 -0
  1026. package/dist/lib/work-context/reconcile.d.ts +15 -0
  1027. package/dist/lib/work-context/reconcile.js +405 -29
  1028. package/dist/lib/work-context/state.d.ts +93 -10
  1029. package/dist/lib/work-context/state.js +342 -29
  1030. package/dist/lib/work-context/windows-acl.d.ts +123 -0
  1031. package/dist/lib/work-context/windows-acl.js +425 -0
  1032. package/dist/lib/workers-registry/index.js +62 -8
  1033. package/dist/lib/workers-registry/read.d.ts +15 -0
  1034. package/dist/lib/workers-registry/read.js +17 -0
  1035. package/dist/main.d.ts +32 -0
  1036. package/dist/main.js +273 -73
  1037. package/dist/native-fast-route.d.ts +7 -0
  1038. package/dist/native-fast-route.js +45 -0
  1039. package/dist/node-network-compat-core.d.ts +12 -0
  1040. package/dist/node-network-compat-core.js +41 -0
  1041. package/dist/node-network-compat-fast.d.ts +7 -0
  1042. package/dist/node-network-compat-fast.js +23 -0
  1043. package/dist/node-network-compat.d.ts +2 -30
  1044. package/dist/node-network-compat.js +4 -51
  1045. package/dist/node-preflight.d.ts +7 -1
  1046. package/dist/node-preflight.js +5 -5
  1047. package/dist/register-all.d.ts +4 -29
  1048. package/dist/register-all.js +4 -233
  1049. package/dist/run/discover-schemas.d.ts +2 -1
  1050. package/dist/run/env-graph-guard.d.ts +2 -2
  1051. package/dist/run/env-graph-guard.js +5 -2
  1052. package/dist/run/hq-plugin.d.ts +4 -0
  1053. package/dist/run/hq-plugin.js +36 -8
  1054. package/dist/secrets-env-fast-path.d.ts +5 -0
  1055. package/dist/secrets-env-fast-path.js +16 -0
  1056. package/dist/secrets-env-fast-route.d.ts +18 -0
  1057. package/dist/secrets-env-fast-route.js +54 -0
  1058. package/dist/sentry-before-send.js +80 -0
  1059. package/dist/sentry.d.ts +16 -4
  1060. package/dist/sentry.js +179 -18
  1061. package/dist/startup-registration.d.ts +26 -2
  1062. package/dist/startup-registration.js +116 -15
  1063. package/dist/utils/checkpoint-stamp-write-error.d.ts +28 -0
  1064. package/dist/utils/checkpoint-stamp-write-error.js +99 -0
  1065. package/dist/utils/cli-network-lifecycle.d.ts +4 -0
  1066. package/dist/utils/cli-network-lifecycle.js +11 -0
  1067. package/dist/utils/cli-telemetry.d.ts +75 -1
  1068. package/dist/utils/cli-telemetry.js +433 -7
  1069. package/dist/utils/client-health.d.ts +0 -4
  1070. package/dist/utils/client-health.js +2 -2
  1071. package/dist/utils/cognito-refresh-sentry.d.ts +3 -0
  1072. package/dist/utils/cognito-refresh-sentry.js +49 -0
  1073. package/dist/utils/cognito-session.d.ts +71 -0
  1074. package/dist/utils/cognito-session.js +481 -27
  1075. package/dist/utils/console-origin.d.ts +9 -0
  1076. package/dist/utils/console-origin.js +28 -0
  1077. package/dist/utils/contribution-table.d.ts +1 -1
  1078. package/dist/utils/core-eval-trigger.d.ts +4 -0
  1079. package/dist/utils/core-eval-trigger.js +88 -0
  1080. package/dist/utils/environmental-error.d.ts +18 -0
  1081. package/dist/utils/environmental-error.js +240 -7
  1082. package/dist/utils/exclusive-lock.d.ts +32 -0
  1083. package/dist/utils/exclusive-lock.js +75 -0
  1084. package/dist/utils/expected-cli-error.d.ts +2 -0
  1085. package/dist/utils/expected-cli-error.js +4 -0
  1086. package/dist/utils/fast-stream-errors.d.ts +12 -0
  1087. package/dist/utils/fast-stream-errors.js +18 -0
  1088. package/dist/utils/feedback-diagnostics.d.ts +2 -1
  1089. package/dist/utils/feedback-log-bundle.d.ts +51 -26
  1090. package/dist/utils/feedback-log-bundle.js +211 -31
  1091. package/dist/utils/feedback-logs.d.ts +18 -47
  1092. package/dist/utils/feedback-logs.js +50 -21
  1093. package/dist/utils/feedback-screenshots.d.ts +0 -1
  1094. package/dist/utils/feedback-screenshots.js +1 -1
  1095. package/dist/utils/files-browse-acl.d.ts +5 -0
  1096. package/dist/utils/files-browse-acl.js +11 -0
  1097. package/dist/utils/hq-core-yaml.d.ts +10 -0
  1098. package/dist/utils/hq-core-yaml.js +40 -0
  1099. package/dist/utils/hq-root-resolver.d.ts +13 -0
  1100. package/dist/utils/hq-root-resolver.js +103 -0
  1101. package/dist/utils/hq-roots.d.ts +25 -2
  1102. package/dist/utils/hq-roots.js +67 -7
  1103. package/dist/utils/incomplete-install-error.d.ts +87 -19
  1104. package/dist/utils/incomplete-install-error.js +319 -68
  1105. package/dist/utils/install-tree-torn.d.ts +260 -24
  1106. package/dist/utils/install-tree-torn.js +998 -51
  1107. package/dist/utils/large-file-guard.d.ts +0 -10
  1108. package/dist/utils/large-file-guard.js +1 -1
  1109. package/dist/utils/local-files-overview.d.ts +4 -8
  1110. package/dist/utils/local-files-overview.js +48 -7
  1111. package/dist/utils/login-provider.d.ts +7 -0
  1112. package/dist/utils/login-provider.js +34 -0
  1113. package/dist/utils/pack-contributions.d.ts +2 -14
  1114. package/dist/utils/pack-contributions.js +7 -44
  1115. package/dist/utils/package-root-diagnostics.d.ts +1 -1
  1116. package/dist/utils/people.d.ts +7 -11
  1117. package/dist/utils/people.js +5 -20
  1118. package/dist/utils/plan-gate-error.d.ts +52 -10
  1119. package/dist/utils/plan-gate-error.js +364 -41
  1120. package/dist/utils/qmd-model-download-error.d.ts +0 -8
  1121. package/dist/utils/qmd-model-download-error.js +1 -1
  1122. package/dist/utils/qmd-query-document-error.d.ts +0 -6
  1123. package/dist/utils/qmd-query-document-error.js +1 -1
  1124. package/dist/utils/redact-error-text.d.ts +0 -2
  1125. package/dist/utils/redact-error-text.js +3 -2
  1126. package/dist/utils/redact-url.d.ts +14 -0
  1127. package/dist/utils/redact-url.js +218 -0
  1128. package/dist/utils/run-bundled-script.d.ts +6 -0
  1129. package/dist/utils/run-bundled-script.js +117 -4
  1130. package/dist/utils/sandbox-runner-client.d.ts +2 -1
  1131. package/dist/utils/scaffold-fast-import-guard.d.ts +2 -0
  1132. package/dist/utils/scaffold-fast-import-guard.js +40 -0
  1133. package/dist/utils/scaffold-packlist-guard.d.ts +7 -0
  1134. package/dist/utils/scaffold-packlist-guard.js +23 -0
  1135. package/dist/utils/scaffold-sibling-references.d.ts +22 -0
  1136. package/dist/utils/scaffold-sibling-references.js +156 -0
  1137. package/dist/utils/secret-load-availability.d.ts +8 -0
  1138. package/dist/utils/secret-load-availability.js +54 -0
  1139. package/dist/utils/secrets-cache.d.ts +7 -3
  1140. package/dist/utils/secrets-cache.js +162 -14
  1141. package/dist/utils/self-update.d.ts +34 -1
  1142. package/dist/utils/self-update.js +660 -42
  1143. package/dist/utils/sentry-fingerprint.d.ts +23 -1
  1144. package/dist/utils/sentry-fingerprint.js +223 -31
  1145. package/dist/utils/staged-install.d.ts +34 -0
  1146. package/dist/utils/staged-install.js +346 -0
  1147. package/dist/utils/staged-npm-install.d.ts +16 -0
  1148. package/dist/utils/staged-npm-install.js +264 -0
  1149. package/dist/utils/sync-log-sources.d.ts +15 -0
  1150. package/dist/utils/sync-log-sources.js +36 -0
  1151. package/dist/utils/table-width.d.ts +7 -0
  1152. package/dist/utils/table-width.js +15 -0
  1153. package/dist/utils/team-upgrade.d.ts +1 -1
  1154. package/dist/utils/team-upgrade.js +4 -3
  1155. package/dist/utils/update-command-supervisor.cjs +247 -0
  1156. package/dist/utils/upload-author.d.ts +15 -0
  1157. package/dist/utils/upload-author.js +39 -0
  1158. package/dist/utils/vault-api.d.ts +21 -1
  1159. package/dist/utils/vault-api.js +251 -84
  1160. package/dist/utils/version-check.d.ts +11 -1
  1161. package/dist/utils/version-check.js +32 -3
  1162. package/dist/utils/version-gate.d.ts +101 -17
  1163. package/dist/utils/version-gate.js +645 -70
  1164. package/dist/utils/version-report.d.ts +27 -0
  1165. package/dist/utils/version-report.js +105 -0
  1166. package/dist/utils/windows-spawn.d.ts +6 -0
  1167. package/dist/utils/windows-spawn.js +37 -0
  1168. package/dist/version-request.d.ts +14 -0
  1169. package/dist/version-request.js +36 -0
  1170. package/package.json +20 -8
  1171. package/scripts/mesh-daemon-if-stale.mjs +20 -0
  1172. package/templates/reports/blank.md +3 -0
  1173. package/templates/reports/daily-digest.md +11 -0
  1174. package/templates/runbooks/update-report.md +21 -0
  1175. package/dist/commands/scaffold-fast.d.ts +0 -41
  1176. package/dist/commands/scaffold-fast.js +0 -57
  1177. package/dist/lib/work-context/index.d.ts +0 -25
  1178. package/dist/lib/work-context/index.js +0 -21
@@ -8,11 +8,13 @@
8
8
  * `.claude/`, `.codex/`, or `.grok/`, `--fix` refuses and exits non-zero
9
9
  * unless `--force`, so a repair can never be tangled up with unrelated
10
10
  * in-flight edits to the security layer.
11
- * 2. Allowlist only. It repairs exactly three classes — restore an execute
12
- * bit, add a hook id to the gate profiles it is missing from, re-register a
13
- * script present on disk — and NEVER rewrites a hook body or deletes a file.
14
- * Classification is owned by {@link deriveRemediation}; a content-drift
15
- * finding is manual-only and simply never appears in the fixable set.
11
+ * 2. Allowlist only. It repairs the classified safe classes — restore an
12
+ * execute bit, add a hook id to the gate profiles it is missing from,
13
+ * re-register a script present on disk, or pull a company whose local
14
+ * tree exists but whose journal is stale — and NEVER rewrites a hook body
15
+ * or deletes a file. Classification is owned by {@link deriveRemediation};
16
+ * a content-drift finding is manual-only and simply never appears in the
17
+ * fixable set.
16
18
  * 3. Preview + confirmation. Every change is shown diff-style and requires
17
19
  * confirmation, with `--yes` for non-interactive use.
18
20
  * 4. Backup first. Before any write, the affected files are copied under
@@ -33,9 +35,18 @@ import { createDefaultRegistry } from "../registry.js";
33
35
  import { flattenFamilies } from "../report.js";
34
36
  import { gateMembership, parseHookGateProfiles, } from "../hook-gate-profiles.js";
35
37
  import { createBackup } from "./backup.js";
38
+ import { removeStrayGateEntries } from "../stray-gate-entries.js";
36
39
  import { deriveRemediation } from "./remediation.js";
40
+ import { botDir } from "../../bot/paths.js";
41
+ import { readBotConfig } from "../../bot/config.js";
42
+ import { buildBotDaemonPaths, rewriteBotDaemonNodePath } from "../../bot/daemon.js";
43
+ import { classifyRefreshSyncOutcome, } from "./refresh-sync-outcome.js";
37
44
  /** The tree subtrees whose uncommitted changes block a `--fix` run. */
38
45
  export const HOOK_CONFIG_DIRS = [".claude", ".codex", ".grok"];
46
+ /** Per-company bound for the default `hq sync pull` repair. */
47
+ export const REFRESH_SYNC_TIMEOUT_MS = 90_000;
48
+ /** A newly unlocked safe repair can be picked up for at most this many passes. */
49
+ export const MAX_FIX_PASSES = 3;
39
50
  /**
40
51
  * Apply every auto-fixable finding, honouring the dirty-tree refusal, the
41
52
  * preview/confirmation gate, the pre-write backup, and the post-fix re-check.
@@ -53,6 +64,7 @@ export async function applyFixes(options) {
53
64
  fixableCount: 0,
54
65
  backupDir: null,
55
66
  restoreCommand: null,
67
+ backups: [],
56
68
  applied: [],
57
69
  ...over,
58
70
  });
@@ -68,74 +80,219 @@ export async function applyFixes(options) {
68
80
  return empty({ exitCode: 1, refused: "dirty-tree" });
69
81
  }
70
82
  }
71
- // 2. Collect findings and keep only the allowlisted auto-fixable ones.
72
- const findings = await runChecks(hqRoot);
73
- const fixable = [];
74
- for (const result of findings) {
75
- const rem = deriveRemediation(result);
76
- if (rem && rem.autoFixable)
77
- fixable.push({ result, rem });
78
- }
79
- if (fixable.length === 0) {
80
- write("hq doctor --fix: nothing to repair — no auto-fixable findings.\n");
81
- return empty();
83
+ const collect = options.runChecks ?? defaultRunChecks;
84
+ const refreshSync = options.refreshSync ?? defaultRefreshSync;
85
+ const rewriteBotNodePath = options.rewriteBotNodePath ?? defaultRewriteBotNodePath;
86
+ // 2. Collect findings, then plan each newly unlocked allowlisted repair.
87
+ // Identity is deliberately the check id + target pair: an unsuccessful
88
+ // repair must not be applied repeatedly in one invocation.
89
+ let findings = await collect(hqRoot);
90
+ const appliedKeys = new Set();
91
+ const planned = [];
92
+ const backups = [];
93
+ let fixableCount = 0;
94
+ let refused = null;
95
+ let lastBackupMs = Number.NEGATIVE_INFINITY;
96
+ const backupClock = () => {
97
+ const suppliedMs = (options.now ?? (() => new Date()))().getTime();
98
+ lastBackupMs = Math.max(suppliedMs, lastBackupMs + 1);
99
+ return new Date(lastBackupMs);
100
+ };
101
+ const buildPlans = (results) => {
102
+ const keysThisPass = new Set();
103
+ const plans = [];
104
+ for (const result of results) {
105
+ const rem = deriveRemediation(result);
106
+ if (!rem?.autoFixable)
107
+ continue;
108
+ const plan = planFix(hqRoot, result, rem, refreshSync, rewriteBotNodePath);
109
+ if (!plan)
110
+ continue;
111
+ const key = JSON.stringify([plan.checkId, plan.target]);
112
+ if (appliedKeys.has(key) || keysThisPass.has(key))
113
+ continue;
114
+ keysThisPass.add(key);
115
+ plans.push(plan);
116
+ }
117
+ return plans;
118
+ };
119
+ for (let pass = 1; pass <= MAX_FIX_PASSES; pass += 1) {
120
+ const plans = buildPlans(findings);
121
+ if (plans.length === 0)
122
+ break;
123
+ fixableCount += plans.length;
124
+ // 3. Preview and require confirmation for every pass unless --yes is set.
125
+ write(`Pass ${pass}/${MAX_FIX_PASSES}: hq doctor --fix will apply ${plans.length} repair${plans.length === 1 ? "" : "s"}:\n\n`);
126
+ for (const plan of plans)
127
+ write(plan.preview + "\n");
128
+ if (!options.yes) {
129
+ const confirmed = await Promise.resolve((options.confirm ?? declineByDefault)());
130
+ if (!confirmed) {
131
+ refused = "declined";
132
+ if (planned.length === 0) {
133
+ write("Aborted — no changes written.\n");
134
+ return empty({ refused, fixableCount });
135
+ }
136
+ write(`Pass ${pass} declined — no further changes written.\n`);
137
+ break;
138
+ }
139
+ }
140
+ // 4. Back up this pass's files before its first write. The clock advances
141
+ // at least one millisecond per backup so fast consecutive passes cannot
142
+ // overwrite an earlier pass's restore point.
143
+ const affected = unique(plans.map((plan) => plan.relpath).filter((rel) => rel.length > 0));
144
+ const backup = affected.length > 0 ? createBackup(hqRoot, affected, backupClock) : null;
145
+ if (backup) {
146
+ backups.push({
147
+ pass,
148
+ backupDir: backup.dir,
149
+ restoreCommand: backup.restoreCommand,
150
+ });
151
+ write(`\nBacked up ${backup.files.length} file${backup.files.length === 1 ? "" : "s"} for pass ${pass} to ${backup.dir}\n`);
152
+ write(`To restore: ${backup.restoreCommand}\n`);
153
+ }
154
+ // 5. Apply each plan once. Later findings with this check id + target are
155
+ // excluded even if this repair did not make its check pass.
156
+ for (const plan of plans) {
157
+ appliedKeys.add(JSON.stringify([plan.checkId, plan.target]));
158
+ planned.push({ plan, pass });
159
+ await plan.apply();
160
+ }
161
+ // 6. Re-run checks. Newly surfaced repairs are considered by the next loop.
162
+ findings = await collect(hqRoot);
82
163
  }
83
- const plans = fixable
84
- .map(({ result, rem }) => planFix(hqRoot, result, rem))
85
- .filter((plan) => plan !== null);
86
- if (plans.length === 0) {
164
+ if (planned.length === 0) {
87
165
  write("hq doctor --fix: nothing to repair — no auto-fixable findings.\n");
88
- return empty();
89
- }
90
- // 3. Diff-style preview + confirmation (AC5).
91
- write(`hq doctor --fix will apply ${plans.length} repair${plans.length === 1 ? "" : "s"}:\n\n`);
92
- for (const plan of plans)
93
- write(plan.preview + "\n");
94
- if (!options.yes) {
95
- const confirmed = await Promise.resolve((options.confirm ?? declineByDefault)());
96
- if (!confirmed) {
97
- write("Aborted — no changes written.\n");
98
- return empty({ refused: "declined" });
99
- }
166
+ return empty({ refused, fixableCount });
100
167
  }
101
- // 4. Back up every file about to change BEFORE the first write (AC6).
102
- const affected = unique(plans.map((plan) => plan.relpath));
103
- const backup = createBackup(hqRoot, affected, options.now);
104
- // 5. Apply. Each plan reads the current on-disk state, so multiple plans that
105
- // touch the same file (two gate ids) compose correctly.
106
- for (const plan of plans)
107
- plan.apply();
108
- write(`\nBacked up ${backup.files.length} file${backup.files.length === 1 ? "" : "s"} to ${backup.dir}\n`);
109
- write(`To restore: ${backup.restoreCommand}\n`);
110
- // 6. Re-run the checks and report the post-fix status of each repair (AC7).
111
- const after = await runChecks(hqRoot);
112
- const applied = plans.map((plan) => ({
113
- checkId: plan.checkId,
114
- fixClass: plan.fixClass,
115
- target: plan.target,
116
- summary: plan.summary,
117
- postStatus: plan.postStatus(after),
118
- }));
168
+ // Show each repair's final post-fix status, including work from earlier passes.
169
+ const applied = planned.map(({ plan, pass }) => {
170
+ const refreshSyncOutcome = plan.refreshSyncOutcome?.();
171
+ return {
172
+ pass,
173
+ checkId: plan.checkId,
174
+ fixClass: plan.fixClass,
175
+ target: plan.target,
176
+ summary: plan.summary,
177
+ postStatus: plan.postStatus(findings),
178
+ ...(refreshSyncOutcome ? { refreshSyncOutcome } : {}),
179
+ };
180
+ });
119
181
  write("\nPost-fix status:\n");
120
182
  for (const fix of applied) {
121
- write(` ${fix.postStatus ?? "UNKNOWN"} ${fix.checkId} [${fix.target}]\n`);
183
+ write(` ${fix.postStatus ?? "UNKNOWN"} ${fix.checkId} [${fix.target}] (pass ${fix.pass})\n`);
184
+ }
185
+ // Restore later pass snapshots first. This also returns every file to its
186
+ // pre-run state when multiple passes touched the same path.
187
+ const restoreCommand = backups.length > 0
188
+ ? [...backups].reverse().map(({ restoreCommand: command }) => command).join(" && ")
189
+ : null;
190
+ if (restoreCommand)
191
+ write(`To restore all changes: ${restoreCommand}\n`);
192
+ if (planned.at(-1)?.pass === MAX_FIX_PASSES && buildPlans(findings).length > 0) {
193
+ write(`Stopped after ${MAX_FIX_PASSES} repair passes; new auto-fixable findings remain.\n`);
122
194
  }
123
195
  return {
124
196
  exitCode: 0,
125
197
  wrote: true,
126
- refused: null,
127
- fixableCount: fixable.length,
128
- backupDir: backup.dir,
129
- restoreCommand: backup.restoreCommand,
198
+ refused,
199
+ fixableCount,
200
+ backupDir: backups[0]?.backupDir ?? null,
201
+ restoreCommand,
202
+ backups,
130
203
  applied,
131
204
  };
132
205
  }
133
206
  /** Run the default (read-only) check registry and flatten to a result list. */
134
- async function runChecks(hqRoot) {
135
- const context = { hqRoot, platform: { id: "unknown" } };
207
+ async function defaultRunChecks(hqRoot) {
208
+ // `--fix` never repairs the integrations family (networked inventory), so
209
+ // skip it: a hung control-plane read must not stall the safe repair pass.
210
+ const context = {
211
+ hqRoot,
212
+ platform: { id: "unknown" },
213
+ integrations: false,
214
+ };
136
215
  const families = await createDefaultRegistry().run(context);
137
216
  return flattenFamilies(families);
138
217
  }
218
+ /**
219
+ * Default `refresh-sync` repair: a bounded, pull-only, keep-conflicts
220
+ * `hq sync pull --company <slug>` against the tree `--fix` is repairing.
221
+ * Never a push, never interactive. A timeout or non-zero exit is reported
222
+ * rather than thrown so later plans still run.
223
+ */
224
+ export function defaultRefreshSync(target) {
225
+ const hqBin = process.argv[1];
226
+ const args = hqBin
227
+ ? [
228
+ hqBin,
229
+ "sync",
230
+ "pull",
231
+ "--company",
232
+ target.slug,
233
+ "--hq-root",
234
+ target.hqRoot,
235
+ "--on-conflict",
236
+ "keep",
237
+ "--lock-timeout",
238
+ "30",
239
+ ]
240
+ : [
241
+ "sync",
242
+ "pull",
243
+ "--company",
244
+ target.slug,
245
+ "--hq-root",
246
+ target.hqRoot,
247
+ "--on-conflict",
248
+ "keep",
249
+ "--lock-timeout",
250
+ "30",
251
+ ];
252
+ const result = spawnSync(hqBin ? process.execPath : "hq", args, {
253
+ encoding: "utf8",
254
+ timeout: REFRESH_SYNC_TIMEOUT_MS,
255
+ cwd: target.hqRoot,
256
+ });
257
+ if (result.error) {
258
+ const spawnError = result.error;
259
+ const outcome = classifyRefreshSyncOutcome({
260
+ errorCode: spawnError.code,
261
+ ...(result.error.message.includes("ETIMEDOUT")
262
+ ? { errorCode: "ETIMEDOUT" }
263
+ : {}),
264
+ signal: result.signal,
265
+ status: result.status,
266
+ stdout: result.stdout,
267
+ stderr: result.stderr,
268
+ });
269
+ return Promise.resolve({
270
+ ok: false,
271
+ outcome,
272
+ message: outcome === "pull-timeout"
273
+ ? `timed out pulling '${target.slug}'`
274
+ : `could not start pull for '${target.slug}': ${result.error.message}`,
275
+ });
276
+ }
277
+ if (result.status !== 0) {
278
+ const outcome = classifyRefreshSyncOutcome({
279
+ status: result.status,
280
+ stdout: result.stdout,
281
+ stderr: result.stderr,
282
+ });
283
+ const detail = (result.stderr || result.stdout || "").trim().split("\n").at(-1) ?? "";
284
+ return Promise.resolve({
285
+ ok: false,
286
+ outcome,
287
+ message: `pull of '${target.slug}' exited ${result.status}${detail ? `: ${detail}` : ""}`,
288
+ });
289
+ }
290
+ return Promise.resolve({
291
+ ok: true,
292
+ outcome: "pull-succeeded",
293
+ message: `pulled '${target.slug}'`,
294
+ });
295
+ }
139
296
  // --- Dirty-tree probe ----------------------------------------------------------
140
297
  /**
141
298
  * The uncommitted changes under {@link HOOK_CONFIG_DIRS}, one porcelain line
@@ -155,18 +312,75 @@ export function uncommittedHookConfigChanges(hqRoot) {
155
312
  }
156
313
  // --- Fix planning --------------------------------------------------------------
157
314
  /** Build the concrete plan for one auto-fixable finding, or null if unplannable. */
158
- function planFix(hqRoot, result, rem) {
315
+ function planFix(hqRoot, result, rem, refreshSync, rewriteBotNodePath = defaultRewriteBotNodePath) {
159
316
  switch (rem.fixClass) {
317
+ case "bot-node-path":
318
+ return planBotNodePath(result, rem, rewriteBotNodePath);
160
319
  case "executable-bit":
161
320
  return planExecutableBit(hqRoot, result, rem);
162
321
  case "gate-profile":
163
322
  return planGateProfile(hqRoot, result, rem);
164
- case "register-hook":
165
- return planRegisterHook(hqRoot, result, rem);
323
+ case "remove-stray-gate-entries":
324
+ return planRemoveStrayGateEntries(hqRoot, result, rem);
325
+ case "refresh-sync":
326
+ return planRefreshSync(hqRoot, result, rem, refreshSync);
166
327
  default:
167
328
  return null;
168
329
  }
169
330
  }
331
+ /** Rewrite one bot LaunchAgent's node path (file only; launchd untouched). */
332
+ function planBotNodePath(result, rem, rewrite) {
333
+ const name = rem.fixTarget;
334
+ if (!name)
335
+ return null;
336
+ return {
337
+ checkId: result.checkId,
338
+ fixClass: "bot-node-path",
339
+ target: name,
340
+ relpath: "",
341
+ preview: ` ~/Library/LaunchAgents/ai.getindigo.hq-bot.${name}.plist\n` +
342
+ ` ~ node path -> upgrade-stable alias of the same node\n` +
343
+ ` file only: the bot is not stopped or started; the new path loads at its next start`,
344
+ summary: `rewrite ${name} startup agent node path`,
345
+ apply: () => {
346
+ rewrite(name);
347
+ },
348
+ postStatus: (results) => results.find((entry) => entry.checkId === result.checkId)?.status ?? null,
349
+ };
350
+ }
351
+ /** Default `bot-node-path` repair against the real bot state and LaunchAgents. */
352
+ export function defaultRewriteBotNodePath(name) {
353
+ if (process.platform !== "darwin")
354
+ return null;
355
+ const dir = botDir(name);
356
+ const config = readBotConfig(dir);
357
+ if (!config)
358
+ return null;
359
+ return rewriteBotDaemonNodePath(buildBotDaemonPaths({ name, botDir: dir, hqRoot: config.hqRoot, hqBinary: "hq" }), { platform: "darwin" });
360
+ }
361
+ /** Pull one company to refresh a stale or never-synced journal. */
362
+ function planRefreshSync(hqRoot, result, rem, refreshSync) {
363
+ const slug = rem.fixTarget;
364
+ if (!slug)
365
+ return null;
366
+ let outcome;
367
+ return {
368
+ checkId: result.checkId,
369
+ fixClass: "refresh-sync",
370
+ target: slug,
371
+ relpath: "",
372
+ preview: ` companies/${slug}\n` +
373
+ ` ~ hq sync pull --company ${slug} --on-conflict keep\n` +
374
+ ` refresh the stale sync journal (keeps local conflict copies)`,
375
+ summary: `pull ${slug} to refresh its sync journal`,
376
+ apply: async () => {
377
+ const result = await refreshSync({ slug, hqRoot });
378
+ outcome = result.outcome;
379
+ },
380
+ refreshSyncOutcome: () => outcome,
381
+ postStatus: (results) => results.find((entry) => entry.checkId === result.checkId)?.status ?? null,
382
+ };
383
+ }
170
384
  /** Restore the execute bit on a hook script. */
171
385
  function planExecutableBit(hqRoot, result, rem) {
172
386
  const abs = rem.fixTarget;
@@ -230,34 +444,32 @@ function planGateProfile(hqRoot, result, rem) {
230
444
  postStatus: (results) => statusForTarget(results, ".gate-profiles", hookId),
231
445
  };
232
446
  }
233
- /** Re-register a script that is present on disk but wired in no settings file. */
234
- function planRegisterHook(hqRoot, result, rem) {
235
- const scriptAbs = rem.fixTarget;
236
- if (!scriptAbs)
447
+ /** Remove matcher-less hook-gate.sh registrations an older doctor wrote. */
448
+ function planRemoveStrayGateEntries(hqRoot, result, rem) {
449
+ const settingsPath = rem.fixTarget;
450
+ if (!settingsPath)
451
+ return null;
452
+ const current = readJson(settingsPath);
453
+ if (!current)
454
+ return null;
455
+ const { removed } = removeStrayGateEntries(current);
456
+ if (removed === 0)
237
457
  return null;
238
- const settingsPath = path.join(hqRoot, ".claude", "settings.json");
239
- const hookId = path.basename(scriptAbs).replace(/\.sh$/, "");
240
- const event = "PreToolUse";
241
- const command = `bash "$CLAUDE_PROJECT_DIR/.claude/hooks/hook-gate.sh" ${hookId} ` +
242
- `"$CLAUDE_PROJECT_DIR/.claude/hooks/${hookId}.sh"`;
243
458
  const relpath = toRelpath(hqRoot, settingsPath);
244
459
  return {
245
460
  checkId: result.checkId,
246
- fixClass: "register-hook",
247
- target: scriptAbs,
461
+ fixClass: "remove-stray-gate-entries",
462
+ target: settingsPath,
248
463
  relpath,
249
464
  preview: ` ${relpath}\n` +
250
- ` + hooks.${event}: register ${hookId} via hook-gate.sh\n` +
251
- ` ${command}`,
252
- summary: `register ${hookId} on ${event}`,
465
+ ` - ${removed} matcher-less hook-gate.sh registration${removed === 1 ? "" : "s"} (they fire on every tool call)`,
466
+ summary: `remove ${removed} stray hook registration${removed === 1 ? "" : "s"} from ${relpath}`,
253
467
  apply: () => {
254
- const settings = readJson(settingsPath) ?? {};
255
- const updated = registerHookInSettings(settings, event, command);
256
- fs.writeFileSync(settingsPath, JSON.stringify(updated, null, 2) + "\n");
468
+ const latest = readJson(settingsPath) ?? {};
469
+ const cleaned = removeStrayGateEntries(latest).settings;
470
+ fs.writeFileSync(settingsPath, JSON.stringify(cleaned, null, 2) + "\n");
257
471
  },
258
- // After registration the script becomes a wired, executable file, reported
259
- // by the Claude wiring tier's `…script` PASS keyed on the same path.
260
- postStatus: (results) => statusForPath(results, scriptAbs),
472
+ postStatus: (results) => statusForTarget(results, ".stray-gate-registration", settingsPath),
261
473
  };
262
474
  }
263
475
  // --- Shell / JSON edit primitives ---------------------------------------------
@@ -0,0 +1,28 @@
1
+ import type { AppliedFix, AppliedFixBackup, ApplyFixesResult } from "./apply.js";
2
+ export declare const DOCTOR_FIX_JSON_SCHEMA_VERSION = 1;
3
+ export interface DoctorFixJsonResult {
4
+ schemaVersion: number;
5
+ exitCode: number;
6
+ refused: ApplyFixesResult["refused"] | "outside-hq-tree";
7
+ applied: {
8
+ checkId: string;
9
+ fixClass: AppliedFix["fixClass"];
10
+ pass: number;
11
+ postStatus: AppliedFix["postStatus"];
12
+ }[];
13
+ backups: Pick<AppliedFixBackup, "pass" | "backupDir" | "restoreCommand">[];
14
+ refreshSync: {
15
+ checkId: string;
16
+ outcome: NonNullable<AppliedFix["refreshSyncOutcome"]>;
17
+ postStatus: AppliedFix["postStatus"];
18
+ }[];
19
+ }
20
+ /** Build the intentionally narrow JSON surface for `hq doctor --fix --json`. */
21
+ export declare function buildDoctorFixJson(input: {
22
+ exitCode: number;
23
+ refused: ApplyFixesResult["refused"] | "outside-hq-tree";
24
+ applied: readonly AppliedFix[];
25
+ backups?: readonly AppliedFixBackup[];
26
+ }): DoctorFixJsonResult;
27
+ export declare function renderDoctorFixJson(input: Parameters<typeof buildDoctorFixJson>[0]): string;
28
+ //# sourceMappingURL=json-output.d.ts.map
@@ -0,0 +1,33 @@
1
+ export const DOCTOR_FIX_JSON_SCHEMA_VERSION = 1;
2
+ /** Build the intentionally narrow JSON surface for `hq doctor --fix --json`. */
3
+ export function buildDoctorFixJson(input) {
4
+ return {
5
+ schemaVersion: DOCTOR_FIX_JSON_SCHEMA_VERSION,
6
+ exitCode: input.exitCode,
7
+ refused: input.refused,
8
+ applied: input.applied.map(({ checkId, fixClass, pass, postStatus }) => ({
9
+ checkId,
10
+ fixClass,
11
+ pass,
12
+ postStatus,
13
+ })),
14
+ backups: (input.backups ?? []).map(({ pass, backupDir, restoreCommand }) => ({
15
+ pass,
16
+ backupDir,
17
+ restoreCommand,
18
+ })),
19
+ refreshSync: input.applied.flatMap((fix) => fix.fixClass === "refresh-sync" && fix.refreshSyncOutcome
20
+ ? [
21
+ {
22
+ checkId: fix.checkId,
23
+ outcome: fix.refreshSyncOutcome,
24
+ postStatus: fix.postStatus,
25
+ },
26
+ ]
27
+ : []),
28
+ };
29
+ }
30
+ export function renderDoctorFixJson(input) {
31
+ return JSON.stringify(buildDoctorFixJson(input), null, 2) + "\n";
32
+ }
33
+ //# sourceMappingURL=json-output.js.map
@@ -0,0 +1,12 @@
1
+ /** Privacy-safe outcomes for a targeted refresh-sync attempt. */
2
+ export type RefreshSyncOutcome = "pull-succeeded" | "pull-timeout" | "pull-failed:4xx" | "pull-failed:5xx" | "pull-failed:network" | "pull-failed:other";
3
+ export interface RefreshSyncObservation {
4
+ errorCode?: string;
5
+ signal?: string | null;
6
+ status?: number | null;
7
+ stdout?: string;
8
+ stderr?: string;
9
+ }
10
+ /** Classify process/HTTP results without retaining their free-text details. */
11
+ export declare function classifyRefreshSyncOutcome(observation: RefreshSyncObservation): RefreshSyncOutcome;
12
+ //# sourceMappingURL=refresh-sync-outcome.d.ts.map
@@ -0,0 +1,25 @@
1
+ /** Classify process/HTTP results without retaining their free-text details. */
2
+ export function classifyRefreshSyncOutcome(observation) {
3
+ const details = String(observation.stdout ?? "") + "\n" + String(observation.stderr ?? "");
4
+ const errorCode = observation.errorCode ??
5
+ /\b(ETIMEDOUT|ETIME|EAI_AGAIN|ENOTFOUND|ECONNRESET|ECONNREFUSED|EHOSTUNREACH|ENETUNREACH|EPIPE|ECONNABORTED)\b/.exec(details)?.[1];
6
+ if (errorCode === "ETIMEDOUT" ||
7
+ errorCode === "ETIME" ||
8
+ observation.signal === "SIGTERM") {
9
+ return "pull-timeout";
10
+ }
11
+ if (!errorCode && observation.status === 0) {
12
+ return "pull-succeeded";
13
+ }
14
+ const httpStatus = /(?:HTTP(?:\/\d(?:\.\d)?)?\s+|status(?:\s+code)?\s*[=: ]\s*)([45]\d\d)\b/i.exec(details)?.[1] ?? "";
15
+ if (httpStatus.startsWith("4"))
16
+ return "pull-failed:4xx";
17
+ if (httpStatus.startsWith("5"))
18
+ return "pull-failed:5xx";
19
+ if (errorCode &&
20
+ /^(?:EAI_AGAIN|ENOTFOUND|ECONNRESET|ECONNREFUSED|EHOSTUNREACH|ENETUNREACH|EPIPE|ECONNABORTED)$/.test(errorCode)) {
21
+ return "pull-failed:network";
22
+ }
23
+ return "pull-failed:other";
24
+ }
25
+ //# sourceMappingURL=refresh-sync-outcome.js.map
@@ -7,8 +7,8 @@
7
7
  * classes, and if so exactly which file or hook id to act on. This module is the
8
8
  * single classifier that turns a {@link CheckResult} into that structured shape.
9
9
  *
10
- * The three — and only three — auto-fixable classes are a deliberate, security
11
- * -reviewed allowlist (see the PRD decision record):
10
+ * The auto-fixable classes are a deliberate, security-reviewed allowlist
11
+ * (see the PRD decision record):
12
12
  *
13
13
  * - `executable-bit` — restore the execute bit on a hook script that exists
14
14
  * but lost `+x`. Detected by the shared `chmod +x …`
@@ -17,8 +17,16 @@
17
17
  * - `gate-profile` — add a gated hook id to the `hook-gate.sh` profile
18
18
  * allowlists it is missing from. Detected by the
19
19
  * `…gate-profiles` FAIL from the Claude wiring tier.
20
- * - `register-hook` — re-register a script that is present on disk but wired
21
- * nowhere. Detected by the `…orphan` WARN.
20
+ * - `remove-stray-gate-entries` — delete matcher-less hook-gate.sh
21
+ * registrations an older `--fix` wrote into
22
+ * settings.json / settings.local.json. Detected by the
23
+ * `…stray-gate-registration` FAIL. (An orphan script is
24
+ * never auto-registered: that is what created them.)
25
+ * - `refresh-sync` — run a targeted pull for a company journal that is
26
+ * stale or never-synced AND has a local
27
+ * `companies/<slug>` tree. Pull-only, `--on-conflict
28
+ * keep`, no hook-file rewrite. Personal journals and
29
+ * leftover shards without a local tree stay manual.
22
30
  *
23
31
  * EVERYTHING else — content drift between platform copies, a missing script, a
24
32
  * missing Codex counterpart, an unquoted `$CLAUDE_PROJECT_DIR`, a stale
@@ -30,7 +38,7 @@
30
38
  */
31
39
  import type { CheckResult } from "../types.js";
32
40
  /** The allowlisted safe repair classes `--fix` is permitted to apply. */
33
- export type FixClass = "executable-bit" | "gate-profile" | "register-hook";
41
+ export type FixClass = "executable-bit" | "gate-profile" | "remove-stray-gate-entries" | "refresh-sync" | "bot-node-path";
34
42
  /**
35
43
  * A finding's structured remediation. `autoFixable`, `action`, and `command`
36
44
  * are the `--json` surface (AC1); `fixTarget`/`fixClass` are the internal handle
@@ -46,7 +54,7 @@ export interface Remediation {
46
54
  /** The safe class when {@link autoFixable}, else null (manual-only). */
47
55
  fixClass: FixClass | null;
48
56
  /**
49
- * The concrete file path (exec-bit, register-hook) or hook id (gate-profile)
57
+ * The concrete file path (exec-bit, remove-stray-gate-entries) or hook id (gate-profile)
50
58
  * the auto-fix operates on. Present only when {@link autoFixable}. Internal —
51
59
  * deliberately omitted from the `--json` document.
52
60
  */