@provos/ironcurtain 0.11.0 → 0.12.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 (365) hide show
  1. package/README.md +9 -7
  2. package/dist/cli-help.d.ts +12 -0
  3. package/dist/cli-help.js +21 -0
  4. package/dist/cli-help.js.map +1 -1
  5. package/dist/cli.js +8 -6
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config/agent-model-guard.d.ts +14 -0
  8. package/dist/config/agent-model-guard.js +24 -0
  9. package/dist/config/agent-model-guard.js.map +1 -0
  10. package/dist/config/config-command.js +116 -1
  11. package/dist/config/config-command.js.map +1 -1
  12. package/dist/config/first-start.js +2 -8
  13. package/dist/config/first-start.js.map +1 -1
  14. package/dist/config/model-provider.d.ts +9 -0
  15. package/dist/config/model-provider.js +13 -0
  16. package/dist/config/model-provider.js.map +1 -1
  17. package/dist/config/paths.d.ts +48 -6
  18. package/dist/config/paths.js +63 -8
  19. package/dist/config/paths.js.map +1 -1
  20. package/dist/config/user-config.d.ts +48 -1
  21. package/dist/config/user-config.js +49 -1
  22. package/dist/config/user-config.js.map +1 -1
  23. package/dist/daemon/daemon-command.js +14 -5
  24. package/dist/daemon/daemon-command.js.map +1 -1
  25. package/dist/daemon/ironcurtain-daemon.d.ts +18 -0
  26. package/dist/daemon/ironcurtain-daemon.js +22 -1
  27. package/dist/daemon/ironcurtain-daemon.js.map +1 -1
  28. package/dist/daemon-client/daemon-client.d.ts +123 -0
  29. package/dist/daemon-client/daemon-client.js +324 -0
  30. package/dist/daemon-client/daemon-client.js.map +1 -0
  31. package/dist/docker/adapters/codex.d.ts +9 -0
  32. package/dist/docker/adapters/codex.js +297 -0
  33. package/dist/docker/adapters/codex.js.map +1 -0
  34. package/dist/docker/agent-adapter.d.ts +5 -1
  35. package/dist/docker/agent-adapter.js +2 -0
  36. package/dist/docker/agent-adapter.js.map +1 -1
  37. package/dist/docker/agent-registry.js +5 -0
  38. package/dist/docker/agent-registry.js.map +1 -1
  39. package/dist/docker/apple-container-manager.d.ts +49 -0
  40. package/dist/docker/apple-container-manager.js +464 -0
  41. package/dist/docker/apple-container-manager.js.map +1 -0
  42. package/dist/docker/code-mode-proxy.d.ts +11 -0
  43. package/dist/docker/code-mode-proxy.js +3 -1
  44. package/dist/docker/code-mode-proxy.js.map +1 -1
  45. package/dist/docker/container-lifecycle.d.ts +2 -2
  46. package/dist/docker/container-lifecycle.js.map +1 -1
  47. package/dist/docker/container-runtime.d.ts +29 -0
  48. package/dist/docker/container-runtime.js +76 -0
  49. package/dist/docker/container-runtime.js.map +1 -0
  50. package/dist/docker/docker-agent-session.js +30 -1
  51. package/dist/docker/docker-agent-session.js.map +1 -1
  52. package/dist/docker/docker-infrastructure.d.ts +186 -9
  53. package/dist/docker/docker-infrastructure.js +521 -77
  54. package/dist/docker/docker-infrastructure.js.map +1 -1
  55. package/dist/docker/docker-manager.d.ts +25 -5
  56. package/dist/docker/docker-manager.js +262 -22
  57. package/dist/docker/docker-manager.js.map +1 -1
  58. package/dist/docker/docker-probe.d.ts +45 -0
  59. package/dist/docker/docker-probe.js +86 -0
  60. package/dist/docker/docker-probe.js.map +1 -0
  61. package/dist/docker/docker-progress-sink.d.ts +1 -1
  62. package/dist/docker/mitm-proxy.d.ts +52 -1
  63. package/dist/docker/mitm-proxy.js +234 -10
  64. package/dist/docker/mitm-proxy.js.map +1 -1
  65. package/dist/docker/network-topology.d.ts +81 -0
  66. package/dist/docker/network-topology.js +160 -0
  67. package/dist/docker/network-topology.js.map +1 -0
  68. package/dist/docker/oauth-credentials.d.ts +13 -0
  69. package/dist/docker/oauth-credentials.js +125 -0
  70. package/dist/docker/oauth-credentials.js.map +1 -1
  71. package/dist/docker/package-types.d.ts +1 -1
  72. package/dist/docker/provider-config.d.ts +29 -1
  73. package/dist/docker/provider-config.js +93 -3
  74. package/dist/docker/provider-config.js.map +1 -1
  75. package/dist/docker/provision-lock.d.ts +46 -0
  76. package/dist/docker/provision-lock.js +152 -0
  77. package/dist/docker/provision-lock.js.map +1 -0
  78. package/dist/docker/pty-session.d.ts +15 -0
  79. package/dist/docker/pty-session.js +139 -67
  80. package/dist/docker/pty-session.js.map +1 -1
  81. package/dist/docker/registry-proxy.d.ts +46 -0
  82. package/dist/docker/registry-proxy.js +255 -1
  83. package/dist/docker/registry-proxy.js.map +1 -1
  84. package/dist/docker/resource-limits.d.ts +14 -5
  85. package/dist/docker/resource-limits.js +11 -8
  86. package/dist/docker/resource-limits.js.map +1 -1
  87. package/dist/docker/trajectory-capture.d.ts +79 -0
  88. package/dist/docker/trajectory-capture.js +521 -0
  89. package/dist/docker/trajectory-capture.js.map +1 -0
  90. package/dist/docker/trajectory-reassembler.d.ts +286 -0
  91. package/dist/docker/trajectory-reassembler.js +990 -0
  92. package/dist/docker/trajectory-reassembler.js.map +1 -0
  93. package/dist/docker/trajectory-tap.d.ts +100 -0
  94. package/dist/docker/trajectory-tap.js +410 -0
  95. package/dist/docker/trajectory-tap.js.map +1 -0
  96. package/dist/docker/trajectory-types.d.ts +187 -0
  97. package/dist/docker/trajectory-types.js +43 -0
  98. package/dist/docker/trajectory-types.js.map +1 -0
  99. package/dist/docker/types.d.ts +53 -7
  100. package/dist/doctor/checks.d.ts +36 -3
  101. package/dist/doctor/checks.js +102 -15
  102. package/dist/doctor/checks.js.map +1 -1
  103. package/dist/doctor/doctor-command.js +39 -9
  104. package/dist/doctor/doctor-command.js.map +1 -1
  105. package/dist/doctor/mcp-liveness.d.ts +1 -1
  106. package/dist/doctor/mcp-liveness.js +12 -4
  107. package/dist/doctor/mcp-liveness.js.map +1 -1
  108. package/dist/index.js +30 -12
  109. package/dist/index.js.map +1 -1
  110. package/dist/mux/mux-app.d.ts +2 -0
  111. package/dist/mux/mux-app.js +1 -0
  112. package/dist/mux/mux-app.js.map +1 -1
  113. package/dist/mux/mux-command.js +19 -6
  114. package/dist/mux/mux-command.js.map +1 -1
  115. package/dist/mux/pty-bridge.d.ts +2 -0
  116. package/dist/mux/pty-bridge.js +3 -0
  117. package/dist/mux/pty-bridge.js.map +1 -1
  118. package/dist/observe/observe-command.js +112 -125
  119. package/dist/observe/observe-command.js.map +1 -1
  120. package/dist/persona/broad-policy-validator.d.ts +95 -0
  121. package/dist/persona/broad-policy-validator.js +171 -0
  122. package/dist/persona/broad-policy-validator.js.map +1 -0
  123. package/dist/persona/compile-persona-policy.d.ts +54 -2
  124. package/dist/persona/compile-persona-policy.js +29 -4
  125. package/dist/persona/compile-persona-policy.js.map +1 -1
  126. package/dist/persona/event-bus-progress-reporter.d.ts +57 -0
  127. package/dist/persona/event-bus-progress-reporter.js +66 -0
  128. package/dist/persona/event-bus-progress-reporter.js.map +1 -0
  129. package/dist/persona/persona-command.js +46 -76
  130. package/dist/persona/persona-command.js.map +1 -1
  131. package/dist/persona/persona-compile-orchestrator.d.ts +101 -0
  132. package/dist/persona/persona-compile-orchestrator.js +504 -0
  133. package/dist/persona/persona-compile-orchestrator.js.map +1 -0
  134. package/dist/persona/persona-service.d.ts +137 -0
  135. package/dist/persona/persona-service.js +263 -0
  136. package/dist/persona/persona-service.js.map +1 -0
  137. package/dist/persona/policy-mutation-audit.d.ts +109 -0
  138. package/dist/persona/policy-mutation-audit.js +179 -0
  139. package/dist/persona/policy-mutation-audit.js.map +1 -0
  140. package/dist/persona/rule-delta.d.ts +30 -0
  141. package/dist/persona/rule-delta.js +82 -0
  142. package/dist/persona/rule-delta.js.map +1 -0
  143. package/dist/persona/types.d.ts +12 -0
  144. package/dist/pipeline/annotate.js +10 -2
  145. package/dist/pipeline/annotate.js.map +1 -1
  146. package/dist/pipeline/compile.js +14 -2
  147. package/dist/pipeline/compile.js.map +1 -1
  148. package/dist/pipeline/pipeline-runner.d.ts +63 -4
  149. package/dist/pipeline/pipeline-runner.js +159 -50
  150. package/dist/pipeline/pipeline-runner.js.map +1 -1
  151. package/dist/pipeline/pipeline-shared.d.ts +32 -3
  152. package/dist/pipeline/pipeline-shared.js +76 -8
  153. package/dist/pipeline/pipeline-shared.js.map +1 -1
  154. package/dist/pipeline/refresh-lists.js +3 -5
  155. package/dist/pipeline/refresh-lists.js.map +1 -1
  156. package/dist/sandbox/index.d.ts +19 -4
  157. package/dist/sandbox/index.js +31 -18
  158. package/dist/sandbox/index.js.map +1 -1
  159. package/dist/session/index.js +10 -1
  160. package/dist/session/index.js.map +1 -1
  161. package/dist/session/preflight.d.ts +1 -30
  162. package/dist/session/preflight.js +52 -85
  163. package/dist/session/preflight.js.map +1 -1
  164. package/dist/session/types.d.ts +9 -0
  165. package/dist/signal/bot-command.js +6 -1
  166. package/dist/signal/bot-command.js.map +1 -1
  167. package/dist/signal/setup-signal.js +1 -1
  168. package/dist/signal/setup-signal.js.map +1 -1
  169. package/dist/signal/signal-container.d.ts +3 -3
  170. package/dist/signal/signal-container.js +2 -2
  171. package/dist/signal/signal-container.js.map +1 -1
  172. package/dist/trusted-process/call-circuit-breaker.d.ts +6 -0
  173. package/dist/trusted-process/call-circuit-breaker.js +22 -3
  174. package/dist/trusted-process/call-circuit-breaker.js.map +1 -1
  175. package/dist/trusted-process/container-command.d.ts +35 -0
  176. package/dist/trusted-process/container-command.js +49 -0
  177. package/dist/trusted-process/container-command.js.map +1 -0
  178. package/dist/trusted-process/mcp-proxy-server.js +35 -3
  179. package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
  180. package/dist/trusted-process/policy-engine.js +13 -2
  181. package/dist/trusted-process/policy-engine.js.map +1 -1
  182. package/dist/trusted-process/tcp-server-transport.d.ts +12 -1
  183. package/dist/trusted-process/tcp-server-transport.js +9 -1
  184. package/dist/trusted-process/tcp-server-transport.js.map +1 -1
  185. package/dist/trusted-process/tool-call-coordinator.d.ts +22 -8
  186. package/dist/trusted-process/tool-call-coordinator.js +149 -65
  187. package/dist/trusted-process/tool-call-coordinator.js.map +1 -1
  188. package/dist/trusted-process/tool-call-pipeline.d.ts +8 -0
  189. package/dist/trusted-process/tool-call-pipeline.js +68 -34
  190. package/dist/trusted-process/tool-call-pipeline.js.map +1 -1
  191. package/dist/util/atomic-write.d.ts +31 -0
  192. package/dist/util/atomic-write.js +43 -0
  193. package/dist/util/atomic-write.js.map +1 -0
  194. package/dist/web-ui/conn-registry.d.ts +14 -0
  195. package/dist/web-ui/conn-registry.js +25 -0
  196. package/dist/web-ui/conn-registry.js.map +1 -0
  197. package/dist/web-ui/dispatch/persona-dispatch.d.ts +46 -2
  198. package/dist/web-ui/dispatch/persona-dispatch.js +209 -56
  199. package/dist/web-ui/dispatch/persona-dispatch.js.map +1 -1
  200. package/dist/web-ui/dispatch/session-dispatch.js +22 -4
  201. package/dist/web-ui/dispatch/session-dispatch.js.map +1 -1
  202. package/dist/web-ui/dispatch/types.d.ts +23 -0
  203. package/dist/web-ui/dispatch/types.js +4 -0
  204. package/dist/web-ui/dispatch/types.js.map +1 -1
  205. package/dist/web-ui/dispatch/workflow-dispatch.js +116 -5
  206. package/dist/web-ui/dispatch/workflow-dispatch.js.map +1 -1
  207. package/dist/web-ui/json-rpc-dispatch.js +1 -1
  208. package/dist/web-ui/json-rpc-dispatch.js.map +1 -1
  209. package/dist/web-ui/web-event-bus.d.ts +25 -1
  210. package/dist/web-ui/web-event-bus.js.map +1 -1
  211. package/dist/web-ui/web-ui-server.d.ts +14 -0
  212. package/dist/web-ui/web-ui-server.js +16 -0
  213. package/dist/web-ui/web-ui-server.js.map +1 -1
  214. package/dist/web-ui/web-ui-types.d.ts +133 -5
  215. package/dist/web-ui/web-ui-types.js.map +1 -1
  216. package/dist/web-ui-static/assets/index-BD5U6ILh.css +1 -0
  217. package/dist/web-ui-static/assets/index-FMsHWEfK.js +79 -0
  218. package/dist/web-ui-static/index.html +2 -2
  219. package/dist/workflow/cli-shared.d.ts +62 -0
  220. package/dist/workflow/cli-shared.js +117 -0
  221. package/dist/workflow/cli-shared.js.map +1 -0
  222. package/dist/workflow/cli-support.js +0 -2
  223. package/dist/workflow/cli-support.js.map +1 -1
  224. package/dist/workflow/container-snapshots.d.ts +29 -0
  225. package/dist/workflow/container-snapshots.js +137 -0
  226. package/dist/workflow/container-snapshots.js.map +1 -0
  227. package/dist/workflow/daemon-gate-commands.d.ts +21 -0
  228. package/dist/workflow/daemon-gate-commands.js +599 -0
  229. package/dist/workflow/daemon-gate-commands.js.map +1 -0
  230. package/dist/workflow/discovery.d.ts +29 -0
  231. package/dist/workflow/discovery.js +67 -7
  232. package/dist/workflow/discovery.js.map +1 -1
  233. package/dist/workflow/lane-template.d.ts +89 -0
  234. package/dist/workflow/lane-template.js +141 -0
  235. package/dist/workflow/lane-template.js.map +1 -0
  236. package/dist/workflow/lint.d.ts +7 -1
  237. package/dist/workflow/lint.js +186 -3
  238. package/dist/workflow/lint.js.map +1 -1
  239. package/dist/workflow/machine-builder.d.ts +90 -2
  240. package/dist/workflow/machine-builder.js +222 -29
  241. package/dist/workflow/machine-builder.js.map +1 -1
  242. package/dist/workflow/message-log.d.ts +15 -1
  243. package/dist/workflow/message-log.js.map +1 -1
  244. package/dist/workflow/orchestrator.d.ts +505 -1
  245. package/dist/workflow/orchestrator.js +1722 -69
  246. package/dist/workflow/orchestrator.js.map +1 -1
  247. package/dist/workflow/prompt-builder.js +2 -1
  248. package/dist/workflow/prompt-builder.js.map +1 -1
  249. package/dist/workflow/run-state-command.js +1 -1
  250. package/dist/workflow/run-state-command.js.map +1 -1
  251. package/dist/workflow/status-parser.js +19 -4
  252. package/dist/workflow/status-parser.js.map +1 -1
  253. package/dist/workflow/types.d.ts +123 -23
  254. package/dist/workflow/types.js +2 -0
  255. package/dist/workflow/types.js.map +1 -1
  256. package/dist/workflow/validate.d.ts +23 -1
  257. package/dist/workflow/validate.js +311 -22
  258. package/dist/workflow/validate.js.map +1 -1
  259. package/dist/workflow/workflow-command.d.ts +0 -17
  260. package/dist/workflow/workflow-command.js +110 -88
  261. package/dist/workflow/workflow-command.js.map +1 -1
  262. package/dist/workflow/workflow-discovery.d.ts +2 -0
  263. package/dist/workflow/workflow-discovery.js +22 -1
  264. package/dist/workflow/workflow-discovery.js.map +1 -1
  265. package/dist/workflow/workflow-manager.d.ts +34 -0
  266. package/dist/workflow/workflow-manager.js +52 -1
  267. package/dist/workflow/workflow-manager.js.map +1 -1
  268. package/dist/workflow/workflows/design-and-code/README.md +50 -0
  269. package/dist/workflow/workflows/deterministic-eval-smoke/scripts/format_report.js +29 -0
  270. package/dist/workflow/workflows/deterministic-eval-smoke/scripts/package.json +5 -0
  271. package/dist/workflow/workflows/deterministic-eval-smoke/scripts/requirements.txt +1 -0
  272. package/dist/workflow/workflows/deterministic-eval-smoke/scripts/run_eval.py +41 -0
  273. package/dist/workflow/workflows/deterministic-eval-smoke/workflow.yaml +57 -0
  274. package/dist/workflow/workflows/deterministic-verdict-smoke/scripts/classify.py +18 -0
  275. package/dist/workflow/workflows/deterministic-verdict-smoke/workflow.yaml +51 -0
  276. package/dist/workflow/workflows/evolve/scripts/LICENSE +201 -0
  277. package/dist/workflow/workflows/evolve/scripts/README.md +314 -0
  278. package/dist/workflow/workflows/evolve/scripts/evolve-brief +16 -0
  279. package/dist/workflow/workflows/evolve/scripts/evolve-cognition +16 -0
  280. package/dist/workflow/workflows/evolve/scripts/evolve-db +16 -0
  281. package/dist/workflow/workflows/evolve/scripts/evolve-eval +16 -0
  282. package/dist/workflow/workflows/evolve/scripts/evolve-files +16 -0
  283. package/dist/workflow/workflows/evolve/scripts/evolve-summary +16 -0
  284. package/dist/workflow/workflows/evolve/scripts/evolve_core/__init__.py +14 -0
  285. package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/__init__.py +17 -0
  286. package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/base.py +21 -0
  287. package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/factory.py +90 -0
  288. package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/greedy.py +17 -0
  289. package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/island.py +316 -0
  290. package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/random.py +18 -0
  291. package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/ucb1.py +55 -0
  292. package/dist/workflow/workflows/evolve/scripts/evolve_core/best_snapshot.py +62 -0
  293. package/dist/workflow/workflows/evolve/scripts/evolve_core/cli.py +752 -0
  294. package/dist/workflow/workflows/evolve/scripts/evolve_core/cognition.py +127 -0
  295. package/dist/workflow/workflows/evolve/scripts/evolve_core/database.py +218 -0
  296. package/dist/workflow/workflows/evolve/scripts/evolve_core/diff.py +57 -0
  297. package/dist/workflow/workflows/evolve/scripts/evolve_core/embedding.py +84 -0
  298. package/dist/workflow/workflows/evolve/scripts/evolve_core/file_lock.py +45 -0
  299. package/dist/workflow/workflows/evolve/scripts/evolve_core/run_state.py +343 -0
  300. package/dist/workflow/workflows/evolve/scripts/evolve_core/sampling_config.py +173 -0
  301. package/dist/workflow/workflows/evolve/scripts/evolve_core/structures.py +93 -0
  302. package/dist/workflow/workflows/evolve/scripts/evolve_core/vector_index.py +191 -0
  303. package/dist/workflow/workflows/evolve/scripts/evolve_result.py +1503 -0
  304. package/dist/workflow/workflows/evolve/scripts/requirements.txt +2 -0
  305. package/dist/workflow/workflows/evolve/workflow.yaml +646 -0
  306. package/dist/workflow/workflows/test-email-summary/workflow.yaml +1 -0
  307. package/dist/workflow/workflows/vuln-discovery/skills/harness-design-fuzzing/SKILL.md +6 -1
  308. package/dist/workflow/workflows/vuln-discovery/skills/memory-safety-c-cpp/SKILL.md +1 -0
  309. package/dist/workflow/workflows/vuln-discovery/skills/vulnerability-triage/SKILL.md +4 -0
  310. package/dist/workflow/workflows/vuln-discovery/workflow.yaml +13 -8
  311. package/docker/Dockerfile.base +22 -0
  312. package/docker/Dockerfile.base.arm64 +18 -0
  313. package/docker/Dockerfile.claude-code +3 -1
  314. package/docker/Dockerfile.codex +17 -0
  315. package/docker/Dockerfile.goose +3 -1
  316. package/docker/entrypoint-claude-code.sh +6 -45
  317. package/docker/entrypoint-codex.sh +42 -0
  318. package/docker/entrypoint-goose.sh +5 -24
  319. package/docker/entrypoint-uid-remap.sh +93 -0
  320. package/package.json +9 -4
  321. package/src/workflow/workflows/design-and-code/README.md +50 -0
  322. package/src/workflow/workflows/deterministic-eval-smoke/scripts/format_report.js +29 -0
  323. package/src/workflow/workflows/deterministic-eval-smoke/scripts/package.json +5 -0
  324. package/src/workflow/workflows/deterministic-eval-smoke/scripts/requirements.txt +1 -0
  325. package/src/workflow/workflows/deterministic-eval-smoke/scripts/run_eval.py +41 -0
  326. package/src/workflow/workflows/deterministic-eval-smoke/workflow.yaml +57 -0
  327. package/src/workflow/workflows/deterministic-verdict-smoke/scripts/classify.py +18 -0
  328. package/src/workflow/workflows/deterministic-verdict-smoke/workflow.yaml +51 -0
  329. package/src/workflow/workflows/evolve/scripts/LICENSE +201 -0
  330. package/src/workflow/workflows/evolve/scripts/README.md +314 -0
  331. package/src/workflow/workflows/evolve/scripts/evolve-brief +16 -0
  332. package/src/workflow/workflows/evolve/scripts/evolve-cognition +16 -0
  333. package/src/workflow/workflows/evolve/scripts/evolve-db +16 -0
  334. package/src/workflow/workflows/evolve/scripts/evolve-eval +16 -0
  335. package/src/workflow/workflows/evolve/scripts/evolve-files +16 -0
  336. package/src/workflow/workflows/evolve/scripts/evolve-summary +16 -0
  337. package/src/workflow/workflows/evolve/scripts/evolve_core/__init__.py +14 -0
  338. package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/__init__.py +17 -0
  339. package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/base.py +21 -0
  340. package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/factory.py +90 -0
  341. package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/greedy.py +17 -0
  342. package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/island.py +316 -0
  343. package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/random.py +18 -0
  344. package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/ucb1.py +55 -0
  345. package/src/workflow/workflows/evolve/scripts/evolve_core/best_snapshot.py +62 -0
  346. package/src/workflow/workflows/evolve/scripts/evolve_core/cli.py +752 -0
  347. package/src/workflow/workflows/evolve/scripts/evolve_core/cognition.py +127 -0
  348. package/src/workflow/workflows/evolve/scripts/evolve_core/database.py +218 -0
  349. package/src/workflow/workflows/evolve/scripts/evolve_core/diff.py +57 -0
  350. package/src/workflow/workflows/evolve/scripts/evolve_core/embedding.py +84 -0
  351. package/src/workflow/workflows/evolve/scripts/evolve_core/file_lock.py +45 -0
  352. package/src/workflow/workflows/evolve/scripts/evolve_core/run_state.py +343 -0
  353. package/src/workflow/workflows/evolve/scripts/evolve_core/sampling_config.py +173 -0
  354. package/src/workflow/workflows/evolve/scripts/evolve_core/structures.py +93 -0
  355. package/src/workflow/workflows/evolve/scripts/evolve_core/vector_index.py +191 -0
  356. package/src/workflow/workflows/evolve/scripts/evolve_result.py +1503 -0
  357. package/src/workflow/workflows/evolve/scripts/requirements.txt +2 -0
  358. package/src/workflow/workflows/evolve/workflow.yaml +646 -0
  359. package/src/workflow/workflows/test-email-summary/workflow.yaml +1 -0
  360. package/src/workflow/workflows/vuln-discovery/skills/harness-design-fuzzing/SKILL.md +6 -1
  361. package/src/workflow/workflows/vuln-discovery/skills/memory-safety-c-cpp/SKILL.md +1 -0
  362. package/src/workflow/workflows/vuln-discovery/skills/vulnerability-triage/SKILL.md +4 -0
  363. package/src/workflow/workflows/vuln-discovery/workflow.yaml +13 -8
  364. package/dist/web-ui-static/assets/index-BFO5z1js.js +0 -76
  365. package/dist/web-ui-static/assets/index-CCUwrkIL.css +0 -1
