@lannguyensi/harness 0.63.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 (702) hide show
  1. package/CHANGELOG.md +90 -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 -338
  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 -705
  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 -378
  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 +15 -2607
  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 -243
  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/register-gate-group.d.ts +5 -0
  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 +5 -0
  145. package/dist/cli/register-operator-lifecycle.js +20 -0
  146. package/dist/cli/register-operator-lifecycle.js.map +1 -0
  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-setup-group.d.ts +5 -0
  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.d.ts +5 -0
  160. package/dist/cli/remove/register.js +25 -0
  161. package/dist/cli/remove/register.js.map +1 -0
  162. package/dist/cli/shell-quote.d.ts +7 -0
  163. package/dist/cli/shell-quote.js +17 -0
  164. package/dist/cli/shell-quote.js.map +1 -0
  165. package/dist/cli/uninstall/index.d.ts +4 -2
  166. package/dist/cli/uninstall/index.js +15 -7
  167. package/dist/cli/uninstall/index.js.map +1 -1
  168. package/dist/cli/uninstall/register.d.ts +5 -0
  169. package/dist/cli/uninstall/register.js +171 -0
  170. package/dist/cli/uninstall/register.js.map +1 -0
  171. package/dist/cli/uninstall/snapshot.d.ts +15 -0
  172. package/dist/cli/uninstall/snapshot.js +38 -0
  173. package/dist/cli/uninstall/snapshot.js.map +1 -1
  174. package/dist/cli/validate/checks.d.ts +0 -77
  175. package/dist/cli/validate/checks.js +3 -1049
  176. package/dist/cli/validate/checks.js.map +1 -1
  177. package/dist/cli/validate/index.js +19 -15
  178. package/dist/cli/validate/index.js.map +1 -1
  179. package/dist/index.d.ts +0 -3
  180. package/dist/index.js +0 -3
  181. package/dist/index.js.map +1 -1
  182. package/dist/io/claude-mcp.d.ts +1 -1
  183. package/dist/io/claude-mcp.js +27 -14
  184. package/dist/io/claude-mcp.js.map +1 -1
  185. package/dist/io/harness-lock.js +2 -2
  186. package/dist/io/harness-lock.js.map +1 -1
  187. package/dist/io/lock.d.ts +0 -26
  188. package/dist/io/lock.js +10 -27
  189. package/dist/io/lock.js.map +1 -1
  190. package/dist/io/merge-settings.js +6 -4
  191. package/dist/io/merge-settings.js.map +1 -1
  192. package/dist/io/project-name.d.ts +22 -39
  193. package/dist/io/project-name.js +25 -42
  194. package/dist/io/project-name.js.map +1 -1
  195. package/dist/io/read-regular-file.d.ts +103 -40
  196. package/dist/io/read-regular-file.js +196 -35
  197. package/dist/io/read-regular-file.js.map +1 -1
  198. package/dist/io/restart-hints.js +3 -6
  199. package/dist/io/restart-hints.js.map +1 -1
  200. package/dist/io/version-compare.d.ts +1 -3
  201. package/dist/io/version-compare.js +1 -3
  202. package/dist/io/version-compare.js.map +1 -1
  203. package/dist/io/write-regular-file.d.ts +30 -0
  204. package/dist/io/write-regular-file.js +85 -0
  205. package/dist/io/write-regular-file.js.map +1 -0
  206. package/dist/overrides/index.d.ts +1 -0
  207. package/dist/overrides/index.js +1 -0
  208. package/dist/overrides/index.js.map +1 -1
  209. package/dist/overrides/merge-layers.d.ts +43 -0
  210. package/dist/overrides/merge-layers.js +76 -0
  211. package/dist/overrides/merge-layers.js.map +1 -0
  212. package/dist/overrides/merge.d.ts +16 -0
  213. package/dist/overrides/merge.js +21 -8
  214. package/dist/overrides/merge.js.map +1 -1
  215. package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +4 -69
  216. package/dist/policy-packs/builtin/branch-protection-runtime.js +12 -84
  217. package/dist/policy-packs/builtin/branch-protection-runtime.js.map +1 -1
  218. package/dist/policy-packs/builtin/branch-protection.d.ts +7 -30
  219. package/dist/policy-packs/builtin/branch-protection.js +56 -89
  220. package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
  221. package/dist/policy-packs/config-check.d.ts +7 -5
  222. package/dist/policy-packs/config-check.js +2 -2
  223. package/dist/policy-packs/config-check.js.map +1 -1
  224. package/dist/policy-packs/expand.d.ts +1 -3
  225. package/dist/policy-packs/expand.js +5 -42
  226. package/dist/policy-packs/expand.js.map +1 -1
  227. package/dist/policy-packs/index.d.ts +3 -3
  228. package/dist/policy-packs/index.js +2 -2
  229. package/dist/policy-packs/index.js.map +1 -1
  230. package/dist/policy-packs/registry.d.ts +9 -38
  231. package/dist/policy-packs/registry.js +5 -65
  232. package/dist/policy-packs/registry.js.map +1 -1
  233. package/dist/policy-packs/runtime.d.ts +0 -4
  234. package/dist/policy-packs/runtime.js +9 -22
  235. package/dist/policy-packs/runtime.js.map +1 -1
  236. package/dist/policy-packs/types.d.ts +0 -19
  237. package/dist/policy-packs/ux-compare.d.ts +1 -11
  238. package/dist/policy-packs/ux-compare.js +6 -42
  239. package/dist/policy-packs/ux-compare.js.map +1 -1
  240. package/dist/policy-packs/ux-drift-check.d.ts +5 -5
  241. package/dist/policy-packs/ux-drift-check.js +17 -22
  242. package/dist/policy-packs/ux-drift-check.js.map +1 -1
  243. package/dist/policy-packs/version-check.d.ts +5 -26
  244. package/dist/policy-packs/version-check.js +19 -74
  245. package/dist/policy-packs/version-check.js.map +1 -1
  246. package/dist/probes/memory.d.ts +1 -1
  247. package/dist/probes/memory.js +1 -1
  248. package/dist/probes/memory.js.map +1 -1
  249. package/dist/runtime/agent-facing.d.ts +9 -0
  250. package/dist/runtime/agent-facing.js +28 -14
  251. package/dist/runtime/agent-facing.js.map +1 -1
  252. package/dist/runtime/bounded-text.d.ts +15 -0
  253. package/dist/runtime/bounded-text.js +27 -0
  254. package/dist/runtime/bounded-text.js.map +1 -0
  255. package/dist/runtime/git-branch.d.ts +125 -0
  256. package/dist/runtime/git-branch.js +381 -0
  257. package/dist/runtime/git-branch.js.map +1 -0
  258. package/dist/runtime/hermetic-spawn-guard.d.ts +2 -2
  259. package/dist/runtime/hermetic-spawn-guard.js +24 -34
  260. package/dist/runtime/hermetic-spawn-guard.js.map +1 -1
  261. package/dist/runtime/home-dir.js +3 -2
  262. package/dist/runtime/home-dir.js.map +1 -1
  263. package/dist/runtime/tool-name-aliases.d.ts +0 -6
  264. package/dist/runtime/tool-name-aliases.js +5 -18
  265. package/dist/runtime/tool-name-aliases.js.map +1 -1
  266. package/dist/schema/grounding.d.ts +7 -54
  267. package/dist/schema/grounding.js +10 -12
  268. package/dist/schema/grounding.js.map +1 -1
  269. package/dist/schema/hooks.d.ts +39 -136
  270. package/dist/schema/hooks.js +3 -6
  271. package/dist/schema/hooks.js.map +1 -1
  272. package/dist/schema/index.d.ts +114 -3828
  273. package/dist/schema/index.js +41 -80
  274. package/dist/schema/index.js.map +1 -1
  275. package/dist/schema/memory.d.ts +54 -131
  276. package/dist/schema/memory.js +2 -2
  277. package/dist/schema/memory.js.map +1 -1
  278. package/dist/schema/policy-packs.d.ts +3 -45
  279. package/dist/schema/policy-packs.js +7 -13
  280. package/dist/schema/policy-packs.js.map +1 -1
  281. package/dist/schema/policy-ux.d.ts +7 -0
  282. package/dist/schema/policy-ux.js +18 -0
  283. package/dist/schema/policy-ux.js.map +1 -0
  284. package/dist/schema/removed-keys.d.ts +185 -0
  285. package/dist/schema/removed-keys.js +531 -0
  286. package/dist/schema/removed-keys.js.map +1 -0
  287. package/dist/schema/tools.d.ts +30 -268
  288. package/dist/schema/tools.js +4 -4
  289. package/dist/schema/tools.js.map +1 -1
  290. package/package.json +5 -16
  291. package/dist/cli/approve/branch-protection.d.ts +0 -69
  292. package/dist/cli/approve/branch-protection.js +0 -144
  293. package/dist/cli/approve/branch-protection.js.map +0 -1
  294. package/dist/cli/approve/risk.d.ts +0 -112
  295. package/dist/cli/approve/risk.js +0 -197
  296. package/dist/cli/approve/risk.js.map +0 -1
  297. package/dist/cli/approve/stdin-report.d.ts +0 -57
  298. package/dist/cli/approve/stdin-report.js +0 -145
  299. package/dist/cli/approve/stdin-report.js.map +0 -1
  300. package/dist/cli/approve/understanding.d.ts +0 -410
  301. package/dist/cli/approve/understanding.js +0 -996
  302. package/dist/cli/approve/understanding.js.map +0 -1
  303. package/dist/cli/audit.d.ts +0 -80
  304. package/dist/cli/audit.js +0 -252
  305. package/dist/cli/audit.js.map +0 -1
  306. package/dist/cli/delegate/index.d.ts +0 -76
  307. package/dist/cli/delegate/index.js +0 -443
  308. package/dist/cli/delegate/index.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/rogue-ledger.d.ts +0 -53
  319. package/dist/cli/doctor/rogue-ledger.js +0 -153
  320. package/dist/cli/doctor/rogue-ledger.js.map +0 -1
  321. package/dist/cli/doctor/session-start-preflight-setup-version.d.ts +0 -83
  322. package/dist/cli/doctor/session-start-preflight-setup-version.js +0 -114
  323. package/dist/cli/doctor/session-start-preflight-setup-version.js.map +0 -1
  324. package/dist/cli/doctor/settings-drift.d.ts +0 -25
  325. package/dist/cli/doctor/settings-drift.js +0 -213
  326. package/dist/cli/doctor/settings-drift.js.map +0 -1
  327. package/dist/cli/doctor/toolchain-parity.d.ts +0 -63
  328. package/dist/cli/doctor/toolchain-parity.js +0 -154
  329. package/dist/cli/doctor/toolchain-parity.js.map +0 -1
  330. package/dist/cli/doctor/ug-auto-approvals.d.ts +0 -40
  331. package/dist/cli/doctor/ug-auto-approvals.js +0 -91
  332. package/dist/cli/doctor/ug-auto-approvals.js.map +0 -1
  333. package/dist/cli/doctor/ug-delegations.d.ts +0 -26
  334. package/dist/cli/doctor/ug-delegations.js +0 -121
  335. package/dist/cli/doctor/ug-delegations.js.map +0 -1
  336. package/dist/cli/doctor/ug-inflight.d.ts +0 -35
  337. package/dist/cli/doctor/ug-inflight.js +0 -57
  338. package/dist/cli/doctor/ug-inflight.js.map +0 -1
  339. package/dist/cli/doctor/understanding-mode-env.d.ts +0 -51
  340. package/dist/cli/doctor/understanding-mode-env.js +0 -98
  341. package/dist/cli/doctor/understanding-mode-env.js.map +0 -1
  342. package/dist/cli/dry-run.d.ts +0 -46
  343. package/dist/cli/dry-run.js +0 -250
  344. package/dist/cli/dry-run.js.map +0 -1
  345. package/dist/cli/event-input.d.ts +0 -28
  346. package/dist/cli/event-input.js +0 -73
  347. package/dist/cli/event-input.js.map +0 -1
  348. package/dist/cli/explain-action.d.ts +0 -20
  349. package/dist/cli/explain-action.js +0 -27
  350. package/dist/cli/explain-action.js.map +0 -1
  351. package/dist/cli/explain-policy.d.ts +0 -135
  352. package/dist/cli/explain-policy.js +0 -266
  353. package/dist/cli/explain-policy.js.map +0 -1
  354. package/dist/cli/explain.d.ts +0 -31
  355. package/dist/cli/explain.js +0 -159
  356. package/dist/cli/explain.js.map +0 -1
  357. package/dist/cli/gc/index.d.ts +0 -63
  358. package/dist/cli/gc/index.js +0 -566
  359. package/dist/cli/gc/index.js.map +0 -1
  360. package/dist/cli/pack/approve-escape.d.ts +0 -19
  361. package/dist/cli/pack/approve-escape.js +0 -190
  362. package/dist/cli/pack/approve-escape.js.map +0 -1
  363. package/dist/cli/pack/auto-approve-path.d.ts +0 -146
  364. package/dist/cli/pack/auto-approve-path.js +0 -462
  365. package/dist/cli/pack/auto-approve-path.js.map +0 -1
  366. package/dist/cli/pack/hook-codex-post-tool-use.d.ts +0 -25
  367. package/dist/cli/pack/hook-codex-post-tool-use.js +0 -160
  368. package/dist/cli/pack/hook-codex-post-tool-use.js.map +0 -1
  369. package/dist/cli/pack/hook-codex-pre-tool-use.d.ts +0 -48
  370. package/dist/cli/pack/hook-codex-pre-tool-use.js +0 -474
  371. package/dist/cli/pack/hook-codex-pre-tool-use.js.map +0 -1
  372. package/dist/cli/pack/hook-codex-stop.d.ts +0 -35
  373. package/dist/cli/pack/hook-codex-stop.js +0 -329
  374. package/dist/cli/pack/hook-codex-stop.js.map +0 -1
  375. package/dist/cli/pack/hook-codex-user-prompt-submit.d.ts +0 -24
  376. package/dist/cli/pack/hook-codex-user-prompt-submit.js +0 -93
  377. package/dist/cli/pack/hook-codex-user-prompt-submit.js.map +0 -1
  378. package/dist/cli/pack/hook-post-merge-gate-record.d.ts +0 -37
  379. package/dist/cli/pack/hook-post-merge-gate-record.js +0 -190
  380. package/dist/cli/pack/hook-post-merge-gate-record.js.map +0 -1
  381. package/dist/cli/pack/hook-post-merge-gate.d.ts +0 -34
  382. package/dist/cli/pack/hook-post-merge-gate.js +0 -277
  383. package/dist/cli/pack/hook-post-merge-gate.js.map +0 -1
  384. package/dist/cli/pack/hook-post-tool-use.d.ts +0 -45
  385. package/dist/cli/pack/hook-post-tool-use.js +0 -137
  386. package/dist/cli/pack/hook-post-tool-use.js.map +0 -1
  387. package/dist/cli/pack/hook-pre-tool-use.d.ts +0 -92
  388. package/dist/cli/pack/hook-pre-tool-use.js +0 -1328
  389. package/dist/cli/pack/hook-pre-tool-use.js.map +0 -1
  390. package/dist/cli/pack/hook-runtime-reality.d.ts +0 -63
  391. package/dist/cli/pack/hook-runtime-reality.js +0 -210
  392. package/dist/cli/pack/hook-runtime-reality.js.map +0 -1
  393. package/dist/cli/pack/hook-solution-acceptance-writeguard.d.ts +0 -32
  394. package/dist/cli/pack/hook-solution-acceptance-writeguard.js +0 -337
  395. package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +0 -1
  396. package/dist/cli/pack/hook-solution-acceptance.d.ts +0 -157
  397. package/dist/cli/pack/hook-solution-acceptance.js +0 -530
  398. package/dist/cli/pack/hook-solution-acceptance.js.map +0 -1
  399. package/dist/cli/pack/hook-stay-in-scope.d.ts +0 -37
  400. package/dist/cli/pack/hook-stay-in-scope.js +0 -128
  401. package/dist/cli/pack/hook-stay-in-scope.js.map +0 -1
  402. package/dist/cli/pack/hook-subagent-start.d.ts +0 -23
  403. package/dist/cli/pack/hook-subagent-start.js +0 -88
  404. package/dist/cli/pack/hook-subagent-start.js.map +0 -1
  405. package/dist/cli/pack/hook-subagent-stop.d.ts +0 -19
  406. package/dist/cli/pack/hook-subagent-stop.js +0 -41
  407. package/dist/cli/pack/hook-subagent-stop.js.map +0 -1
  408. package/dist/cli/pack/hook-track-active-claim.d.ts +0 -27
  409. package/dist/cli/pack/hook-track-active-claim.js +0 -275
  410. package/dist/cli/pack/hook-track-active-claim.js.map +0 -1
  411. package/dist/cli/pack/transcript-report-scan.d.ts +0 -71
  412. package/dist/cli/pack/transcript-report-scan.js +0 -359
  413. package/dist/cli/pack/transcript-report-scan.js.map +0 -1
  414. package/dist/cli/pack/understanding-report-schema-hint.d.ts +0 -26
  415. package/dist/cli/pack/understanding-report-schema-hint.js +0 -120
  416. package/dist/cli/pack/understanding-report-schema-hint.js.map +0 -1
  417. package/dist/cli/pack/upgrade.d.ts +0 -32
  418. package/dist/cli/pack/upgrade.js +0 -273
  419. package/dist/cli/pack/upgrade.js.map +0 -1
  420. package/dist/cli/pause/index.d.ts +0 -113
  421. package/dist/cli/pause/index.js +0 -251
  422. package/dist/cli/pause/index.js.map +0 -1
  423. package/dist/cli/pause-check.d.ts +0 -22
  424. package/dist/cli/pause-check.js +0 -54
  425. package/dist/cli/pause-check.js.map +0 -1
  426. package/dist/cli/policy/intercept.d.ts +0 -233
  427. package/dist/cli/policy/intercept.js +0 -1020
  428. package/dist/cli/policy/intercept.js.map +0 -1
  429. package/dist/cli/policy/risk-envelope-enrichment.d.ts +0 -40
  430. package/dist/cli/policy/risk-envelope-enrichment.js +0 -108
  431. package/dist/cli/policy/risk-envelope-enrichment.js.map +0 -1
  432. package/dist/cli/record/index.d.ts +0 -81
  433. package/dist/cli/record/index.js +0 -348
  434. package/dist/cli/record/index.js.map +0 -1
  435. package/dist/cli/resolve-env.d.ts +0 -32
  436. package/dist/cli/resolve-env.js +0 -47
  437. package/dist/cli/resolve-env.js.map +0 -1
  438. package/dist/cli/session-export/index.d.ts +0 -46
  439. package/dist/cli/session-export/index.js +0 -169
  440. package/dist/cli/session-export/index.js.map +0 -1
  441. package/dist/cli/session-export/redact.d.ts +0 -22
  442. package/dist/cli/session-export/redact.js +0 -47
  443. package/dist/cli/session-export/redact.js.map +0 -1
  444. package/dist/cli/session-export/transcript.d.ts +0 -24
  445. package/dist/cli/session-export/transcript.js +0 -164
  446. package/dist/cli/session-export/transcript.js.map +0 -1
  447. package/dist/cli/session-start/branch-check.d.ts +0 -18
  448. package/dist/cli/session-start/branch-check.js +0 -140
  449. package/dist/cli/session-start/branch-check.js.map +0 -1
  450. package/dist/cli/session-start/index.d.ts +0 -121
  451. package/dist/cli/session-start/index.js +0 -591
  452. package/dist/cli/session-start/index.js.map +0 -1
  453. package/dist/cli/session-start/shared-options.d.ts +0 -103
  454. package/dist/cli/session-start/shared-options.js +0 -107
  455. package/dist/cli/session-start/shared-options.js.map +0 -1
  456. package/dist/cli/session-start/stale-base-check.d.ts +0 -46
  457. package/dist/cli/session-start/stale-base-check.js +0 -352
  458. package/dist/cli/session-start/stale-base-check.js.map +0 -1
  459. package/dist/cli/session-start/toolchain-parity.d.ts +0 -267
  460. package/dist/cli/session-start/toolchain-parity.js +0 -797
  461. package/dist/cli/session-start/toolchain-parity.js.map +0 -1
  462. package/dist/cli/smoke/assertions.d.ts +0 -46
  463. package/dist/cli/smoke/assertions.js +0 -170
  464. package/dist/cli/smoke/assertions.js.map +0 -1
  465. package/dist/cli/smoke/index.d.ts +0 -76
  466. package/dist/cli/smoke/index.js +0 -245
  467. package/dist/cli/smoke/index.js.map +0 -1
  468. package/dist/cli/smoke/runner.d.ts +0 -55
  469. package/dist/cli/smoke/runner.js +0 -134
  470. package/dist/cli/smoke/runner.js.map +0 -1
  471. package/dist/cli/smoke/stream-parser.d.ts +0 -65
  472. package/dist/cli/smoke/stream-parser.js +0 -115
  473. package/dist/cli/smoke/stream-parser.js.map +0 -1
  474. package/dist/cli/test-risk.d.ts +0 -26
  475. package/dist/cli/test-risk.js +0 -34
  476. package/dist/cli/test-risk.js.map +0 -1
  477. package/dist/io/display-path.d.ts +0 -11
  478. package/dist/io/display-path.js +0 -29
  479. package/dist/io/display-path.js.map +0 -1
  480. package/dist/io/duration.d.ts +0 -5
  481. package/dist/io/duration.js +0 -50
  482. package/dist/io/duration.js.map +0 -1
  483. package/dist/io/extract.d.ts +0 -79
  484. package/dist/io/extract.js +0 -226
  485. package/dist/io/extract.js.map +0 -1
  486. package/dist/io/ledger-record.d.ts +0 -83
  487. package/dist/io/ledger-record.js +0 -301
  488. package/dist/io/ledger-record.js.map +0 -1
  489. package/dist/io/read-json-dir-entries.d.ts +0 -36
  490. package/dist/io/read-json-dir-entries.js +0 -48
  491. package/dist/io/read-json-dir-entries.js.map +0 -1
  492. package/dist/io/safe-json-parse.d.ts +0 -5
  493. package/dist/io/safe-json-parse.js +0 -21
  494. package/dist/io/safe-json-parse.js.map +0 -1
  495. package/dist/policies/index.d.ts +0 -5
  496. package/dist/policies/index.js +0 -6
  497. package/dist/policies/index.js.map +0 -1
  498. package/dist/policies/ledger-client.d.ts +0 -113
  499. package/dist/policies/ledger-client.js +0 -500
  500. package/dist/policies/ledger-client.js.map +0 -1
  501. package/dist/policies/producers.d.ts +0 -12
  502. package/dist/policies/producers.js +0 -61
  503. package/dist/policies/producers.js.map +0 -1
  504. package/dist/policies/requires.d.ts +0 -75
  505. package/dist/policies/requires.js +0 -240
  506. package/dist/policies/requires.js.map +0 -1
  507. package/dist/policies/timestamp.d.ts +0 -14
  508. package/dist/policies/timestamp.js +0 -36
  509. package/dist/policies/timestamp.js.map +0 -1
  510. package/dist/policy-packs/builtin/permission-profiles.d.ts +0 -11
  511. package/dist/policy-packs/builtin/permission-profiles.js +0 -74
  512. package/dist/policy-packs/builtin/permission-profiles.js.map +0 -1
  513. package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +0 -286
  514. package/dist/policy-packs/builtin/post-merge-gate-runtime.js +0 -397
  515. package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +0 -1
  516. package/dist/policy-packs/builtin/post-merge-gate.d.ts +0 -56
  517. package/dist/policy-packs/builtin/post-merge-gate.js +0 -347
  518. package/dist/policy-packs/builtin/post-merge-gate.js.map +0 -1
  519. package/dist/policy-packs/builtin/solution-acceptance-reconnect.d.ts +0 -50
  520. package/dist/policy-packs/builtin/solution-acceptance-reconnect.js +0 -151
  521. package/dist/policy-packs/builtin/solution-acceptance-reconnect.js.map +0 -1
  522. package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +0 -323
  523. package/dist/policy-packs/builtin/solution-acceptance-runtime.js +0 -672
  524. package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +0 -1
  525. package/dist/policy-packs/builtin/solution-acceptance.d.ts +0 -45
  526. package/dist/policy-packs/builtin/solution-acceptance.js +0 -226
  527. package/dist/policy-packs/builtin/solution-acceptance.js.map +0 -1
  528. package/dist/policy-packs/builtin/understanding-before-execution/active-claim.d.ts +0 -25
  529. package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js +0 -94
  530. package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js.map +0 -1
  531. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.d.ts +0 -35
  532. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js +0 -86
  533. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js.map +0 -1
  534. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.d.ts +0 -210
  535. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js +0 -361
  536. package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js.map +0 -1
  537. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.d.ts +0 -304
  538. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +0 -734
  539. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +0 -1
  540. package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.d.ts +0 -36
  541. package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js +0 -73
  542. package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js.map +0 -1
  543. package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +0 -19
  544. package/dist/policy-packs/builtin/understanding-before-execution/index.js +0 -83
  545. package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +0 -1
  546. package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.d.ts +0 -135
  547. package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js +0 -618
  548. package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js.map +0 -1
  549. package/dist/policy-packs/builtin/understanding-before-execution/ledger.d.ts +0 -25
  550. package/dist/policy-packs/builtin/understanding-before-execution/ledger.js +0 -56
  551. package/dist/policy-packs/builtin/understanding-before-execution/ledger.js.map +0 -1
  552. package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.d.ts +0 -20
  553. package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js +0 -93
  554. package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js.map +0 -1
  555. package/dist/policy-packs/builtin/understanding-before-execution/markers.d.ts +0 -126
  556. package/dist/policy-packs/builtin/understanding-before-execution/markers.js +0 -245
  557. package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +0 -1
  558. package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.d.ts +0 -29
  559. package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js +0 -82
  560. package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js.map +0 -1
  561. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.d.ts +0 -71
  562. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js +0 -175
  563. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js.map +0 -1
  564. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.d.ts +0 -620
  565. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +0 -1047
  566. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js.map +0 -1
  567. package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.d.ts +0 -128
  568. package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +0 -213
  569. package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +0 -1
  570. package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.d.ts +0 -129
  571. package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js +0 -166
  572. package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js.map +0 -1
  573. package/dist/policy-packs/builtin/understanding-before-execution/task-markers.d.ts +0 -164
  574. package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js +0 -275
  575. package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js.map +0 -1
  576. package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +0 -1
  577. package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +0 -10
  578. package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +0 -1
  579. package/dist/policy-packs/builtin/understanding-before-execution.d.ts +0 -526
  580. package/dist/policy-packs/builtin/understanding-before-execution.js +0 -1074
  581. package/dist/policy-packs/builtin/understanding-before-execution.js.map +0 -1
  582. package/dist/policy-packs/permission-translator.d.ts +0 -9
  583. package/dist/policy-packs/permission-translator.js +0 -76
  584. package/dist/policy-packs/permission-translator.js.map +0 -1
  585. package/dist/runtime/action-envelope.d.ts +0 -64
  586. package/dist/runtime/action-envelope.js +0 -46
  587. package/dist/runtime/action-envelope.js.map +0 -1
  588. package/dist/runtime/approval-signing.d.ts +0 -111
  589. package/dist/runtime/approval-signing.js +0 -384
  590. package/dist/runtime/approval-signing.js.map +0 -1
  591. package/dist/runtime/bash-match-facts.d.ts +0 -60
  592. package/dist/runtime/bash-match-facts.js +0 -196
  593. package/dist/runtime/bash-match-facts.js.map +0 -1
  594. package/dist/runtime/bash-match-registry.d.ts +0 -112
  595. package/dist/runtime/bash-match-registry.js +0 -406
  596. package/dist/runtime/bash-match-registry.js.map +0 -1
  597. package/dist/runtime/bash-prefix-parse.d.ts +0 -31
  598. package/dist/runtime/bash-prefix-parse.js +0 -576
  599. package/dist/runtime/bash-prefix-parse.js.map +0 -1
  600. package/dist/runtime/command-normalize.d.ts +0 -658
  601. package/dist/runtime/command-normalize.js +0 -2410
  602. package/dist/runtime/command-normalize.js.map +0 -1
  603. package/dist/runtime/deletion-target-resolve.d.ts +0 -28
  604. package/dist/runtime/deletion-target-resolve.js +0 -1078
  605. package/dist/runtime/deletion-target-resolve.js.map +0 -1
  606. package/dist/runtime/destructive-shell-floor.d.ts +0 -19
  607. package/dist/runtime/destructive-shell-floor.js +0 -611
  608. package/dist/runtime/destructive-shell-floor.js.map +0 -1
  609. package/dist/runtime/environment-resolver.d.ts +0 -36
  610. package/dist/runtime/environment-resolver.js +0 -138
  611. package/dist/runtime/environment-resolver.js.map +0 -1
  612. package/dist/runtime/git-context.d.ts +0 -201
  613. package/dist/runtime/git-context.js +0 -422
  614. package/dist/runtime/git-context.js.map +0 -1
  615. package/dist/runtime/index.d.ts +0 -12
  616. package/dist/runtime/index.js +0 -13
  617. package/dist/runtime/index.js.map +0 -1
  618. package/dist/runtime/intercept.d.ts +0 -494
  619. package/dist/runtime/intercept.js +0 -1313
  620. package/dist/runtime/intercept.js.map +0 -1
  621. package/dist/runtime/kube-context.d.ts +0 -16
  622. package/dist/runtime/kube-context.js +0 -63
  623. package/dist/runtime/kube-context.js.map +0 -1
  624. package/dist/runtime/kubectl-target-parse.d.ts +0 -31
  625. package/dist/runtime/kubectl-target-parse.js +0 -249
  626. package/dist/runtime/kubectl-target-parse.js.map +0 -1
  627. package/dist/runtime/ledger-add.d.ts +0 -16
  628. package/dist/runtime/ledger-add.js +0 -150
  629. package/dist/runtime/ledger-add.js.map +0 -1
  630. package/dist/runtime/ledger-writer.d.ts +0 -27
  631. package/dist/runtime/ledger-writer.js +0 -46
  632. package/dist/runtime/ledger-writer.js.map +0 -1
  633. package/dist/runtime/pause-sentinel.d.ts +0 -60
  634. package/dist/runtime/pause-sentinel.js +0 -156
  635. package/dist/runtime/pause-sentinel.js.map +0 -1
  636. package/dist/runtime/pending-approval.d.ts +0 -23
  637. package/dist/runtime/pending-approval.js +0 -67
  638. package/dist/runtime/pending-approval.js.map +0 -1
  639. package/dist/runtime/read-only-bash.d.ts +0 -141
  640. package/dist/runtime/read-only-bash.js +0 -2204
  641. package/dist/runtime/read-only-bash.js.map +0 -1
  642. package/dist/runtime/recovery-git-commit.d.ts +0 -22
  643. package/dist/runtime/recovery-git-commit.js +0 -284
  644. package/dist/runtime/recovery-git-commit.js.map +0 -1
  645. package/dist/runtime/reject-malformed-session-id.d.ts +0 -8
  646. package/dist/runtime/reject-malformed-session-id.js +0 -16
  647. package/dist/runtime/reject-malformed-session-id.js.map +0 -1
  648. package/dist/runtime/risk-classifier.d.ts +0 -38
  649. package/dist/runtime/risk-classifier.js +0 -311
  650. package/dist/runtime/risk-classifier.js.map +0 -1
  651. package/dist/runtime/session-id.d.ts +0 -113
  652. package/dist/runtime/session-id.js +0 -193
  653. package/dist/runtime/session-id.js.map +0 -1
  654. package/dist/runtime/shell-word.d.ts +0 -62
  655. package/dist/runtime/shell-word.js +0 -410
  656. package/dist/runtime/shell-word.js.map +0 -1
  657. package/dist/runtime/task-providers/agent-tasks.d.ts +0 -103
  658. package/dist/runtime/task-providers/agent-tasks.js +0 -245
  659. package/dist/runtime/task-providers/agent-tasks.js.map +0 -1
  660. package/dist/runtime/when-eval.d.ts +0 -62
  661. package/dist/runtime/when-eval.js +0 -212
  662. package/dist/runtime/when-eval.js.map +0 -1
  663. package/dist/runtime/workflow-policies.d.ts +0 -207
  664. package/dist/runtime/workflow-policies.js +0 -596
  665. package/dist/runtime/workflow-policies.js.map +0 -1
  666. package/dist/schema/audit.d.ts +0 -71
  667. package/dist/schema/audit.js +0 -32
  668. package/dist/schema/audit.js.map +0 -1
  669. package/dist/schema/doctor.d.ts +0 -25
  670. package/dist/schema/doctor.js +0 -23
  671. package/dist/schema/doctor.js.map +0 -1
  672. package/dist/schema/environments.d.ts +0 -215
  673. package/dist/schema/environments.js +0 -101
  674. package/dist/schema/environments.js.map +0 -1
  675. package/dist/schema/extract.d.ts +0 -9
  676. package/dist/schema/extract.js +0 -86
  677. package/dist/schema/extract.js.map +0 -1
  678. package/dist/schema/permission-profiles.d.ts +0 -2292
  679. package/dist/schema/permission-profiles.js +0 -60
  680. package/dist/schema/permission-profiles.js.map +0 -1
  681. package/dist/schema/policies.d.ts +0 -974
  682. package/dist/schema/policies.js +0 -298
  683. package/dist/schema/policies.js.map +0 -1
  684. package/dist/schema/requires.d.ts +0 -131
  685. package/dist/schema/requires.js +0 -88
  686. package/dist/schema/requires.js.map +0 -1
  687. package/dist/schema/risk.d.ts +0 -144
  688. package/dist/schema/risk.js +0 -194
  689. package/dist/schema/risk.js.map +0 -1
  690. package/dist/schema/session-start-preflight.d.ts +0 -10
  691. package/dist/schema/session-start-preflight.js +0 -106
  692. package/dist/schema/session-start-preflight.js.map +0 -1
  693. package/dist/schema/stale-base-check.d.ts +0 -18
  694. package/dist/schema/stale-base-check.js +0 -37
  695. package/dist/schema/stale-base-check.js.map +0 -1
  696. package/dist/schema/toolchain-parity.d.ts +0 -21
  697. package/dist/schema/toolchain-parity.js +0 -48
  698. package/dist/schema/toolchain-parity.js.map +0 -1
  699. package/dist/schema/workflows.d.ts +0 -519
  700. package/dist/schema/workflows.js +0 -81
  701. package/dist/schema/workflows.js.map +0 -1
  702. package/scripts/runtime-reality-docker-probe.mjs +0 -71
