@indigoai-us/hq-cli 5.312.2-beta.0 → 5.314.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1144) hide show
  1. package/CHANGELOG.md +1 -4293
  2. package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +43 -281
  3. package/assets/scaffold/core/scripts/hook-lib.sh +50 -345
  4. package/assets/scaffold/core/scripts/hq-session.sh +23 -184
  5. package/assets/scaffold/core/scripts/lib/session-id.sh +2 -3
  6. package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
  7. package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +1 -2
  8. package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +87 -10
  9. package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +3 -36
  10. package/assets/scaffold/core/scripts/rebuild-projects-index.sh +12 -99
  11. package/assets/scaffold/core/scripts/token-usage-report.sh +20 -81
  12. package/dist/bin/hq-auth-refresh.d.ts +0 -2
  13. package/dist/bin/hq-auth-refresh.js +6 -12
  14. package/dist/commands/__fixtures__/access-vault.d.ts +0 -2
  15. package/dist/commands/__fixtures__/access-vault.js +1 -1
  16. package/dist/commands/_patterns.d.ts +0 -16
  17. package/dist/commands/_patterns.js +3 -20
  18. package/dist/commands/access.d.ts +1 -2
  19. package/dist/commands/access.js +49 -58
  20. package/dist/commands/agents.d.ts +4 -106
  21. package/dist/commands/agents.js +45 -924
  22. package/dist/commands/auth.d.ts +0 -1
  23. package/dist/commands/auth.js +19 -189
  24. package/dist/commands/billing.d.ts +0 -3
  25. package/dist/commands/billing.js +1 -6
  26. package/dist/commands/channels.js +1 -56
  27. package/dist/commands/cloud-demote.js +2 -3
  28. package/dist/commands/cloud-provision.d.ts +0 -14
  29. package/dist/commands/cloud-provision.js +58 -232
  30. package/dist/commands/cloud.d.ts +15 -49
  31. package/dist/commands/cloud.js +122 -358
  32. package/dist/commands/company-transfer.d.ts +28 -4
  33. package/dist/commands/company-transfer.js +49 -5
  34. package/dist/commands/company.js +3 -66
  35. package/dist/commands/core-checkpoint.d.ts +9 -19
  36. package/dist/commands/core-checkpoint.js +37 -301
  37. package/dist/commands/core.d.ts +0 -4
  38. package/dist/commands/core.js +80 -270
  39. package/dist/commands/crm.js +3 -52
  40. package/dist/commands/db-provision.js +4 -4
  41. package/dist/commands/db-sql.js +21 -7
  42. package/dist/commands/dm.d.ts +12 -119
  43. package/dist/commands/dm.js +38 -388
  44. package/dist/commands/doctor.d.ts +0 -12
  45. package/dist/commands/doctor.js +12 -158
  46. package/dist/commands/feedback.d.ts +0 -6
  47. package/dist/commands/feedback.js +37 -86
  48. package/dist/commands/files-browse.d.ts +12 -32
  49. package/dist/commands/files-browse.js +60 -176
  50. package/dist/commands/files.d.ts +0 -17
  51. package/dist/commands/files.js +47 -300
  52. package/dist/commands/group-grants.js +2 -3
  53. package/dist/commands/groups.js +5 -6
  54. package/dist/commands/index-cmd.d.ts +1 -19
  55. package/dist/commands/index-cmd.js +7 -74
  56. package/dist/commands/integrations-api.d.ts +10 -15
  57. package/dist/commands/integrations-api.js +22 -27
  58. package/dist/commands/integrations-connect.d.ts +13 -51
  59. package/dist/commands/integrations-connect.js +71 -86
  60. package/dist/commands/integrations-core.d.ts +6 -6
  61. package/dist/commands/integrations-core.js +11 -25
  62. package/dist/commands/integrations-import.d.ts +1 -1
  63. package/dist/commands/integrations-import.js +24 -43
  64. package/dist/commands/integrations-manage.js +13 -20
  65. package/dist/commands/integrations.d.ts +0 -8
  66. package/dist/commands/integrations.js +7 -94
  67. package/dist/commands/login.js +6 -49
  68. package/dist/commands/mcp-registration.d.ts +25 -32
  69. package/dist/commands/mcp-registration.js +23 -256
  70. package/dist/commands/mcp-status.js +0 -1
  71. package/dist/commands/meetings.js +34 -55
  72. package/dist/commands/members.js +1 -5
  73. package/dist/commands/mesh.d.ts +0 -11
  74. package/dist/commands/mesh.js +76 -1086
  75. package/dist/commands/onboard-identity-guard.d.ts +1 -1
  76. package/dist/commands/onboard.js +5 -24
  77. package/dist/commands/pack-install.js +1 -3
  78. package/dist/commands/packs.js +1 -11
  79. package/dist/commands/people.d.ts +0 -4
  80. package/dist/commands/people.js +3 -37
  81. package/dist/commands/publish.d.ts +1 -8
  82. package/dist/commands/publish.js +4 -17
  83. package/dist/commands/reindex.js +6 -56
  84. package/dist/commands/rescue.d.ts +0 -4
  85. package/dist/commands/rescue.js +17 -27
  86. package/dist/commands/run.js +4 -18
  87. package/dist/commands/safe-extract.d.ts +2 -11
  88. package/dist/commands/safe-extract.js +8 -36
  89. package/dist/commands/scaffold-fast.d.ts +41 -0
  90. package/dist/commands/scaffold-fast.js +57 -0
  91. package/dist/commands/secrets.d.ts +2 -20
  92. package/dist/commands/secrets.js +71 -175
  93. package/dist/commands/skill.d.ts +4 -35
  94. package/dist/commands/skill.js +18 -357
  95. package/dist/commands/sync-mode.d.ts +0 -11
  96. package/dist/commands/sync-mode.js +0 -30
  97. package/dist/commands/sync-narrow.js +5 -36
  98. package/dist/commands/team-sync.js +10 -71
  99. package/dist/commands/update.js +0 -6
  100. package/dist/commands/whoami.d.ts +0 -22
  101. package/dist/commands/whoami.js +4 -137
  102. package/dist/commands/workers.d.ts +14 -2
  103. package/dist/commands/workers.js +10 -7
  104. package/dist/fast-core.d.ts +7 -6
  105. package/dist/fast-core.js +24 -80
  106. package/dist/index.d.ts +4 -3
  107. package/dist/index.js +9 -59
  108. package/dist/lazy-commands.d.ts +44 -20
  109. package/dist/lazy-commands.js +58 -60
  110. package/dist/lib/company-skill-wrapper.d.ts +0 -1
  111. package/dist/lib/company-skill-wrapper.js +29 -121
  112. package/dist/lib/core-utils/codex-skill-bridge.d.ts +1 -2
  113. package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +1 -14
  114. package/dist/lib/core-utils/qmd-reindex-after-sync.js +17 -101
  115. package/dist/lib/core-utils/soft-timeout.js +1 -1
  116. package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
  117. package/dist/lib/core-utils/timeout-guard.js +13 -28
  118. package/dist/lib/core-utils/token-usage-report.js +3 -17
  119. package/dist/lib/db/control-plane.js +0 -6
  120. package/dist/lib/db/local.d.ts +5 -0
  121. package/dist/lib/db/local.js +1 -1
  122. package/dist/lib/db/migrate.d.ts +12 -0
  123. package/dist/lib/db/migrate.js +5 -5
  124. package/dist/lib/db/remote-sql.d.ts +2 -2
  125. package/dist/lib/db/remote-sql.js +3 -3
  126. package/dist/lib/db/sql.d.ts +10 -0
  127. package/dist/lib/db/sql.js +8 -4
  128. package/dist/lib/doctor/__testing__/fake-hq-tree.d.ts +1 -1
  129. package/dist/lib/doctor/__testing__/fake-hq-tree.js +1 -1
  130. package/dist/lib/doctor/checks/claude-wiring.js +1 -70
  131. package/dist/lib/doctor/checks/codex-wiring.d.ts +4 -0
  132. package/dist/lib/doctor/checks/codex-wiring.js +35 -3
  133. package/dist/lib/doctor/checks/grok-wiring.js +34 -1
  134. package/dist/lib/doctor/checks/integrations.js +0 -11
  135. package/dist/lib/doctor/checks/runtime-health.d.ts +17 -4
  136. package/dist/lib/doctor/checks/runtime-health.js +7 -20
  137. package/dist/lib/doctor/checks/sync-health.d.ts +0 -21
  138. package/dist/lib/doctor/checks/sync-health.js +2 -72
  139. package/dist/lib/doctor/checks/work-context.js +6 -12
  140. package/dist/lib/doctor/compat.d.ts +16 -0
  141. package/dist/lib/doctor/compat.js +3 -4
  142. package/dist/lib/doctor/deep/effects.js +3 -1
  143. package/dist/lib/doctor/deep/executor.d.ts +10 -4
  144. package/dist/lib/doctor/deep/executor.js +1 -1
  145. package/dist/lib/doctor/deep/parity.d.ts +29 -2
  146. package/dist/lib/doctor/deep/parity.js +7 -7
  147. package/dist/lib/doctor/deep/sandbox.d.ts +25 -7
  148. package/dist/lib/doctor/deep/sandbox.js +7 -5
  149. package/dist/lib/doctor/fix/apply.d.ts +8 -79
  150. package/dist/lib/doctor/fix/apply.js +80 -292
  151. package/dist/lib/doctor/fix/remediation.d.ts +6 -14
  152. package/dist/lib/doctor/fix/remediation.js +9 -49
  153. package/dist/lib/doctor/fixtures/schema.js +3 -1
  154. package/dist/lib/doctor/json-output.d.ts +1 -17
  155. package/dist/lib/doctor/json-output.js +2 -7
  156. package/dist/lib/doctor/platform.d.ts +26 -0
  157. package/dist/lib/doctor/platform.js +5 -5
  158. package/dist/lib/doctor/registry.d.ts +0 -14
  159. package/dist/lib/doctor/registry.js +0 -71
  160. package/dist/lib/doctor/report.js +1 -1
  161. package/dist/lib/doctor/types.d.ts +0 -5
  162. package/dist/lib/doctor/types.js +0 -20
  163. package/dist/lib/flag-registry-worker.js +1 -12
  164. package/dist/lib/flag-registry.d.ts +6 -26
  165. package/dist/lib/flag-registry.js +16 -133
  166. package/dist/lib/index-render/companies.d.ts +1 -4
  167. package/dist/lib/index-render/companies.js +3 -66
  168. package/dist/lib/index-render/company-knowledge.js +17 -80
  169. package/dist/lib/index-render/index.d.ts +0 -1
  170. package/dist/lib/index-render/index.js +1 -2
  171. package/dist/lib/index-render/projects.js +5 -82
  172. package/dist/lib/index-render/shared.d.ts +1 -13
  173. package/dist/lib/index-render/shared.js +2 -41
  174. package/dist/lib/mesh/api.d.ts +10 -103
  175. package/dist/lib/mesh/api.js +64 -334
  176. package/dist/lib/mesh/client.d.ts +2 -3
  177. package/dist/lib/mesh/client.js +2 -3
  178. package/dist/lib/mesh/live/backfill-held.d.ts +16 -67
  179. package/dist/lib/mesh/live/backfill-held.js +61 -415
  180. package/dist/lib/mesh/live/backoff.d.ts +2 -2
  181. package/dist/lib/mesh/live/backoff.js +3 -16
  182. package/dist/lib/mesh/live/daemon/board-refresh.d.ts +1 -7
  183. package/dist/lib/mesh/live/daemon/board-refresh.js +30 -78
  184. package/dist/lib/mesh/live/daemon/credentials.d.ts +10 -64
  185. package/dist/lib/mesh/live/daemon/credentials.js +20 -270
  186. package/dist/lib/mesh/live/daemon/doctor.d.ts +0 -51
  187. package/dist/lib/mesh/live/daemon/doctor.js +6 -180
  188. package/dist/lib/mesh/live/daemon/index.d.ts +10 -13
  189. package/dist/lib/mesh/live/daemon/index.js +6 -7
  190. package/dist/lib/mesh/live/daemon/install.d.ts +1 -255
  191. package/dist/lib/mesh/live/daemon/install.js +13 -811
  192. package/dist/lib/mesh/live/daemon/paths.d.ts +0 -2
  193. package/dist/lib/mesh/live/daemon/paths.js +0 -2
  194. package/dist/lib/mesh/live/daemon/presence.d.ts +5 -24
  195. package/dist/lib/mesh/live/daemon/presence.js +10 -79
  196. package/dist/lib/mesh/live/daemon/run.d.ts +2 -48
  197. package/dist/lib/mesh/live/daemon/run.js +33 -485
  198. package/dist/lib/mesh/live/daemon/state.d.ts +2 -19
  199. package/dist/lib/mesh/live/daemon/state.js +2 -34
  200. package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +9 -45
  201. package/dist/lib/mesh/live/daemon/transcript-watch.js +31 -227
  202. package/dist/lib/mesh/live/emit-client.d.ts +0 -8
  203. package/dist/lib/mesh/live/emit-client.js +8 -23
  204. package/dist/lib/mesh/live/emit-evidence.d.ts +0 -19
  205. package/dist/lib/mesh/live/emit-evidence.js +2 -20
  206. package/dist/lib/mesh/live/emit.d.ts +0 -9
  207. package/dist/lib/mesh/live/emit.js +2 -28
  208. package/dist/lib/mesh/live/enqueue.d.ts +0 -5
  209. package/dist/lib/mesh/live/enqueue.js +0 -19
  210. package/dist/lib/mesh/live/flush.d.ts +5 -17
  211. package/dist/lib/mesh/live/flush.js +38 -391
  212. package/dist/lib/mesh/live/format-spool-line.d.ts +2 -5
  213. package/dist/lib/mesh/live/format-spool-line.js +0 -10
  214. package/dist/lib/mesh/live/paths.d.ts +0 -2
  215. package/dist/lib/mesh/live/paths.js +0 -4
  216. package/dist/lib/mesh/live/session-event.schema.json +1 -24
  217. package/dist/lib/mesh/live/session-events-client.d.ts +0 -2
  218. package/dist/lib/mesh/live/session-events-client.js +0 -26
  219. package/dist/lib/mesh/live/spool.d.ts +0 -19
  220. package/dist/lib/mesh/live/spool.js +3 -269
  221. package/dist/lib/mesh/live/validate-session-event.d.ts +1 -1
  222. package/dist/lib/mesh/live/validate-session-event.js +1 -1
  223. package/dist/lib/plan-limit-nag.d.ts +6 -102
  224. package/dist/lib/plan-limit-nag.js +43 -348
  225. package/dist/lib/scan-packages/index.d.ts +0 -2
  226. package/dist/lib/scan-packages/index.js +6 -168
  227. package/dist/lib/search-index/background.d.ts +1 -8
  228. package/dist/lib/search-index/background.js +200 -55
  229. package/dist/lib/search-index/index.d.ts +0 -12
  230. package/dist/lib/search-index/index.js +7 -153
  231. package/dist/lib/work-context/company.d.ts +20 -22
  232. package/dist/lib/work-context/company.js +40 -124
  233. package/dist/lib/work-context/config.d.ts +11 -58
  234. package/dist/lib/work-context/config.js +83 -334
  235. package/dist/lib/work-context/contract.d.ts +0 -10
  236. package/dist/lib/work-context/index.d.ts +25 -0
  237. package/dist/lib/work-context/index.js +21 -0
  238. package/dist/lib/work-context/outbox.d.ts +1 -14
  239. package/dist/lib/work-context/outbox.js +1 -87
  240. package/dist/lib/work-context/reconcile.d.ts +0 -15
  241. package/dist/lib/work-context/reconcile.js +25 -380
  242. package/dist/lib/work-context/state.d.ts +10 -93
  243. package/dist/lib/work-context/state.js +29 -342
  244. package/dist/lib/workers-registry/index.js +8 -62
  245. package/dist/main.d.ts +0 -12
  246. package/dist/main.js +73 -266
  247. package/dist/node-network-compat.d.ts +30 -2
  248. package/dist/node-network-compat.js +51 -4
  249. package/dist/node-preflight.d.ts +1 -7
  250. package/dist/node-preflight.js +5 -5
  251. package/dist/register-all.d.ts +29 -4
  252. package/dist/register-all.js +233 -4
  253. package/dist/run/discover-schemas.d.ts +1 -2
  254. package/dist/run/env-graph-guard.d.ts +2 -2
  255. package/dist/run/env-graph-guard.js +2 -5
  256. package/dist/run/hq-plugin.d.ts +0 -4
  257. package/dist/run/hq-plugin.js +8 -36
  258. package/dist/sentry-before-send.js +0 -80
  259. package/dist/sentry.d.ts +2 -8
  260. package/dist/sentry.js +13 -117
  261. package/dist/startup-registration.d.ts +2 -26
  262. package/dist/startup-registration.js +15 -116
  263. package/dist/utils/cli-telemetry.d.ts +1 -74
  264. package/dist/utils/cli-telemetry.js +7 -434
  265. package/dist/utils/client-health.d.ts +4 -0
  266. package/dist/utils/client-health.js +2 -2
  267. package/dist/utils/cognito-session.d.ts +0 -71
  268. package/dist/utils/cognito-session.js +27 -481
  269. package/dist/utils/contribution-table.d.ts +1 -1
  270. package/dist/utils/environmental-error.d.ts +0 -18
  271. package/dist/utils/environmental-error.js +7 -240
  272. package/dist/utils/expected-cli-error.d.ts +0 -2
  273. package/dist/utils/expected-cli-error.js +0 -4
  274. package/dist/utils/feedback-diagnostics.d.ts +1 -2
  275. package/dist/utils/feedback-log-bundle.d.ts +26 -51
  276. package/dist/utils/feedback-log-bundle.js +31 -211
  277. package/dist/utils/feedback-logs.d.ts +47 -18
  278. package/dist/utils/feedback-logs.js +21 -50
  279. package/dist/utils/feedback-screenshots.d.ts +1 -0
  280. package/dist/utils/feedback-screenshots.js +1 -1
  281. package/dist/utils/hq-roots.d.ts +2 -25
  282. package/dist/utils/hq-roots.js +7 -67
  283. package/dist/utils/incomplete-install-error.d.ts +19 -87
  284. package/dist/utils/incomplete-install-error.js +68 -319
  285. package/dist/utils/install-tree-torn.d.ts +24 -260
  286. package/dist/utils/install-tree-torn.js +51 -998
  287. package/dist/utils/large-file-guard.d.ts +10 -0
  288. package/dist/utils/large-file-guard.js +1 -1
  289. package/dist/utils/local-files-overview.d.ts +8 -4
  290. package/dist/utils/local-files-overview.js +7 -48
  291. package/dist/utils/login-provider.d.ts +0 -7
  292. package/dist/utils/login-provider.js +0 -34
  293. package/dist/utils/pack-contributions.d.ts +9 -2
  294. package/dist/utils/pack-contributions.js +43 -6
  295. package/dist/utils/package-root-diagnostics.d.ts +1 -1
  296. package/dist/utils/people.d.ts +11 -7
  297. package/dist/utils/people.js +20 -5
  298. package/dist/utils/plan-gate-error.d.ts +10 -52
  299. package/dist/utils/plan-gate-error.js +41 -364
  300. package/dist/utils/qmd-model-download-error.d.ts +8 -0
  301. package/dist/utils/qmd-model-download-error.js +1 -1
  302. package/dist/utils/qmd-query-document-error.d.ts +6 -0
  303. package/dist/utils/qmd-query-document-error.js +1 -1
  304. package/dist/utils/redact-error-text.js +1 -2
  305. package/dist/utils/run-bundled-script.d.ts +0 -6
  306. package/dist/utils/run-bundled-script.js +4 -117
  307. package/dist/utils/secrets-cache.d.ts +3 -7
  308. package/dist/utils/secrets-cache.js +14 -162
  309. package/dist/utils/self-update.d.ts +1 -34
  310. package/dist/utils/self-update.js +42 -660
  311. package/dist/utils/sentry-fingerprint.d.ts +1 -23
  312. package/dist/utils/sentry-fingerprint.js +31 -223
  313. package/dist/utils/team-upgrade.d.ts +1 -1
  314. package/dist/utils/team-upgrade.js +3 -4
  315. package/dist/utils/vault-api.d.ts +1 -21
  316. package/dist/utils/vault-api.js +84 -251
  317. package/dist/utils/version-check.d.ts +1 -11
  318. package/dist/utils/version-check.js +3 -32
  319. package/dist/utils/version-gate.d.ts +17 -101
  320. package/dist/utils/version-gate.js +70 -645
  321. package/dist/utils/windows-spawn.d.ts +0 -6
  322. package/dist/utils/windows-spawn.js +0 -37
  323. package/package.json +8 -20
  324. package/README.md +0 -113
  325. package/assets/bot-workers/setup/context/USER-GUIDE.md +0 -404
  326. package/assets/bot-workers/setup/context/quick-reference.md +0 -199
  327. package/assets/bot-workers/setup/skills/agents-and-team.md +0 -167
  328. package/assets/bot-workers/setup/skills/explain-hq.md +0 -35
  329. package/assets/bot-workers/setup/skills/first-company.md +0 -74
  330. package/assets/bot-workers/setup/skills/joining-a-team.md +0 -125
  331. package/assets/bot-workers/setup/skills/pricing.md +0 -92
  332. package/assets/bot-workers/setup/skills/standing-help.md +0 -81
  333. package/assets/bot-workers/setup/skills/your-business.md +0 -281
  334. package/assets/bot-workers/setup/worker.yaml +0 -791
  335. package/assets/lanes-hooks/hq-lanes-drain.json +0 -15
  336. package/assets/lanes-hooks/hq-lanes-drain.mjs +0 -275
  337. package/assets/lanes-hooks/hq-lanes-drain.sh +0 -21
  338. package/assets/lanes-reconcile/hq-lanes-reconcile.service +0 -11
  339. package/assets/lanes-reconcile/hq-lanes-reconcile.timer +0 -12
  340. package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +0 -485
  341. package/assets/scaffold/core/scripts/audit-log.sh +0 -384
  342. package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +0 -171
  343. package/assets/scaffold/core/scripts/eval-trigger.sh +0 -193
  344. package/assets/scaffold/core/scripts/git-pack-extension-check.sh +0 -164
  345. package/assets/scaffold/core/scripts/handoff-finalize.sh +0 -688
  346. package/assets/scaffold/core/scripts/handoff-open-steps.sh +0 -81
  347. package/assets/scaffold/core/scripts/handoff-post.sh +0 -252
  348. package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +0 -307
  349. package/assets/scaffold/core/scripts/hq-delegate-grant.sh +0 -252
  350. package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +0 -99
  351. package/assets/scaffold/core/scripts/hq-delegate-publish.sh +0 -91
  352. package/assets/scaffold/core/scripts/hq-delegate-repo.sh +0 -158
  353. package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +0 -145
  354. package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +0 -129
  355. package/assets/scaffold/core/scripts/hq-delegate-send.sh +0 -259
  356. package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +0 -175
  357. package/assets/scaffold/core/scripts/hq-delegate-verify.sh +0 -238
  358. package/assets/scaffold/core/scripts/hq-dm-bind.sh +0 -585
  359. package/assets/scaffold/core/scripts/hq-job-notify.sh +0 -389
  360. package/assets/scaffold/core/scripts/hq-job-probe.sh +0 -835
  361. package/assets/scaffold/core/scripts/hq-job-remediate.sh +0 -359
  362. package/assets/scaffold/core/scripts/hq-job-run.sh +0 -1025
  363. package/assets/scaffold/core/scripts/hq-pin.sh +0 -118
  364. package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +0 -310
  365. package/assets/scaffold/core/scripts/jobs-validate.sh +0 -451
  366. package/assets/scaffold/core/scripts/knowledge-prefs.sh +0 -55
  367. package/assets/scaffold/core/scripts/lib/portable.sh +0 -211
  368. package/assets/scaffold/core/scripts/lib/secret-patterns.sh +0 -58
  369. package/assets/scaffold/core/scripts/ontology-audience-grant.sh +0 -81
  370. package/assets/scaffold/core/scripts/ontology-brief.mjs +0 -93
  371. package/assets/scaffold/core/scripts/ontology-candidate.sh +0 -100
  372. package/assets/scaffold/core/scripts/ontology-garden.mjs +0 -238
  373. package/assets/scaffold/core/scripts/ontology-source-worklist.sh +0 -79
  374. package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +0 -834
  375. package/assets/scaffold/core/scripts/policy-age-report.sh +0 -156
  376. package/assets/scaffold/core/scripts/policy-retire.sh +0 -199
  377. package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +0 -40
  378. package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +0 -32
  379. package/assets/scaffold/core/scripts/refresh-vault-access.sh +0 -188
  380. package/assets/scaffold/core/scripts/resolve-company.sh +0 -199
  381. package/assets/scaffold/core/scripts/resume-thread-lock.sh +0 -285
  382. package/assets/scaffold/core/scripts/source-yaml-validate.sh +0 -36
  383. package/assets/scaffold/core/scripts/verify-story-deliverables.sh +0 -148
  384. package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +0 -152
  385. package/assets/scaffold/core/scripts/worktree-gc.sh +0 -362
  386. package/contracts/preflight/v1/fixtures.json +0 -87
  387. package/contracts/preflight/v1/schema.json +0 -58
  388. package/dist/command-catalog.generated.d.ts +0 -10655
  389. package/dist/command-catalog.generated.js +0 -13737
  390. package/dist/command-registration-plan.d.ts +0 -474
  391. package/dist/command-registration-plan.js +0 -136
  392. package/dist/commands/agent-enroll.d.ts +0 -146
  393. package/dist/commands/agent-enroll.js +0 -401
  394. package/dist/commands/agent-inbox.d.ts +0 -9
  395. package/dist/commands/agent-inbox.js +0 -102
  396. package/dist/commands/agent-kit.d.ts +0 -87
  397. package/dist/commands/agent-kit.js +0 -480
  398. package/dist/commands/agent-mcp.d.ts +0 -24
  399. package/dist/commands/agent-mcp.js +0 -127
  400. package/dist/commands/agent-probe.d.ts +0 -77
  401. package/dist/commands/agent-probe.js +0 -335
  402. package/dist/commands/agent.d.ts +0 -13
  403. package/dist/commands/agent.js +0 -40
  404. package/dist/commands/billing-sponsor.d.ts +0 -83
  405. package/dist/commands/billing-sponsor.js +0 -344
  406. package/dist/commands/bot-companies.d.ts +0 -40
  407. package/dist/commands/bot-companies.js +0 -64
  408. package/dist/commands/bot-continuity.d.ts +0 -28
  409. package/dist/commands/bot-continuity.js +0 -68
  410. package/dist/commands/bot-jobs.d.ts +0 -127
  411. package/dist/commands/bot-jobs.js +0 -454
  412. package/dist/commands/bot.d.ts +0 -278
  413. package/dist/commands/bot.js +0 -1982
  414. package/dist/commands/cloud-retire.d.ts +0 -51
  415. package/dist/commands/cloud-retire.js +0 -154
  416. package/dist/commands/core-audit-log-native.d.ts +0 -9
  417. package/dist/commands/core-audit-log-native.js +0 -257
  418. package/dist/commands/core-checkpoint-gate-setting.d.ts +0 -59
  419. package/dist/commands/core-checkpoint-gate-setting.js +0 -163
  420. package/dist/commands/core-checkpoint-stop-gate-native.d.ts +0 -34
  421. package/dist/commands/core-checkpoint-stop-gate-native.js +0 -725
  422. package/dist/commands/core-command-catalog.d.ts +0 -34
  423. package/dist/commands/core-command-catalog.js +0 -62
  424. package/dist/commands/core-company-index-scope-flag.d.ts +0 -3
  425. package/dist/commands/core-company-index-scope-flag.js +0 -6
  426. package/dist/commands/core-delegate-w1b.d.ts +0 -10
  427. package/dist/commands/core-delegate-w1b.js +0 -1219
  428. package/dist/commands/core-delegate.d.ts +0 -46
  429. package/dist/commands/core-delegate.js +0 -1040
  430. package/dist/commands/core-dm-bind-native.d.ts +0 -32
  431. package/dist/commands/core-dm-bind-native.js +0 -668
  432. package/dist/commands/core-git-pack-extension-check-native.d.ts +0 -22
  433. package/dist/commands/core-git-pack-extension-check-native.js +0 -190
  434. package/dist/commands/core-handoff-fast.d.ts +0 -18
  435. package/dist/commands/core-handoff-fast.js +0 -104
  436. package/dist/commands/core-handoff-open-steps.d.ts +0 -21
  437. package/dist/commands/core-handoff-open-steps.js +0 -264
  438. package/dist/commands/core-handoff.d.ts +0 -24
  439. package/dist/commands/core-handoff.js +0 -1144
  440. package/dist/commands/core-hq-session-native.d.ts +0 -39
  441. package/dist/commands/core-hq-session-native.js +0 -579
  442. package/dist/commands/core-job-native-utils.d.ts +0 -6
  443. package/dist/commands/core-job-native-utils.js +0 -80
  444. package/dist/commands/core-job-native.d.ts +0 -5
  445. package/dist/commands/core-job-native.js +0 -16
  446. package/dist/commands/core-job-notify-native.d.ts +0 -36
  447. package/dist/commands/core-job-notify-native.js +0 -359
  448. package/dist/commands/core-job-probe-native.d.ts +0 -45
  449. package/dist/commands/core-job-probe-native.js +0 -564
  450. package/dist/commands/core-job-remediate-native.d.ts +0 -26
  451. package/dist/commands/core-job-remediate-native.js +0 -374
  452. package/dist/commands/core-job-remote-launcher.d.ts +0 -7
  453. package/dist/commands/core-job-remote-launcher.js +0 -51
  454. package/dist/commands/core-job-run-native.d.ts +0 -47
  455. package/dist/commands/core-job-run-native.js +0 -1215
  456. package/dist/commands/core-jobs-native.d.ts +0 -25
  457. package/dist/commands/core-jobs-native.js +0 -1339
  458. package/dist/commands/core-knowledge-prefs.d.ts +0 -12
  459. package/dist/commands/core-knowledge-prefs.js +0 -137
  460. package/dist/commands/core-native-handoff-flag.d.ts +0 -4
  461. package/dist/commands/core-native-handoff-flag.js +0 -7
  462. package/dist/commands/core-native-jobs-flag.d.ts +0 -4
  463. package/dist/commands/core-native-jobs-flag.js +0 -7
  464. package/dist/commands/core-native-policy-flag.d.ts +0 -9
  465. package/dist/commands/core-native-policy-flag.js +0 -12
  466. package/dist/commands/core-native-session-flag.d.ts +0 -4
  467. package/dist/commands/core-native-session-flag.js +0 -7
  468. package/dist/commands/core-native-utilities-flag.d.ts +0 -4
  469. package/dist/commands/core-native-utilities-flag.js +0 -7
  470. package/dist/commands/core-native-utilities.d.ts +0 -29
  471. package/dist/commands/core-native-utilities.js +0 -54
  472. package/dist/commands/core-native-worker-skills-flag.d.ts +0 -4
  473. package/dist/commands/core-native-worker-skills-flag.js +0 -7
  474. package/dist/commands/core-ontology-native.d.ts +0 -17
  475. package/dist/commands/core-ontology-native.js +0 -916
  476. package/dist/commands/core-ontology.d.ts +0 -66
  477. package/dist/commands/core-ontology.js +0 -430
  478. package/dist/commands/core-pin-native.d.ts +0 -14
  479. package/dist/commands/core-pin-native.js +0 -236
  480. package/dist/commands/core-policy-frontmatter.d.ts +0 -8
  481. package/dist/commands/core-policy-frontmatter.js +0 -52
  482. package/dist/commands/core-policy.d.ts +0 -14
  483. package/dist/commands/core-policy.js +0 -1018
  484. package/dist/commands/core-refresh-vault-access-native.d.ts +0 -20
  485. package/dist/commands/core-refresh-vault-access-native.js +0 -229
  486. package/dist/commands/core-resolve-company-command.d.ts +0 -4
  487. package/dist/commands/core-resolve-company-command.js +0 -42
  488. package/dist/commands/core-resolve-company-native.d.ts +0 -28
  489. package/dist/commands/core-resolve-company-native.js +0 -408
  490. package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +0 -32
  491. package/dist/commands/core-work-mesh-bind-trusted-native.js +0 -190
  492. package/dist/commands/core-worker-lint-native.d.ts +0 -4
  493. package/dist/commands/core-worker-lint-native.js +0 -160
  494. package/dist/commands/core-worker-share-native.d.ts +0 -5
  495. package/dist/commands/core-worker-share-native.js +0 -260
  496. package/dist/commands/core-worker-skills-command.d.ts +0 -8
  497. package/dist/commands/core-worker-skills-command.js +0 -33
  498. package/dist/commands/core-worker-skills-runtime.d.ts +0 -33
  499. package/dist/commands/core-worker-skills-runtime.js +0 -86
  500. package/dist/commands/daemon.d.ts +0 -63
  501. package/dist/commands/daemon.js +0 -877
  502. package/dist/commands/deploy-comments.d.ts +0 -3
  503. package/dist/commands/deploy-comments.js +0 -162
  504. package/dist/commands/lanes-accounts.d.ts +0 -28
  505. package/dist/commands/lanes-accounts.js +0 -595
  506. package/dist/commands/lanes-autopilot.d.ts +0 -11
  507. package/dist/commands/lanes-autopilot.js +0 -336
  508. package/dist/commands/lanes-checks.d.ts +0 -51
  509. package/dist/commands/lanes-checks.js +0 -941
  510. package/dist/commands/lanes-hold.d.ts +0 -43
  511. package/dist/commands/lanes-hold.js +0 -655
  512. package/dist/commands/lanes-kpis.d.ts +0 -11
  513. package/dist/commands/lanes-kpis.js +0 -34
  514. package/dist/commands/lanes-message.d.ts +0 -9
  515. package/dist/commands/lanes-message.js +0 -934
  516. package/dist/commands/lanes-move.d.ts +0 -12
  517. package/dist/commands/lanes-move.js +0 -397
  518. package/dist/commands/lanes-questions.d.ts +0 -36
  519. package/dist/commands/lanes-questions.js +0 -1004
  520. package/dist/commands/lanes-report.d.ts +0 -11
  521. package/dist/commands/lanes-report.js +0 -333
  522. package/dist/commands/lanes-resume.d.ts +0 -6
  523. package/dist/commands/lanes-resume.js +0 -561
  524. package/dist/commands/lanes-review.d.ts +0 -10
  525. package/dist/commands/lanes-review.js +0 -56
  526. package/dist/commands/lanes-shared.d.ts +0 -448
  527. package/dist/commands/lanes-shared.js +0 -170
  528. package/dist/commands/lanes-stories.d.ts +0 -15
  529. package/dist/commands/lanes-stories.js +0 -347
  530. package/dist/commands/lanes-watch.d.ts +0 -7
  531. package/dist/commands/lanes-watch.js +0 -216
  532. package/dist/commands/lanes.d.ts +0 -149
  533. package/dist/commands/lanes.js +0 -8843
  534. package/dist/commands/monitor.d.ts +0 -58
  535. package/dist/commands/monitor.js +0 -980
  536. package/dist/commands/onboard-bot-membership.d.ts +0 -32
  537. package/dist/commands/onboard-bot-membership.js +0 -40
  538. package/dist/commands/onboard-create-identity.d.ts +0 -26
  539. package/dist/commands/onboard-create-identity.js +0 -23
  540. package/dist/commands/outpost-pruner.d.ts +0 -3
  541. package/dist/commands/outpost-pruner.js +0 -125
  542. package/dist/commands/personal-connector-settings-flag.d.ts +0 -4
  543. package/dist/commands/personal-connector-settings-flag.js +0 -7
  544. package/dist/commands/personal-targeted-push-flag.d.ts +0 -4
  545. package/dist/commands/personal-targeted-push-flag.js +0 -7
  546. package/dist/commands/personal-targeted-push-paths.d.ts +0 -3
  547. package/dist/commands/personal-targeted-push-paths.js +0 -67
  548. package/dist/commands/report.d.ts +0 -19
  549. package/dist/commands/report.js +0 -537
  550. package/dist/commands/run-feature-telemetry.d.ts +0 -3
  551. package/dist/commands/run-feature-telemetry.js +0 -6
  552. package/dist/commands/staff/reset-test-account.d.ts +0 -110
  553. package/dist/commands/staff/reset-test-account.js +0 -268
  554. package/dist/commands/staff/test-account.d.ts +0 -51
  555. package/dist/commands/staff/test-account.js +0 -196
  556. package/dist/commands/vault-retention-flag.d.ts +0 -3
  557. package/dist/commands/vault-retention-flag.js +0 -9
  558. package/dist/commands/vault-retention.d.ts +0 -11
  559. package/dist/commands/vault-retention.js +0 -69
  560. package/dist/commands/version.d.ts +0 -10
  561. package/dist/commands/version.js +0 -11
  562. package/dist/fast-scaffold.d.ts +0 -84
  563. package/dist/fast-scaffold.js +0 -353
  564. package/dist/lanes-drain-hook.d.ts +0 -14
  565. package/dist/lanes-drain-hook.js +0 -203
  566. package/dist/lib/agent-kit/adopt-identity.d.ts +0 -27
  567. package/dist/lib/agent-kit/adopt-identity.js +0 -60
  568. package/dist/lib/agent-kit/attachment-download.d.ts +0 -24
  569. package/dist/lib/agent-kit/attachment-download.js +0 -47
  570. package/dist/lib/agent-kit/creds.d.ts +0 -106
  571. package/dist/lib/agent-kit/creds.js +0 -163
  572. package/dist/lib/agent-kit/fallback.d.ts +0 -78
  573. package/dist/lib/agent-kit/fallback.js +0 -210
  574. package/dist/lib/agent-kit/inbox-state.d.ts +0 -83
  575. package/dist/lib/agent-kit/inbox-state.js +0 -159
  576. package/dist/lib/agent-kit/kit-config.d.ts +0 -56
  577. package/dist/lib/agent-kit/kit-config.js +0 -65
  578. package/dist/lib/agent-kit/log.d.ts +0 -16
  579. package/dist/lib/agent-kit/log.js +0 -46
  580. package/dist/lib/agent-kit/mcp/attachments.d.ts +0 -126
  581. package/dist/lib/agent-kit/mcp/attachments.js +0 -222
  582. package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +0 -75
  583. package/dist/lib/agent-kit/mcp/jsonrpc.js +0 -164
  584. package/dist/lib/agent-kit/mcp/tools.d.ts +0 -64
  585. package/dist/lib/agent-kit/mcp/tools.js +0 -397
  586. package/dist/lib/agent-kit/paths.d.ts +0 -65
  587. package/dist/lib/agent-kit/paths.js +0 -118
  588. package/dist/lib/agent-kit/private-file.d.ts +0 -29
  589. package/dist/lib/agent-kit/private-file.js +0 -91
  590. package/dist/lib/agent-kit/run/heartbeat.d.ts +0 -72
  591. package/dist/lib/agent-kit/run/heartbeat.js +0 -128
  592. package/dist/lib/agent-kit/run/inbox.d.ts +0 -76
  593. package/dist/lib/agent-kit/run/inbox.js +0 -205
  594. package/dist/lib/agent-kit/run/supervisor.d.ts +0 -35
  595. package/dist/lib/agent-kit/run/supervisor.js +0 -85
  596. package/dist/lib/agent-kit/run/sync.d.ts +0 -33
  597. package/dist/lib/agent-kit/run/sync.js +0 -58
  598. package/dist/lib/agent-kit/services.d.ts +0 -31
  599. package/dist/lib/agent-kit/services.js +0 -55
  600. package/dist/lib/agent-kit/skills.d.ts +0 -18
  601. package/dist/lib/agent-kit/skills.js +0 -151
  602. package/dist/lib/agent-kit/wake.d.ts +0 -83
  603. package/dist/lib/agent-kit/wake.js +0 -243
  604. package/dist/lib/agents/model-catalog.d.ts +0 -62
  605. package/dist/lib/agents/model-catalog.js +0 -275
  606. package/dist/lib/auth-login-provider-state.d.ts +0 -8
  607. package/dist/lib/auth-login-provider-state.js +0 -63
  608. package/dist/lib/aws-sdk-node-warning-output.d.ts +0 -12
  609. package/dist/lib/aws-sdk-node-warning-output.js +0 -22
  610. package/dist/lib/billing/free-month.d.ts +0 -18
  611. package/dist/lib/billing/free-month.js +0 -31
  612. package/dist/lib/billing/plan-limit-refusals.d.ts +0 -69
  613. package/dist/lib/billing/plan-limit-refusals.js +0 -187
  614. package/dist/lib/billing/plan-limit-upgrade-url.d.ts +0 -11
  615. package/dist/lib/billing/plan-limit-upgrade-url.js +0 -66
  616. package/dist/lib/billing/plan-lock.d.ts +0 -143
  617. package/dist/lib/billing/plan-lock.js +0 -439
  618. package/dist/lib/bot/api.d.ts +0 -349
  619. package/dist/lib/bot/api.js +0 -316
  620. package/dist/lib/bot/attachments.d.ts +0 -45
  621. package/dist/lib/bot/attachments.js +0 -89
  622. package/dist/lib/bot/cli-update.d.ts +0 -138
  623. package/dist/lib/bot/cli-update.js +0 -278
  624. package/dist/lib/bot/company-bind.d.ts +0 -27
  625. package/dist/lib/bot/company-bind.js +0 -62
  626. package/dist/lib/bot/config.d.ts +0 -153
  627. package/dist/lib/bot/config.js +0 -233
  628. package/dist/lib/bot/continuity-download.d.ts +0 -28
  629. package/dist/lib/bot/continuity-download.js +0 -75
  630. package/dist/lib/bot/continuity-install.d.ts +0 -14
  631. package/dist/lib/bot/continuity-install.js +0 -101
  632. package/dist/lib/bot/continuity.d.ts +0 -67
  633. package/dist/lib/bot/continuity.js +0 -301
  634. package/dist/lib/bot/creds.d.ts +0 -24
  635. package/dist/lib/bot/creds.js +0 -51
  636. package/dist/lib/bot/daemon.d.ts +0 -173
  637. package/dist/lib/bot/daemon.js +0 -552
  638. package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +0 -24
  639. package/dist/lib/bot/inbox-poll-backoff-flag.js +0 -135
  640. package/dist/lib/bot/inbox-state.d.ts +0 -18
  641. package/dist/lib/bot/inbox-state.js +0 -51
  642. package/dist/lib/bot/index.d.ts +0 -23
  643. package/dist/lib/bot/index.js +0 -23
  644. package/dist/lib/bot/inflight.d.ts +0 -119
  645. package/dist/lib/bot/inflight.js +0 -83
  646. package/dist/lib/bot/job-completions.d.ts +0 -89
  647. package/dist/lib/bot/job-completions.js +0 -132
  648. package/dist/lib/bot/job-run.d.ts +0 -109
  649. package/dist/lib/bot/job-run.js +0 -246
  650. package/dist/lib/bot/local-config.d.ts +0 -61
  651. package/dist/lib/bot/local-config.js +0 -145
  652. package/dist/lib/bot/local-jobs.d.ts +0 -89
  653. package/dist/lib/bot/local-jobs.js +0 -459
  654. package/dist/lib/bot/local-name.d.ts +0 -54
  655. package/dist/lib/bot/local-name.js +0 -114
  656. package/dist/lib/bot/log.d.ts +0 -13
  657. package/dist/lib/bot/log.js +0 -59
  658. package/dist/lib/bot/owner-context.d.ts +0 -79
  659. package/dist/lib/bot/owner-context.js +0 -175
  660. package/dist/lib/bot/paths.d.ts +0 -76
  661. package/dist/lib/bot/paths.js +0 -131
  662. package/dist/lib/bot/progress.d.ts +0 -132
  663. package/dist/lib/bot/progress.js +0 -289
  664. package/dist/lib/bot/promote.d.ts +0 -16
  665. package/dist/lib/bot/promote.js +0 -106
  666. package/dist/lib/bot/promotion-hold.d.ts +0 -24
  667. package/dist/lib/bot/promotion-hold.js +0 -103
  668. package/dist/lib/bot/promotion-receipt.d.ts +0 -9
  669. package/dist/lib/bot/promotion-receipt.js +0 -56
  670. package/dist/lib/bot/promotion-upload.d.ts +0 -16
  671. package/dist/lib/bot/promotion-upload.js +0 -80
  672. package/dist/lib/bot/prompt.d.ts +0 -136
  673. package/dist/lib/bot/prompt.js +0 -433
  674. package/dist/lib/bot/room-policy.d.ts +0 -63
  675. package/dist/lib/bot/room-policy.js +0 -91
  676. package/dist/lib/bot/run.d.ts +0 -217
  677. package/dist/lib/bot/run.js +0 -1869
  678. package/dist/lib/bot/runnable.d.ts +0 -51
  679. package/dist/lib/bot/runnable.js +0 -65
  680. package/dist/lib/bot/runtime/claude.d.ts +0 -50
  681. package/dist/lib/bot/runtime/claude.js +0 -170
  682. package/dist/lib/bot/runtime/codex.d.ts +0 -28
  683. package/dist/lib/bot/runtime/codex.js +0 -153
  684. package/dist/lib/bot/runtime/grok-acp.d.ts +0 -40
  685. package/dist/lib/bot/runtime/grok-acp.js +0 -265
  686. package/dist/lib/bot/runtime/grok.d.ts +0 -41
  687. package/dist/lib/bot/runtime/grok.js +0 -169
  688. package/dist/lib/bot/runtime/index.d.ts +0 -36
  689. package/dist/lib/bot/runtime/index.js +0 -417
  690. package/dist/lib/bot/runtime/messages-stream.d.ts +0 -56
  691. package/dist/lib/bot/runtime/messages-stream.js +0 -194
  692. package/dist/lib/bot/runtime/sanitize.d.ts +0 -18
  693. package/dist/lib/bot/runtime/sanitize.js +0 -28
  694. package/dist/lib/bot/runtime/types.d.ts +0 -159
  695. package/dist/lib/bot/runtime/types.js +0 -51
  696. package/dist/lib/bot/runtime/windows.d.ts +0 -10
  697. package/dist/lib/bot/runtime/windows.js +0 -53
  698. package/dist/lib/bot/runtime-sign-in.d.ts +0 -24
  699. package/dist/lib/bot/runtime-sign-in.js +0 -31
  700. package/dist/lib/bot/scaffold.d.ts +0 -38
  701. package/dist/lib/bot/scaffold.js +0 -94
  702. package/dist/lib/bot/self-heal.d.ts +0 -52
  703. package/dist/lib/bot/self-heal.js +0 -79
  704. package/dist/lib/bot/self-process.d.ts +0 -19
  705. package/dist/lib/bot/self-process.js +0 -35
  706. package/dist/lib/bot/session.d.ts +0 -19
  707. package/dist/lib/bot/session.js +0 -39
  708. package/dist/lib/bot/setup-explain.d.ts +0 -64
  709. package/dist/lib/bot/setup-explain.js +0 -141
  710. package/dist/lib/bot/split.d.ts +0 -32
  711. package/dist/lib/bot/split.js +0 -241
  712. package/dist/lib/bot/status.d.ts +0 -57
  713. package/dist/lib/bot/status.js +0 -66
  714. package/dist/lib/bot/worker-source.d.ts +0 -66
  715. package/dist/lib/bot/worker-source.js +0 -283
  716. package/dist/lib/checkpoint-ontology/aliases.d.ts +0 -17
  717. package/dist/lib/checkpoint-ontology/aliases.js +0 -44
  718. package/dist/lib/checkpoint-ontology/apply.d.ts +0 -110
  719. package/dist/lib/checkpoint-ontology/apply.js +0 -777
  720. package/dist/lib/checkpoint-ontology/company-brief.d.ts +0 -18
  721. package/dist/lib/checkpoint-ontology/company-brief.js +0 -337
  722. package/dist/lib/checkpoint-ontology/company.d.ts +0 -44
  723. package/dist/lib/checkpoint-ontology/company.js +0 -118
  724. package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +0 -41
  725. package/dist/lib/checkpoint-ontology/drop-aliases.js +0 -76
  726. package/dist/lib/checkpoint-ontology/entity-file.d.ts +0 -109
  727. package/dist/lib/checkpoint-ontology/entity-file.js +0 -371
  728. package/dist/lib/checkpoint-ontology/identity.d.ts +0 -38
  729. package/dist/lib/checkpoint-ontology/identity.js +0 -95
  730. package/dist/lib/checkpoint-ontology/merge-copies.d.ts +0 -199
  731. package/dist/lib/checkpoint-ontology/merge-copies.js +0 -1086
  732. package/dist/lib/checkpoint-ontology/multi-writer.d.ts +0 -101
  733. package/dist/lib/checkpoint-ontology/multi-writer.js +0 -394
  734. package/dist/lib/checkpoint-ontology/plan.d.ts +0 -193
  735. package/dist/lib/checkpoint-ontology/plan.js +0 -504
  736. package/dist/lib/checkpoint-ontology/queued-touches.d.ts +0 -29
  737. package/dist/lib/checkpoint-ontology/queued-touches.js +0 -193
  738. package/dist/lib/checkpoint-ontology/sync-client.d.ts +0 -38
  739. package/dist/lib/checkpoint-ontology/sync-client.js +0 -84
  740. package/dist/lib/checkpoint-ontology/tree.d.ts +0 -55
  741. package/dist/lib/checkpoint-ontology/tree.js +0 -198
  742. package/dist/lib/company-errors-sdk-warning-flag.d.ts +0 -5
  743. package/dist/lib/company-errors-sdk-warning-flag.js +0 -8
  744. package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +0 -20
  745. package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +0 -81
  746. package/dist/lib/core-utils/jq-json-serializer.d.ts +0 -5
  747. package/dist/lib/core-utils/jq-json-serializer.js +0 -10
  748. package/dist/lib/core-utils/secret-patterns.d.ts +0 -43
  749. package/dist/lib/core-utils/secret-patterns.js +0 -34
  750. package/dist/lib/core-utils/sentry-report.d.ts +0 -114
  751. package/dist/lib/core-utils/sentry-report.js +0 -1034
  752. package/dist/lib/core-utils/timeout-guard-native.d.ts +0 -7
  753. package/dist/lib/core-utils/timeout-guard-native.js +0 -40
  754. package/dist/lib/core-utils/worktree-resume.d.ts +0 -20
  755. package/dist/lib/core-utils/worktree-resume.js +0 -1198
  756. package/dist/lib/daemon/catalog.d.ts +0 -134
  757. package/dist/lib/daemon/catalog.js +0 -358
  758. package/dist/lib/daemon/config.d.ts +0 -35
  759. package/dist/lib/daemon/config.js +0 -108
  760. package/dist/lib/daemon/flag.d.ts +0 -25
  761. package/dist/lib/daemon/flag.js +0 -59
  762. package/dist/lib/daemon/handoff.d.ts +0 -56
  763. package/dist/lib/daemon/handoff.js +0 -161
  764. package/dist/lib/daemon/hq-cloud.d.ts +0 -79
  765. package/dist/lib/daemon/hq-cloud.js +0 -183
  766. package/dist/lib/daemon/install.d.ts +0 -85
  767. package/dist/lib/daemon/install.js +0 -320
  768. package/dist/lib/daemon/legacy-sync-env.d.ts +0 -10
  769. package/dist/lib/daemon/legacy-sync-env.js +0 -58
  770. package/dist/lib/daemon/legacy.d.ts +0 -45
  771. package/dist/lib/daemon/legacy.js +0 -133
  772. package/dist/lib/daemon/lock.d.ts +0 -47
  773. package/dist/lib/daemon/lock.js +0 -138
  774. package/dist/lib/daemon/machine-type.d.ts +0 -50
  775. package/dist/lib/daemon/machine-type.js +0 -159
  776. package/dist/lib/daemon/migrate.d.ts +0 -77
  777. package/dist/lib/daemon/migrate.js +0 -265
  778. package/dist/lib/daemon/paths.d.ts +0 -24
  779. package/dist/lib/daemon/paths.js +0 -43
  780. package/dist/lib/daemon/protocol-tail.d.ts +0 -33
  781. package/dist/lib/daemon/protocol-tail.js +0 -131
  782. package/dist/lib/daemon/remote-control.d.ts +0 -74
  783. package/dist/lib/daemon/remote-control.js +0 -153
  784. package/dist/lib/daemon/requests.d.ts +0 -28
  785. package/dist/lib/daemon/requests.js +0 -65
  786. package/dist/lib/daemon/run.d.ts +0 -79
  787. package/dist/lib/daemon/run.js +0 -755
  788. package/dist/lib/daemon/succession.d.ts +0 -118
  789. package/dist/lib/daemon/succession.js +0 -263
  790. package/dist/lib/daemon/supervisor.d.ts +0 -132
  791. package/dist/lib/daemon/supervisor.js +0 -836
  792. package/dist/lib/daemon/sync-runner.d.ts +0 -58
  793. package/dist/lib/daemon/sync-runner.js +0 -277
  794. package/dist/lib/daemon/tools.d.ts +0 -52
  795. package/dist/lib/daemon/tools.js +0 -95
  796. package/dist/lib/daemon/updater.d.ts +0 -57
  797. package/dist/lib/daemon/updater.js +0 -163
  798. package/dist/lib/deploy-api.d.ts +0 -5
  799. package/dist/lib/deploy-api.js +0 -21
  800. package/dist/lib/deploy-apps.d.ts +0 -13
  801. package/dist/lib/deploy-apps.js +0 -29
  802. package/dist/lib/doctor/__testing__/run-doctor.d.ts +0 -8
  803. package/dist/lib/doctor/__testing__/run-doctor.js +0 -52
  804. package/dist/lib/doctor/checks/bots.d.ts +0 -13
  805. package/dist/lib/doctor/checks/bots.js +0 -189
  806. package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +0 -6
  807. package/dist/lib/doctor/checks/scaffold-cli-floor.js +0 -73
  808. package/dist/lib/doctor/checks/sync-runtime.d.ts +0 -11
  809. package/dist/lib/doctor/checks/sync-runtime.js +0 -216
  810. package/dist/lib/doctor/client-health-flag-token.d.ts +0 -15
  811. package/dist/lib/doctor/client-health-flag-token.js +0 -66
  812. package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +0 -27
  813. package/dist/lib/doctor/client-health-reason-codes-flag.js +0 -106
  814. package/dist/lib/doctor/fix/json-output.d.ts +0 -28
  815. package/dist/lib/doctor/fix/json-output.js +0 -33
  816. package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +0 -12
  817. package/dist/lib/doctor/fix/refresh-sync-outcome.js +0 -25
  818. package/dist/lib/doctor/shared.d.ts +0 -8
  819. package/dist/lib/doctor/shared.js +0 -38
  820. package/dist/lib/doctor/stray-gate-entries.d.ts +0 -35
  821. package/dist/lib/doctor/stray-gate-entries.js +0 -83
  822. package/dist/lib/first-sync-next-step.d.ts +0 -37
  823. package/dist/lib/first-sync-next-step.js +0 -189
  824. package/dist/lib/flag-registry-endpoint.d.ts +0 -5
  825. package/dist/lib/flag-registry-endpoint.js +0 -9
  826. package/dist/lib/flag-registry-worker-source.generated.d.ts +0 -2
  827. package/dist/lib/flag-registry-worker-source.generated.js +0 -3
  828. package/dist/lib/flag-snapshot-file.d.ts +0 -20
  829. package/dist/lib/flag-snapshot-file.js +0 -91
  830. package/dist/lib/heartbeat-identity.d.ts +0 -30
  831. package/dist/lib/heartbeat-identity.js +0 -76
  832. package/dist/lib/lanes/account-home.d.ts +0 -8
  833. package/dist/lib/lanes/account-home.js +0 -10
  834. package/dist/lib/lanes/accounts.d.ts +0 -117
  835. package/dist/lib/lanes/accounts.js +0 -366
  836. package/dist/lib/lanes/admission-host.d.ts +0 -22
  837. package/dist/lib/lanes/admission-host.js +0 -37
  838. package/dist/lib/lanes/admission.d.ts +0 -26
  839. package/dist/lib/lanes/admission.js +0 -210
  840. package/dist/lib/lanes/approval-gate.d.ts +0 -8
  841. package/dist/lib/lanes/approval-gate.js +0 -90
  842. package/dist/lib/lanes/autopilot-metrics.d.ts +0 -99
  843. package/dist/lib/lanes/autopilot-metrics.js +0 -301
  844. package/dist/lib/lanes/autopilot-registry.d.ts +0 -62
  845. package/dist/lib/lanes/autopilot-registry.js +0 -192
  846. package/dist/lib/lanes/autopilot.d.ts +0 -120
  847. package/dist/lib/lanes/autopilot.js +0 -1061
  848. package/dist/lib/lanes/blocker-freshness.d.ts +0 -31
  849. package/dist/lib/lanes/blocker-freshness.js +0 -168
  850. package/dist/lib/lanes/checked-company-path.d.ts +0 -3
  851. package/dist/lib/lanes/checked-company-path.js +0 -39
  852. package/dist/lib/lanes/claude-balance.d.ts +0 -97
  853. package/dist/lib/lanes/claude-balance.js +0 -319
  854. package/dist/lib/lanes/compaction.d.ts +0 -110
  855. package/dist/lib/lanes/compaction.js +0 -293
  856. package/dist/lib/lanes/config.d.ts +0 -91
  857. package/dist/lib/lanes/config.js +0 -592
  858. package/dist/lib/lanes/constants.d.ts +0 -3
  859. package/dist/lib/lanes/constants.js +0 -3
  860. package/dist/lib/lanes/delivery-core.d.ts +0 -15
  861. package/dist/lib/lanes/delivery-core.js +0 -21
  862. package/dist/lib/lanes/delivery.d.ts +0 -180
  863. package/dist/lib/lanes/delivery.js +0 -443
  864. package/dist/lib/lanes/dropbox.d.ts +0 -129
  865. package/dist/lib/lanes/dropbox.js +0 -601
  866. package/dist/lib/lanes/effort.d.ts +0 -51
  867. package/dist/lib/lanes/effort.js +0 -113
  868. package/dist/lib/lanes/envelope-repair-dispatch.d.ts +0 -26
  869. package/dist/lib/lanes/envelope-repair-dispatch.js +0 -74
  870. package/dist/lib/lanes/errors.d.ts +0 -39
  871. package/dist/lib/lanes/errors.js +0 -72
  872. package/dist/lib/lanes/flag-keys.d.ts +0 -13
  873. package/dist/lib/lanes/flag-keys.js +0 -13
  874. package/dist/lib/lanes/grants.d.ts +0 -29
  875. package/dist/lib/lanes/grants.js +0 -166
  876. package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
  877. package/dist/lib/lanes/hire-grant-dispatch.js +0 -316
  878. package/dist/lib/lanes/hooks-install.d.ts +0 -82
  879. package/dist/lib/lanes/hooks-install.js +0 -479
  880. package/dist/lib/lanes/host-capacity.d.ts +0 -69
  881. package/dist/lib/lanes/host-capacity.js +0 -254
  882. package/dist/lib/lanes/hq-root.d.ts +0 -19
  883. package/dist/lib/lanes/hq-root.js +0 -28
  884. package/dist/lib/lanes/index.d.ts +0 -76
  885. package/dist/lib/lanes/index.js +0 -42
  886. package/dist/lib/lanes/keep-alive.d.ts +0 -68
  887. package/dist/lib/lanes/keep-alive.js +0 -343
  888. package/dist/lib/lanes/kr-freshness.d.ts +0 -76
  889. package/dist/lib/lanes/kr-freshness.js +0 -413
  890. package/dist/lib/lanes/lane-company.d.ts +0 -10
  891. package/dist/lib/lanes/lane-company.js +0 -41
  892. package/dist/lib/lanes/liveness.d.ts +0 -108
  893. package/dist/lib/lanes/liveness.js +0 -396
  894. package/dist/lib/lanes/machine-identity.d.ts +0 -34
  895. package/dist/lib/lanes/machine-identity.js +0 -92
  896. package/dist/lib/lanes/manager-status-gate.d.ts +0 -17
  897. package/dist/lib/lanes/manager-status-gate.js +0 -133
  898. package/dist/lib/lanes/merge-command.d.ts +0 -15
  899. package/dist/lib/lanes/merge-command.js +0 -629
  900. package/dist/lib/lanes/mesh-events.d.ts +0 -127
  901. package/dist/lib/lanes/mesh-events.js +0 -564
  902. package/dist/lib/lanes/message-replay.d.ts +0 -21
  903. package/dist/lib/lanes/message-replay.js +0 -122
  904. package/dist/lib/lanes/models.d.ts +0 -86
  905. package/dist/lib/lanes/models.js +0 -234
  906. package/dist/lib/lanes/monitor.d.ts +0 -48
  907. package/dist/lib/lanes/monitor.js +0 -428
  908. package/dist/lib/lanes/move-account.d.ts +0 -56
  909. package/dist/lib/lanes/move-account.js +0 -193
  910. package/dist/lib/lanes/orphans.d.ts +0 -25
  911. package/dist/lib/lanes/orphans.js +0 -102
  912. package/dist/lib/lanes/outpost-dispatch.d.ts +0 -147
  913. package/dist/lib/lanes/outpost-dispatch.js +0 -271
  914. package/dist/lib/lanes/outpost-hire-cache.d.ts +0 -22
  915. package/dist/lib/lanes/outpost-hire-cache.js +0 -153
  916. package/dist/lib/lanes/outpost-identity.d.ts +0 -33
  917. package/dist/lib/lanes/outpost-identity.js +0 -59
  918. package/dist/lib/lanes/outpost-profile-repin.d.ts +0 -17
  919. package/dist/lib/lanes/outpost-profile-repin.js +0 -84
  920. package/dist/lib/lanes/outpost-pruner-install.d.ts +0 -37
  921. package/dist/lib/lanes/outpost-pruner-install.js +0 -238
  922. package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +0 -18
  923. package/dist/lib/lanes/outpost-registry-worker-approval.js +0 -109
  924. package/dist/lib/lanes/outpost-snapshot-memo.d.ts +0 -6
  925. package/dist/lib/lanes/outpost-snapshot-memo.js +0 -14
  926. package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +0 -19
  927. package/dist/lib/lanes/outpost-worktree-pruner-flag.js +0 -86
  928. package/dist/lib/lanes/outpost-worktree-pruner.d.ts +0 -62
  929. package/dist/lib/lanes/outpost-worktree-pruner.js +0 -1201
  930. package/dist/lib/lanes/profile.d.ts +0 -69
  931. package/dist/lib/lanes/profile.js +0 -552
  932. package/dist/lib/lanes/provider-rejection.d.ts +0 -86
  933. package/dist/lib/lanes/provider-rejection.js +0 -286
  934. package/dist/lib/lanes/questions.d.ts +0 -90
  935. package/dist/lib/lanes/questions.js +0 -384
  936. package/dist/lib/lanes/quota.d.ts +0 -134
  937. package/dist/lib/lanes/quota.js +0 -471
  938. package/dist/lib/lanes/reconcile-install.d.ts +0 -90
  939. package/dist/lib/lanes/reconcile-install.js +0 -257
  940. package/dist/lib/lanes/reconcile.d.ts +0 -155
  941. package/dist/lib/lanes/reconcile.js +0 -3193
  942. package/dist/lib/lanes/registry-flag.d.ts +0 -29
  943. package/dist/lib/lanes/registry-flag.js +0 -139
  944. package/dist/lib/lanes/registry-persona.d.ts +0 -20
  945. package/dist/lib/lanes/registry-persona.js +0 -329
  946. package/dist/lib/lanes/registry.d.ts +0 -122
  947. package/dist/lib/lanes/registry.js +0 -570
  948. package/dist/lib/lanes/reviews.d.ts +0 -38
  949. package/dist/lib/lanes/reviews.js +0 -395
  950. package/dist/lib/lanes/runaway-tool-guard.d.ts +0 -38
  951. package/dist/lib/lanes/runaway-tool-guard.js +0 -284
  952. package/dist/lib/lanes/session-relink.d.ts +0 -25
  953. package/dist/lib/lanes/session-relink.js +0 -216
  954. package/dist/lib/lanes/spawn.d.ts +0 -350
  955. package/dist/lib/lanes/spawn.js +0 -2643
  956. package/dist/lib/lanes/ssm-command-context.d.ts +0 -12
  957. package/dist/lib/lanes/ssm-command-context.js +0 -52
  958. package/dist/lib/lanes/store.d.ts +0 -91
  959. package/dist/lib/lanes/store.js +0 -1811
  960. package/dist/lib/lanes/stories.d.ts +0 -23
  961. package/dist/lib/lanes/stories.js +0 -92
  962. package/dist/lib/lanes/story-ledger.d.ts +0 -80
  963. package/dist/lib/lanes/story-ledger.js +0 -815
  964. package/dist/lib/lanes/story-switch.d.ts +0 -21
  965. package/dist/lib/lanes/story-switch.js +0 -75
  966. package/dist/lib/lanes/text-scan.d.ts +0 -11
  967. package/dist/lib/lanes/text-scan.js +0 -103
  968. package/dist/lib/lanes/throttle.d.ts +0 -116
  969. package/dist/lib/lanes/throttle.js +0 -437
  970. package/dist/lib/lanes/timestamp.d.ts +0 -3
  971. package/dist/lib/lanes/timestamp.js +0 -26
  972. package/dist/lib/lanes/tracker-checks.d.ts +0 -77
  973. package/dist/lib/lanes/tracker-checks.js +0 -134
  974. package/dist/lib/lanes/tracker-report-state.d.ts +0 -10
  975. package/dist/lib/lanes/tracker-report-state.js +0 -124
  976. package/dist/lib/lanes/tracker-report.d.ts +0 -203
  977. package/dist/lib/lanes/tracker-report.js +0 -522
  978. package/dist/lib/lanes/tracker-store.d.ts +0 -18
  979. package/dist/lib/lanes/tracker-store.js +0 -106
  980. package/dist/lib/lanes/types.d.ts +0 -1020
  981. package/dist/lib/lanes/types.js +0 -417
  982. package/dist/lib/lanes/wait.d.ts +0 -39
  983. package/dist/lib/lanes/wait.js +0 -159
  984. package/dist/lib/lanes/watch.d.ts +0 -39
  985. package/dist/lib/lanes/watch.js +0 -249
  986. package/dist/lib/lanes/watcher-main.d.ts +0 -11
  987. package/dist/lib/lanes/watcher-main.js +0 -108
  988. package/dist/lib/lanes/watcher.d.ts +0 -287
  989. package/dist/lib/lanes/watcher.js +0 -1972
  990. package/dist/lib/mesh/live/daemon/config.d.ts +0 -36
  991. package/dist/lib/mesh/live/daemon/config.js +0 -120
  992. package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +0 -43
  993. package/dist/lib/mesh/live/daemon/legacy-listen.js +0 -89
  994. package/dist/lib/mesh/live/daemon/live-cache.d.ts +0 -26
  995. package/dist/lib/mesh/live/daemon/live-cache.js +0 -116
  996. package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +0 -7
  997. package/dist/lib/mesh/live/daemon/mqtt-events.js +0 -2
  998. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +0 -2
  999. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +0 -10
  1000. package/dist/lib/mesh/live/daemon/version-drift.d.ts +0 -5
  1001. package/dist/lib/mesh/live/daemon/version-drift.js +0 -47
  1002. package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +0 -32
  1003. package/dist/lib/mesh/live/daemon/work-subscribe.js +0 -262
  1004. package/dist/lib/mesh/live/report-summary.d.ts +0 -45
  1005. package/dist/lib/mesh/live/report-summary.js +0 -234
  1006. package/dist/lib/mesh/live/session-seq.d.ts +0 -4
  1007. package/dist/lib/mesh/live/session-seq.js +0 -33
  1008. package/dist/lib/mesh/project-board.d.ts +0 -65
  1009. package/dist/lib/mesh/project-board.js +0 -181
  1010. package/dist/lib/mesh/story-status.d.ts +0 -22
  1011. package/dist/lib/mesh/story-status.js +0 -49
  1012. package/dist/lib/monitor.d.ts +0 -149
  1013. package/dist/lib/monitor.js +0 -519
  1014. package/dist/lib/node-binary.d.ts +0 -50
  1015. package/dist/lib/node-binary.js +0 -133
  1016. package/dist/lib/notify-recipient.d.ts +0 -7
  1017. package/dist/lib/notify-recipient.js +0 -11
  1018. package/dist/lib/onboarding/checkpoint.d.ts +0 -13
  1019. package/dist/lib/onboarding/checkpoint.js +0 -44
  1020. package/dist/lib/onboarding/cli/onboard.d.ts +0 -53
  1021. package/dist/lib/onboarding/cli/onboard.js +0 -135
  1022. package/dist/lib/onboarding/cli/prompts.d.ts +0 -28
  1023. package/dist/lib/onboarding/cli/prompts.js +0 -83
  1024. package/dist/lib/onboarding/errors.d.ts +0 -34
  1025. package/dist/lib/onboarding/errors.js +0 -59
  1026. package/dist/lib/onboarding/index.d.ts +0 -13
  1027. package/dist/lib/onboarding/index.js +0 -13
  1028. package/dist/lib/onboarding/orchestrator.d.ts +0 -47
  1029. package/dist/lib/onboarding/orchestrator.js +0 -569
  1030. package/dist/lib/onboarding/types.d.ts +0 -79
  1031. package/dist/lib/onboarding/types.js +0 -8
  1032. package/dist/lib/policy-validator.d.ts +0 -7
  1033. package/dist/lib/policy-validator.js +0 -187
  1034. package/dist/lib/process-flag-company-context.d.ts +0 -8
  1035. package/dist/lib/process-flag-company-context.js +0 -67
  1036. package/dist/lib/report-publish.d.ts +0 -175
  1037. package/dist/lib/report-publish.js +0 -421
  1038. package/dist/lib/report-run.d.ts +0 -62
  1039. package/dist/lib/report-run.js +0 -123
  1040. package/dist/lib/report-snapshot.d.ts +0 -12
  1041. package/dist/lib/report-snapshot.js +0 -135
  1042. package/dist/lib/report-templates.d.ts +0 -9
  1043. package/dist/lib/report-templates.js +0 -21
  1044. package/dist/lib/scaffold-cli-floor.d.ts +0 -8
  1045. package/dist/lib/scaffold-cli-floor.js +0 -50
  1046. package/dist/lib/search-index/collection-path-repair-flag.d.ts +0 -4
  1047. package/dist/lib/search-index/collection-path-repair-flag.js +0 -7
  1048. package/dist/lib/search-index/embed-lock.d.ts +0 -32
  1049. package/dist/lib/search-index/embed-lock.js +0 -286
  1050. package/dist/lib/search-index/load-gate.d.ts +0 -57
  1051. package/dist/lib/search-index/load-gate.js +0 -270
  1052. package/dist/lib/search-index/max-doc-bytes.d.ts +0 -219
  1053. package/dist/lib/search-index/max-doc-bytes.js +0 -463
  1054. package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +0 -5
  1055. package/dist/lib/search-index/qmd-exit-diagnostics.js +0 -40
  1056. package/dist/lib/search-index/reindex-single-flight-flag.d.ts +0 -5
  1057. package/dist/lib/search-index/reindex-single-flight-flag.js +0 -8
  1058. package/dist/lib/service-manager/index.d.ts +0 -42
  1059. package/dist/lib/service-manager/index.js +0 -105
  1060. package/dist/lib/service-manager/launchd.d.ts +0 -81
  1061. package/dist/lib/service-manager/launchd.js +0 -212
  1062. package/dist/lib/service-manager/systemd.d.ts +0 -19
  1063. package/dist/lib/service-manager/systemd.js +0 -72
  1064. package/dist/lib/service-manager/types.d.ts +0 -34
  1065. package/dist/lib/service-manager/types.js +0 -26
  1066. package/dist/lib/test-utils/isolated-flag-company-context.d.ts +0 -3
  1067. package/dist/lib/test-utils/isolated-flag-company-context.js +0 -18
  1068. package/dist/lib/work-context/bind-best.d.ts +0 -66
  1069. package/dist/lib/work-context/bind-best.js +0 -344
  1070. package/dist/lib/work-context/bind-calling-session.d.ts +0 -26
  1071. package/dist/lib/work-context/bind-calling-session.js +0 -63
  1072. package/dist/lib/work-context/company-rebind.d.ts +0 -23
  1073. package/dist/lib/work-context/company-rebind.js +0 -59
  1074. package/dist/lib/work-context/default-company.d.ts +0 -43
  1075. package/dist/lib/work-context/default-company.js +0 -83
  1076. package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +0 -4
  1077. package/dist/lib/work-context/outbox-quarantine-status-flag.js +0 -7
  1078. package/dist/lib/work-context/prd-sync.d.ts +0 -56
  1079. package/dist/lib/work-context/prd-sync.js +0 -197
  1080. package/dist/lib/work-context/preflight-contract.d.ts +0 -28
  1081. package/dist/lib/work-context/preflight-contract.js +0 -85
  1082. package/dist/lib/work-context/prompt-rebind.d.ts +0 -25
  1083. package/dist/lib/work-context/prompt-rebind.js +0 -85
  1084. package/dist/lib/work-context/windows-acl.d.ts +0 -123
  1085. package/dist/lib/work-context/windows-acl.js +0 -425
  1086. package/dist/lib/workers-registry/read.d.ts +0 -15
  1087. package/dist/lib/workers-registry/read.js +0 -17
  1088. package/dist/native-fast-route.d.ts +0 -7
  1089. package/dist/native-fast-route.js +0 -45
  1090. package/dist/node-network-compat-core.d.ts +0 -12
  1091. package/dist/node-network-compat-core.js +0 -41
  1092. package/dist/node-network-compat-fast.d.ts +0 -7
  1093. package/dist/node-network-compat-fast.js +0 -23
  1094. package/dist/secrets-env-fast-path.d.ts +0 -5
  1095. package/dist/secrets-env-fast-path.js +0 -16
  1096. package/dist/secrets-env-fast-route.d.ts +0 -18
  1097. package/dist/secrets-env-fast-route.js +0 -54
  1098. package/dist/utils/checkpoint-stamp-write-error.d.ts +0 -28
  1099. package/dist/utils/checkpoint-stamp-write-error.js +0 -99
  1100. package/dist/utils/cli-network-lifecycle.d.ts +0 -4
  1101. package/dist/utils/cli-network-lifecycle.js +0 -11
  1102. package/dist/utils/cognito-refresh-sentry.d.ts +0 -3
  1103. package/dist/utils/cognito-refresh-sentry.js +0 -49
  1104. package/dist/utils/console-origin.d.ts +0 -9
  1105. package/dist/utils/console-origin.js +0 -28
  1106. package/dist/utils/exclusive-lock.d.ts +0 -32
  1107. package/dist/utils/exclusive-lock.js +0 -75
  1108. package/dist/utils/fast-stream-errors.d.ts +0 -12
  1109. package/dist/utils/fast-stream-errors.js +0 -18
  1110. package/dist/utils/files-browse-acl.d.ts +0 -5
  1111. package/dist/utils/files-browse-acl.js +0 -11
  1112. package/dist/utils/hq-core-yaml.d.ts +0 -10
  1113. package/dist/utils/hq-core-yaml.js +0 -40
  1114. package/dist/utils/hq-root-resolver.d.ts +0 -13
  1115. package/dist/utils/hq-root-resolver.js +0 -103
  1116. package/dist/utils/redact-url.d.ts +0 -14
  1117. package/dist/utils/redact-url.js +0 -218
  1118. package/dist/utils/scaffold-fast-import-guard.d.ts +0 -2
  1119. package/dist/utils/scaffold-fast-import-guard.js +0 -40
  1120. package/dist/utils/scaffold-packlist-guard.d.ts +0 -7
  1121. package/dist/utils/scaffold-packlist-guard.js +0 -23
  1122. package/dist/utils/scaffold-sibling-references.d.ts +0 -22
  1123. package/dist/utils/scaffold-sibling-references.js +0 -156
  1124. package/dist/utils/secret-load-availability.d.ts +0 -8
  1125. package/dist/utils/secret-load-availability.js +0 -54
  1126. package/dist/utils/staged-install.d.ts +0 -34
  1127. package/dist/utils/staged-install.js +0 -346
  1128. package/dist/utils/staged-npm-install.d.ts +0 -16
  1129. package/dist/utils/staged-npm-install.js +0 -264
  1130. package/dist/utils/sync-log-sources.d.ts +0 -15
  1131. package/dist/utils/sync-log-sources.js +0 -36
  1132. package/dist/utils/table-width.d.ts +0 -7
  1133. package/dist/utils/table-width.js +0 -15
  1134. package/dist/utils/update-command-supervisor.cjs +0 -247
  1135. package/dist/utils/upload-author.d.ts +0 -15
  1136. package/dist/utils/upload-author.js +0 -39
  1137. package/dist/utils/version-report.d.ts +0 -27
  1138. package/dist/utils/version-report.js +0 -105
  1139. package/dist/version-request.d.ts +0 -14
  1140. package/dist/version-request.js +0 -36
  1141. package/scripts/mesh-daemon-if-stale.mjs +0 -20
  1142. package/templates/reports/blank.md +0 -3
  1143. package/templates/reports/daily-digest.md +0 -11
  1144. package/templates/runbooks/update-report.md +0 -21