@@ -10,17 +10,11 @@ import { dirname, resolve } from 'node:path';
10
10
  import { fileURLToPath } from 'node:url';
11
11
  import * as p from '@clack/prompts';
12
12
  import { USER_CONFIG_DEFAULTS, WEB_SEARCH_PROVIDERS, WEB_SEARCH_PROVIDER_LABELS, WEB_SEARCH_PROVIDER_URLS, loadUserConfig, saveUserConfig, } from './user-config.js';
13
- import { parseModelId } from './model-provider.js';
13
+ import { parseModelId, PROVIDER_ENV_VARS } from './model-provider.js';
14
14
  import { clampDockerResources, isImagePresent, probeDockerResources, DOCKER_MIN_CPUS, DOCKER_MIN_MEMORY_MB, } from '../docker/resource-limits.js';
15
15
  import { getAgent, registerBuiltinAdapters } from '../docker/agent-registry.js';
16
- import { checkDockerAvailable } from '../session/preflight.js';
16
+ import { checkDockerAvailable } from '../docker/docker-probe.js';
17
17
  const __dirname = dirname(fileURLToPath(import.meta.url));
18
- /** Maps provider IDs to their expected environment variable names. */
19
- const PROVIDER_ENV_VARS = {
20
- anthropic: 'ANTHROPIC_API_KEY',
21
- google: 'GOOGLE_GENERATIVE_AI_API_KEY',
22
- openai: 'OPENAI_API_KEY',
23
- };
24
18
  /** Checks if a prompt result was cancelled and exits cleanly. */