@@ -1,144 +0,0 @@
1
- import { z } from "zod";
2
- export declare const RiskSeveritySchema: z.ZodEnum<["low", "medium", "high", "critical"]>;
3
- export declare const RiskCategorySchema: z.ZodEnum<["destructive", "data_loss", "production_mutation", "credential_access", "secret_exfiltration", "network_exfiltration", "deployment_change", "infrastructure_change", "privilege_escalation", "irreversible_action", "mass_update"]>;
4
- export declare const RiskClassifierSchema: z.ZodObject<{
5
- name: z.ZodString;
6
- tool: z.ZodString;
7
- patterns: z.ZodArray<z.ZodEffects<z.ZodObject<{
8
- pattern: z.ZodString;
9
- categories: z.ZodArray<z.ZodEnum<["destructive", "data_loss", "production_mutation", "credential_access", "secret_exfiltration", "network_exfiltration", "deployment_change", "infrastructure_change", "privilege_escalation", "irreversible_action", "mass_update"]>, "many">;
10
- severity: z.ZodEnum<["low", "medium", "high", "critical"]>;
11
- }, "strict", z.ZodTypeAny, {
12
- pattern: string;
13
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
14
- severity: "low" | "medium" | "high" | "critical";
15
- }, {
16
- pattern: string;
17
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
18
- severity: "low" | "medium" | "high" | "critical";
19
- }>, {
20
- pattern: string;
21
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
22
- severity: "low" | "medium" | "high" | "critical";
23
- }, {
24
- pattern: string;
25
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
26
- severity: "low" | "medium" | "high" | "critical";
27
- }>, "many">;
28
- }, "strict", z.ZodTypeAny, {
29
- patterns: {
30
- pattern: string;
31
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
32
- severity: "low" | "medium" | "high" | "critical";
33
- }[];
34
- name: string;
35
- tool: string;
36
- }, {
37
- patterns: {
38
- pattern: string;
39
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
40
- severity: "low" | "medium" | "high" | "critical";
41
- }[];
42
- name: string;
43
- tool: string;
44
- }>;
45
- export declare const DegradedFailPostureSchema: z.ZodEnum<["preserve_enforcement", "fail_open"]>;
46
- export declare const DEFAULT_SAFE_DELETION_ROOTS: string[];
47
- export declare const RiskSchema: z.ZodEffects<z.ZodObject<{
48
- classifiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
49
- name: z.ZodString;
50
- tool: z.ZodString;
51
- patterns: z.ZodArray<z.ZodEffects<z.ZodObject<{
52
- pattern: z.ZodString;
53
- categories: z.ZodArray<z.ZodEnum<["destructive", "data_loss", "production_mutation", "credential_access", "secret_exfiltration", "network_exfiltration", "deployment_change", "infrastructure_change", "privilege_escalation", "irreversible_action", "mass_update"]>, "many">;
54
- severity: z.ZodEnum<["low", "medium", "high", "critical"]>;
55
- }, "strict", z.ZodTypeAny, {
56
- pattern: string;
57
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
58
- severity: "low" | "medium" | "high" | "critical";
59
- }, {
60
- pattern: string;
61
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
62
- severity: "low" | "medium" | "high" | "critical";
63
- }>, {
64
- pattern: string;
65
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
66
- severity: "low" | "medium" | "high" | "critical";
67
- }, {
68
- pattern: string;
69
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
70
- severity: "low" | "medium" | "high" | "critical";
71
- }>, "many">;
72
- }, "strict", z.ZodTypeAny, {
73
- patterns: {
74
- pattern: string;
75
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
76
- severity: "low" | "medium" | "high" | "critical";
77
- }[];
78
- name: string;
79
- tool: string;
80
- }, {
81
- patterns: {
82
- pattern: string;
83
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
84
- severity: "low" | "medium" | "high" | "critical";
85
- }[];
86
- name: string;
87
- tool: string;
88
- }>, "many">>;
89
- degraded_fail_posture: z.ZodDefault<z.ZodEnum<["preserve_enforcement", "fail_open"]>>;
90
- safe_deletion_roots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
91
- }, "strict", z.ZodTypeAny, {
92
- classifiers: {
93
- patterns: {
94
- pattern: string;
95
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
96
- severity: "low" | "medium" | "high" | "critical";
97
- }[];
98
- name: string;
99
- tool: string;
100
- }[];
101
- degraded_fail_posture: "preserve_enforcement" | "fail_open";
102
- safe_deletion_roots: string[];
103
- }, {
104
- classifiers?: {
105
- patterns: {
106
- pattern: string;
107
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
108
- severity: "low" | "medium" | "high" | "critical";
109
- }[];
110
- name: string;
111
- tool: string;
112
- }[] | undefined;
113
- degraded_fail_posture?: "preserve_enforcement" | "fail_open" | undefined;
114
- safe_deletion_roots?: string[] | undefined;
115
- }>, {
116
- classifiers: {
117
- patterns: {
118
- pattern: string;
119
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
120
- severity: "low" | "medium" | "high" | "critical";
121
- }[];
122
- name: string;
123
- tool: string;
124
- }[];
125
- degraded_fail_posture: "preserve_enforcement" | "fail_open";
126
- safe_deletion_roots: string[];
127
- }, {
128
- classifiers?: {
129
- patterns: {
130
- pattern: string;
131
- categories: ("destructive" | "data_loss" | "production_mutation" | "credential_access" | "secret_exfiltration" | "network_exfiltration" | "deployment_change" | "infrastructure_change" | "privilege_escalation" | "irreversible_action" | "mass_update")[];
132
- severity: "low" | "medium" | "high" | "critical";
133
- }[];
134
- name: string;
135
- tool: string;
136
- }[] | undefined;
137
- degraded_fail_posture?: "preserve_enforcement" | "fail_open" | undefined;
138
- safe_deletion_roots?: string[] | undefined;
139
- }>;
140
- export type DegradedFailPosture = z.infer<typeof DegradedFailPostureSchema>;
141
- export type RiskSeverity = z.infer<typeof RiskSeveritySchema>;
142
- export type RiskCategory = z.infer<typeof RiskCategorySchema>;
143
- export type RiskClassifier = z.infer<typeof RiskClassifierSchema>;
144
- export type RiskConfig = z.infer<typeof RiskSchema>;
@@ -1,194 +0,0 @@
1
- import { z } from "zod";
2
- // Risk Gate vocabulary — Phase 7 #1 anchor.
3
- //
4
- // STATUS: LIVE (corrected 2026-07-02, task 50a94127; this header
5
- // previously still said "no runtime surface reads it yet" long after
6
- // that stopped being true). `risk.classifiers[]` is consumed by the
7
- // Risk Classifier (`classifyRisk`, runtime/risk-classifier.ts) invoked
8
- // from runtime/intercept.ts on every PreToolUse once the manifest
9
- // declares at least one `when:`-bearing policy (the riskGateActive
10
- // guard), and policies consume the classification through `when.risk.*`
11
- // clauses evaluated in runtime/when-eval.ts (Phase 7 #5). A declared
12
- // `risk:` block is enforced configuration, not decoration. See
13
- // docs/risk-gate.md.
14
- //
15
- // Design source: lava-ice-logs/2026-04-30/harness-risk-gate-extension.md.
16
- // Severity is an ordered scale: a future `when.risk.severity_at_least:
17
- // high` clause matches `high` and `critical`. The ordering is the enum
18
- // declaration order — the Phase 7 #5 evaluator derives the comparison
19
- // from `RiskSeveritySchema.options`. This anchor only fixes the set.
20
- export const RiskSeveritySchema = z.enum(["low", "medium", "high", "critical"]);
21
- // Closed category vocabulary. Phase 7 #1 deliberately ships a fixed set
22
- // rather than a free-form string: a typo (`data-loss` for `data_loss`)
23
- // is then a validate-time error instead of a clause that silently never
24
- // matches, and `when.risk.category_in` stays statically checkable. New
25
- // categories are a schema addition, not operator config — see
26
- // docs/risk-gate.md for the rationale and the v2 escape hatch.
27
- export const RiskCategorySchema = z.enum([
28
- "destructive",
29
- "data_loss",
30
- "production_mutation",
31
- "credential_access",
32
- "secret_exfiltration",
33
- "network_exfiltration",
34
- "deployment_change",
35
- "infrastructure_change",
36
- "privilege_escalation",
37
- "irreversible_action",
38
- "mass_update",
39
- ]);
40
- // One pattern → (categories, severity) assignment. `pattern` is a
41
- // regular expression matched against the classified tool's raw input
42
- // (the exact field and match semantics are the Phase 7 #3 classifier's
43
- // concern; the anchor only stores and regex-validates the string).
44
- const RiskPatternSchema = z
45
- .object({
46
- pattern: z.string().min(1),
47
- categories: z.array(RiskCategorySchema).min(1),
48
- severity: RiskSeveritySchema,
49
- })
50
- .strict()
51
- .superRefine((rule, ctx) => {
52
- try {
53
- new RegExp(rule.pattern);
54
- }
55
- catch (err) {
56
- ctx.addIssue({
57
- code: z.ZodIssueCode.custom,
58
- path: ["pattern"],
59
- message: `invalid regex: ${err.message}`,
60
- });
61
- }
62
- });
63
- export const RiskClassifierSchema = z
64
- .object({
65
- name: z.string().min(1),
66
- // The tool name whose input the classifier's patterns run against
67
- // (e.g. `Bash`). The matcher that binds a classifier to a live tool
68
- // event is Phase 7 #3; the anchor only records the binding.
69
- tool: z.string().min(1),
70
- patterns: z.array(RiskPatternSchema).min(1),
71
- })
72
- .strict();
73
- // Fail posture of block/require_approval policies when their evidence
74
- // source is DEGRADED (ledger timeout, spawn failure, unresolved template,
75
- // invalid `within`, thrown evaluator) — i.e. the evaluator could not form
76
- // a real verdict at all (task f1aea826).
77
- //
78
- // preserve_enforcement (default) — a policy whose enforcement is
79
- // `block` or `require_approval` fails CLOSED (`deny-degraded`): the
80
- // gate exists to prevent a specific irreversible incident, so "could
81
- // not read the evidence" must not open it. `warn` policies keep the
82
- // availability-first `warn-degraded` (never blocks).
83
- // fail_open — the pre-0.45 behaviour: EVERY degraded evaluation maps
84
- // to the non-blocking `warn-degraded`, regardless of enforcement.
85
- // Explicit operator opt-out for availability-first setups.
86
- //
87
- // This knob covers only the policy engine's own degraded paths. The
88
- // OUTER hook-budget layer (a hook that exceeds its budget is allow by
89
- // harness contract) is a separate fail-open surface this schema cannot
90
- // reach — see docs/okf/gate-fail-posture-matrix.md.
91
- export const DegradedFailPostureSchema = z.enum([
92
- "preserve_enforcement",
93
- "fail_open",
94
- ]);
95
- // Safe-deletion-root allowlist (task d03af8f6). `src/runtime/
96
- // deletion-target-resolve.ts` statically resolves the target(s) of a
97
- // deletion-verb command (`rm -r*`/`-f*`, `find ... -delete`/`-exec*`/
98
- // `-execdir` with an `rm` payload, `git clean -f*`) and treats a target
99
- // as safe only when it is an ABSOLUTE path that lies STRICTLY INSIDE one
100
- // of these roots (a plain directory-prefix match against `root + "/"`;
101
- // the root itself does not count, for EVERY verb alike — `find`'s own
102
- // start point is removed by `-delete`/`-exec` the same way `rm`'s
103
- // operand is, so it gets no root-equality exception either). An
104
- // optional trailing `/**` or `/*` on an entry is stripped
105
- // as documentation sugar before matching — it is not a real glob
106
- // engine. A target the
107
- // resolver cannot statically prove absolute and prefix-matched — an
108
- // unexpanded `$VAR`/`${VAR}` reference, a `~`-relative path, a relative
109
- // path, or a `..`-traversal that normalizes outside every root — is
110
- // treated as UNRESOLVABLE, never guessed safe. The defaults cover the
111
- // two spellings this harness's own scratchpad convention can use: a
112
- // symlinked `/tmp` and its `/private/tmp` realpath (macOS); an operator
113
- // who overrides this list REPLACES it, it does not merge with the
114
- // default. See docs/risk-gate.md.
115
- // Exported (not just used as the schema `.default()`) so runtime call
116
- // sites can fall back to the same list for a hand-built `Manifest` that
117
- // bypassed schema parsing entirely (every test fixture that constructs
118
- // `{ risk: { classifiers: [...] } }` directly, without going through
119
- // `RiskSchema.parse`) — see `src/runtime/intercept.ts` and
120
- // `src/cli/explain-policy.ts`.
121
- export const DEFAULT_SAFE_DELETION_ROOTS = ["/tmp", "/private/tmp"];
122
- export const RiskSchema = z
123
- .object({
124
- classifiers: z.array(RiskClassifierSchema).default([]),
125
- degraded_fail_posture: DegradedFailPostureSchema.default("preserve_enforcement"),
126
- safe_deletion_roots: z
127
- .array(z.string().min(1))
128
- .default(DEFAULT_SAFE_DELETION_ROOTS),
129
- })
130
- .strict()
131
- .superRefine((risk, ctx) => {
132
- const seen = new Set();
133
- risk.classifiers.forEach((c, i) => {
134
- if (seen.has(c.name)) {
135
- ctx.addIssue({
136
- code: z.ZodIssueCode.custom,
137
- path: ["classifiers", i, "name"],
138
- message: `duplicate risk classifier name: ${c.name}`,
139
- });
140
- }
141
- seen.add(c.name);
142
- });
143
- // A filesystem-root entry — bare `/`, or anything that lexically
144
- // NORMALIZES to `/` (`/.`, `/./`, `/tmp/..` — task d03af8f6, review
145
- // round 3, LOW (d), widening review round 2 LOW (a)'s bare-`/`-only
146
- // check) — would match every absolute path as "inside" it via the
147
- // resolver's own `target.startsWith(root + "/")` prefix check —
148
- // silently defeating the entire point of an allowlist. Rejected at
149
- // parse time with a message rather than special-cased to "matches
150
- // everything" at runtime, since an operator who wrote one of these
151
- // spellings almost certainly meant a specific subdirectory.
152
- // Non-absolute entries and ones containing `$`/`~` are a `harness
153
- // validate` LINT instead (a warning, not a parse-time error) — see
154
- // `checkSafeDeletionRootsSyntax` in `src/cli/validate/checks.ts`.
155
- risk.safe_deletion_roots.forEach((root, i) => {
156
- if (normalizesToFilesystemRoot(root)) {
157
- ctx.addIssue({
158
- code: z.ZodIssueCode.custom,
159
- path: ["safe_deletion_roots", i],
160
- message: `risk.safe_deletion_roots entry "${root}" normalizes to the filesystem root and can ` +
161
- `never be a meaningful allowlist entry: every absolute deletion target would match ` +
162
- `it as "inside," defeating the allowlist. Declare specific subdirectories instead ` +
163
- `(e.g. "/tmp").`,
164
- });
165
- }
166
- });
167
- });
168
- /**
169
- * `true` when `root` (trimmed) lexically collapses to the filesystem
170
- * root `/` — bare `/`, any run of bare `/` characters, `/.`, `/./`, or a
171
- * `..`-traversal that pops back to `/` (`/tmp/..`). Lexical only (no
172
- * filesystem I/O, mirrors `deletion-target-resolve.ts`'s own
173
- * `normalizePosixPath` in spirit — not imported from there: this is a
174
- * schema-time validation, `deletion-target-resolve.ts` is a runtime
175
- * module, and neither layer should depend on the other for a check this
176
- * small).
177
- */
178
- function normalizesToFilesystemRoot(root) {
179
- const trimmed = root.trim();
180
- if (!trimmed.startsWith("/"))
181
- return false;
182
- const out = [];
183
- for (const part of trimmed.split("/")) {
184
- if (part === "" || part === ".")
185
- continue;
186
- if (part === "..") {
187
- out.pop();
188
- continue;
189
- }
190
- out.push(part);
191
- }
192
- return out.length === 0;
193
- }
194
- //# sourceMappingURL=risk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"risk.js","sourceRoot":"","sources":["../../src/schema/risk.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { z } from "zod";
2
- export declare const SESSION_START_PREFLIGHT_SETUP_BUILD_MIN_VERSION = "0.6.0";
3
- export declare const SessionStartPreflightSchema: z.ZodObject<{
4
- setup: z.ZodDefault<z.ZodBoolean>;
5
- }, "strict", z.ZodTypeAny, {
6
- setup: boolean;
7
- }, {
8
- setup?: boolean | undefined;
9
- }>;
10
- export type SessionStartPreflightConfig = z.infer<typeof SessionStartPreflightSchema>;
@@ -1,106 +0,0 @@
1
- import { z } from "zod";
2
- // `session_start_preflight` (task 30183330): optional, default-OFF
3
- // config block for `harness session-start preflight` (and its
4
- // top-level alias `harness preflight`). The producer itself lives in
5
- // src/cli/session-start/index.ts; this schema only carries the
6
- // manifest-declared knob it reads.
7
- //
8
- // `setup` gates whether the companion passes `--setup` through to the
9
- // `preflight run --json <cwd>` invocation it spawns. Defaults to
10
- // `false`: an ABSENT `session_start_preflight:` block and a
11
- // PRESENT-but-`setup: false` block behave identically (both invoke
12
- // `preflight run` with no `--setup`), matching every sibling
13
- // SessionStart companion's opt-in convention (see ./toolchain-parity.ts,
14
- // ./stale-base-check.ts); existing manifests parse unchanged and this
15
- // knob never surprises an operator with new install/build work inside a
16
- // SessionStart hook until they explicitly ask for it.
17
- //
18
- // `--setup` runs a dependency install and, on the agent-preflight build
19
- // this schema was authored against, a conditional `npm run build` when
20
- // the target repo's own `.github/workflows/ci.yml` shows a build step
21
- // before the test step (agent-preflight PR #72; released as of
22
- // agent-preflight 0.5.0, `--setup` there is install-only, no build
23
- // step). Either way, the whole `preflight run` child is still bounded
24
- // by the SAME `--timeout` / `preflightTimeoutMs` that already bounds
25
- // the companion's subprocess (`DEFAULT_PREFLIGHT_TIMEOUT_MS`,
26
- // src/cli/session-start/index.ts); enabling `setup` on a workspaces
27
- // monorepo whose install+build routinely runs long should come with an
28
- // explicit `--timeout` raise; neither this schema nor the producer ever
29
- // raises it automatically. agent-preflight's own build step gets a
30
- // SEPARATE, larger budget (`DEFAULT_SETUP_BUILD_TIMEOUT_MS`, 300000ms,
31
- // agent-preflight's `src/checks/shared.ts`) than this producer's default
32
- // `--timeout` (60000ms), and `execFile`'s timeout only kills the
33
- // `preflight` process itself, not its process group: an `npm ci` /
34
- // build still in flight when that kill lands keeps writing into the
35
- // target repo after this hook has already exited 0. Raise `--timeout`
36
- // (or the target repo's own `.preflight.json` `setup.buildTimeoutMs`)
37
- // together when enabling `setup` on a slow workspace.
38
- //
39
- // SECURITY: `--setup` is not inert on untrusted repository content. Its
40
- // dependency install runs `npm ci`, which executes that repo's package
41
- // lifecycle scripts, and its conditional build decision is read out of
42
- // the TARGET repo's own `.github/workflows/ci.yml` `run:` lines; both
43
- // are attacker-controlled if the repo is not already trusted (mirrors
44
- // agent-preflight's own README warning around its MCP server's `--setup`
45
- // / `setup.enabled` section: "a `run:` line in the target repo's own
46
- // `.github/workflows/ci.yml` ... decides whether that repo's `build`
47
- // script is executed on your machine ... `--setup` belongs only on
48
- // repositories you already trust to run"). Enable this knob only for
49
- // repositories you already trust to run their own install/build.
50
- //
51
- // SCOPE (task c88461c1): resolved from the base manifest, any applicable
52
- // machine-override layers, and a per-repo project-override layer. The
53
- // generated hook still invokes `harness session-start preflight` with no
54
- // `--project` (one static hook command cannot name a different project
55
- // per repository), but the producer itself derives a project name from
56
- // its own cwd and feeds it through the EXISTING `LoaderOptions.project`
57
- // mechanism `--project <name>` also uses, so
58
- // `<home>/projects/<name>/harness.overrides.yaml`, when present, narrows
59
- // this key to that one repository. An explicit `--project` (where a
60
- // caller passes one) still wins outright; a repo with no such layer on
61
- // disk keeps the host-wide base/machine-override value unchanged.
62
- //
63
- // REPOSITORY IDENTITY (review round 2, decision D-021a): the derived
64
- // name is the basename of the MAIN checkout (the directory containing
65
- // the repository's shared git common dir, `resolveCommonDir` /
66
- // `deriveProjectName` in `src/runtime/git-context.ts`), NOT the cwd's
67
- // own checkout directory, every linked worktree (`git worktree add`)
68
- // of one repository resolves the identical project layer this way. A
69
- // bare repository has no `.git` wrapper to step up from, so its own
70
- // directory's basename applies directly. This is deliberately a
71
- // DIFFERENT value than the `repo` the `preflight:${REPO}` ledger tag
72
- // uses (that tag stays scoped to the checkout directory itself; see
73
- // `resolveGitContext` in the same module). `harness explain-policy` and
74
- // `harness doctor` derive the project name from the SAME
75
- // `deriveProjectName` helper (decision D-021b), so all three consumers
76
- // of this key agree on which layer applies to a given cwd.
77
- //
78
- // The full scope, degradation, timeout and version notes live in ONE
79
- // place, docs/CLI.md under `session_start_preflight.setup`, pinned by
80
- // the tests named there; this header deliberately does not repeat them.
81
- //
82
- // VERSION CAVEAT (task 6993d9b5): agent-preflight 0.5.0's `--setup` was
83
- // install-only (no conditional build, see the prose above). The build
84
- // step described above shipped in agent-preflight 0.6.0 (tag v0.6.0,
85
- // merge commit 2062831).
86
- //
87
- // SPLIT (task 65952a0c, docs/decisions/2026-09-08-preflight-floors.md):
88
- // through task 6993d9b5, `SESSION_START_PREFLIGHT_SETUP_BUILD_MIN_VERSION`
89
- // below was ALSO the `init` template's `git-preflight` hook `min_version`
90
- // (src/cli/init/templates.ts). The two are now independent constants:
91
- // this one is the SETUP floor, read only by `harness doctor`'s
92
- // session_start_preflight.setup version check
93
- // (src/cli/doctor/session-start-preflight-setup-version.ts) and by the
94
- // `init` wizard's dependency table (src/cli/init/dependencies.ts, via
95
- // the hook floor, not this one). The hook floor itself,
96
- // `GIT_PREFLIGHT_HOOK_MIN_VERSION`, now lives in
97
- // src/cli/init/templates.ts. Both are `"0.6.0"` today; bump each only
98
- // per its own rationale in the ADR, they are free to diverge on a
99
- // future agent-preflight release that touches only one of the two.
100
- export const SESSION_START_PREFLIGHT_SETUP_BUILD_MIN_VERSION = "0.6.0";
101
- export const SessionStartPreflightSchema = z
102
- .object({
103
- setup: z.boolean().default(false),
104
- })
105
- .strict();
106
- //# sourceMappingURL=session-start-preflight.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-start-preflight.js","sourceRoot":"","sources":["../../src/schema/session-start-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mEAAmE;AACnE,8DAA8D;AAC9D,qEAAqE;AACrE,+DAA+D;AAC/D,mCAAmC;AACnC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,4DAA4D;AAC5D,mEAAmE;AACnE,6DAA6D;AAC7D,yEAAyE;AACzE,sEAAsE;AACtE,wEAAwE;AACxE,sDAAsD;AACtD,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,sEAAsE;AACtE,+DAA+D;AAC/D,mEAAmE;AACnE,sEAAsE;AACtE,qEAAqE;AACrE,8DAA8D;AAC9D,oEAAoE;AACpE,uEAAuE;AACvE,wEAAwE;AACxE,mEAAmE;AACnE,uEAAuE;AACvE,yEAAyE;AACzE,iEAAiE;AACjE,mEAAmE;AACnE,oEAAoE;AACpE,sEAAsE;AACtE,sEAAsE;AACtE,sDAAsD;AACtD,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,qEAAqE;AACrE,iEAAiE;AACjE,EAAE;AACF,yEAAyE;AACzE,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,6CAA6C;AAC7C,yEAAyE;AACzE,oEAAoE;AACpE,uEAAuE;AACvE,kEAAkE;AAClE,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,+DAA+D;AAC/D,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,gEAAgE;AAChE,qEAAqE;AACrE,oEAAoE;AACpE,wEAAwE;AACxE,yDAAyD;AACzD,uEAAuE;AACvE,2DAA2D;AAC3D,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,wEAAwE;AACxE,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,qEAAqE;AACrE,yBAAyB;AACzB,EAAE;AACF,wEAAwE;AACxE,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,+DAA+D;AAC/D,8CAA8C;AAC9C,uEAAuE;AACvE,sEAAsE;AACtE,wDAAwD;AACxD,iDAAiD;AACjD,sEAAsE;AACtE,kEAAkE;AAClE,mEAAmE;AACnE,MAAM,CAAC,MAAM,+CAA+C,GAAG,OAAO,CAAC;AAEvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAClC,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -1,18 +0,0 @@
1
- import { z } from "zod";
2
- export declare const StaleBaseCheckSchema: z.ZodObject<{
3
- enabled: z.ZodDefault<z.ZodBoolean>;
4
- remote: z.ZodOptional<z.ZodString>;
5
- default_branch: z.ZodOptional<z.ZodString>;
6
- fetch_timeout_ms: z.ZodOptional<z.ZodNumber>;
7
- }, "strict", z.ZodTypeAny, {
8
- enabled: boolean;
9
- remote?: string | undefined;
10
- default_branch?: string | undefined;
11
- fetch_timeout_ms?: number | undefined;
12
- }, {
13
- enabled?: boolean | undefined;
14
- remote?: string | undefined;
15
- default_branch?: string | undefined;
16
- fetch_timeout_ms?: number | undefined;
17
- }>;
18
- export type StaleBaseCheckConfig = z.infer<typeof StaleBaseCheckSchema>;
@@ -1,37 +0,0 @@
1
- import { z } from "zod";
2
- // `stale_base_check` (task ce3903b0, incident ea8becf5) — optional,
3
- // default-OFF config block for `harness session-start stale-base-check`.
4
- // The producer itself lives in
5
- // src/cli/session-start/stale-base-check.ts; this schema only carries the
6
- // manifest-declared knobs it reads.
7
- //
8
- // Every field is optional: the producer resolves its own sane defaults
9
- // (remote -> "origin", default_branch -> resolved from
10
- // refs/remotes/origin/HEAD, fetch_timeout_ms -> 8000) when a field is
11
- // omitted, so declaring `stale_base_check: { enabled: true }` alone is a
12
- // complete, valid config. `enabled` itself defaults to `false`: an ABSENT
13
- // `stale_base_check:` block and a PRESENT-but-`enabled: false` block
14
- // behave identically (both skip, and — the point of opt-in here — neither
15
- // ever spends a network round-trip), so existing manifests parse
16
- // unchanged and this companion never surprises an operator with new
17
- // session-start network I/O until they explicitly ask for it. See the
18
- // producer module's header comment for the full WHERE/SCHÄRFE rationale.
19
- export const StaleBaseCheckSchema = z
20
- .object({
21
- enabled: z.boolean().default(false),
22
- // Remote name to fetch the live default-branch tip from. Defaults to
23
- // "origin" when omitted.
24
- remote: z.string().min(1).optional(),
25
- // Explicit default-branch override (e.g. "main"). When omitted, the
26
- // producer resolves it from `refs/remotes/origin/HEAD` on disk — that
27
- // lookup is safe to trust for the branch NAME (which essentially never
28
- // changes after initial repo setup), unlike trusting that ref's SHA
29
- // for staleness, which is exactly the bug this task closes.
30
- default_branch: z.string().min(1).optional(),
31
- // Per-`git` subprocess timeout in ms (applied individually to the
32
- // fetch, and to each follow-up rev-list/log call). Defaults to 8000
33
- // when omitted.
34
- fetch_timeout_ms: z.number().int().positive().optional(),
35
- })
36
- .strict();
37
- //# sourceMappingURL=stale-base-check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stale-base-check.js","sourceRoot":"","sources":["../../src/schema/stale-base-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oEAAoE;AACpE,yEAAyE;AACzE,+BAA+B;AAC/B,0EAA0E;AAC1E,oCAAoC;AACpC,EAAE;AACF,uEAAuE;AACvE,uDAAuD;AACvD,sEAAsE;AACtE,yEAAyE;AACzE,0EAA0E;AAC1E,qEAAqE;AACrE,0EAA0E;AAC1E,iEAAiE;AACjE,oEAAoE;AACpE,sEAAsE;AACtE,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,qEAAqE;IACrE,yBAAyB;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,oEAAoE;IACpE,sEAAsE;IACtE,uEAAuE;IACvE,oEAAoE;IACpE,4DAA4D;IAC5D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,kEAAkE;IAClE,oEAAoE;IACpE,gBAAgB;IAChB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACzD,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -1,21 +0,0 @@
1
- import { z } from "zod";
2
- export declare const ToolchainParitySchema: z.ZodObject<{
3
- enabled: z.ZodDefault<z.ZodBoolean>;
4
- machine_state_dir: z.ZodOptional<z.ZodString>;
5
- profile: z.ZodOptional<z.ZodString>;
6
- workspace_root: z.ZodOptional<z.ZodString>;
7
- stale_after_days: z.ZodOptional<z.ZodNumber>;
8
- }, "strict", z.ZodTypeAny, {
9
- enabled: boolean;
10
- machine_state_dir?: string | undefined;
11
- profile?: string | undefined;
12
- workspace_root?: string | undefined;
13
- stale_after_days?: number | undefined;
14
- }, {
15
- enabled?: boolean | undefined;
16
- machine_state_dir?: string | undefined;
17
- profile?: string | undefined;
18
- workspace_root?: string | undefined;
19
- stale_after_days?: number | undefined;
20
- }>;
21
- export type ToolchainParityConfig = z.infer<typeof ToolchainParitySchema>;
@@ -1,48 +0,0 @@
1
- import { z } from "zod";
2
- // `toolchain_parity` (task: PATH-Shim-Vorfall 2026-07-22) — optional,
3
- // default-OFF config block for `harness session-start toolchain-parity`.
4
- // The producer itself lives in src/cli/session-start/toolchain-parity.ts;
5
- // this schema only carries the manifest-declared knobs it reads.
6
- //
7
- // Every field is optional: the producer resolves its own sane defaults
8
- // (machine_state_dir -> ~/.harness/machine-state, profile ->
9
- // os.hostname(), workspace_root -> the session cwd) when a field is
10
- // omitted, so declaring `toolchain_parity: { enabled: true }` alone is a
11
- // complete, valid config. `enabled` itself defaults to `false`: an
12
- // ABSENT `toolchain_parity:` block and a PRESENT-but-`enabled: false`
13
- // block behave identically (both skip), so existing manifests parse
14
- // unchanged and the new companion is strictly opt-in.
15
- export const ToolchainParitySchema = z
16
- .object({
17
- enabled: z.boolean().default(false),
18
- // Directory the per-machine snapshot JSON files live in. Shared by
19
- // every machine that wants to compare toolchains — agent-memory-sync
20
- // (agent-memory PR #64) is what actually transports files in and out
21
- // of this directory across machines; this producer only reads/writes
22
- // it locally.
23
- machine_state_dir: z.string().min(1).optional(),
24
- // This machine's own profile name — the snapshot is written to
25
- // `<machine_state_dir>/<profile>.json` and every OTHER `*.json` in
26
- // the directory is treated as a peer to compare against. Defaults to
27
- // a filename-sanitized os.hostname() when omitted.
28
- profile: z.string().min(1).optional(),
29
- // Root directory `.ai/workflow/manifest.json` (the orchestrator-
30
- // workflow kit's own version marker) is read from, for the OW-Kit
31
- // version drift check. Defaults to the session cwd.
32
- workspace_root: z.string().min(1).optional(),
33
- // Advisory staleness threshold, in days, for a peer snapshot's own
34
- // `timestamp` (task c1b5ade5, hardening follow-up to the initial
35
- // 690fba7c drop). Undefined (default) disables the check entirely —
36
- // no snapshot is ever "too old" to compare. When set, a peer whose
37
- // snapshot age exceeds this threshold gets an EXTRA stderr note
38
- // flagging it as stale; the comparison itself (and `driftCount`) is
39
- // unchanged — staleness is a caveat on trustworthiness, not a drift
40
- // finding, so it never inflates the drift count. `.finite()` (task
41
- // c1b5ade5 R2, finding 5): without it, `Infinity` (reachable via YAML
42
- // `.inf`) passed `.positive()` and silently turned the check into a
43
- // permanent no-op (`comparison.ageMs > Infinity` is always false) —
44
- // fractional values stay allowed, only non-finite ones are rejected.
45
- stale_after_days: z.number().positive().finite().optional(),
46
- })
47
- .strict();
48
- //# sourceMappingURL=toolchain-parity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolchain-parity.js","sourceRoot":"","sources":["../../src/schema/toolchain-parity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sEAAsE;AACtE,yEAAyE;AACzE,0EAA0E;AAC1E,iEAAiE;AACjE,EAAE;AACF,uEAAuE;AACvE,6DAA6D;AAC7D,oEAAoE;AACpE,yEAAyE;AACzE,mEAAmE;AACnE,sEAAsE;AACtE,oEAAoE;AACpE,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,mEAAmE;IACnE,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,cAAc;IACd,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,+DAA+D;IAC/D,mEAAmE;IACnE,qEAAqE;IACrE,mDAAmD;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,iEAAiE;IACjE,kEAAkE;IAClE,oDAAoD;IACpD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,mEAAmE;IACnE,iEAAiE;IACjE,oEAAoE;IACpE,mEAAmE;IACnE,gEAAgE;IAChE,oEAAoE;IACpE,oEAAoE;IACpE,mEAAmE;IACnE,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5D,CAAC;KACD,MAAM,EAAE,CAAC"}