@lannguyensi/harness 0.64.0 → 1.0.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 (710) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/README.md +46 -42
  3. package/dist/cli/add/index.js +17 -21
  4. package/dist/cli/add/index.js.map +1 -1
  5. package/dist/cli/adopt/derive.d.ts +2 -2
  6. package/dist/cli/adopt/derive.js +2 -19
  7. package/dist/cli/adopt/derive.js.map +1 -1
  8. package/dist/cli/adopt/index.d.ts +1 -1
  9. package/dist/cli/adopt/index.js +1 -12
  10. package/dist/cli/adopt/index.js.map +1 -1
  11. package/dist/cli/apply/apply.d.ts +20 -35
  12. package/dist/cli/apply/apply.js +61 -136
  13. package/dist/cli/apply/apply.js.map +1 -1
  14. package/dist/cli/apply/generate-codex-config.js +10 -58
  15. package/dist/cli/apply/generate-codex-config.js.map +1 -1
  16. package/dist/cli/apply/generate-memory-index.js +1 -2
  17. package/dist/cli/apply/generate-memory-index.js.map +1 -1
  18. package/dist/cli/apply/generate-opencode-config.d.ts +2 -10
  19. package/dist/cli/apply/generate-opencode-config.js +74 -113
  20. package/dist/cli/apply/generate-opencode-config.js.map +1 -1
  21. package/dist/cli/apply/generate-settings.d.ts +11 -64
  22. package/dist/cli/apply/generate-settings.js +27 -132
  23. package/dist/cli/apply/generate-settings.js.map +1 -1
  24. package/dist/cli/apply/index.d.ts +1 -1
  25. package/dist/cli/apply/index.js +1 -1
  26. package/dist/cli/apply/index.js.map +1 -1
  27. package/dist/cli/apply/install-codex-config.d.ts +153 -1
  28. package/dist/cli/apply/install-codex-config.js +445 -70
  29. package/dist/cli/apply/install-codex-config.js.map +1 -1
  30. package/dist/cli/apply/next-steps.d.ts +7 -0
  31. package/dist/cli/apply/next-steps.js +13 -1
  32. package/dist/cli/apply/next-steps.js.map +1 -1
  33. package/dist/cli/bounded-stdin.d.ts +0 -23
  34. package/dist/cli/bounded-stdin.js +2 -49
  35. package/dist/cli/bounded-stdin.js.map +1 -1
  36. package/dist/cli/describe.d.ts +1 -1
  37. package/dist/cli/describe.js +0 -3
  38. package/dist/cli/describe.js.map +1 -1
  39. package/dist/cli/diff/engine.d.ts +0 -11
  40. package/dist/cli/diff/engine.js +1 -17
  41. package/dist/cli/diff/engine.js.map +1 -1
  42. package/dist/cli/diff/index.js +14 -25
  43. package/dist/cli/diff/index.js.map +1 -1
  44. package/dist/cli/doctor/claude-mcp.d.ts +4 -19
  45. package/dist/cli/doctor/claude-mcp.js +11 -22
  46. package/dist/cli/doctor/claude-mcp.js.map +1 -1
  47. package/dist/cli/doctor/codex.d.ts +12 -14
  48. package/dist/cli/doctor/codex.js +31 -144
  49. package/dist/cli/doctor/codex.js.map +1 -1
  50. package/dist/cli/doctor/format.js +23 -345
  51. package/dist/cli/doctor/format.js.map +1 -1
  52. package/dist/cli/doctor/hook-liveness.d.ts +56 -0
  53. package/dist/cli/doctor/hook-liveness.js +455 -0
  54. package/dist/cli/doctor/hook-liveness.js.map +1 -0
  55. package/dist/cli/doctor/index.d.ts +13 -87
  56. package/dist/cli/doctor/index.js +57 -713
  57. package/dist/cli/doctor/index.js.map +1 -1
  58. package/dist/cli/doctor/opencode.d.ts +2 -1
  59. package/dist/cli/doctor/opencode.js.map +1 -1
  60. package/dist/cli/doctor/types.d.ts +21 -387
  61. package/dist/cli/doctor/types.js.map +1 -1
  62. package/dist/cli/drain-stdio.d.ts +31 -0
  63. package/dist/cli/drain-stdio.js +76 -0
  64. package/dist/cli/drain-stdio.js.map +1 -0
  65. package/dist/cli/export.d.ts +3 -1
  66. package/dist/cli/export.js +7 -16
  67. package/dist/cli/export.js.map +1 -1
  68. package/dist/cli/gate/codex-disable.d.ts +29 -0
  69. package/dist/cli/gate/codex-disable.js +195 -0
  70. package/dist/cli/gate/codex-disable.js.map +1 -0
  71. package/dist/cli/gate/codex-enable.d.ts +41 -0
  72. package/dist/cli/gate/codex-enable.js +127 -0
  73. package/dist/cli/gate/codex-enable.js.map +1 -0
  74. package/dist/cli/gate/codex-snapshot.d.ts +208 -0
  75. package/dist/cli/gate/codex-snapshot.js +402 -0
  76. package/dist/cli/gate/codex-snapshot.js.map +1 -0
  77. package/dist/cli/gate/disable.d.ts +9 -0
  78. package/dist/cli/gate/disable.js +263 -28
  79. package/dist/cli/gate/disable.js.map +1 -1
  80. package/dist/cli/gate/enable.d.ts +26 -6
  81. package/dist/cli/gate/enable.js +152 -80
  82. package/dist/cli/gate/enable.js.map +1 -1
  83. package/dist/cli/gate/link-chain.d.ts +53 -0
  84. package/dist/cli/gate/link-chain.js +122 -0
  85. package/dist/cli/gate/link-chain.js.map +1 -0
  86. package/dist/cli/gate/snapshot.d.ts +289 -12
  87. package/dist/cli/gate/snapshot.js +481 -22
  88. package/dist/cli/gate/snapshot.js.map +1 -1
  89. package/dist/cli/index.d.ts +0 -9
  90. package/dist/cli/index.js +9 -2131
  91. package/dist/cli/index.js.map +1 -1
  92. package/dist/cli/init/composer.d.ts +3 -6
  93. package/dist/cli/init/composer.js +6 -370
  94. package/dist/cli/init/composer.js.map +1 -1
  95. package/dist/cli/init/dependencies.d.ts +1 -2
  96. package/dist/cli/init/dependencies.js +4 -80
  97. package/dist/cli/init/dependencies.js.map +1 -1
  98. package/dist/cli/init/detect.js +5 -4
  99. package/dist/cli/init/detect.js.map +1 -1
  100. package/dist/cli/init/interactive.d.ts +1 -23
  101. package/dist/cli/init/interactive.js +33 -247
  102. package/dist/cli/init/interactive.js.map +1 -1
  103. package/dist/cli/init/profiles.d.ts +2 -2
  104. package/dist/cli/init/profiles.js +51 -245
  105. package/dist/cli/init/profiles.js.map +1 -1
  106. package/dist/cli/init/templates.d.ts +2 -37
  107. package/dist/cli/init/templates.js +25 -1237
  108. package/dist/cli/init/templates.js.map +1 -1
  109. package/dist/cli/list.d.ts +1 -1
  110. package/dist/cli/list.js +1 -38
  111. package/dist/cli/list.js.map +1 -1
  112. package/dist/cli/loader.d.ts +15 -1
  113. package/dist/cli/loader.js +56 -39
  114. package/dist/cli/loader.js.map +1 -1
  115. package/dist/cli/main.js +7 -2
  116. package/dist/cli/main.js.map +1 -1
  117. package/dist/cli/migrate-home/index.js +2 -2
  118. package/dist/cli/migrate-home/index.js.map +1 -1
  119. package/dist/cli/pack/add.js +1 -1
  120. package/dist/cli/pack/add.js.map +1 -1
  121. package/dist/cli/pack/hook-bootstrap.d.ts +5 -164
  122. package/dist/cli/pack/hook-bootstrap.js +15 -291
  123. package/dist/cli/pack/hook-bootstrap.js.map +1 -1
  124. package/dist/cli/pack/hook-branch-protection.d.ts +28 -21
  125. package/dist/cli/pack/hook-branch-protection.js +365 -340
  126. package/dist/cli/pack/hook-branch-protection.js.map +1 -1
  127. package/dist/cli/pack/index.d.ts +0 -1
  128. package/dist/cli/pack/index.js +0 -1
  129. package/dist/cli/pack/index.js.map +1 -1
  130. package/dist/cli/pack/list.js +1 -6
  131. package/dist/cli/pack/list.js.map +1 -1
  132. package/dist/cli/pack/mutate.d.ts +7 -9
  133. package/dist/cli/pack/mutate.js +6 -9
  134. package/dist/cli/pack/mutate.js.map +1 -1
  135. package/dist/cli/pack/reseed.d.ts +2 -2
  136. package/dist/cli/pack/reseed.js +16 -22
  137. package/dist/cli/pack/reseed.js.map +1 -1
  138. package/dist/cli/{delegate/register.d.ts → register-gate-group.d.ts} +1 -1
  139. package/dist/cli/register-gate-group.js +348 -0
  140. package/dist/cli/register-gate-group.js.map +1 -0
  141. package/dist/cli/register-inspect-group.d.ts +6 -0
  142. package/dist/cli/register-inspect-group.js +189 -0
  143. package/dist/cli/register-inspect-group.js.map +1 -0
  144. package/dist/cli/register-operator-lifecycle.d.ts +1 -1
  145. package/dist/cli/register-operator-lifecycle.js +3 -100
  146. package/dist/cli/register-operator-lifecycle.js.map +1 -1
  147. package/dist/cli/register-pack-group.d.ts +5 -0
  148. package/dist/cli/register-pack-group.js +134 -0
  149. package/dist/cli/register-pack-group.js.map +1 -0
  150. package/dist/cli/{register-audit-group.d.ts → register-setup-group.d.ts} +1 -1
  151. package/dist/cli/register-setup-group.js +495 -0
  152. package/dist/cli/register-setup-group.js.map +1 -0
  153. package/dist/cli/remove/index.d.ts +0 -14
  154. package/dist/cli/remove/index.js +2 -115
  155. package/dist/cli/remove/index.js.map +1 -1
  156. package/dist/cli/remove/mutate.d.ts +0 -2
  157. package/dist/cli/remove/mutate.js +1 -19
  158. package/dist/cli/remove/mutate.js.map +1 -1
  159. package/dist/cli/remove/register.js +2 -19
  160. package/dist/cli/remove/register.js.map +1 -1
  161. package/dist/cli/shell-quote.d.ts +7 -0
  162. package/dist/cli/shell-quote.js +17 -0
  163. package/dist/cli/shell-quote.js.map +1 -0
  164. package/dist/cli/uninstall/index.d.ts +4 -2
  165. package/dist/cli/uninstall/index.js +15 -7
  166. package/dist/cli/uninstall/index.js.map +1 -1
  167. package/dist/cli/uninstall/register.js +6 -4
  168. package/dist/cli/uninstall/register.js.map +1 -1
  169. package/dist/cli/uninstall/snapshot.d.ts +15 -0
  170. package/dist/cli/uninstall/snapshot.js +38 -0
  171. package/dist/cli/uninstall/snapshot.js.map +1 -1
  172. package/dist/cli/validate/checks.d.ts +0 -77
  173. package/dist/cli/validate/checks.js +3 -1049
  174. package/dist/cli/validate/checks.js.map +1 -1
  175. package/dist/cli/validate/index.js +19 -15
  176. package/dist/cli/validate/index.js.map +1 -1
  177. package/dist/index.d.ts +0 -3
  178. package/dist/index.js +0 -3
  179. package/dist/index.js.map +1 -1
  180. package/dist/io/claude-mcp.d.ts +1 -1
  181. package/dist/io/claude-mcp.js +27 -14
  182. package/dist/io/claude-mcp.js.map +1 -1
  183. package/dist/io/harness-lock.js +2 -2
  184. package/dist/io/harness-lock.js.map +1 -1
  185. package/dist/io/lock.d.ts +0 -26
  186. package/dist/io/lock.js +10 -27
  187. package/dist/io/lock.js.map +1 -1
  188. package/dist/io/merge-settings.js +6 -4
  189. package/dist/io/merge-settings.js.map +1 -1
  190. package/dist/io/project-name.d.ts +22 -39
  191. package/dist/io/project-name.js +25 -42
  192. package/dist/io/project-name.js.map +1 -1
  193. package/dist/io/read-regular-file.d.ts +103 -40
  194. package/dist/io/read-regular-file.js +196 -35
  195. package/dist/io/read-regular-file.js.map +1 -1
  196. package/dist/io/restart-hints.js +3 -6
  197. package/dist/io/restart-hints.js.map +1 -1
  198. package/dist/io/version-compare.d.ts +1 -3
  199. package/dist/io/version-compare.js +1 -3
  200. package/dist/io/version-compare.js.map +1 -1
  201. package/dist/io/write-regular-file.d.ts +30 -0
  202. package/dist/io/write-regular-file.js +85 -0
  203. package/dist/io/write-regular-file.js.map +1 -0
  204. package/dist/overrides/index.d.ts +1 -0
  205. package/dist/overrides/index.js +1 -0
  206. package/dist/overrides/index.js.map +1 -1
  207. package/dist/overrides/merge-layers.d.ts +43 -0
  208. package/dist/overrides/merge-layers.js +76 -0
  209. package/dist/overrides/merge-layers.js.map +1 -0
  210. package/dist/overrides/merge.d.ts +16 -0
  211. package/dist/overrides/merge.js +21 -8
  212. package/dist/overrides/merge.js.map +1 -1
  213. package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +4 -69
  214. package/dist/policy-packs/builtin/branch-protection-runtime.js +12 -84
  215. package/dist/policy-packs/builtin/branch-protection-runtime.js.map +1 -1
  216. package/dist/policy-packs/builtin/branch-protection.d.ts +7 -30
  217. package/dist/policy-packs/builtin/branch-protection.js +56 -89
  218. package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
  219. package/dist/policy-packs/config-check.d.ts +7 -5
  220. package/dist/policy-packs/config-check.js +2 -2
  221. package/dist/policy-packs/config-check.js.map +1 -1
  222. package/dist/policy-packs/expand.d.ts +1 -3
  223. package/dist/policy-packs/expand.js +5 -42
  224. package/dist/policy-packs/expand.js.map +1 -1
  225. package/dist/policy-packs/index.d.ts +3 -3
  226. package/dist/policy-packs/index.js +2 -2
  227. package/dist/policy-packs/index.js.map +1 -1
  228. package/dist/policy-packs/registry.d.ts +9 -38
  229. package/dist/policy-packs/registry.js +5 -65
  230. package/dist/policy-packs/registry.js.map +1 -1
  231. package/dist/policy-packs/runtime.d.ts +0 -4
  232. package/dist/policy-packs/runtime.js +9 -22
  233. package/dist/policy-packs/runtime.js.map +1 -1
  234. package/dist/policy-packs/types.d.ts +0 -19
  235. package/dist/policy-packs/ux-compare.d.ts +1 -11
  236. package/dist/policy-packs/ux-compare.js +6 -42
  237. package/dist/policy-packs/ux-compare.js.map +1 -1
  238. package/dist/policy-packs/ux-drift-check.d.ts +5 -5
  239. package/dist/policy-packs/ux-drift-check.js +17 -22
  240. package/dist/policy-packs/ux-drift-check.js.map +1 -1
  241. package/dist/policy-packs/version-check.d.ts +5 -26
  242. package/dist/policy-packs/version-check.js +19 -74
  243. package/dist/policy-packs/version-check.js.map +1 -1
  244. package/dist/probes/memory.d.ts +1 -1
  245. package/dist/probes/memory.js +1 -1
  246. package/dist/probes/memory.js.map +1 -1
  247. package/dist/runtime/agent-facing.d.ts +9 -0
  248. package/dist/runtime/agent-facing.js +28 -14
  249. package/dist/runtime/agent-facing.js.map +1 -1
  250. package/dist/runtime/bounded-text.d.ts +15 -0
  251. package/dist/runtime/bounded-text.js +27 -0
  252. package/dist/runtime/bounded-text.js.map +1 -0
  253. package/dist/runtime/git-branch.d.ts +125 -0
  254. package/dist/runtime/git-branch.js +381 -0
  255. package/dist/runtime/git-branch.js.map +1 -0
  256. package/dist/runtime/hermetic-spawn-guard.d.ts +2 -2
  257. package/dist/runtime/hermetic-spawn-guard.js +24 -34
  258. package/dist/runtime/hermetic-spawn-guard.js.map +1 -1
  259. package/dist/runtime/home-dir.js +3 -2
  260. package/dist/runtime/home-dir.js.map +1 -1
  261. package/dist/runtime/tool-name-aliases.d.ts +0 -6
  262. package/dist/runtime/tool-name-aliases.js +5 -18
  263. package/dist/runtime/tool-name-aliases.js.map +1 -1
  264. package/dist/schema/grounding.d.ts +7 -54
  265. package/dist/schema/grounding.js +10 -12
  266. package/dist/schema/grounding.js.map +1 -1
  267. package/dist/schema/hooks.d.ts +39 -136
  268. package/dist/schema/hooks.js +3 -6
  269. package/dist/schema/hooks.js.map +1 -1
  270. package/dist/schema/index.d.ts +114 -3828
  271. package/dist/schema/index.js +41 -80
  272. package/dist/schema/index.js.map +1 -1
  273. package/dist/schema/memory.d.ts +54 -131
  274. package/dist/schema/memory.js +2 -2
  275. package/dist/schema/memory.js.map +1 -1
  276. package/dist/schema/policy-packs.d.ts +3 -45
  277. package/dist/schema/policy-packs.js +7 -13
  278. package/dist/schema/policy-packs.js.map +1 -1
  279. package/dist/schema/policy-ux.d.ts +7 -0
  280. package/dist/schema/policy-ux.js +18 -0
  281. package/dist/schema/policy-ux.js.map +1 -0
  282. package/dist/schema/removed-keys.d.ts +185 -0
  283. package/dist/schema/removed-keys.js +531 -0
  284. package/dist/schema/removed-keys.js.map +1 -0
  285. package/dist/schema/tools.d.ts +30 -268
  286. package/dist/schema/tools.js +4 -4
  287. package/dist/schema/tools.js.map +1 -1
  288. package/package.json +5 -16
  289. package/dist/cli/approve/branch-protection.d.ts +0 -69
  290. package/dist/cli/approve/branch-protection.js +0 -144
  291. package/dist/cli/approve/branch-protection.js.map +0 -1
  292. package/dist/cli/approve/risk.d.ts +0 -112
  293. package/dist/cli/approve/risk.js +0 -197
  294. package/dist/cli/approve/risk.js.map +0 -1
  295. package/dist/cli/approve/stdin-report.d.ts +0 -57
  296. package/dist/cli/approve/stdin-report.js +0 -145
  297. package/dist/cli/approve/stdin-report.js.map +0 -1
  298. package/dist/cli/approve/understanding.d.ts +0 -410
  299. package/dist/cli/approve/understanding.js +0 -996
  300. package/dist/cli/approve/understanding.js.map +0 -1
  301. package/dist/cli/audit.d.ts +0 -80
  302. package/dist/cli/audit.js +0 -252
  303. package/dist/cli/audit.js.map +0 -1
  304. package/dist/cli/delegate/index.d.ts +0 -76
  305. package/dist/cli/delegate/index.js +0 -444
  306. package/dist/cli/delegate/index.js.map +0 -1
  307. package/dist/cli/delegate/register.js +0 -90
  308. package/dist/cli/delegate/register.js.map +0 -1
  309. package/dist/cli/doctor/auto-approve-mode.d.ts +0 -37
  310. package/dist/cli/doctor/auto-approve-mode.js +0 -80
  311. package/dist/cli/doctor/auto-approve-mode.js.map +0 -1
  312. package/dist/cli/doctor/bypass-without-auto-approve.d.ts +0 -38
  313. package/dist/cli/doctor/bypass-without-auto-approve.js +0 -95
  314. package/dist/cli/doctor/bypass-without-auto-approve.js.map +0 -1
  315. package/dist/cli/doctor/codex-config-drift.d.ts +0 -28
  316. package/dist/cli/doctor/codex-config-drift.js +0 -240
  317. package/dist/cli/doctor/codex-config-drift.js.map +0 -1
  318. package/dist/cli/doctor/expire-on-tool-match.d.ts +0 -15
  319. package/dist/cli/doctor/expire-on-tool-match.js +0 -58
  320. package/dist/cli/doctor/expire-on-tool-match.js.map +0 -1
  321. package/dist/cli/doctor/rogue-ledger.d.ts +0 -53
  322. package/dist/cli/doctor/rogue-ledger.js +0 -153
  323. package/dist/cli/doctor/rogue-ledger.js.map +0 -1
  324. package/dist/cli/doctor/session-start-preflight-setup-version.d.ts +0 -83
  325. package/dist/cli/doctor/session-start-preflight-setup-version.js +0 -114
  326. package/dist/cli/doctor/session-start-preflight-setup-version.js.map +0 -1
  327. package/dist/cli/doctor/settings-drift.d.ts +0 -25
  328. package/dist/cli/doctor/settings-drift.js +0 -213
  329. package/dist/cli/doctor/settings-drift.js.map +0 -1
  330. package/dist/cli/doctor/toolchain-parity.d.ts +0 -63
  331. package/dist/cli/doctor/toolchain-parity.js +0 -154
  332. package/dist/cli/doctor/toolchain-parity.js.map +0 -1
  333. package/dist/cli/doctor/ug-auto-approvals.d.ts +0 -40
  334. package/dist/cli/doctor/ug-auto-approvals.js +0 -91
  335. package/dist/cli/doctor/ug-auto-approvals.js.map +0 -1
  336. package/dist/cli/doctor/ug-delegations.d.ts +0 -26
  337. package/dist/cli/doctor/ug-delegations.js +0 -121
  338. package/dist/cli/doctor/ug-delegations.js.map +0 -1
  339. package/dist/cli/doctor/ug-inflight.d.ts +0 -35
  340. package/dist/cli/doctor/ug-inflight.js +0 -57
  341. package/dist/cli/doctor/ug-inflight.js.map +0 -1
  342. package/dist/cli/doctor/understanding-mode-env.d.ts +0 -51
  343. package/dist/cli/doctor/understanding-mode-env.js +0 -98
  344. package/dist/cli/doctor/understanding-mode-env.js.map +0 -1
  345. package/dist/cli/dry-run.d.ts +0 -58
  346. package/dist/cli/dry-run.js +0 -283
  347. package/dist/cli/dry-run.js.map +0 -1
  348. package/dist/cli/enriched-event.d.ts +0 -35
  349. package/dist/cli/enriched-event.js +0 -60
  350. package/dist/cli/enriched-event.js.map +0 -1
  351. package/dist/cli/event-input.d.ts +0 -28
  352. package/dist/cli/event-input.js +0 -73
  353. package/dist/cli/event-input.js.map +0 -1
  354. package/dist/cli/explain-action.d.ts +0 -25
  355. package/dist/cli/explain-action.js +0 -57
  356. package/dist/cli/explain-action.js.map +0 -1
  357. package/dist/cli/explain-policy.d.ts +0 -147
  358. package/dist/cli/explain-policy.js +0 -248
  359. package/dist/cli/explain-policy.js.map +0 -1
  360. package/dist/cli/explain.d.ts +0 -31
  361. package/dist/cli/explain.js +0 -159
  362. package/dist/cli/explain.js.map +0 -1
  363. package/dist/cli/gc/index.d.ts +0 -63
  364. package/dist/cli/gc/index.js +0 -566
  365. package/dist/cli/gc/index.js.map +0 -1
  366. package/dist/cli/pack/approve-escape.d.ts +0 -19
  367. package/dist/cli/pack/approve-escape.js +0 -190
  368. package/dist/cli/pack/approve-escape.js.map +0 -1
  369. package/dist/cli/pack/auto-approve-path.d.ts +0 -146
  370. package/dist/cli/pack/auto-approve-path.js +0 -462
  371. package/dist/cli/pack/auto-approve-path.js.map +0 -1
  372. package/dist/cli/pack/hook-codex-post-tool-use.d.ts +0 -25
  373. package/dist/cli/pack/hook-codex-post-tool-use.js +0 -160
  374. package/dist/cli/pack/hook-codex-post-tool-use.js.map +0 -1
  375. package/dist/cli/pack/hook-codex-pre-tool-use.d.ts +0 -48
  376. package/dist/cli/pack/hook-codex-pre-tool-use.js +0 -474
  377. package/dist/cli/pack/hook-codex-pre-tool-use.js.map +0 -1
  378. package/dist/cli/pack/hook-codex-stop.d.ts +0 -35
  379. package/dist/cli/pack/hook-codex-stop.js +0 -329
  380. package/dist/cli/pack/hook-codex-stop.js.map +0 -1
  381. package/dist/cli/pack/hook-codex-user-prompt-submit.d.ts +0 -24
  382. package/dist/cli/pack/hook-codex-user-prompt-submit.js +0 -93
  383. package/dist/cli/pack/hook-codex-user-prompt-submit.js.map +0 -1
  384. package/dist/cli/pack/hook-post-merge-gate-record.d.ts +0 -37
  385. package/dist/cli/pack/hook-post-merge-gate-record.js +0 -190
  386. package/dist/cli/pack/hook-post-merge-gate-record.js.map +0 -1
  387. package/dist/cli/pack/hook-post-merge-gate.d.ts +0 -34
  388. package/dist/cli/pack/hook-post-merge-gate.js +0 -277
  389. package/dist/cli/pack/hook-post-merge-gate.js.map +0 -1
  390. package/dist/cli/pack/hook-post-tool-use.d.ts +0 -45
  391. package/dist/cli/pack/hook-post-tool-use.js +0 -137
  392. package/dist/cli/pack/hook-post-tool-use.js.map +0 -1
  393. package/dist/cli/pack/hook-pre-tool-use.d.ts +0 -92
  394. package/dist/cli/pack/hook-pre-tool-use.js +0 -1328
  395. package/dist/cli/pack/hook-pre-tool-use.js.map +0 -1
  396. package/dist/cli/pack/hook-runtime-reality.d.ts +0 -63
  397. package/dist/cli/pack/hook-runtime-reality.js +0 -210
  398. package/dist/cli/pack/hook-runtime-reality.js.map +0 -1
  399. package/dist/cli/pack/hook-solution-acceptance-writeguard.d.ts +0 -32
  400. package/dist/cli/pack/hook-solution-acceptance-writeguard.js +0 -438
  401. package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +0 -1
  402. package/dist/cli/pack/hook-solution-acceptance.d.ts +0 -157
  403. package/dist/cli/pack/hook-solution-acceptance.js +0 -530
  404. package/dist/cli/pack/hook-solution-acceptance.js.map +0 -1
  405. package/dist/cli/pack/hook-stay-in-scope.d.ts +0 -37
  406. package/dist/cli/pack/hook-stay-in-scope.js +0 -128
  407. package/dist/cli/pack/hook-stay-in-scope.js.map +0 -1
  408. package/dist/cli/pack/hook-subagent-start.d.ts +0 -23
  409. package/dist/cli/pack/hook-subagent-start.js +0 -88
  410. package/dist/cli/pack/hook-subagent-start.js.map +0 -1
  411. package/dist/cli/pack/hook-subagent-stop.d.ts +0 -19
  412. package/dist/cli/pack/hook-subagent-stop.js +0 -41
  413. package/dist/cli/pack/hook-subagent-stop.js.map +0 -1
  414. package/dist/cli/pack/hook-track-active-claim.d.ts +0 -27
  415. package/dist/cli/pack/hook-track-active-claim.js +0 -275
  416. package/dist/cli/pack/hook-track-active-claim.js.map +0 -1
  417. package/dist/cli/pack/transcript-report-scan.d.ts +0 -71
  418. package/dist/cli/pack/transcript-report-scan.js +0 -359
  419. package/dist/cli/pack/transcript-report-scan.js.map +0 -1
  420. package/dist/cli/pack/understanding-report-schema-hint.d.ts +0 -26
  421. package/dist/cli/pack/understanding-report-schema-hint.js +0 -120
  422. package/dist/cli/pack/understanding-report-schema-hint.js.map +0 -1
  423. package/dist/cli/pack/upgrade.d.ts +0 -32
  424. package/dist/cli/pack/upgrade.js +0 -273
  425. package/dist/cli/pack/upgrade.js.map +0 -1
  426. package/dist/cli/pause/index.d.ts +0 -113
  427. package/dist/cli/pause/index.js +0 -251
  428. package/dist/cli/pause/index.js.map +0 -1
  429. package/dist/cli/pause-check.d.ts +0 -22
  430. package/dist/cli/pause-check.js +0 -54
  431. package/dist/cli/pause-check.js.map +0 -1
  432. package/dist/cli/policy/intercept.d.ts +0 -233
  433. package/dist/cli/policy/intercept.js +0 -1022
  434. package/dist/cli/policy/intercept.js.map +0 -1
  435. package/dist/cli/policy/risk-envelope-enrichment.d.ts +0 -40
  436. package/dist/cli/policy/risk-envelope-enrichment.js +0 -110
  437. package/dist/cli/policy/risk-envelope-enrichment.js.map +0 -1
  438. package/dist/cli/record/index.d.ts +0 -81
  439. package/dist/cli/record/index.js +0 -348
  440. package/dist/cli/record/index.js.map +0 -1
  441. package/dist/cli/register-audit-group.js +0 -91
  442. package/dist/cli/register-audit-group.js.map +0 -1
  443. package/dist/cli/resolve-env.d.ts +0 -32
  444. package/dist/cli/resolve-env.js +0 -46
  445. package/dist/cli/resolve-env.js.map +0 -1
  446. package/dist/cli/session-export/index.d.ts +0 -46
  447. package/dist/cli/session-export/index.js +0 -169
  448. package/dist/cli/session-export/index.js.map +0 -1
  449. package/dist/cli/session-export/redact.d.ts +0 -22
  450. package/dist/cli/session-export/redact.js +0 -47
  451. package/dist/cli/session-export/redact.js.map +0 -1
  452. package/dist/cli/session-export/transcript.d.ts +0 -24
  453. package/dist/cli/session-export/transcript.js +0 -164
  454. package/dist/cli/session-export/transcript.js.map +0 -1
  455. package/dist/cli/session-start/branch-check.d.ts +0 -18
  456. package/dist/cli/session-start/branch-check.js +0 -140
  457. package/dist/cli/session-start/branch-check.js.map +0 -1
  458. package/dist/cli/session-start/index.d.ts +0 -121
  459. package/dist/cli/session-start/index.js +0 -591
  460. package/dist/cli/session-start/index.js.map +0 -1
  461. package/dist/cli/session-start/shared-options.d.ts +0 -103
  462. package/dist/cli/session-start/shared-options.js +0 -107
  463. package/dist/cli/session-start/shared-options.js.map +0 -1
  464. package/dist/cli/session-start/stale-base-check.d.ts +0 -46
  465. package/dist/cli/session-start/stale-base-check.js +0 -352
  466. package/dist/cli/session-start/stale-base-check.js.map +0 -1
  467. package/dist/cli/session-start/toolchain-parity.d.ts +0 -267
  468. package/dist/cli/session-start/toolchain-parity.js +0 -797
  469. package/dist/cli/session-start/toolchain-parity.js.map +0 -1
  470. package/dist/cli/smoke/assertions.d.ts +0 -46
  471. package/dist/cli/smoke/assertions.js +0 -170
  472. package/dist/cli/smoke/assertions.js.map +0 -1
  473. package/dist/cli/smoke/index.d.ts +0 -76
  474. package/dist/cli/smoke/index.js +0 -245
  475. package/dist/cli/smoke/index.js.map +0 -1
  476. package/dist/cli/smoke/runner.d.ts +0 -55
  477. package/dist/cli/smoke/runner.js +0 -134
  478. package/dist/cli/smoke/runner.js.map +0 -1
  479. package/dist/cli/smoke/stream-parser.d.ts +0 -65
  480. package/dist/cli/smoke/stream-parser.js +0 -115
  481. package/dist/cli/smoke/stream-parser.js.map +0 -1
  482. package/dist/cli/test-risk.d.ts +0 -27
  483. package/dist/cli/test-risk.js +0 -38
  484. package/dist/cli/test-risk.js.map +0 -1
  485. package/dist/io/display-path.d.ts +0 -11
  486. package/dist/io/display-path.js +0 -29
  487. package/dist/io/display-path.js.map +0 -1
  488. package/dist/io/duration.d.ts +0 -5
  489. package/dist/io/duration.js +0 -50
  490. package/dist/io/duration.js.map +0 -1
  491. package/dist/io/extract.d.ts +0 -79
  492. package/dist/io/extract.js +0 -226
  493. package/dist/io/extract.js.map +0 -1
  494. package/dist/io/ledger-record.d.ts +0 -83
  495. package/dist/io/ledger-record.js +0 -301
  496. package/dist/io/ledger-record.js.map +0 -1
  497. package/dist/io/read-json-dir-entries.d.ts +0 -36
  498. package/dist/io/read-json-dir-entries.js +0 -48
  499. package/dist/io/read-json-dir-entries.js.map +0 -1
  500. package/dist/io/safe-json-parse.d.ts +0 -5
  501. package/dist/io/safe-json-parse.js +0 -21
  502. package/dist/io/safe-json-parse.js.map +0 -1
  503. package/dist/policies/index.d.ts +0 -5
  504. package/dist/policies/index.js +0 -6
  505. package/dist/policies/index.js.map +0 -1
  506. package/dist/policies/ledger-client.d.ts +0 -113
  507. package/dist/policies/ledger-client.js +0 -500
  508. package/dist/policies/ledger-client.js.map +0 -1
  509. package/dist/policies/producers.d.ts +0 -12
  510. package/dist/policies/producers.js +0 -61
  511. package/dist/policies/producers.js.map +0 -1
  512. package/dist/policies/requires.d.ts +0 -75
  513. package/dist/policies/requires.js +0 -240
  514. package/dist/policies/requires.js.map +0 -1
  515. package/dist/policies/timestamp.d.ts +0 -14
  516. package/dist/policies/timestamp.js +0 -36
  517. package/dist/policies/timestamp.js.map +0 -1
  518. package/dist/policy-packs/builtin/permission-profiles.d.ts +0 -11
  519. package/dist/policy-packs/builtin/permission-profiles.js +0 -74
  520. package/dist/policy-packs/builtin/permission-profiles.js.map +0 -1
  521. package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +0 -286
  522. package/dist/policy-packs/builtin/post-merge-gate-runtime.js +0 -397
  523. package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +0 -1
  524. package/dist/policy-packs/builtin/post-merge-gate.d.ts +0 -56
  525. package/dist/policy-packs/builtin/post-merge-gate.js +0 -347
  526. package/dist/policy-packs/builtin/post-merge-gate.js.map +0 -1
  527. package/dist/policy-packs/builtin/solution-acceptance-reconnect.d.ts +0 -50
  528. package/dist/policy-packs/builtin/solution-acceptance-reconnect.js +0 -151
  529. package/dist/policy-packs/builtin/solution-acceptance-reconnect.js.map +0 -1
  530. package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +0 -323
  531. package/dist/policy-packs/builtin/solution-acceptance-runtime.js +0 -672
  532. package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +0 -1
  533. package/dist/policy-packs/builtin/solution-acceptance.d.ts +0 -45
  534. package/dist/policy-packs/builtin/solution-acceptance.js +0 -226
  535. package/dist/policy-packs/builtin/solution-acceptance.js.map +0 -1
  536. package/dist/policy-packs/builtin/understanding-before-execution/active-claim.d.ts +0 -25
  537. package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js +0 -94
  538. package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js.map +0 -1
  539. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.d.ts +0 -35
  540. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js +0 -86
  541. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js.map +0 -1
  542. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.d.ts +0 -210
  543. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js +0 -361
  544. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js.map +0 -1
  545. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.d.ts +0 -304
  546. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +0 -734
  547. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +0 -1
  548. package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.d.ts +0 -36
  549. package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js +0 -73
  550. package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js.map +0 -1
  551. package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +0 -19
  552. package/dist/policy-packs/builtin/understanding-before-execution/index.js +0 -83
  553. package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +0 -1
  554. package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.d.ts +0 -135
  555. package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js +0 -643
  556. package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js.map +0 -1
  557. package/dist/policy-packs/builtin/understanding-before-execution/ledger.d.ts +0 -25
  558. package/dist/policy-packs/builtin/understanding-before-execution/ledger.js +0 -56
  559. package/dist/policy-packs/builtin/understanding-before-execution/ledger.js.map +0 -1
  560. package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.d.ts +0 -20
  561. package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js +0 -106
  562. package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js.map +0 -1
  563. package/dist/policy-packs/builtin/understanding-before-execution/markers.d.ts +0 -126
  564. package/dist/policy-packs/builtin/understanding-before-execution/markers.js +0 -245
  565. package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +0 -1
  566. package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.d.ts +0 -29
  567. package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js +0 -82
  568. package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js.map +0 -1
  569. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.d.ts +0 -71
  570. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js +0 -175
  571. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js.map +0 -1
  572. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.d.ts +0 -625
  573. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +0 -1076
  574. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js.map +0 -1
  575. package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.d.ts +0 -128
  576. package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +0 -213
  577. package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +0 -1
  578. package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.d.ts +0 -129
  579. package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js +0 -166
  580. package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js.map +0 -1
  581. package/dist/policy-packs/builtin/understanding-before-execution/task-markers.d.ts +0 -164
  582. package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js +0 -275
  583. package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js.map +0 -1
  584. package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +0 -1
  585. package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +0 -10
  586. package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +0 -1
  587. package/dist/policy-packs/builtin/understanding-before-execution.d.ts +0 -526
  588. package/dist/policy-packs/builtin/understanding-before-execution.js +0 -1078
  589. package/dist/policy-packs/builtin/understanding-before-execution.js.map +0 -1
  590. package/dist/policy-packs/permission-translator.d.ts +0 -9
  591. package/dist/policy-packs/permission-translator.js +0 -76
  592. package/dist/policy-packs/permission-translator.js.map +0 -1
  593. package/dist/runtime/action-envelope.d.ts +0 -64
  594. package/dist/runtime/action-envelope.js +0 -46
  595. package/dist/runtime/action-envelope.js.map +0 -1
  596. package/dist/runtime/approval-signing.d.ts +0 -111
  597. package/dist/runtime/approval-signing.js +0 -384
  598. package/dist/runtime/approval-signing.js.map +0 -1
  599. package/dist/runtime/bash-match-facts.d.ts +0 -60
  600. package/dist/runtime/bash-match-facts.js +0 -196
  601. package/dist/runtime/bash-match-facts.js.map +0 -1
  602. package/dist/runtime/bash-match-registry.d.ts +0 -112
  603. package/dist/runtime/bash-match-registry.js +0 -406
  604. package/dist/runtime/bash-match-registry.js.map +0 -1
  605. package/dist/runtime/bash-prefix-parse.d.ts +0 -31
  606. package/dist/runtime/bash-prefix-parse.js +0 -576
  607. package/dist/runtime/bash-prefix-parse.js.map +0 -1
  608. package/dist/runtime/command-normalize.d.ts +0 -658
  609. package/dist/runtime/command-normalize.js +0 -2410
  610. package/dist/runtime/command-normalize.js.map +0 -1
  611. package/dist/runtime/deletion-target-resolve.d.ts +0 -28
  612. package/dist/runtime/deletion-target-resolve.js +0 -1078
  613. package/dist/runtime/deletion-target-resolve.js.map +0 -1
  614. package/dist/runtime/destructive-shell-floor.d.ts +0 -19
  615. package/dist/runtime/destructive-shell-floor.js +0 -611
  616. package/dist/runtime/destructive-shell-floor.js.map +0 -1
  617. package/dist/runtime/environment-resolver.d.ts +0 -36
  618. package/dist/runtime/environment-resolver.js +0 -138
  619. package/dist/runtime/environment-resolver.js.map +0 -1
  620. package/dist/runtime/git-context.d.ts +0 -201
  621. package/dist/runtime/git-context.js +0 -422
  622. package/dist/runtime/git-context.js.map +0 -1
  623. package/dist/runtime/index.d.ts +0 -12
  624. package/dist/runtime/index.js +0 -13
  625. package/dist/runtime/index.js.map +0 -1
  626. package/dist/runtime/intercept.d.ts +0 -623
  627. package/dist/runtime/intercept.js +0 -1384
  628. package/dist/runtime/intercept.js.map +0 -1
  629. package/dist/runtime/kube-context.d.ts +0 -16
  630. package/dist/runtime/kube-context.js +0 -63
  631. package/dist/runtime/kube-context.js.map +0 -1
  632. package/dist/runtime/kubectl-target-parse.d.ts +0 -31
  633. package/dist/runtime/kubectl-target-parse.js +0 -249
  634. package/dist/runtime/kubectl-target-parse.js.map +0 -1
  635. package/dist/runtime/ledger-add.d.ts +0 -16
  636. package/dist/runtime/ledger-add.js +0 -150
  637. package/dist/runtime/ledger-add.js.map +0 -1
  638. package/dist/runtime/ledger-writer.d.ts +0 -27
  639. package/dist/runtime/ledger-writer.js +0 -46
  640. package/dist/runtime/ledger-writer.js.map +0 -1
  641. package/dist/runtime/pause-sentinel.d.ts +0 -60
  642. package/dist/runtime/pause-sentinel.js +0 -156
  643. package/dist/runtime/pause-sentinel.js.map +0 -1
  644. package/dist/runtime/pending-approval.d.ts +0 -23
  645. package/dist/runtime/pending-approval.js +0 -67
  646. package/dist/runtime/pending-approval.js.map +0 -1
  647. package/dist/runtime/read-only-bash.d.ts +0 -141
  648. package/dist/runtime/read-only-bash.js +0 -2204
  649. package/dist/runtime/read-only-bash.js.map +0 -1
  650. package/dist/runtime/recovery-git-commit.d.ts +0 -22
  651. package/dist/runtime/recovery-git-commit.js +0 -284
  652. package/dist/runtime/recovery-git-commit.js.map +0 -1
  653. package/dist/runtime/reject-malformed-session-id.d.ts +0 -8
  654. package/dist/runtime/reject-malformed-session-id.js +0 -16
  655. package/dist/runtime/reject-malformed-session-id.js.map +0 -1
  656. package/dist/runtime/risk-classifier.d.ts +0 -38
  657. package/dist/runtime/risk-classifier.js +0 -311
  658. package/dist/runtime/risk-classifier.js.map +0 -1
  659. package/dist/runtime/session-id.d.ts +0 -113
  660. package/dist/runtime/session-id.js +0 -193
  661. package/dist/runtime/session-id.js.map +0 -1
  662. package/dist/runtime/shell-word.d.ts +0 -62
  663. package/dist/runtime/shell-word.js +0 -410
  664. package/dist/runtime/shell-word.js.map +0 -1
  665. package/dist/runtime/task-providers/agent-tasks.d.ts +0 -105
  666. package/dist/runtime/task-providers/agent-tasks.js +0 -247
  667. package/dist/runtime/task-providers/agent-tasks.js.map +0 -1
  668. package/dist/runtime/when-eval.d.ts +0 -62
  669. package/dist/runtime/when-eval.js +0 -212
  670. package/dist/runtime/when-eval.js.map +0 -1
  671. package/dist/runtime/workflow-policies.d.ts +0 -207
  672. package/dist/runtime/workflow-policies.js +0 -596
  673. package/dist/runtime/workflow-policies.js.map +0 -1
  674. package/dist/schema/audit.d.ts +0 -71
  675. package/dist/schema/audit.js +0 -32
  676. package/dist/schema/audit.js.map +0 -1
  677. package/dist/schema/doctor.d.ts +0 -25
  678. package/dist/schema/doctor.js +0 -23
  679. package/dist/schema/doctor.js.map +0 -1
  680. package/dist/schema/environments.d.ts +0 -215
  681. package/dist/schema/environments.js +0 -101
  682. package/dist/schema/environments.js.map +0 -1
  683. package/dist/schema/extract.d.ts +0 -9
  684. package/dist/schema/extract.js +0 -86
  685. package/dist/schema/extract.js.map +0 -1
  686. package/dist/schema/permission-profiles.d.ts +0 -2292
  687. package/dist/schema/permission-profiles.js +0 -60
  688. package/dist/schema/permission-profiles.js.map +0 -1
  689. package/dist/schema/policies.d.ts +0 -974
  690. package/dist/schema/policies.js +0 -298
  691. package/dist/schema/policies.js.map +0 -1
  692. package/dist/schema/requires.d.ts +0 -131
  693. package/dist/schema/requires.js +0 -88
  694. package/dist/schema/requires.js.map +0 -1
  695. package/dist/schema/risk.d.ts +0 -144
  696. package/dist/schema/risk.js +0 -194
  697. package/dist/schema/risk.js.map +0 -1
  698. package/dist/schema/session-start-preflight.d.ts +0 -10
  699. package/dist/schema/session-start-preflight.js +0 -106
  700. package/dist/schema/session-start-preflight.js.map +0 -1
  701. package/dist/schema/stale-base-check.d.ts +0 -18
  702. package/dist/schema/stale-base-check.js +0 -37
  703. package/dist/schema/stale-base-check.js.map +0 -1
  704. package/dist/schema/toolchain-parity.d.ts +0 -21
  705. package/dist/schema/toolchain-parity.js +0 -48
  706. package/dist/schema/toolchain-parity.js.map +0 -1
  707. package/dist/schema/workflows.d.ts +0 -519
  708. package/dist/schema/workflows.js +0 -81
  709. package/dist/schema/workflows.js.map +0 -1
  710. package/scripts/runtime-reality-docker-probe.mjs +0 -71