25
19
  function handleCancel(value) {
26
20
  if (p.isCancel(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"first-start.js","sourceRoot":"","sources":["../../src/config/first-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"first-start.js","sourceRoot":"","sources":["../../src/config/first-start.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,15 @@ import type { LanguageModelV3 } from '@ai-sdk/provider';
17
17
  import type { ResolvedUserConfig } from './user-config.js';
18
18
  /** Supported LLM provider identifiers. */
19
19
  export type ProviderId = 'anthropic' | 'google' | 'openai';
20
+ /**
21
+ * Environment variable that supplies each provider's API key.
22
+ *
23
+ * Single source of truth for the provider→env-var mapping. Declared as an
24
+ * exhaustive `Record<ProviderId, string>` so adding a provider to
25
+ * {@link ProviderId} forces a matching entry here at compile time. Must stay
26
+ * in sync with the env-var overrides applied in `resolveUserConfig()`.
27
+ */
28
+ export declare const PROVIDER_ENV_VARS: Record<ProviderId, string>;
20
29
  /**
21
30
  * Parsed model specifier. A "qualified model ID" has the form
22
31
  * "provider:model-name". A bare model ID defaults to Anthropic.
@@ -41,6 +41,19 @@ async function getProxyFetch() {
41
41
  const DEFAULT_PROVIDER = 'anthropic';
42
42
  /** Known provider identifiers for validation. */
43
43
  const KNOWN_PROVIDERS = new Set(['anthropic', 'google', 'openai']);
44
+ /**
45
+ * Environment variable that supplies each provider's API key.
46
+ *
47
+ * Single source of truth for the provider→env-var mapping. Declared as an
48
+ * exhaustive `Record<ProviderId, string>` so adding a provider to
49
+ * {@link ProviderId} forces a matching entry here at compile time. Must stay
50
+ * in sync with the env-var overrides applied in `resolveUserConfig()`.
51
+ */
52
+ export const PROVIDER_ENV_VARS = {
53
+ anthropic: 'ANTHROPIC_API_KEY',
54
+ google: 'GOOGLE_GENERATIVE_AI_API_KEY',
55
+ openai: 'OPENAI_API_KEY',
56
+ };
44
57
  /**
45
58
  * Parses a qualified model ID string into provider and model components.
46
59
  *
@@ -1 +1 @@
1
- {"version":3,"file":"model-provider.js","sourceRoot":"","sources":["../../src/config/model-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-provider.js","sourceRoot":"","sources":["../../src/config/model-provider.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,25 @@ export declare function getSessionLogPath(sessionId: string): string;
56
56
  * {home}/sessions/{sessionId}/llm-interactions.jsonl
57
57
  */
58
58
  export declare function getSessionLlmLogPath(sessionId: string): string;
59
+ /**
60
+ * Returns the trajectory-capture directory for a single-session
61
+ * standalone run:
62
+ * {home}/sessions/{sessionId}/captures/
63
+ *
64
+ * Holds `{sessionId}.jsonl` and `manifest.jsonl` per
65
+ * docs/designs/mitm-token-trajectory-capture.md §7.
66
+ */
67
+ export declare function getSessionCapturesDir(sessionId: string): string;
68
+ /**
69
+ * Returns the JSONL file path for a single session's captured
70
+ * exchanges within `capturesDir`. Filename is `{sessionId}.jsonl`.
71
+ */
72
+ export declare function getSessionCaptureFile(capturesDir: string, sessionId: string): string;
73
+ /**
74
+ * Returns the manifest path within a captures directory:
75
+ * {capturesDir}/manifest.jsonl
76
+ */
77
+ export declare function getCaptureManifestFile(capturesDir: string): string;
59
78
  /**
60
79
  * Returns the auto-approver LLM interaction log path for a given session:
61
80
  * {home}/sessions/{sessionId}/auto-approve-llm.jsonl
@@ -266,6 +285,15 @@ export declare function getBundleBundleDir(workflowId: string, bundleId: BundleI
266
285
  * per-re-entry slices by scanning.
267
286
  */
268
287
  export declare function getBundleAuditLogPath(workflowId: string, bundleId: BundleId): string;
288
+ /**
289
+ * Returns the trajectory-capture directory for a workflow bundle:
290
+ * {home}/workflow-runs/{workflowId}/containers/{bundleId}/captures/
291
+ *
292
+ * Sits alongside the bundle's audit log; holds one `{sessionId}.jsonl`
293
+ * per state visit plus a shared `manifest.jsonl`. See
294
+ * docs/designs/mitm-token-trajectory-capture.md §7.
295
+ */
296
+ export declare function getBundleCapturesDir(workflowId: string, bundleId: BundleId): string;
269
297
  /**
270
298
  * Returns the per-bundle states root:
271
299
  * {home}/workflow-runs/{workflowId}/containers/{bundleId}/states/
@@ -283,13 +311,27 @@ export declare function getBundleStatesDir(workflowId: string, bundleId: BundleI
283
311
  */
284
312
  export declare function getInvocationDir(workflowId: string, bundleId: BundleId, stateSlug: string): string;
285
313
  /**
286
- * Picks the next available `{stateId}.{N}` slug in `statesDir`. Returns
287
- * `${stateId}.1` when no matching dir exists; otherwise the max existing
288
- * N plus 1. Used so every state entry (true logical re-visits AND resume
289
- * legs of a single visit) gets its own forensic dir `session.log` and
314
+ * Picks the next available `{prefix}.{N}` slug in `statesDir`, where `prefix` is
315
+ * `stateId` or — when a fan-out `laneId` is supplied `{stateId}_lane_{laneId}`.
316
+ * Returns `{prefix}.1` when no matching dir exists; otherwise the max existing
317
+ * N plus 1. Used so every state entry (true logical re-visits AND resume legs of
318
+ * a single visit) gets its own forensic dir — `session.log` and
290
319
  * `session-metadata.json` no longer interleave across resume attempts.
291
- */
292
- export declare function nextStateSlug(statesDir: string, stateId: string): string;
320
+ *
321
+ * The `laneId` parameter is the fix for the fan-out artifact-dir collision: N
322
+ * same-state lanes run concurrently and, sharing one `stateId`, the check-then-act
323
+ * `{stateId}.{N}` computation races and clobbers each other's diagnostics. Keying
324
+ * the prefix on `lane.id` gives each lane its own `{stateId}_lane_{id}.{N}`
325
+ * namespace so per-lane `session.log` / `session-metadata.json` never collide.
326
+ *
327
+ * `laneId`, when supplied, MUST be a non-negative integer (the orchestrator
328
+ * assigns it as a fan-out loop index). It is interpolated into a directory-name
329
+ * prefix, so this is enforced as defense-in-depth on a path component: a
330
+ * non-integer or negative value throws (it would indicate an internal bug). A
331
+ * valid `laneId` renders as `_lane_<digits>`, which is path-safe and still
332
+ * passes the slug check.
333
+ */
334
+ export declare function nextStateSlug(statesDir: string, stateId: string, laneId?: number): string;
293
335
  /**
294
336
  * Returns the coordinator control socket path for a bundle:
295
337
  * {home}/run/{bundleId[0:12]}/ctrl.sock
@@ -134,6 +134,32 @@ export function getSessionLogPath(sessionId) {
134
134
  export function getSessionLlmLogPath(sessionId) {
135
135
  return resolve(getSessionDir(sessionId), 'llm-interactions.jsonl');
136
136
  }
137
+ /**
138
+ * Returns the trajectory-capture directory for a single-session
139
+ * standalone run:
140
+ * {home}/sessions/{sessionId}/captures/
141
+ *
142
+ * Holds `{sessionId}.jsonl` and `manifest.jsonl` per
143
+ * docs/designs/mitm-token-trajectory-capture.md §7.
144
+ */
145
+ export function getSessionCapturesDir(sessionId) {
146
+ return resolve(getSessionDir(sessionId), 'captures');
147
+ }
148
+ /**
149
+ * Returns the JSONL file path for a single session's captured
150
+ * exchanges within `capturesDir`. Filename is `{sessionId}.jsonl`.
151
+ */
152
+ export function getSessionCaptureFile(capturesDir, sessionId) {
153
+ assertPathSafeSlug('session ID', sessionId);
154
+ return resolve(capturesDir, `${sessionId}.jsonl`);
155
+ }
156
+ /**
157
+ * Returns the manifest path within a captures directory:
158
+ * {capturesDir}/manifest.jsonl
159
+ */
160
+ export function getCaptureManifestFile(capturesDir) {
161
+ return resolve(capturesDir, 'manifest.jsonl');
162
+ }
137
163
  /**
138
164
  * Returns the auto-approver LLM interaction log path for a given session:
139
165
  * {home}/sessions/{sessionId}/auto-approve-llm.jsonl
@@ -470,6 +496,17 @@ export function getBundleBundleDir(workflowId, bundleId) {
470
496
  export function getBundleAuditLogPath(workflowId, bundleId) {
471
497
  return resolve(getBundleDir(workflowId, bundleId), 'audit.jsonl');
472
498
  }
499
+ /**
500
+ * Returns the trajectory-capture directory for a workflow bundle:
501
+ * {home}/workflow-runs/{workflowId}/containers/{bundleId}/captures/
502
+ *
503
+ * Sits alongside the bundle's audit log; holds one `{sessionId}.jsonl`
504
+ * per state visit plus a shared `manifest.jsonl`. See
505
+ * docs/designs/mitm-token-trajectory-capture.md §7.
506
+ */
507
+ export function getBundleCapturesDir(workflowId, bundleId) {
508
+ return resolve(getBundleDir(workflowId, bundleId), 'captures');
509
+ }
473
510
  /**
474
511
  * Returns the per-bundle states root:
475
512
  * {home}/workflow-runs/{workflowId}/containers/{bundleId}/states/
@@ -492,17 +529,35 @@ export function getInvocationDir(workflowId, bundleId, stateSlug) {
492
529
  return resolve(getBundleStatesDir(workflowId, bundleId), stateSlug);
493
530
  }
494
531
  /**
495
- * Picks the next available `{stateId}.{N}` slug in `statesDir`. Returns
496
- * `${stateId}.1` when no matching dir exists; otherwise the max existing
497
- * N plus 1. Used so every state entry (true logical re-visits AND resume
498
- * legs of a single visit) gets its own forensic dir `session.log` and
532
+ * Picks the next available `{prefix}.{N}` slug in `statesDir`, where `prefix` is
533
+ * `stateId` or — when a fan-out `laneId` is supplied `{stateId}_lane_{laneId}`.
534
+ * Returns `{prefix}.1` when no matching dir exists; otherwise the max existing
535
+ * N plus 1. Used so every state entry (true logical re-visits AND resume legs of
536
+ * a single visit) gets its own forensic dir — `session.log` and
499
537
  * `session-metadata.json` no longer interleave across resume attempts.
500
- */
501
- export function nextStateSlug(statesDir, stateId) {
538
+ *
539
+ * The `laneId` parameter is the fix for the fan-out artifact-dir collision: N
540
+ * same-state lanes run concurrently and, sharing one `stateId`, the check-then-act
541
+ * `{stateId}.{N}` computation races and clobbers each other's diagnostics. Keying
542
+ * the prefix on `lane.id` gives each lane its own `{stateId}_lane_{id}.{N}`
543
+ * namespace so per-lane `session.log` / `session-metadata.json` never collide.
544
+ *
545
+ * `laneId`, when supplied, MUST be a non-negative integer (the orchestrator
546
+ * assigns it as a fan-out loop index). It is interpolated into a directory-name
547
+ * prefix, so this is enforced as defense-in-depth on a path component: a
548
+ * non-integer or negative value throws (it would indicate an internal bug). A
549
+ * valid `laneId` renders as `_lane_<digits>`, which is path-safe and still
550
+ * passes the slug check.
551
+ */
552
+ export function nextStateSlug(statesDir, stateId, laneId) {
502
553
  assertPathSafeSlug('state ID', stateId);
554
+ if (laneId !== undefined && (!Number.isInteger(laneId) || laneId < 0)) {
555
+ throw new Error(`nextStateSlug: laneId must be a non-negative integer, got ${laneId}`);
556
+ }
557
+ const prefixBase = laneId === undefined ? stateId : `${stateId}_lane_${laneId}`;
503
558
  let max = 0;
504
559
  if (existsSync(statesDir)) {
505
- const prefix = `${stateId}.`;
560
+ const prefix = `${prefixBase}.`;
506
561
  for (const entry of readdirSync(statesDir, { withFileTypes: true })) {
507
562
  if (!entry.isDirectory() || !entry.name.startsWith(prefix))
508
563
  continue;
@@ -516,7 +571,7 @@ export function nextStateSlug(statesDir, stateId) {
516
571
  max = n;
517
572
  }
518
573
  }
519
- return `${stateId}.${max + 1}`;
574
+ return `${prefixBase}.${max + 1}`;
520
575
  }
521
576
  const DECIMAL_SUFFIX_RE = /^(?:0|[1-9]\d*)$/;
522
577
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,11 @@ export declare const USER_CONFIG_DEFAULTS: {
38
38
  /** CPU ceiling (fractional ok); null means "do not pass --cpus". */
39
39
  readonly cpus: 4;
40
40
  };
41
+ readonly snapshot: {
42
+ readonly enabled: true;
43
+ readonly maxAgeDays: 7;
44
+ readonly sweepIntervalHours: 24;
45
+ };
41
46
  };
42
47
  export declare const ESCALATION_TIMEOUT_MIN = 30;
43
48
  export declare const ESCALATION_TIMEOUT_MAX = 600;
@@ -66,10 +71,20 @@ export declare const WEB_SEARCH_PROVIDER_URLS: Readonly<Record<WebSearchProvider
66
71
  export declare const GOOSE_PROVIDERS: readonly ["anthropic", "openai", "google"];
67
72
  /** Goose provider — structurally identical to ProviderId from model-provider.ts. */
68
73
  export type GooseProvider = (typeof GOOSE_PROVIDERS)[number];
69
- export declare const DOCKER_AGENTS: readonly ["claude-code", "goose"];
74
+ export declare const DOCKER_AGENTS: readonly ["claude-code", "goose", "codex"];
70
75
  export type DockerAgent = (typeof DOCKER_AGENTS)[number];
71
76
  export declare const SESSION_MODES: readonly ["docker", "builtin"];
72
77
  export type SessionModeKind = (typeof SESSION_MODES)[number];
78
+ /**
79
+ * Container runtime backend for Docker Agent Mode sessions. 'auto'
80
+ * prefers the Apple container runtime when its preflight passes
81
+ * (Apple silicon, macOS 26+, container CLI >= 1.0 with services
82
+ * running) and falls back to Docker otherwise. The
83
+ * IRONCURTAIN_CONTAINER_RUNTIME env var overrides this setting.
84
+ * See docs/designs/apple-container-runtime.md.
85
+ */
86
+ export declare const CONTAINER_RUNTIMES: readonly ["auto", "docker", "apple-container"];
87
+ export type ContainerRuntimeSetting = (typeof CONTAINER_RUNTIMES)[number];
73
88
  export declare const userConfigSchema: z.ZodObject<{
74
89
  agentModelId: z.ZodOptional<z.ZodType<string, unknown, z.core.$ZodTypeInternals<string, unknown>>>;
75
90
  policyModelId: z.ZodOptional<z.ZodType<string, unknown, z.core.$ZodTypeInternals<string, unknown>>>;
@@ -143,11 +158,17 @@ export declare const userConfigSchema: z.ZodObject<{
143
158
  preferredDockerAgent: z.ZodOptional<z.ZodEnum<{
144
159
  "claude-code": "claude-code";
145
160
  goose: "goose";
161
+ codex: "codex";
146
162
  }>>;
147
163
  preferredMode: z.ZodOptional<z.ZodEnum<{
148
164
  docker: "docker";
149
165
  builtin: "builtin";
150
166
  }>>;
167
+ containerRuntime: z.ZodOptional<z.ZodEnum<{
168
+ docker: "docker";
169
+ auto: "auto";
170
+ "apple-container": "apple-container";
171
+ }>>;
151
172
  packageInstall: z.ZodOptional<z.ZodObject<{
152
173
  enabled: z.ZodOptional<z.ZodBoolean>;
153
174
  quarantineDays: z.ZodOptional<z.ZodNumber>;
@@ -158,6 +179,14 @@ export declare const userConfigSchema: z.ZodObject<{
158
179
  memoryMb: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
159
180
  cpus: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
160
181
  }, z.core.$strip>>;
182
+ capture: z.ZodOptional<z.ZodObject<{
183
+ enabled: z.ZodOptional<z.ZodBoolean>;
184
+ }, z.core.$strip>>;
185
+ snapshot: z.ZodOptional<z.ZodObject<{
186
+ enabled: z.ZodOptional<z.ZodBoolean>;
187
+ maxAgeDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
188
+ sweepIntervalHours: z.ZodOptional<z.ZodNumber>;
189
+ }, z.core.$strip>>;
161
190
  }, z.core.$strip>;
162
191
  /** Parsed config from ~/.ironcurtain/config.json. All fields optional. */
163
192
  export type UserConfig = z.infer<typeof userConfigSchema>;
@@ -215,6 +244,11 @@ export interface ResolvedDockerResourcesConfig {
215
244
  readonly memoryMb: number | null;
216
245
  readonly cpus: number | null;
217
246
  }
247
+ export interface ResolvedSnapshotConfig {
248
+ readonly enabled: boolean;
249
+ readonly maxAgeDays: number | null;
250
+ readonly sweepIntervalHours: number;
251
+ }
218
252
  /** Resolved web search config with all fields present. */
219
253
  export interface ResolvedWebSearchConfig {
220
254
  readonly provider: WebSearchProvider | null;
@@ -257,10 +291,23 @@ export interface ResolvedUserConfig {
257
291
  readonly preferredDockerAgent: DockerAgent;
258
292
  /** Preferred session mode: 'docker' (default) or 'builtin'. */
259
293
  readonly preferredMode: SessionModeKind;
294
+ /** Container runtime backend: 'auto' (default), 'docker', or 'apple-container'. */
295
+ readonly containerRuntime: ContainerRuntimeSetting;
260
296
  /** Package installation proxy configuration. */
261
297
  readonly packageInstall: ResolvedPackageInstallConfig;
262
298
  /** Docker container resource ceilings (pre-clamp). */
263
299
  readonly dockerResources: ResolvedDockerResourcesConfig;
300
+ /** Workflow container snapshot retention and global enablement. */
301
+ readonly snapshot: ResolvedSnapshotConfig;
302
+ /**
303
+ * Trajectory-capture config. Optional — absent from
304
+ * USER_CONFIG_DEFAULTS so the `?? false` at the session-factory
305
+ * resolution point is authoritative. See
306
+ * docs/designs/mitm-token-trajectory-capture.md §10.
307
+ */
308
+ readonly capture?: {
309
+ readonly enabled: boolean;
310
+ };
264
311
  }
265
312
  /**
266
313
  * Loads user configuration from ~/.ironcurtain/config.json.
@@ -44,6 +44,11 @@ export const USER_CONFIG_DEFAULTS = {
44
44
  /** CPU ceiling (fractional ok); null means "do not pass --cpus". */
45
45
  cpus: 4,
46
46
  },
47
+ snapshot: {
48
+ enabled: true,
49
+ maxAgeDays: 7,
50
+ sweepIntervalHours: 24,
51
+ },
47
52
  };
48
53
  export const ESCALATION_TIMEOUT_MIN = 30;
49
54
  export const ESCALATION_TIMEOUT_MAX = 600;
@@ -143,6 +148,24 @@ const memorySchema = z
143
148
  llmApiKey: z.string().min(1).optional(),
144
149
  })
145
150
  .optional();
151
+ /**
152
+ * Trajectory-capture config (MITM HTTP exchange recording). Opt-in
153
+ * only; absent in USER_CONFIG_DEFAULTS so the `?? false` in the
154
+ * resolver is authoritative. See
155
+ * docs/designs/mitm-token-trajectory-capture.md §10.
156
+ */
157
+ const captureSchema = z
158
+ .object({
159
+ enabled: z.boolean().optional(),
160
+ })
161
+ .optional();
162
+ const snapshotSchema = z
163
+ .object({
164
+ enabled: z.boolean().optional(),
165
+ maxAgeDays: z.number().positive().nullable().optional(),
166
+ sweepIntervalHours: z.number().positive().optional(),
167
+ })
168
+ .optional();
146
169
  export const WEB_SEARCH_PROVIDERS = ['brave', 'tavily', 'serpapi'];
147
170
  /** Human-readable labels for web search providers. */
148
171
  export const WEB_SEARCH_PROVIDER_LABELS = {
@@ -199,8 +222,17 @@ const signalSchema = z
199
222
  * defaults are merged separately so we can distinguish "missing" from "present".
200
223
  */
201
224
  export const GOOSE_PROVIDERS = ['anthropic', 'openai', 'google'];
202
- export const DOCKER_AGENTS = ['claude-code', 'goose'];
225
+ export const DOCKER_AGENTS = ['claude-code', 'goose', 'codex'];
203
226
  export const SESSION_MODES = ['docker', 'builtin'];
227
+ /**
228
+ * Container runtime backend for Docker Agent Mode sessions. 'auto'
229
+ * prefers the Apple container runtime when its preflight passes
230
+ * (Apple silicon, macOS 26+, container CLI >= 1.0 with services
231
+ * running) and falls back to Docker otherwise. The
232
+ * IRONCURTAIN_CONTAINER_RUNTIME env var overrides this setting.
233
+ * See docs/designs/apple-container-runtime.md.
234
+ */
235
+ export const CONTAINER_RUNTIMES = ['auto', 'docker', 'apple-container'];
204
236
  export const userConfigSchema = z.object({
205
237
  agentModelId: qualifiedModelId.optional(),
206
238
  policyModelId: qualifiedModelId.optional(),
@@ -229,8 +261,11 @@ export const userConfigSchema = z.object({
229
261
  gooseModel: z.string().min(1).optional(),
230
262
  preferredDockerAgent: z.enum(DOCKER_AGENTS).optional(),
231
263
  preferredMode: z.enum(SESSION_MODES).optional(),
264
+ containerRuntime: z.enum(CONTAINER_RUNTIMES).optional(),
232
265
  packageInstall: packageInstallSchema,
233
266
  dockerResources: dockerResourcesSchema,
267
+ capture: captureSchema,
268
+ snapshot: snapshotSchema,
234
269
  });
235
270
  /** Known fields derived from the schema. Used for unknown-field detection. */
236
271
  const KNOWN_FIELDS = new Set(Object.keys(userConfigSchema.shape));
@@ -266,6 +301,7 @@ const DEFAULT_CONFIG_CONTENT = JSON.stringify({
266
301
  auditRedaction: USER_CONFIG_DEFAULTS.auditRedaction,
267
302
  preferredMode: USER_CONFIG_DEFAULTS.preferredMode,
268
303
  dockerResources: USER_CONFIG_DEFAULTS.dockerResources,
304
+ snapshot: USER_CONFIG_DEFAULTS.snapshot,
269
305
  }, null, 2) + '\n';
270
306
  /**
271
307
  * Loads user configuration from ~/.ironcurtain/config.json.
@@ -527,6 +563,7 @@ function mergeWithDefaults(config) {
527
563
  gooseModel: config.gooseModel ?? 'claude-sonnet-4-20250514',
528
564
  preferredDockerAgent: config.preferredDockerAgent ?? 'claude-code',
529
565
  preferredMode: config.preferredMode ?? USER_CONFIG_DEFAULTS.preferredMode,
566
+ containerRuntime: config.containerRuntime ?? 'auto',
530
567
  packageInstall: {
531
568
  enabled: config.packageInstall?.enabled ?? true,
532
569
  quarantineDays: config.packageInstall?.quarantineDays ?? 2,
@@ -539,6 +576,17 @@ function mergeWithDefaults(config) {
539
576
  const { memoryMb = USER_CONFIG_DEFAULTS.dockerResources.memoryMb, cpus = USER_CONFIG_DEFAULTS.dockerResources.cpus, } = config.dockerResources ?? {};
540
577
  return { memoryMb, cpus };
541
578
  })(),
579
+ snapshot: {
580
+ enabled: config.snapshot?.enabled ?? USER_CONFIG_DEFAULTS.snapshot.enabled,
581
+ maxAgeDays: config.snapshot?.maxAgeDays !== undefined
582
+ ? config.snapshot.maxAgeDays
583
+ : USER_CONFIG_DEFAULTS.snapshot.maxAgeDays,
584
+ sweepIntervalHours: config.snapshot?.sweepIntervalHours ?? USER_CONFIG_DEFAULTS.snapshot.sweepIntervalHours,
585
+ },
586
+ // Capture is left undefined unless the user explicitly set
587
+ // `capture.enabled` in the config file. The session-factory
588
+ // resolver applies the `?? false` default (§10).
589
+ ...(config.capture?.enabled !== undefined ? { capture: { enabled: config.capture.enabled } } : {}),
542
590
  };
543
591
  }
544
592
  /**