@@ -1,1025 +0,0 @@
1
- #!/usr/bin/env bash
2
- # hq-core: public
3
- # hq-job-run.sh — serialized Outpost scheduled-job executor (US-004 + US-006).
4
- #
5
- # Invoked by systemd user units (hq-job-{id}.service) or on demand:
6
- # core/scripts/hq-job-run.sh --job-id <id>
7
- # core/scripts/hq-job-run.sh <job.yaml>
8
- #
9
- # Behavior:
10
- # - Global file lock (~/.hq/jobs/run.lock) — serialized-only (US-001)
11
- # - Enforces job timeout_seconds (default 600; schema 60–14400)
12
- # - Credentials only via `hq secrets exec` (requirements.secrets[]) or
13
- # the box's cached CLI auth — never env vars / unit-file secrets
14
- # - Trust model (7A): injects ONLY requirements.secrets[] — no static prompt scan
15
- # - Appends stdout/stderr + exit to ~/.hq/jobs/logs/{id}/
16
- # - Emits a compute-meter attribution marker (scheduled vs interactive)
17
- # - Classifies failures (auth|secrets|timeout|agent_error|infra), writes
18
- # failure_class to hq-pro jobs status (kind=run), bounded self-remediate,
19
- # then dm-notify via hq-job-notify.sh (collapse 1/24h; never create-thread)
20
- # - Missing runtime CLI auth: classify auth, notify re-login, exit 0 (unit OK)
21
- #
22
- # Runtime dispatch (US-001 spike flags):
23
- # claude → claude -p … --output-format text --permission-mode bypassPermissions
24
- # codex → codex exec -s workspace-write --skip-git-repo-check …
25
- #
26
- # Env / overrides (tests):
27
- # HQ_ROOT, HOME, HQ_JOB_LOCK, HQ_JOB_LOG_DIR, HQ_JOB_METER_DIR
28
- # HQ_JOB_TIMEOUT_BIN, HQ_JOB_FLOCK_BIN, HQ_JOB_NOW
29
- # HQ_JOB_PROBE_CLAUDE_CRED, HQ_JOB_PROBE_CODEX_AUTH (auth paths; shared with probe)
30
- # HQ_JOB_RUN_SKIP_EXEC=1 — acquire lock + write marker/logs without calling CLI
31
- # HQ_JOB_NOTIFY_BIN, HQ_JOB_REMEDIATE_BIN, HQ_JOB_RUN_NO_NOTIFY=1, HQ_JOB_RUN_NO_INGEST=1
32
- # HQ_JOB_RUN_CURL, HQ_PRO_API_URL, OUTPOST_USER_ID, OUTPOST_INSTANCE_TOKEN
33
- #
34
- # Exit: 0 success or intentional auth/cwd skip; 1 agent/job failure; 2 usage/config;
35
- # 124 timeout (GNU timeout convention when available).
36
-
37
- set -euo pipefail
38
-
39
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
40
- HQ_ROOT="${HQ_ROOT:-$(cd "$SCRIPT_DIR/../.." && pwd)}"
41
- # shellcheck disable=SC1091
42
- . "$SCRIPT_DIR/hook-lib.sh"
43
- NOTIFY_BIN="${HQ_JOB_NOTIFY_BIN:-$SCRIPT_DIR/hq-job-notify.sh}"
44
- REMEDIATE_BIN="${HQ_JOB_REMEDIATE_BIN:-$SCRIPT_DIR/hq-job-remediate.sh}"
45
- AUTH_HEADER_FILE=""
46
-
47
- cleanup_auth_header_file() {
48
- if [ -n "${AUTH_HEADER_FILE:-}" ]; then
49
- rm -f -- "$AUTH_HEADER_FILE" 2>/dev/null || true
50
- AUTH_HEADER_FILE=""
51
- fi
52
- }
53
- trap cleanup_auth_header_file EXIT
54
-
55
- JOB_TARGET=""
56
- JOB_ID_ARG=""
57
-
58
- usage() {
59
- sed -n '3,40p' "${BASH_SOURCE[0]}" | sed 's/^# \{0,1\}//'
60
- }
61
-
62
- die() {
63
- echo "hq-job-run: $*" >&2
64
- exit 2
65
- }
66
-
67
- log() {
68
- echo "hq-job-run: $*" >&2
69
- }
70
-
71
- while [ $# -gt 0 ]; do
72
- case "$1" in
73
- --hq-root)
74
- HQ_ROOT="${2:-}"
75
- [ -n "$HQ_ROOT" ] || die "--hq-root requires a directory"
76
- shift 2
77
- ;;
78
- --job-id)
79
- JOB_ID_ARG="${2:-}"
80
- [ -n "$JOB_ID_ARG" ] || die "--job-id requires a value"
81
- shift 2
82
- ;;
83
- -h|--help)
84
- usage
85
- exit 0
86
- ;;
87
- --)
88
- shift
89
- break
90
- ;;
91
- -*)
92
- die "unknown option: $1"
93
- ;;
94
- *)
95
- if [ -n "$JOB_TARGET" ]; then
96
- die "unexpected argument: $1"
97
- fi
98
- JOB_TARGET="$1"
99
- shift
100
- ;;
101
- esac
102
- done
103
-
104
- command -v yq >/dev/null 2>&1 || die "yq is required (mikefarah/yq)"
105
- command -v jq >/dev/null 2>&1 || die "jq is required"
106
-
107
- iso_now() {
108
- if [ -n "${HQ_JOB_NOW:-}" ]; then
109
- printf '%s' "$HQ_JOB_NOW"
110
- return
111
- fi
112
- date -u +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null \
113
- || date -u +"%Y-%m-%dT%H:%M:%S+00:00"
114
- }
115
-
116
- epoch_now() {
117
- date -u +%s 2>/dev/null || date +%s
118
- }
119
-
120
- claude_cred_path() {
121
- printf '%s' "${HQ_JOB_PROBE_CLAUDE_CRED:-${HOME}/.claude/.credentials.json}"
122
- }
123
-
124
- codex_auth_path() {
125
- printf '%s' "${HQ_JOB_PROBE_CODEX_AUTH:-${HOME}/.codex/auth.json}"
126
- }
127
-
128
- find_job_file_by_id() {
129
- local id="$1" f found=""
130
- while IFS= read -r f; do
131
- [ -n "$f" ] || continue
132
- if [ "$(yq -r '.id // ""' "$f" 2>/dev/null)" = "$id" ]; then
133
- if [ -n "$found" ]; then
134
- die "duplicate job id '$id' in registry: $found and $f"
135
- fi
136
- found="$f"
137
- fi
138
- done < <(
139
- {
140
- find "$HQ_ROOT/personal/jobs" -maxdepth 1 \( -name '*.yaml' -o -name '*.yml' \) -type f 2>/dev/null || true
141
- find "$HQ_ROOT/companies" -path '*/jobs/*' -maxdepth 3 \( -name '*.yaml' -o -name '*.yml' \) -type f 2>/dev/null || true
142
- } | grep -Ev '\.conflict-|/\.conflicts/' | sort
143
- )
144
- [ -n "$found" ] || return 1
145
- printf '%s' "$found"
146
- }
147
-
148
- resolve_job_file() {
149
- if [ -n "$JOB_ID_ARG" ]; then
150
- find_job_file_by_id "$JOB_ID_ARG" || die "job id not found: $JOB_ID_ARG"
151
- return
152
- fi
153
- if [ -z "$JOB_TARGET" ]; then
154
- die "usage: hq-job-run.sh --job-id <id> | <job.yaml>"
155
- fi
156
- if [ -f "$JOB_TARGET" ]; then
157
- printf '%s' "$JOB_TARGET"
158
- return
159
- fi
160
- if [ -f "$HQ_ROOT/$JOB_TARGET" ]; then
161
- printf '%s' "$HQ_ROOT/$JOB_TARGET"
162
- return
163
- fi
164
- find_job_file_by_id "$JOB_TARGET" || die "job not found: $JOB_TARGET"
165
- }
166
-
167
- check_runtime_auth() {
168
- local runtime="$1"
169
- case "$runtime" in
170
- claude)
171
- if ! command -v claude >/dev/null 2>&1; then
172
- printf 'no_cli'
173
- return 1
174
- fi
175
- if [ -s "$(claude_cred_path)" ]; then
176
- printf 'ok'
177
- return 0
178
- fi
179
- printf 'missing'
180
- return 1
181
- ;;
182
- codex)
183
- if ! command -v codex >/dev/null 2>&1; then
184
- printf 'no_cli'
185
- return 1
186
- fi
187
- if [ -s "$(codex_auth_path)" ]; then
188
- printf 'ok'
189
- return 0
190
- fi
191
- printf 'missing'
192
- return 1
193
- ;;
194
- *)
195
- printf 'unknown_runtime'
196
- return 1
197
- ;;
198
- esac
199
- }
200
-
201
- build_prompt() {
202
- local job_file="$1"
203
- local prompt skill
204
- prompt="$(yq -r '.exec.prompt // ""' "$job_file")"
205
- skill="$(yq -r '.exec.skill // ""' "$job_file")"
206
- if [ -n "$prompt" ] && [ "$prompt" != "null" ]; then
207
- printf '%s' "$prompt"
208
- return
209
- fi
210
- if [ -n "$skill" ] && [ "$skill" != "null" ]; then
211
- local args_json
212
- args_json="$(yq -o=json -I=0 '.exec.args // {}' "$job_file" 2>/dev/null || echo '{}')"
213
- printf 'Execute the HQ skill "%s" unattended with these args (JSON): %s. Follow the skill instructions exactly and produce a concise completion summary.' \
214
- "$skill" "$args_json"
215
- return
216
- fi
217
- die "job missing exec.prompt and exec.skill: $job_file"
218
- }
219
-
220
- append_meter_marker() {
221
- local job_id="$1" runtime="$2" started="$3" ended="$4" exit_status="$5" duration="$6" skip_reason="${7:-}"
222
- local dir="${HQ_JOB_METER_DIR:-${HOME}/.hq/jobs/meters}"
223
- mkdir -p "$dir"
224
- local line
225
- line="$(jq -nc \
226
- --arg schema "hq.outpost.job-run/v1" \
227
- --arg kind "scheduled-job-run" \
228
- --arg job_id "$job_id" \
229
- --arg runtime "$runtime" \
230
- --arg started_at "$started" \
231
- --arg ended_at "$ended" \
232
- --argjson exit_status "$exit_status" \
233
- --argjson duration_seconds "$duration" \
234
- --arg outpost_id "${OUTPOST_ID:-}" \
235
- --arg skip_reason "$skip_reason" \
236
- '{
237
- schema: $schema,
238
- kind: $kind,
239
- job_id: $job_id,
240
- runtime: $runtime,
241
- started_at: $started_at,
242
- ended_at: $ended_at,
243
- exit_status: $exit_status,
244
- duration_seconds: $duration_seconds
245
- }
246
- + (if $outpost_id != "" then {outpost_id: $outpost_id} else {} end)
247
- + (if $skip_reason != "" then {skip_reason: $skip_reason} else {} end)')"
248
- printf '%s\n' "$line" >>"$dir/runs.jsonl"
249
- chmod 600 "$dir/runs.jsonl" 2>/dev/null || true
250
- }
251
-
252
- api_base() {
253
- local base
254
- base="${HQ_PRO_API_URL:-${HQ_API_URL:-${HQ_VAULT_API_URL:-https://hqapi.hq.computer}}}"
255
- base="${base%/}"
256
- printf '%s' "$base"
257
- }
258
-
259
- resolve_box_identity() {
260
- local xtrace_was_set=0
261
- case "$-" in
262
- *x*) xtrace_was_set=1; set +x ;;
263
- esac
264
-
265
- if [ -n "${OUTPOST_USER_ID:-}" ] && [ -n "${OUTPOST_INSTANCE_TOKEN:-}" ]; then
266
- [ "$xtrace_was_set" -eq 0 ] || set -x
267
- return 0
268
- fi
269
- local envf="/etc/outpost/codex-identity.env"
270
- if [ -f "$envf" ]; then
271
- # shellcheck disable=SC1090
272
- . "$envf" 2>/dev/null || true
273
- if [ -n "${OUTPOST_USER_ID:-}" ] && [ -n "${OUTPOST_INSTANCE_TOKEN:-}" ]; then
274
- [ "$xtrace_was_set" -eq 0 ] || set -x
275
- return 0
276
- fi
277
- fi
278
- local runner="${HQ_JOB_PROBE_RUNNER:-/usr/local/bin/outpost-runner.sh}"
279
- if [ -f "$runner" ]; then
280
- OUTPOST_USER_ID="${OUTPOST_USER_ID:-$(sed -n 's/^USER_ID="\(.*\)"$/\1/p' "$runner" 2>/dev/null | head -1)}"
281
- OUTPOST_INSTANCE_TOKEN="${OUTPOST_INSTANCE_TOKEN:-$(sed -n 's/^INSTANCE_TOKEN="\(.*\)"$/\1/p' "$runner" 2>/dev/null | head -1)}"
282
- OUTPOST_ID="${OUTPOST_ID:-$(sed -n 's/^OUTPOST_ID="\(.*\)"$/\1/p' "$runner" 2>/dev/null | head -1)}"
283
- fi
284
- if [ -n "${OUTPOST_USER_ID:-}" ] && [ -n "${OUTPOST_INSTANCE_TOKEN:-}" ]; then
285
- [ "$xtrace_was_set" -eq 0 ] || set -x
286
- return 0
287
- fi
288
- [ "$xtrace_was_set" -eq 0 ] || set -x
289
- return 1
290
- }
291
-
292
- create_auth_header_file() {
293
- local xtrace_was_set=0 write_rc=0
294
- AUTH_HEADER_FILE="$(mktemp "${TMPDIR:-/tmp}/hq-job-run-auth-header.XXXXXX")"
295
- chmod 600 "$AUTH_HEADER_FILE"
296
- case "$-" in
297
- *x*) xtrace_was_set=1; set +x ;;
298
- esac
299
- if printf 'x-outpost-instance-token: %s\n' "$OUTPOST_INSTANCE_TOKEN" >"$AUTH_HEADER_FILE"; then
300
- write_rc=0
301
- else
302
- write_rc=$?
303
- fi
304
- [ "$xtrace_was_set" -eq 0 ] || set -x
305
- return "$write_rc"
306
- }
307
-
308
- # Classify exit + log tail → auth|secrets|timeout|agent_error|infra
309
- classify_failure() {
310
- local exit_code="$1" log_file="$2" auth_hint="${3:-}"
311
- if [ -n "$auth_hint" ] && [ "$auth_hint" != "ok" ]; then
312
- printf 'auth'
313
- return
314
- fi
315
- if [ "$exit_code" -eq 124 ] || [ "$exit_code" -eq 137 ]; then
316
- printf 'timeout'
317
- return
318
- fi
319
- local tail_txt=""
320
- if [ -n "$log_file" ] && [ -f "$log_file" ]; then
321
- tail_txt="$(tail -n 80 "$log_file" 2>/dev/null || true)"
322
- fi
323
- local lower
324
- lower="$(printf '%s' "$tail_txt" | tr '[:upper:]' '[:lower:]')"
325
-
326
- if printf '%s' "$lower" | grep -Eq \
327
- 'not logged in|please log in|authentication (failed|required)|unauthorized|401|invalid.*(token|credential)|credentials? (missing|expired|invalid)|device.?code|login required'; then
328
- printf 'auth'
329
- return
330
- fi
331
- if printf '%s' "$lower" | grep -Eq \
332
- 'secret.*(not found|missing|denied|not visible|not shared)|hq secrets.*(fail|error|denied)|missing vault|access denied.*secret'; then
333
- printf 'secrets'
334
- return
335
- fi
336
- # Avoid matching job metadata like timeout_seconds=N in the log header.
337
- if printf '%s' "$lower" | grep -Eq \
338
- '(^|[^_])timed out|command timed out|deadline exceeded|killed by timeout|exit[=:][[:space:]]*124\b'; then
339
- printf 'timeout'
340
- return
341
- fi
342
- if printf '%s' "$lower" | grep -Eq \
343
- 'connection (refused|reset|timed out)|network is unreachable|temporary failure|econnreset|enotfound|no space left|i/o error|transport error|dns (fail|error)|http[/ ]*(502|503|504)|statusingesterror|api unreachable'; then
344
- printf 'infra'
345
- return
346
- fi
347
- if [ "$exit_code" -eq 0 ]; then
348
- printf ''
349
- return
350
- fi
351
- printf 'agent_error'
352
- }
353
-
354
- next_action_for_class() {
355
- local fc="$1" runtime="${2:-}"
356
- case "$fc" in
357
- auth)
358
- printf 're-login on Outpost (device code) for %s' "${runtime:-the runtime CLI}"
359
- ;;
360
- secrets)
361
- printf 'share the missing secret to this Outpost (hq secrets share KEY) then re-probe'
362
- ;;
363
- timeout)
364
- printf 'raise timeout_seconds or split the job work'
365
- ;;
366
- infra)
367
- printf 'check Outpost disk/network; job will self-retry once on transient infra'
368
- ;;
369
- agent_error)
370
- printf 'inspect the job log and fix the prompt/skill'
371
- ;;
372
- *)
373
- printf ''
374
- ;;
375
- esac
376
- }
377
-
378
- # POST kind=run ingest. Never fails the job run.
379
- ingest_run_status() {
380
- local job_id="$1" run_at="$2" run_id="$3" last_exit="$4" failure_class="$5" next_actions_json="$6"
381
- if [ "${HQ_JOB_RUN_NO_INGEST:-}" = "1" ]; then
382
- log "ingest skipped (HQ_JOB_RUN_NO_INGEST=1)"
383
- return 0
384
- fi
385
- if ! resolve_box_identity; then
386
- log "run status ingest skipped — missing Outpost identity"
387
- return 0
388
- fi
389
- local payload fc_json
390
- if [ -z "$failure_class" ] || [ "$failure_class" = "null" ]; then
391
- fc_json='null'
392
- else
393
- fc_json="$(jq -nc --arg f "$failure_class" '$f')"
394
- fi
395
- payload="$(jq -nc \
396
- --arg userId "$OUTPOST_USER_ID" \
397
- --arg jobId "$job_id" \
398
- --arg run_at "$run_at" \
399
- --arg event_id "$run_id" \
400
- --arg run_id "$run_id" \
401
- --argjson last_exit "$last_exit" \
402
- --argjson failure_class "$fc_json" \
403
- --argjson next_actions "$next_actions_json" \
404
- --arg outpostId "${OUTPOST_ID:-}" \
405
- '{
406
- userId: $userId,
407
- jobId: $jobId,
408
- kind: "run",
409
- run_at: $run_at,
410
- event_id: $event_id,
411
- run_id: $run_id,
412
- last_exit: $last_exit,
413
- failure_class: $failure_class,
414
- next_actions: $next_actions
415
- } + (if $outpostId != "" then {outpostId: $outpostId} else {} end)')"
416
-
417
- local curl_bin="${HQ_JOB_RUN_CURL:-curl}"
418
- local url tmp_body tmp_hdr http=0
419
- url="$(api_base)/outpost/internal/jobs-status"
420
- if ! command -v "$curl_bin" >/dev/null 2>&1; then
421
- log "run status ingest skipped — curl not found"
422
- return 0
423
- fi
424
- tmp_body="$(mktemp "${TMPDIR:-/tmp}/hq-job-run-ingest-body.XXXXXX")"
425
- tmp_hdr="$(mktemp "${TMPDIR:-/tmp}/hq-job-run-ingest-hdr.XXXXXX")"
426
- create_auth_header_file
427
- set +e
428
- "$curl_bin" -sS -m 20 -X POST "$url" \
429
- -H "content-type: application/json" \
430
- -H "@${AUTH_HEADER_FILE}" \
431
- --data "$payload" \
432
- -D "$tmp_hdr" \
433
- -o "$tmp_body"
434
- local curl_rc=$?
435
- set -e
436
- if [ "$curl_rc" -eq 0 ]; then
437
- http="$(awk 'BEGIN{c=0} /^HTTP\//{c=$2} END{print c+0}' "$tmp_hdr" 2>/dev/null || echo 0)"
438
- fi
439
- rm -f "$tmp_body" "$tmp_hdr" "$AUTH_HEADER_FILE"
440
- AUTH_HEADER_FILE=""
441
- if [ "$http" -ge 200 ] && [ "$http" -lt 300 ]; then
442
- log "run status ingested job=$job_id failure_class=${failure_class:-null} http=$http"
443
- else
444
- log "run status ingest failed job=$job_id http=$http (logged; not failing run)"
445
- fi
446
- return 0
447
- }
448
-
449
- call_notify() {
450
- local job_id="$1" job_name="$2" outcome="$3" summary="$4" duration="$5" log_path="$6"
451
- local failure_class="${7:-}" next_action="${8:-}" owner="${9:-}" notify_mode="${10:-profile}"
452
- if [ "${HQ_JOB_RUN_NO_NOTIFY:-}" = "1" ]; then
453
- log "notify skipped (HQ_JOB_RUN_NO_NOTIFY=1)"
454
- return 0
455
- fi
456
- if [ ! -x "$NOTIFY_BIN" ] && [ -f "$NOTIFY_BIN" ]; then
457
- chmod +x "$NOTIFY_BIN" 2>/dev/null || true
458
- fi
459
- if [ ! -f "$NOTIFY_BIN" ]; then
460
- log "notify skipped — missing $NOTIFY_BIN"
461
- return 0
462
- fi
463
- set +e
464
- bash "$NOTIFY_BIN" \
465
- --hq-root "$HQ_ROOT" \
466
- --job-id "$job_id" \
467
- --job-name "$job_name" \
468
- --outcome "$outcome" \
469
- --summary "$summary" \
470
- --duration "$duration" \
471
- --log-path "$log_path" \
472
- --failure-class "$failure_class" \
473
- --next-action "$next_action" \
474
- --owner "$owner" \
475
- --notify "$notify_mode" \
476
- >>"$log_path" 2>&1
477
- local nrc=$?
478
- set -e
479
- if [ "$nrc" -ne 0 ]; then
480
- log "notify helper exited $nrc (ignored)"
481
- fi
482
- return 0
483
- }
484
-
485
- call_remediate() {
486
- local failure_class="$1" job_id="$2" company="$3"
487
- if [ ! -x "$REMEDIATE_BIN" ] && [ -f "$REMEDIATE_BIN" ]; then
488
- chmod +x "$REMEDIATE_BIN" 2>/dev/null || true
489
- fi
490
- if [ ! -f "$REMEDIATE_BIN" ]; then
491
- echo '{"retry_recommended":false,"attempted":false,"notes":"remediate missing"}'
492
- return 0
493
- fi
494
- local out
495
- set +e
496
- out="$(
497
- HQ_JOB_REMEDIATE_LOG="${LOG_FILE:-/dev/null}" \
498
- bash "$REMEDIATE_BIN" \
499
- --hq-root "$HQ_ROOT" \
500
- --failure-class "$failure_class" \
501
- --job-id "$job_id" \
502
- --company "$company" 2>>"${LOG_FILE:-/dev/null}"
503
- )"
504
- local rrc=$?
505
- set -e
506
- if [ "$rrc" -ne 0 ] || [ -z "$out" ]; then
507
- echo '{"retry_recommended":false,"attempted":false,"notes":"remediate failed"}'
508
- return 0
509
- fi
510
- printf '%s' "$out"
511
- }
512
-
513
- # --- resolve job ---
514
- JOB_FILE="$(resolve_job_file)"
515
- [ -f "$JOB_FILE" ] || die "job file missing: $JOB_FILE"
516
-
517
- JOB_ID="$(yq -r '.id // ""' "$JOB_FILE")"
518
- JOB_NAME="$(yq -r '.name // .id // ""' "$JOB_FILE")"
519
- RUNTIME="$(yq -r '.runtime // ""' "$JOB_FILE")"
520
- TIMEOUT_SEC="$(yq -r '.timeout_seconds // 600' "$JOB_FILE")"
521
- CWD_REL="$(yq -r '.cwd // .requirements.cwd // ""' "$JOB_FILE")"
522
- COMPANY="$(yq -r '.requirements.company // ""' "$JOB_FILE")"
523
- OWNER="$(yq -r '.owner // ""' "$JOB_FILE")"
524
- NOTIFY_MODE="$(yq -r '.notify // "profile"' "$JOB_FILE")"
525
- ENABLED="$(yq -o=json '.' "$JOB_FILE" | jq -r 'if has("enabled") then (.enabled|tostring) else "true" end')"
526
- # exec.surface overrides profile execution_surface; default headless.
527
- SURFACE="$(yq -r '.exec.surface // ""' "$JOB_FILE")"
528
- if [ -z "$SURFACE" ] || [ "$SURFACE" = "null" ]; then
529
- ALERTS_FILE="${HQ_JOB_ALERTS_FILE:-${HQ_ROOT}/personal/settings/schedule-alerts.yaml}"
530
- if [ -f "$ALERTS_FILE" ]; then
531
- SURFACE="$(yq -r '.execution_surface // ""' "$ALERTS_FILE" 2>/dev/null || true)"
532
- fi
533
- fi
534
- case "$SURFACE" in
535
- remote) SURFACE="remote" ;;
536
- *) SURFACE="headless" ;;
537
- esac
538
- # hq dm accepts personUid recipients; do not replace a job owner with this Outpost's identity.
539
-
540
- [ -n "$JOB_ID" ] && [ "$JOB_ID" != "null" ] || die "job missing id: $JOB_FILE"
541
- [ -n "$RUNTIME" ] && [ "$RUNTIME" != "null" ] || die "job missing runtime: $JOB_FILE"
542
- [ -n "$JOB_NAME" ] || JOB_NAME="$JOB_ID"
543
- [ -n "$NOTIFY_MODE" ] && [ "$NOTIFY_MODE" != "null" ] || NOTIFY_MODE="profile"
544
- case "$TIMEOUT_SEC" in
545
- ''|*[!0-9]*) TIMEOUT_SEC=600 ;;
546
- esac
547
- if [ "$TIMEOUT_SEC" -lt 60 ]; then TIMEOUT_SEC=60; fi
548
- if [ "$TIMEOUT_SEC" -gt 14400 ]; then TIMEOUT_SEC=14400; fi
549
-
550
- if [ "$ENABLED" = "false" ] || [ "$ENABLED" = "False" ] || [ "$ENABLED" = "0" ]; then
551
- log "skip job $JOB_ID — enabled=false"
552
- exit 0
553
- fi
554
-
555
- LOG_BASE="${HQ_JOB_LOG_DIR:-${HOME}/.hq/jobs/logs}"
556
- LOG_DIR="$LOG_BASE/$JOB_ID"
557
- mkdir -p "$LOG_DIR"
558
- LOCK_PATH="${HQ_JOB_LOCK:-${HOME}/.hq/jobs/run.lock}"
559
- mkdir -p "$(dirname "$LOCK_PATH")"
560
-
561
- FLOCK_BIN="${HQ_JOB_FLOCK_BIN:-}"
562
- if [ -z "$FLOCK_BIN" ]; then
563
- command -v flock >/dev/null 2>&1 || die "Outpost/Linux requires util-linux flock(1) for serialized job runs"
564
- FLOCK_BIN="$(command -v flock)"
565
- fi
566
- TIMEOUT_BIN="${HQ_JOB_TIMEOUT_BIN:-}"
567
- if [ -z "$TIMEOUT_BIN" ]; then
568
- if command -v timeout >/dev/null 2>&1; then
569
- TIMEOUT_BIN="timeout"
570
- elif command -v gtimeout >/dev/null 2>&1; then
571
- TIMEOUT_BIN="gtimeout"
572
- else
573
- TIMEOUT_BIN=""
574
- fi
575
- fi
576
-
577
- RUN_STAMP="$(date -u +%Y%m%dT%H%M%SZ 2>/dev/null || date +%Y%m%d%H%M%S)"
578
- LOG_FILE="$LOG_DIR/${RUN_STAMP}.log"
579
- STATUS_FILE="$LOG_DIR/${RUN_STAMP}.status"
580
-
581
- # Serialize all scheduled runs on this box.
582
- exec 9>"$LOCK_PATH"
583
- if ! "$FLOCK_BIN" -x 9; then
584
- die "failed to acquire global run lock: $LOCK_PATH"
585
- fi
586
-
587
- STARTED_AT="$(iso_now)"
588
- STARTED_EPOCH="$(epoch_now)"
589
- SKIP_REASON=""
590
- EXIT_CODE=0
591
-
592
- {
593
- echo "=== hq-job-run $JOB_ID ==="
594
- echo "started_at=$STARTED_AT"
595
- echo "runtime=$RUNTIME"
596
- echo "timeout_seconds=$TIMEOUT_SEC"
597
- echo "surface=$SURFACE"
598
- echo "job_file=$JOB_FILE"
599
- echo "hq_root=$HQ_ROOT"
600
- } >>"$LOG_FILE"
601
-
602
- AUTH_STATUS="$(check_runtime_auth "$RUNTIME" || true)"
603
- if [ "$AUTH_STATUS" != "ok" ]; then
604
- case "$AUTH_STATUS" in
605
- no_cli)
606
- SKIP_REASON="runtime CLI '$RUNTIME' not installed on PATH — skip (re-login/install on Outpost)"
607
- ;;
608
- missing)
609
- SKIP_REASON="runtime CLI '$RUNTIME' not authenticated on Outpost (cached credentials missing) — skip"
610
- ;;
611
- *)
612
- SKIP_REASON="unsupported or unknown runtime '$RUNTIME' — skip"
613
- ;;
614
- esac
615
- {
616
- echo "skip_reason=$SKIP_REASON"
617
- echo "auth_status=$AUTH_STATUS"
618
- echo "failure_class=auth"
619
- } >>"$LOG_FILE"
620
- log "$SKIP_REASON"
621
- ENDED_AT="$(iso_now)"
622
- ENDED_EPOCH="$(epoch_now)"
623
- DUR=$((ENDED_EPOCH - STARTED_EPOCH))
624
- [ "$DUR" -ge 0 ] || DUR=0
625
- printf 'exit=0\nskip_reason=%s\nfailure_class=auth\nstarted_at=%s\nended_at=%s\n' \
626
- "$SKIP_REASON" "$STARTED_AT" "$ENDED_AT" >"$STATUS_FILE"
627
- append_meter_marker "$JOB_ID" "$RUNTIME" "$STARTED_AT" "$ENDED_AT" 0 "$DUR" "$SKIP_REASON"
628
-
629
- # Bounded remediate: Cognito refresh only — never device-login loop.
630
- REM_OUT="$(call_remediate auth "$JOB_ID" "$COMPANY")"
631
- echo "remediate=$REM_OUT" >>"$LOG_FILE"
632
- NEXT_ACT="$(printf '%s' "$REM_OUT" | jq -r '.next_action // empty')"
633
- [ -n "$NEXT_ACT" ] || NEXT_ACT="$(next_action_for_class auth "$RUNTIME")"
634
- NA_JSON="$(jq -nc --arg a "$NEXT_ACT" 'if $a == "" then [] else [$a] end')"
635
- RUN_ID="run-${JOB_ID}-${RUN_STAMP}-authskip"
636
- ingest_run_status "$JOB_ID" "$ENDED_AT" "$RUN_ID" 1 "auth" "$NA_JSON"
637
- call_notify "$JOB_ID" "$JOB_NAME" "failed" "$SKIP_REASON" "$DUR" "$LOG_FILE" \
638
- "auth" "$NEXT_ACT" "$OWNER" "$NOTIFY_MODE"
639
- exit 0
640
- fi
641
-
642
- # Working directory — must resolve under HQ_ROOT (no absolute / no .. escape)
643
- RUN_CWD="$HQ_ROOT"
644
- if [ -n "$CWD_REL" ] && [ "$CWD_REL" != "null" ]; then
645
- case "$CWD_REL" in
646
- /*)
647
- SKIP_REASON="cwd absolute not allowed: $CWD_REL — skip"
648
- log "$SKIP_REASON"
649
- {
650
- echo "skip_reason=$SKIP_REASON"
651
- echo "failure_class=infra"
652
- } >>"$LOG_FILE"
653
- ENDED_AT="$(iso_now)"
654
- ENDED_EPOCH="$(epoch_now)"
655
- DUR=$((ENDED_EPOCH - STARTED_EPOCH))
656
- [ "$DUR" -ge 0 ] || DUR=0
657
- printf 'exit=0\nskip_reason=%s\nfailure_class=infra\nstarted_at=%s\nended_at=%s\n' \
658
- "$SKIP_REASON" "$STARTED_AT" "$ENDED_AT" >"$STATUS_FILE"
659
- append_meter_marker "$JOB_ID" "$RUNTIME" "$STARTED_AT" "$ENDED_AT" 0 "$DUR" "$SKIP_REASON"
660
- NEXT_ACT="fix job cwd to an HQ-root-relative path (no absolute, no '..')"
661
- NA_JSON="$(jq -nc --arg a "$NEXT_ACT" '[$a]')"
662
- RUN_ID="run-${JOB_ID}-${RUN_STAMP}-cwd"
663
- ingest_run_status "$JOB_ID" "$ENDED_AT" "$RUN_ID" 1 "infra" "$NA_JSON"
664
- call_notify "$JOB_ID" "$JOB_NAME" "blocked" "$SKIP_REASON" "$DUR" "$LOG_FILE" \
665
- "infra" "$NEXT_ACT" "$OWNER" "$NOTIFY_MODE"
666
- exit 0
667
- ;;
668
- esac
669
- _cwd_part=""
670
- _old_ifs="$IFS"
671
- IFS='/'
672
- # shellcheck disable=SC2086
673
- for _cwd_part in $CWD_REL; do
674
- if [ "$_cwd_part" = ".." ]; then
675
- IFS="$_old_ifs"
676
- SKIP_REASON="cwd contains '..': $CWD_REL — skip"
677
- log "$SKIP_REASON"
678
- {
679
- echo "skip_reason=$SKIP_REASON"
680
- echo "failure_class=infra"
681
- } >>"$LOG_FILE"
682
- ENDED_AT="$(iso_now)"
683
- ENDED_EPOCH="$(epoch_now)"
684
- DUR=$((ENDED_EPOCH - STARTED_EPOCH))
685
- [ "$DUR" -ge 0 ] || DUR=0
686
- printf 'exit=0\nskip_reason=%s\nfailure_class=infra\nstarted_at=%s\nended_at=%s\n' \
687
- "$SKIP_REASON" "$STARTED_AT" "$ENDED_AT" >"$STATUS_FILE"
688
- append_meter_marker "$JOB_ID" "$RUNTIME" "$STARTED_AT" "$ENDED_AT" 0 "$DUR" "$SKIP_REASON"
689
- NEXT_ACT="fix job cwd to an HQ-root-relative path without '..'"
690
- NA_JSON="$(jq -nc --arg a "$NEXT_ACT" '[$a]')"
691
- RUN_ID="run-${JOB_ID}-${RUN_STAMP}-cwd"
692
- ingest_run_status "$JOB_ID" "$ENDED_AT" "$RUN_ID" 1 "infra" "$NA_JSON"
693
- call_notify "$JOB_ID" "$JOB_NAME" "blocked" "$SKIP_REASON" "$DUR" "$LOG_FILE" \
694
- "infra" "$NEXT_ACT" "$OWNER" "$NOTIFY_MODE"
695
- exit 0
696
- fi
697
- done
698
- IFS="$_old_ifs"
699
- HQ_CANON="$(realpath -m "$HQ_ROOT" 2>/dev/null || realpath "$HQ_ROOT" 2>/dev/null || true)"
700
- RUN_CWD="$(realpath -m "$HQ_ROOT/$CWD_REL" 2>/dev/null || true)"
701
- if [ -z "$RUN_CWD" ] && [ -d "$HQ_ROOT/$CWD_REL" ]; then
702
- RUN_CWD="$(realpath "$HQ_ROOT/$CWD_REL" 2>/dev/null || true)"
703
- fi
704
- if [ -z "$HQ_CANON" ] || [ -z "$RUN_CWD" ]; then
705
- HQ_CANON="$(hq_normpath "$HQ_ROOT")"
706
- RUN_CWD="$(hq_normpath "$HQ_ROOT/$CWD_REL")"
707
- fi
708
- case "$RUN_CWD" in
709
- "$HQ_CANON"|"$HQ_CANON"/*) ;;
710
- *)
711
- SKIP_REASON="cwd escapes HQ_ROOT: $CWD_REL → $RUN_CWD — skip"
712
- log "$SKIP_REASON"
713
- {
714
- echo "skip_reason=$SKIP_REASON"
715
- echo "failure_class=infra"
716
- } >>"$LOG_FILE"
717
- ENDED_AT="$(iso_now)"
718
- ENDED_EPOCH="$(epoch_now)"
719
- DUR=$((ENDED_EPOCH - STARTED_EPOCH))
720
- [ "$DUR" -ge 0 ] || DUR=0
721
- printf 'exit=0\nskip_reason=%s\nfailure_class=infra\nstarted_at=%s\nended_at=%s\n' \
722
- "$SKIP_REASON" "$STARTED_AT" "$ENDED_AT" >"$STATUS_FILE"
723
- append_meter_marker "$JOB_ID" "$RUNTIME" "$STARTED_AT" "$ENDED_AT" 0 "$DUR" "$SKIP_REASON"
724
- NEXT_ACT="fix job cwd to stay under HQ root"
725
- NA_JSON="$(jq -nc --arg a "$NEXT_ACT" '[$a]')"
726
- RUN_ID="run-${JOB_ID}-${RUN_STAMP}-cwd"
727
- ingest_run_status "$JOB_ID" "$ENDED_AT" "$RUN_ID" 1 "infra" "$NA_JSON"
728
- call_notify "$JOB_ID" "$JOB_NAME" "blocked" "$SKIP_REASON" "$DUR" "$LOG_FILE" \
729
- "infra" "$NEXT_ACT" "$OWNER" "$NOTIFY_MODE"
730
- exit 0
731
- ;;
732
- esac
733
- fi
734
- if [ ! -d "$RUN_CWD" ]; then
735
- SKIP_REASON="cwd missing: $RUN_CWD — skip"
736
- log "$SKIP_REASON"
737
- {
738
- echo "skip_reason=$SKIP_REASON"
739
- echo "failure_class=infra"
740
- } >>"$LOG_FILE"
741
- ENDED_AT="$(iso_now)"
742
- ENDED_EPOCH="$(epoch_now)"
743
- DUR=$((ENDED_EPOCH - STARTED_EPOCH))
744
- [ "$DUR" -ge 0 ] || DUR=0
745
- printf 'exit=0\nskip_reason=%s\nfailure_class=infra\nstarted_at=%s\nended_at=%s\n' \
746
- "$SKIP_REASON" "$STARTED_AT" "$ENDED_AT" >"$STATUS_FILE"
747
- append_meter_marker "$JOB_ID" "$RUNTIME" "$STARTED_AT" "$ENDED_AT" 0 "$DUR" "$SKIP_REASON"
748
- NEXT_ACT="create missing cwd on Outpost: $RUN_CWD"
749
- NA_JSON="$(jq -nc --arg a "$NEXT_ACT" '[$a]')"
750
- RUN_ID="run-${JOB_ID}-${RUN_STAMP}-cwd"
751
- ingest_run_status "$JOB_ID" "$ENDED_AT" "$RUN_ID" 1 "infra" "$NA_JSON"
752
- call_notify "$JOB_ID" "$JOB_NAME" "blocked" "$SKIP_REASON" "$DUR" "$LOG_FILE" \
753
- "infra" "$NEXT_ACT" "$OWNER" "$NOTIFY_MODE"
754
- exit 0
755
- fi
756
-
757
- PROMPT_TEXT="$(build_prompt "$JOB_FILE")"
758
-
759
- # Build secret name list for hq secrets exec allowlist injection.
760
- SECRET_NAMES=()
761
- SECRET_COUNT="$(yq -r '.requirements.secrets // [] | length' "$JOB_FILE")"
762
- if [ "$SECRET_COUNT" != "null" ] && [ "${SECRET_COUNT:-0}" -gt 0 ] 2>/dev/null; then
763
- i=0
764
- while [ "$i" -lt "$SECRET_COUNT" ]; do
765
- sn="$(yq -r ".requirements.secrets[$i]" "$JOB_FILE")"
766
- i=$((i + 1))
767
- [ -n "$sn" ] && [ "$sn" != "null" ] || continue
768
- SECRET_NAMES+=("$sn")
769
- done
770
- fi
771
-
772
- # Claude remote surface: TTY + --remote-control so the run appears in Desktop.
773
- # Auto-dismisses known startup dialogs; copies pane output into LOG_FILE.
774
- # Launcher is a temp script (not nested shell quoting) to keep prompts/safe.
775
- run_claude_remote() {
776
- local cmd_rc=0
777
- if ! command -v tmux >/dev/null 2>&1; then
778
- echo "remote surface requested but tmux missing — falling back to headless" >>"$LOG_FILE"
779
- SURFACE="headless"
780
- return 99
781
- fi
782
- local sess="hq-job-${JOB_ID}-${RUN_STAMP}"
783
- local rc_name="schedule/${JOB_ID}"
784
- local deadline=$((TIMEOUT_SEC + 30))
785
- local i=0
786
- local pane=""
787
- local exit_file="$LOG_DIR/${RUN_STAMP}.remote-exit"
788
- local done_file="$LOG_DIR/${RUN_STAMP}.remote-done"
789
- local launcher="$LOG_DIR/${RUN_STAMP}.remote-launch.sh"
790
- # Completion is a sentinel file — not pane text (prompt instructions also
791
- # contain marker words and caused false early teardown).
792
- rm -f "$done_file"
793
- local remote_prompt
794
- remote_prompt="${PROMPT_TEXT}
795
-
796
- When ALL work above is fully finished (success or failure), create this exact empty file with a shell tool (and do not create it earlier):
797
- touch $(printf %q "$done_file")
798
- Then stop."
799
- echo "surface=remote remote_name=$rc_name tmux_session=$sess done_file=$done_file" >>"$LOG_FILE"
800
- {
801
- echo '#!/usr/bin/env bash'
802
- echo 'set -uo pipefail'
803
- printf 'cd %q\n' "$RUN_CWD"
804
- printf 'claude --remote-control %q --permission-mode bypassPermissions --dangerously-skip-permissions %q\n' "$rc_name" "$remote_prompt"
805
- echo 'rc=$?'
806
- printf 'echo EXIT=$rc > %q\n' "$exit_file"
807
- echo 'sleep 15'
808
- echo 'exit "$rc"'
809
- } >"$launcher"
810
- chmod 700 "$launcher"
811
- tmux kill-session -t "$sess" 2>/dev/null || true
812
- tmux new-session -d -s "$sess" -x 120 -y 40 "$launcher"
813
- while [ "$i" -lt "$deadline" ]; do
814
- sleep 2
815
- i=$((i + 2))
816
- pane="$(tmux capture-pane -t "$sess" -p -S -120 2>/dev/null || true)"
817
- # Startup / tool-permission dialogs (remote TTY can still prompt)
818
- if printf '%s\n' "$pane" | grep -q 'Yes, I accept'; then
819
- tmux send-keys -t "$sess" "2" Enter
820
- continue
821
- fi
822
- if printf '%s\n' "$pane" | grep -q 'Try the new fullscreen renderer'; then
823
- tmux send-keys -t "$sess" "2" Enter
824
- continue
825
- fi
826
- if printf '%s\n' "$pane" | grep -q 'Do you want to proceed'; then
827
- # "2" = Yes, and don't ask again for similar commands
828
- tmux send-keys -t "$sess" "2" Enter
829
- echo "auto-accepted tool permission prompt" >>"$LOG_FILE"
830
- continue
831
- fi
832
- if [ -f "$done_file" ]; then
833
- echo "remote done sentinel present" >>"$LOG_FILE"
834
- sleep 2
835
- pane="$(tmux capture-pane -t "$sess" -p -S -300 2>/dev/null || true)"
836
- cmd_rc=0
837
- break
838
- fi
839
- if [ -f "$exit_file" ]; then
840
- cmd_rc="$(tr -dc '0-9' <"$exit_file" | head -c 3)"
841
- [ -n "$cmd_rc" ] || cmd_rc=0
842
- break
843
- fi
844
- done
845
- if [ "$i" -ge "$deadline" ]; then
846
- echo "remote surface timed out after ${TIMEOUT_SEC}s" >>"$LOG_FILE"
847
- cmd_rc=124
848
- fi
849
- {
850
- echo "=== remote pane capture ==="
851
- tmux capture-pane -t "$sess" -p -S -300 2>/dev/null || true
852
- } >>"$LOG_FILE"
853
- # End the Remote Control process so Desktop moves schedule/<job-id> to Archived.
854
- echo "tearing down remote session ${rc_name} (review under Desktop Archived)" >>"$LOG_FILE"
855
- tmux kill-session -t "$sess" 2>/dev/null || true
856
- rm -f "$launcher"
857
- return "$cmd_rc"
858
- }
859
-
860
- run_agent() {
861
- local cmd_rc=0
862
- if [ "${HQ_JOB_RUN_SKIP_EXEC:-}" = "1" ]; then
863
- echo "(HQ_JOB_RUN_SKIP_EXEC=1 — not invoking runtime CLI)" >>"$LOG_FILE"
864
- return 0
865
- fi
866
-
867
- if [ "$RUNTIME" = "claude" ] && [ "$SURFACE" = "remote" ]; then
868
- set +e
869
- run_claude_remote
870
- cmd_rc=$?
871
- set -e
872
- if [ "$cmd_rc" -ne 99 ]; then
873
- return "$cmd_rc"
874
- fi
875
- # 99 = fall through to headless
876
- fi
877
- if [ "$RUNTIME" = "codex" ] && [ "$SURFACE" = "remote" ]; then
878
- echo "surface=remote ignored for codex — using headless" >>"$LOG_FILE"
879
- fi
880
-
881
- local -a agent_cmd
882
- case "$RUNTIME" in
883
- claude)
884
- agent_cmd=(claude -p "$PROMPT_TEXT" --output-format text --permission-mode bypassPermissions)
885
- ;;
886
- codex)
887
- # Spike-validated flags on codex-cli 0.147 (NOT --ask-for-approval never).
888
- agent_cmd=(codex exec -s workspace-write --skip-git-repo-check -C "$RUN_CWD" "$PROMPT_TEXT")
889
- ;;
890
- *)
891
- echo "unknown runtime: $RUNTIME" >>"$LOG_FILE"
892
- return 2
893
- ;;
894
- esac
895
-
896
- local -a wrap_cmd=()
897
- if [ -n "$TIMEOUT_BIN" ]; then
898
- wrap_cmd=("$TIMEOUT_BIN" --signal=TERM --kill-after=15s "${TIMEOUT_SEC}s")
899
- fi
900
-
901
- # Inject only confirmed requirements.secrets[] via hq secrets exec.
902
- # CLI shape: hq secrets [--company S|--personal] exec --only K1,K2 -- <cmd>
903
- if [ "${#SECRET_NAMES[@]}" -gt 0 ] && command -v hq >/dev/null 2>&1; then
904
- local only_csv=""
905
- local sn
906
- for sn in "${SECRET_NAMES[@]}"; do
907
- if [ -z "$only_csv" ]; then
908
- only_csv="$sn"
909
- else
910
- only_csv="${only_csv},${sn}"
911
- fi
912
- done
913
- local -a secrets_cmd=(hq secrets)
914
- if [ -n "$COMPANY" ] && [ "$COMPANY" != "null" ]; then
915
- secrets_cmd+=(--company "$COMPANY")
916
- else
917
- secrets_cmd+=(--personal)
918
- fi
919
- secrets_cmd+=(exec --only "$only_csv" --script "${BASH_SOURCE[0]}" --)
920
- (
921
- cd "$RUN_CWD"
922
- if [ "${#wrap_cmd[@]}" -gt 0 ]; then
923
- "${secrets_cmd[@]}" "${wrap_cmd[@]}" "${agent_cmd[@]}"
924
- else
925
- "${secrets_cmd[@]}" "${agent_cmd[@]}"
926
- fi
927
- ) >>"$LOG_FILE" 2>&1 || cmd_rc=$?
928
- else
929
- if [ "${#SECRET_NAMES[@]}" -gt 0 ]; then
930
- echo "warning: requirements.secrets set but hq CLI missing — running without secrets exec" >>"$LOG_FILE"
931
- fi
932
- (
933
- cd "$RUN_CWD"
934
- if [ "${#wrap_cmd[@]}" -gt 0 ]; then
935
- "${wrap_cmd[@]}" "${agent_cmd[@]}"
936
- else
937
- "${agent_cmd[@]}"
938
- fi
939
- ) >>"$LOG_FILE" 2>&1 || cmd_rc=$?
940
- fi
941
- return "$cmd_rc"
942
- }
943
-
944
- RETRIED=0
945
- FAILURE_CLASS=""
946
- NEXT_ACT=""
947
-
948
- set +e
949
- run_agent
950
- EXIT_CODE=$?
951
- set -e
952
-
953
- finalize_timestamps() {
954
- ENDED_AT="$(iso_now)"
955
- ENDED_EPOCH="$(epoch_now)"
956
- DUR=$((ENDED_EPOCH - STARTED_EPOCH))
957
- [ "$DUR" -ge 0 ] || DUR=0
958
- }
959
-
960
- if [ "$EXIT_CODE" -ne 0 ]; then
961
- FAILURE_CLASS="$(classify_failure "$EXIT_CODE" "$LOG_FILE" "")"
962
- echo "failure_class=$FAILURE_CLASS" >>"$LOG_FILE"
963
- REM_OUT="$(call_remediate "$FAILURE_CLASS" "$JOB_ID" "$COMPANY")"
964
- echo "remediate=$REM_OUT" >>"$LOG_FILE"
965
- NEXT_ACT="$(printf '%s' "$REM_OUT" | jq -r '.next_action // empty')"
966
- [ -n "$NEXT_ACT" ] || NEXT_ACT="$(next_action_for_class "$FAILURE_CLASS" "$RUNTIME")"
967
- RETRY_REC="$(printf '%s' "$REM_OUT" | jq -r '.retry_recommended // false')"
968
- if [ "$RETRY_REC" = "true" ] && [ "$RETRIED" -eq 0 ]; then
969
- RETRIED=1
970
- echo "remediate_retry=1" >>"$LOG_FILE"
971
- log "self-remediate recommended retry for $FAILURE_CLASS — retrying once"
972
- set +e
973
- run_agent
974
- EXIT_CODE=$?
975
- set -e
976
- if [ "$EXIT_CODE" -ne 0 ]; then
977
- FAILURE_CLASS="$(classify_failure "$EXIT_CODE" "$LOG_FILE" "")"
978
- echo "failure_class_after_retry=$FAILURE_CLASS" >>"$LOG_FILE"
979
- NEXT_ACT="$(next_action_for_class "$FAILURE_CLASS" "$RUNTIME")"
980
- else
981
- FAILURE_CLASS=""
982
- NEXT_ACT=""
983
- fi
984
- fi
985
- fi
986
-
987
- finalize_timestamps
988
-
989
- {
990
- echo "ended_at=$ENDED_AT"
991
- echo "exit=$EXIT_CODE"
992
- echo "duration_seconds=$DUR"
993
- echo "retried=$RETRIED"
994
- [ -n "$FAILURE_CLASS" ] && echo "failure_class=$FAILURE_CLASS"
995
- } >>"$LOG_FILE"
996
-
997
- printf 'exit=%s\nstarted_at=%s\nended_at=%s\nduration_seconds=%s\nfailure_class=%s\nretried=%s\n' \
998
- "$EXIT_CODE" "$STARTED_AT" "$ENDED_AT" "$DUR" "${FAILURE_CLASS:-}" "$RETRIED" >"$STATUS_FILE"
999
-
1000
- append_meter_marker "$JOB_ID" "$RUNTIME" "$STARTED_AT" "$ENDED_AT" "$EXIT_CODE" "$DUR" ""
1001
-
1002
- RUN_ID="run-${JOB_ID}-${RUN_STAMP}"
1003
- if [ "$EXIT_CODE" -eq 0 ]; then
1004
- NA_JSON='[]'
1005
- ingest_run_status "$JOB_ID" "$ENDED_AT" "$RUN_ID" 0 "null" "$NA_JSON"
1006
- SUMMARY="completed ok"
1007
- [ "$RETRIED" -eq 1 ] && SUMMARY="completed ok after self-remediation retry"
1008
- call_notify "$JOB_ID" "$JOB_NAME" "ok" "$SUMMARY" "$DUR" "$LOG_FILE" \
1009
- "" "" "$OWNER" "$NOTIFY_MODE"
1010
- log "job $JOB_ID completed ok (${DUR}s)"
1011
- exit 0
1012
- fi
1013
-
1014
- NA_JSON="$(jq -nc --arg a "$NEXT_ACT" 'if $a == "" then [] else [$a] end')"
1015
- # Cap last_exit to 0–255 for ingest; preserve real exit for process.
1016
- INGEST_EXIT="$EXIT_CODE"
1017
- if [ "$INGEST_EXIT" -lt 0 ]; then INGEST_EXIT=1; fi
1018
- if [ "$INGEST_EXIT" -gt 255 ]; then INGEST_EXIT=255; fi
1019
- ingest_run_status "$JOB_ID" "$ENDED_AT" "$RUN_ID" "$INGEST_EXIT" "$FAILURE_CLASS" "$NA_JSON"
1020
- SUMMARY="exit=$EXIT_CODE class=$FAILURE_CLASS"
1021
- call_notify "$JOB_ID" "$JOB_NAME" "failed" "$SUMMARY" "$DUR" "$LOG_FILE" \
1022
- "$FAILURE_CLASS" "$NEXT_ACT" "$OWNER" "$NOTIFY_MODE"
1023
-
1024
- log "job $JOB_ID failed exit=$EXIT_CODE class=$FAILURE_CLASS (${DUR}s) log=$LOG_FILE"
1025
- exit "$EXIT_CODE"