@@ -0,0 +1,348 @@
1
+ import { EX_FAIL, EX_USAGE, HarnessExitError } from "./exit-codes.js";
2
+ import { codexGateDisable } from "./gate/codex-disable.js";
3
+ import { codexGateEnable } from "./gate/codex-enable.js";
4
+ import { codexConfigFlag, foreignCodexExit } from "./gate/codex-snapshot.js";
5
+ import { gateDisable, GateDisableError } from "./gate/disable.js";
6
+ import { gateEnable, GateEnableError } from "./gate/enable.js";
7
+ import { settingsFlag } from "./gate/snapshot.js";
8
+ const RUNTIME_HELP = "which runtime's hook config to edit: claude (default, ~/.claude/settings.json) or codex " +
9
+ "(~/.codex/config.toml, the harness-managed block). With codex, a unit is neutralised in place " +
10
+ "(its `hooks` array becomes empty, so other hooks keep their trust because positions do not move). " +
11
+ "A later `harness apply --runtime codex --install` re-renders that block and brings disabled units back";
12
+ /** Validates `--runtime` and the path flag that belongs to it. */
13
+ function parseGateRuntime(options) {
14
+ const runtime = options.runtime ?? "claude";
15
+ if (runtime !== "claude" && runtime !== "codex") {
16
+ throw new HarnessExitError(`unknown --runtime ${JSON.stringify(runtime)}; expected claude or codex`, EX_USAGE);
17
+ }
18
+ if (runtime === "claude" && options.config) {
19
+ throw new HarnessExitError("--config only applies to --runtime codex; use --settings", EX_USAGE);
20
+ }
21
+ if (runtime === "codex" && options.settings) {
22
+ throw new HarnessExitError("--settings only applies to --runtime claude; use --config", EX_USAGE);
23
+ }
24
+ return runtime;
25
+ }
26
+ export function registerGateGroup(program, io) {
27
+ const { stdout, stderr } = io;
28
+ // `harness gate` — operator escape hatch for hard-blocking hooks.
29
+ // A hard-blocking PreToolUse hook can lock a Claude session out of every
30
+ // Bash call, and any recovery that is itself a Bash invocation gets caught
31
+ // by the same gate. `gate disable` strips the offending hook group out of
32
+ // settings.json with a reversible snapshot.
33
+ const gate = program
34
+ .command("gate")
35
+ .description("Operator escape hatch: disable/restore hook groups in ~/.claude/settings.json");
36
+ gate
37
+ .command("disable")
38
+ .description("Remove hook groups from ~/.claude/settings.json whose `matcher` substring-matches " +
39
+ "`--matcher <pattern>`. Writes a snapshot of the removed groups next to settings.json " +
40
+ "(`harness.gate-disable.<ts>.json`) and backs up the original to `settings.json.bak.<ts>` " +
41
+ "so `harness gate enable` can restore them; a later disable while that snapshot is live " +
42
+ "is merged into it. A settings.json that is a symlink is written through, never replaced: " +
43
+ "the snapshot and the backup sit beside the file settings.json leads to. With `--runtime codex` the matching hook units " +
44
+ "of the harness-managed block in ~/.codex/config.toml are neutralised in place instead " +
45
+ "(`hooks = []`, so the position of every other hook stays) and their original lines go " +
46
+ "to `harness.gate-disable-codex.<ts>.json` (a later disable joins the live snapshot, or retires it " +
47
+ "first when it has nothing left to restore). " +
48
+ "With no `--matcher` flag, lists the candidate " +
49
+ "groups without writing.")
50
+ .option("--matcher <pattern>", "remove groups whose matcher includes this substring")
51
+ .option("--settings <path>", "override ~/.claude/settings.json (--runtime claude)")
52
+ .option("--config <path>", "override ~/.codex/config.toml (--runtime codex)")
53
+ .option("--runtime <runtime>", RUNTIME_HELP)
54
+ .action(async (options) => {
55
+ const runtime = parseGateRuntime(options);
56
+ // The restore command the output prints has to reach the same settings file as this call.
57
+ const enableTarget = options.settings ? ` ${settingsFlag(options.settings)}` : "";
58
+ try {
59
+ const result = runGateDisable(runtime, options);
60
+ const plural = runtime === "codex" ? "hook units" : "hook groups";
61
+ if (result.mode === "list") {
62
+ if (result.candidates.length === 0) {
63
+ stdout(`no ${plural} in ${result.path}; nothing to disable.\n`);
64
+ return;
65
+ }
66
+ stdout(`candidate ${plural} in ${result.path}:\n`);
67
+ for (const c of result.candidates) {
68
+ const matcherLabel = c.matcher === null ? "(no matcher)" : JSON.stringify(c.matcher);
69
+ stdout(` ${c.event}[${c.index}] matcher=${matcherLabel}: ${c.description}${c.disabled ? " [disabled]" : ""}\n`);
70
+ }
71
+ stdout(runtime === "codex"
72
+ ? "\nPass --matcher <substring> to disable a unit (its `hooks` array is emptied in place; " +
73
+ "nothing is removed). This is reversible via " +
74
+ `\`harness gate enable --runtime codex${codexConfigFlag(options.config ? result.path : null)}\`.\n`
75
+ : `\nPass --matcher <substring> to remove a group. Removal is reversible via \`harness gate enable${enableTarget}\`.\n`);
76
+ return;
77
+ }
78
+ stdout(`disabled ${result.removed.length} ${runtime === "codex" ? "hook unit(s)" : "hook group(s)"} in ${result.path}:\n`);
79
+ for (const r of result.removed) {
80
+ stdout(` ${r.event}[${r.index}] matcher=${JSON.stringify(r.matcher)}\n`);
81
+ }
82
+ if (result.retired !== undefined) {
83
+ stdout(retiredLine(result.retired, "it had nothing left to restore", "; this disable starts a fresh snapshot"));
84
+ }
85
+ for (const r of result.retiredSpent) {
86
+ stdout(`retired a spent snapshot as ${r}: its groups were already back in ${result.path}.\n`);
87
+ }
88
+ if (result.carriedFrom !== undefined) {
89
+ stdout(`retired ${result.carriedFrom.from} as ${result.carriedFrom.to}: its groups were carried into ` +
90
+ `${result.snapshotPath}, beside the file ${result.path} leads to.\n`);
91
+ }
92
+ stdout(`backup: ${result.backupPath}\n`);
93
+ stdout(result.merged
94
+ ? `snapshot: ${result.snapshotPath} (merged into the snapshot that was already live)\n`
95
+ : `snapshot: ${result.snapshotPath}\n`);
96
+ stdout(`This is reversible: run \`harness gate enable${runtime === "codex" ? ` --runtime codex${codexConfigFlag(options.config ? result.path : null)}` : enableTarget}\` to restore.\n`);
97
+ }
98
+ catch (err) {
99
+ if (err instanceof GateDisableError) {
100
+ throw new HarnessExitError(err.message, EX_FAIL);
101
+ }
102
+ throw err;
103
+ }
104
+ });
105
+ gate
106
+ .command("enable")
107
+ .description("Restore the hook groups of the live `harness.gate-disable.*.json` snapshot next to " +
108
+ "settings.json (every `gate disable` since the last restore is merged into it) and retire " +
109
+ "it as `*.restored.json`. A group settings.json already holds unchanged is left alone, " +
110
+ "never added twice; one with the same event and matcher but other content makes it refuse " +
111
+ "and name both groups' commands, and `--force` takes it as back. If settings.json has been " +
112
+ "edited since the snapshot was taken, the groups still missing are put back only when that " +
113
+ "gives exactly the pre-disable file; otherwise it refuses and `--force` puts them back into " +
114
+ "the edited file (edits stay). If settings.json already matches the pre-disable state, or " +
115
+ "holds every group unchanged, it only retires the snapshot. Older releases left one snapshot " +
116
+ "per disable: each call handles the newest, and exits non-zero while another stays live. It " +
117
+ "also exits non-zero while a live snapshot beside settings.json was taken for another " +
118
+ "settings file, naming the `--settings` that restores it. With `--runtime codex` there is at most one " +
119
+ "live `harness.gate-disable-codex.*.json` snapshot per config (another config's is skipped, named with " +
120
+ "the `--config` that restores it, and keeps the exit non-zero; exit 0 means no live snapshot remains " +
121
+ "beside the config): " +
122
+ "a later disable merges its units into it, and one enable applies it. A snapshot it applies, " +
123
+ "or the config already matches, is renamed to `*.restored.json`; one taken before a later " +
124
+ "`harness apply --runtime codex --install`, or whose units are all enabled again (not deleted), " +
125
+ "is renamed to `*.superseded.json`; neither is applied again. It exits non-zero and names the " +
126
+ "units when any hook unit stays disabled, and names how many live snapshots remain when an " +
127
+ "earlier build left several (it handles the newest per run). A config edited since is " +
128
+ "restored without `--force` only when skipping the units that are back already rebuilds " +
129
+ "the pre-disable bytes; otherwise it refuses, and `--force` restores every unit the snapshot " +
130
+ "names that is still disabled (found by id), leaves a unit that is enabled again as it is " +
131
+ "and keeps every other edit. A unit that is missing, or changed while still disabled, refuses " +
132
+ "with or without `--force` and the message names the ways out.")
133
+ .option("--settings <path>", "override ~/.claude/settings.json (--runtime claude)")
134
+ .option("--config <path>", "override ~/.codex/config.toml (--runtime codex)")
135
+ .option("--runtime <runtime>", RUNTIME_HELP)
136
+ .option("--force", "restore even when the config has been edited since the snapshot")
137
+ .action(async (options) => {
138
+ const runtime = parseGateRuntime(options);
139
+ try {
140
+ const result = runtime === "codex"
141
+ ? codexGateEnable({
142
+ ...(options.config ? { configPath: options.config } : {}),
143
+ ...(options.force ? { force: true } : {}),
144
+ })
145
+ : gateEnable({
146
+ ...(options.settings ? { settingsPath: options.settings } : {}),
147
+ ...(options.force ? { force: true } : {}),
148
+ });
149
+ const target = "configPath" in result ? result.configPath : result.settingsPath;
150
+ const stillDisabled = "stillDisabled" in result ? result.stillDisabled : [];
151
+ const liveLeft = "remaining" in result ? result.remaining : [];
152
+ const missing = "missing" in result ? result.missing : [];
153
+ const alreadyBack = "alreadyBack" in result ? result.alreadyBack : [];
154
+ const accepted = "accepted" in result ? result.accepted : [];
155
+ const foreign = "foreign" in result ? result.foreign : [];
156
+ // Codex only: another config's snapshots, each with the `--config` that restores it.
157
+ const skippedForeign = "skippedForeign" in result ? result.skippedForeign : [];
158
+ if (result.mode === "no-snapshots") {
159
+ if (stillDisabled.length === 0 && foreign.length === 0 && skippedForeign.length === 0) {
160
+ stdout(`no gate-disable snapshots found next to ${target}; nothing to restore.\n`);
161
+ }
162
+ }
163
+ else if (result.mode === "already-restored") {
164
+ if (stillDisabled.length === 0 && missing.length === 0) {
165
+ stdout((runtime === "codex"
166
+ ? `no hook unit of the harness-managed block in ${target} is disabled; no write needed. `
167
+ : accepted.length > 0
168
+ ? `nothing to put back into ${target}: each hook group the snapshot removed is there unchanged or ` +
169
+ `taken as back under --force (below); no write needed. `
170
+ : alreadyBack.length > 0
171
+ ? `${target} already holds every hook group the snapshot removed; no write needed. `
172
+ : `settings.json already matches the pre-disable state; no write needed. `) +
173
+ `(snapshot: ${result.snapshotPath})\n`);
174
+ }
175
+ }
176
+ else {
177
+ stdout(`restored ${result.restoredCount} ${runtime === "codex" ? "hook unit(s)" : "hook group(s)"} ` +
178
+ `into ${target} from ${result.snapshotPath}.\n`);
179
+ }
180
+ if (result.mode === "restored" && alreadyBack.length > 0) {
181
+ stdout(`left alone, already in ${target}: ${alreadyBack.join("; ")}.\n`);
182
+ }
183
+ if (accepted.length > 0) {
184
+ stdout(`taken as back under --force, not put back (same event and matcher, other content): ${accepted.join("; ")}.\n`);
185
+ }
186
+ // Codex only: a Claude result names another settings file's snapshots in `foreign` (an error below).
187
+ for (const f of skippedForeign) {
188
+ stdout(`skipped ${f.path}: taken for another config; ${foreignCodexExit(f)}.\n`);
189
+ }
190
+ if ("skippedEnabled" in result && result.skippedEnabled.length > 0) {
191
+ stdout(`left as they are: ${result.skippedEnabled.join(", ")} (already enabled again).\n`);
192
+ }
193
+ if ("retired" in result && result.retired?.why === "superseded") {
194
+ stdout(retiredLine(result.retired, "its units were enabled again", ""));
195
+ }
196
+ // Claude only: the Codex result's `remaining` is folded into the one error below.
197
+ const foreignNote = foreign.length > 0 ? foreignSnapshotsNote(target, foreign) : "";
198
+ // The command the message prints has to reach the same target as this call.
199
+ const enableTarget = options.settings ? ` ${settingsFlag(options.settings)}` : "";
200
+ if (runtime === "claude" && liveLeft.length > 0) {
201
+ throw new HarnessExitError(`${liveLeft.length} more gate snapshot(s) are still live next to ${target}: ${liveLeft.join(", ")}. ` +
202
+ `Their groups are not restored yet; run \`harness gate enable${enableTarget}\` again.` +
203
+ `${foreignNote ? ` ${foreignNote}` : ""}`, EX_FAIL);
204
+ }
205
+ if (foreignNote)
206
+ throw new HarnessExitError(foreignNote, EX_FAIL);
207
+ const remaining = "remaining" in result ? result.remaining : [];
208
+ // Codex: a snapshot of another config is a live snapshot beside this one (exit 0 means none remains), named
209
+ // with its restoring `--config`. The still-disabled clause names them itself when it can; otherwise this does.
210
+ const configFlag = codexConfigFlag(runtime === "codex" && options.config ? target : null);
211
+ const applyFlag = codexConfigFlag(runtime === "codex" && options.config ? target : null, "--codex-config");
212
+ const foreignExits = skippedForeign.map((f) => `${f.path}: ${foreignCodexExit(f)}`).join("; ");
213
+ const foreignNamed = stillDisabled.length > 0 && remaining.length === 0;
214
+ // A snapshot this call retired as superseded: a later install re-rendered its units (its own backup
215
+ // predates that install and holds the outdated hooks line, so it is never offered here).
216
+ const retired = "retired" in result ? result.retired : null;
217
+ const retiredSuperseded = retired?.why === "superseded" &&
218
+ (retired.installBackup !== undefined || retired.generation !== undefined);
219
+ const supersededFact = "The live snapshot this call retired was superseded by a later install, so its hooks lines may be outdated.";
220
+ // `lead` is the verb that opens the ways out: "Run" as a sentence of its own, "run" after "Otherwise".
221
+ const supersededWaysOut = (lead) => `${lead} \`harness gate enable --runtime codex --config <that spelling>\` for another spelling of ` +
222
+ "this config (a second link or name for it, the one `harness gate disable` was given) to restore " +
223
+ "through the snapshot that sits beside it; or re-run " +
224
+ `\`harness apply --runtime codex --install${applyFlag}\` to re-render the block; or put the units' ` +
225
+ "`hooks` lines back by hand.";
226
+ if (missing.length > 0 || stillDisabled.length > 0 || remaining.length > 0 || skippedForeign.length > 0) {
227
+ throw new HarnessExitError([
228
+ missing.length > 0 &&
229
+ `${missing.length} hook unit(s) a gate snapshot names are missing from the harness-managed block in ${target}: ` +
230
+ `${missing.join(", ")}. The snapshot ${"snapshotPath" in result ? result.snapshotPath : ""} stays live and ` +
231
+ `nothing was retired for them. Run \`harness apply --runtime codex --install${applyFlag}\` to re-render the ` +
232
+ "block, restore the config from the backup beside it (<config>.bak.<timestamp>), or move the snapshot " +
233
+ "aside by hand if they are gone for good.",
234
+ stillDisabled.length > 0 &&
235
+ `${stillDisabled.length} hook unit(s) in ${target} are still disabled: ${stillDisabled.join(", ")}.` +
236
+ (remaining.length > 0
237
+ ? ""
238
+ : skippedForeign.length > 0
239
+ ? " A live Codex gate snapshot beside it was taken for another config; if these units are the " +
240
+ "ones it neutralised (the same config under another name), restore them through it: " +
241
+ `${foreignExits}. ` +
242
+ (retiredSuperseded
243
+ ? `${supersededFact} Otherwise ${supersededWaysOut("run")}`
244
+ : "Otherwise restore the config from the backup beside it " +
245
+ `(<config>.bak.<timestamp>), or re-run \`harness apply --runtime codex --install${applyFlag}\` ` +
246
+ "to re-render the block.")
247
+ : retiredSuperseded
248
+ ? ` No Codex gate snapshot restores them. ${supersededFact} ${supersededWaysOut("Run")}`
249
+ : " No Codex gate snapshot restores them. Restore the config from the backup beside it " +
250
+ `(<config>.bak.<timestamp>), or re-run \`harness apply --runtime codex --install${applyFlag}\` ` +
251
+ "to re-render the block. " +
252
+ "A gate snapshot sits beside the path `harness gate disable` was given: if this config is also " +
253
+ "reached through a link or another name, run enable with that same `--config`."),
254
+ remaining.length > 0 &&
255
+ `${remaining.length} more live Codex gate snapshot(s) remain (an earlier build wrote one per disable, or a copied directory brought a retired one back): ` +
256
+ `${remaining.join(", ")}. Run \`harness gate enable --runtime codex${configFlag}\` again for the next one.`,
257
+ skippedForeign.length > 0 &&
258
+ !foreignNamed &&
259
+ `${skippedForeign.length} live Codex gate snapshot(s) beside ${target} were taken for another config and ` +
260
+ `their units are not restored yet: ${foreignExits}.`,
261
+ ]
262
+ .filter((m) => m !== false)
263
+ .join(" "), EX_FAIL);
264
+ }
265
+ }
266
+ catch (err) {
267
+ if (err instanceof GateEnableError) {
268
+ throw new HarnessExitError(err.message, EX_FAIL);
269
+ }
270
+ throw err;
271
+ }
272
+ });
273
+ }
274
+ /** The stdout line for a Codex snapshot a call retired; `noInstall` says why when no install dated it. */
275
+ function retiredLine(r, noInstall, tail) {
276
+ const why = r.installBackup !== undefined
277
+ ? `a later install (${r.installBackup}) re-rendered its units`
278
+ : r.generation !== undefined
279
+ ? `a later install re-rendered the harness-managed block (its generation marker is now ` +
280
+ `${r.generation.block.slice(0, 12)}..., the snapshot recorded ${r.generation.snapshot.slice(0, 12)}...), ` +
281
+ "so its hooks lines may be outdated"
282
+ : noInstall;
283
+ return `retired ${r.from} as ${r.to}: ${why}${tail}.\n`;
284
+ }
285
+ /**
286
+ * Why a Claude `gate enable` does not exit 0 while live snapshots of another
287
+ * settings file sit beside the target: their groups are still removed from
288
+ * that file. Names each one with the command that restores it.
289
+ */
290
+ function foreignSnapshotsNote(target, foreign) {
291
+ return (`${foreign.length} gate snapshot(s) beside ${target} were taken for another settings file and their groups ` +
292
+ `are not restored yet: ` +
293
+ foreign
294
+ .map((f) => `${f.path}: run \`harness gate enable ${settingsFlag(f.settingsPath)}\`` +
295
+ (f.settingsExists
296
+ ? ""
297
+ : ` (no file is at that name now: if the settings file was renamed after the disable, rename it back ` +
298
+ `first; if it is gone, restore it from ${f.settingsBackupPath}, which is the file before that disable, ` +
299
+ `then run that command, which retires the snapshot; or move the snapshot out of the directory by hand ` +
300
+ `once its groups are back)`))
301
+ .join("; ") +
302
+ ".");
303
+ }
304
+ /** Runs the disable verb for one runtime and flattens both results into the one shape the printer reads. */
305
+ function runGateDisable(runtime, options) {
306
+ const empty = { candidates: [], backupPath: "", snapshotPath: "", removed: [], merged: false, retiredSpent: [] };
307
+ if (runtime === "codex") {
308
+ const r = codexGateDisable({
309
+ ...(options.matcher ? { matcher: options.matcher } : {}),
310
+ ...(options.config ? { configPath: options.config } : {}),
311
+ });
312
+ if (r.mode === "list")
313
+ return { ...empty, mode: "list", path: r.configPath, candidates: r.candidates };
314
+ return {
315
+ ...empty,
316
+ mode: "remove",
317
+ path: r.configPath,
318
+ backupPath: r.backupPath,
319
+ snapshotPath: r.snapshotPath,
320
+ removed: r.neutralised.map((u) => ({ event: u.event, index: u.eventIndex, matcher: u.matcher })),
321
+ ...(r.retired !== null ? { retired: r.retired } : {}),
322
+ };
323
+ }
324
+ const r = gateDisable({
325
+ ...(options.matcher ? { matcher: options.matcher } : {}),
326
+ ...(options.settings ? { settingsPath: options.settings } : {}),
327
+ });
328
+ if (r.mode === "list")
329
+ return { ...empty, mode: "list", path: r.settingsPath, candidates: r.candidates };
330
+ return {
331
+ ...empty,
332
+ mode: "remove",
333
+ path: r.settingsPath,
334
+ backupPath: r.backupPath,
335
+ snapshotPath: r.snapshotPath,
336
+ merged: r.merged,
337
+ retiredSpent: r.retired,
338
+ ...(r.carriedFrom !== undefined ? { carriedFrom: r.carriedFrom } : {}),
339
+ removed: r.removed.map((g) => ({
340
+ event: g.event,
341
+ index: g.index,
342
+ matcher: g.group !== null && typeof g.group === "object" && !Array.isArray(g.group)
343
+ ? (g.group["matcher"] ?? null)
344
+ : null,
345
+ })),
346
+ };
347
+ }
348
+ //# sourceMappingURL=register-gate-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-gate-group.js","sourceRoot":"","sources":["../../src/cli/register-gate-group.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Command } from "commander";
2
+ import { type RunOptions } from "./index.js";
3
+ export declare function registerInspectGroup(program: Command, io: {
4
+ stdout: (s: string) => void;
5
+ stderr: (s: string) => void;
6
+ }, opts: RunOptions): void;
@@ -0,0 +1,189 @@
1
+ import { defaultVersionProbe } from "./index.js";
2
+ import { describe, isPillar } from "./describe.js";
3
+ import { diff as diffRun } from "./diff/index.js";
4
+ import { diffSinceApply } from "./diff/since-apply.js";
5
+ import { doctor, isDoctorTarget, KNOWN_DOCTOR_TARGETS } from "./doctor/index.js";
6
+ import { format as formatDoctor } from "./doctor/format.js";
7
+ import { EX_FAIL, EX_USAGE, HarnessExitError } from "./exit-codes.js";
8
+ import { isListCategory, list } from "./list.js";
9
+ import { formatReport, validate } from "./validate/index.js";
10
+ import { REMOVED_DESCRIBE_PILLARS, REMOVED_LIST_CATEGORIES, removedInspectNameMessage, } from "../schema/removed-keys.js";
11
+ export function registerInspectGroup(program, io, opts) {
12
+ const { stdout, stderr } = io;
13
+ program
14
+ .command("describe")
15
+ .description("Print the effective merged manifest")
16
+ .option("--config <path>", "manifest path (default: ~/.harness/harness.yaml; legacy fallback ~/.claude/harness.yaml)")
17
+ .option("--project <name>", "apply per-project overrides for this project name")
18
+ .option("--pillar <pillar>", "filter output to one section: grounding | tools | memory | hooks")
19
+ .option("--json", "emit JSON instead of YAML")
20
+ .action((options) => {
21
+ let pillar;
22
+ if (options.pillar !== undefined) {
23
+ if (!isPillar(options.pillar)) {
24
+ const removed = REMOVED_DESCRIBE_PILLARS.find((r) => r.name === options.pillar);
25
+ throw new HarnessExitError(removed !== undefined
26
+ ? `${removedInspectNameMessage("pillar", removed)}; expected one of grounding, tools, memory, hooks`
27
+ : `unknown pillar "${options.pillar}"; expected one of grounding, tools, memory, hooks`, EX_USAGE);
28
+ }
29
+ pillar = options.pillar;
30
+ }
31
+ const result = describe({
32
+ configPath: options.config,
33
+ project: options.project,
34
+ pillar,
35
+ json: options.json,
36
+ });
37
+ stdout(result.output);
38
+ if (!result.output.endsWith("\n"))
39
+ stdout("\n");
40
+ });
41
+ program
42
+ .command("validate")
43
+ .description("Lint the manifest + referenced assets")
44
+ .option("--config <path>", "manifest path (default: ~/.harness/harness.yaml; legacy fallback ~/.claude/harness.yaml)")
45
+ .option("--project <name>", "apply per-project overrides for this project name")
46
+ .option("--strict", "promote warnings to errors")
47
+ .option("--check-lock", "surface harness.lock asset-content drift as warnings (or errors with --strict)")
48
+ .option("--json", "emit a structured JSON report ({ diagnostics, errorCount, warningCount }) instead of prose")
49
+ .action((options) => {
50
+ const result = validate({
51
+ configPath: options.config,
52
+ project: options.project,
53
+ strict: options.strict,
54
+ checkLock: options.checkLock,
55
+ });
56
+ if (options.json) {
57
+ // JSON goes to stdout regardless of outcome so pipelines can
58
+ // always parse it; the exit code still carries pass/fail.
59
+ stdout(`${JSON.stringify({
60
+ diagnostics: result.diagnostics,
61
+ errorCount: result.errorCount,
62
+ warningCount: result.warningCount,
63
+ }, null, 2)}\n`);
64
+ }
65
+ else {
66
+ const report = formatReport(result);
67
+ if (result.diagnostics.length > 0)
68
+ stderr(report);
69
+ else
70
+ stdout(report);
71
+ }
72
+ if (result.errorCount > 0) {
73
+ throw new HarnessExitError("", EX_FAIL);
74
+ }
75
+ });
76
+ program
77
+ .command("doctor")
78
+ .description("Health summary across all pillars")
79
+ .option("--config <path>", "manifest path (default: ~/.harness/harness.yaml; legacy fallback ~/.claude/harness.yaml)")
80
+ .option("--project <name>", "apply per-project overrides for this project name")
81
+ .option("--shallow", "skip MCP probes (CLI --version probes still run); report manifest-reference state only")
82
+ .option("--target <runtime>", `additionally evaluate the harness-side adapter health for a runtime (allowed: ${KNOWN_DOCTOR_TARGETS.join(", ")})`)
83
+ .option("--json", "emit a structured JSON DoctorReport instead of prose")
84
+ .action(async (options) => {
85
+ let target;
86
+ if (options.target !== undefined) {
87
+ if (!isDoctorTarget(options.target)) {
88
+ stderr(`unknown --target ${JSON.stringify(options.target)}; expected one of ${KNOWN_DOCTOR_TARGETS.join(", ")}\n`);
89
+ throw new HarnessExitError("", EX_USAGE);
90
+ }
91
+ target = options.target;
92
+ }
93
+ const report = await doctor({
94
+ configPath: options.config,
95
+ project: options.project,
96
+ shallow: options.shallow,
97
+ versionProbe: defaultVersionProbe,
98
+ ...(target !== undefined ? { target } : {}),
99
+ });
100
+ // Non-zero exit when the report carries errors (task a07b379a):
101
+ // callers previously had no way to gate CI/scripts on doctor
102
+ // health, since this action always fell through to exit 0
103
+ // regardless of report.errorCount. Warnings alone still exit 0.
104
+ // Checked before every return below (json and prose) so the exit
105
+ // code is consistent across all output modes.
106
+ const failIfErrors = () => {
107
+ if (report.errorCount > 0) {
108
+ throw new HarnessExitError("", EX_FAIL);
109
+ }
110
+ };
111
+ if (options.json) {
112
+ stdout(`${JSON.stringify(report, null, 2)}\n`);
113
+ failIfErrors();
114
+ return;
115
+ }
116
+ stdout(formatDoctor(report));
117
+ failIfErrors();
118
+ });
119
+ program
120
+ .command("list <category>")
121
+ .description("Flat denormalised listing per category: mcp / cli / skills / memories / hooks")
122
+ .option("--config <path>", "manifest path (default: ~/.harness/harness.yaml; legacy fallback ~/.claude/harness.yaml)")
123
+ .option("--project <name>", "apply per-project overrides")
124
+ .option("--filter <substr>", "case-insensitive substring filter on name (or path for memories)")
125
+ .option("--json", "emit JSON array instead of an aligned text table")
126
+ .action((category, options) => {
127
+ if (!isListCategory(category)) {
128
+ const removed = REMOVED_LIST_CATEGORIES.find((r) => r.name === category);
129
+ throw new HarnessExitError(removed !== undefined
130
+ ? `${removedInspectNameMessage("list category", removed)}; expected one of mcp, cli, skills, memories, hooks`
131
+ : `unknown list category "${category}"; expected one of mcp, cli, skills, memories, hooks`, EX_USAGE);
132
+ }
133
+ const result = list(category, {
134
+ configPath: options.config,
135
+ project: options.project,
136
+ filter: options.filter,
137
+ json: options.json,
138
+ });
139
+ stdout(result.output);
140
+ });
141
+ program
142
+ .command("diff")
143
+ .description("Diff the manifest against a git ref (--since <ref>) or against the last " +
144
+ "applied state (--since-apply). --memory-detail expands per-memory-dir " +
145
+ "Merkle drift back to per-file changes.")
146
+ .option("--config <path>", "manifest path (default: ~/.harness/harness.yaml; legacy fallback ~/.claude/harness.yaml)")
147
+ .option("--project <name>", "apply per-project overrides")
148
+ .option("--since <ref>", "git ref to diff against")
149
+ .option("--since-apply", "diff against harness.generated/.last-apply")
150
+ .option("--memory-detail", "expand per-memory-dir drift to per-file changes")
151
+ .option("--json", "emit structured JSON output")
152
+ .action((options) => {
153
+ if (options.since && options.sinceApply) {
154
+ throw new HarnessExitError("--since <ref> and --since-apply are mutually exclusive", EX_USAGE);
155
+ }
156
+ if (options.sinceApply) {
157
+ const r = diffSinceApply({
158
+ ...(options.config !== undefined ? { configPath: options.config } : {}),
159
+ ...(options.memoryDetail ? { memoryDetail: true } : {}),
160
+ });
161
+ if (options.json) {
162
+ stdout(`${JSON.stringify(r.json, null, 2)}\n`);
163
+ }
164
+ else if (!r.hasDrift) {
165
+ stdout("no drift since last apply\n");
166
+ }
167
+ else {
168
+ stdout(r.output);
169
+ }
170
+ for (const w of r.warnings) {
171
+ stderr(`warning: ${w}\n`);
172
+ }
173
+ if (r.hasDrift)
174
+ throw new HarnessExitError("", EX_FAIL);
175
+ return;
176
+ }
177
+ const result = diffRun({
178
+ configPath: options.config,
179
+ project: options.project,
180
+ since: options.since,
181
+ });
182
+ // Override-layer diagnostics go to stderr so stdout stays a clean
183
+ // diff for piping (task b2660f9e).
184
+ for (const w of result.warnings)
185
+ stderr(`harness diff: ${w}\n`);
186
+ stdout(result.output);
187
+ });
188
+ }
189
+ //# sourceMappingURL=register-inspect-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-inspect-group.js","sourceRoot":"","sources":["../../src/cli/register-inspect-group.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Command } from "commander";
2
- export declare function registerOperatorLifecycle(program: Command, io: {
2
+ export declare function registerOperatorLifecycle(program: Command, _io: {
3
3
  stdout: (s: string) => void;
4
4
  stderr: (s: string) => void;
5
5
  }): void;