@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
@@ -1 +1 @@
1
- {"version":3,"file":"docker-infrastructure.js","sourceRoot":"","sources":["../../src/docker/docker-infrastructure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker-infrastructure.js","sourceRoot":"","sources":["../../src/docker/docker-infrastructure.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  /**
2
- * Docker CLI wrapper implementing the DockerManager interface.
2
+ * Docker CLI wrapper implementing the ContainerRuntime interface.
3
3
  *
4
4
  * Uses child_process.execFile for all Docker CLI commands.
5
5
  * This keeps the implementation simple and avoids a dependency
6
6
  * on the Docker Engine API or dockerode.
7
7
  */
8
- import type { DockerContainerConfig, DockerManager } from './types.js';
9
- import { type DockerAvailability } from '../session/preflight.js';
8
+ import type { ContainerRuntime, DockerContainerConfig } from './types.js';
9
+ import { type DockerAvailability } from './docker-probe.js';
10
10
  import { type SpawnFn } from './spawn-with-idle-timeout.js';
11
- import { type CreateDockerProgressSinkOptions, type DockerProgressSink } from './docker-progress-sink.js';
11
+ import { type CreateDockerProgressSinkOptions, type DockerProgressSink, type DockerProgressOperation } from './docker-progress-sink.js';
12
12
  /** Async exec function signature matching promisified execFile. */
13
13
  export type ExecFileFn = (cmd: string, args: readonly string[], opts: {
14
14
  timeout?: number;
@@ -20,6 +20,8 @@ export type ExecFileFn = (cmd: string, args: readonly string[], opts: {
20
20
  export declare const defaultExecFile: ExecFileFn;
21
21
  /** Default timeout for docker exec commands (10 minutes). */
22
22
  export declare const DEFAULT_EXEC_TIMEOUT_MS = 600000;
23
+ /** Default timeout for docker commit. Large writable layers can legitimately take minutes. */
24
+ export declare const DEFAULT_COMMIT_TIMEOUT_MS = 600000;
23
25
  /**
24
26
  * Idle (no-stdout/stderr) timeout for `docker pull`. The Docker daemon
25
27
  * heartbeats layer progress every few hundred ms during a healthy pull, so
@@ -56,4 +58,22 @@ export interface CreateDockerManagerOptions {
56
58
  */
57
59
  progressSinkFactory?: (opts: CreateDockerProgressSinkOptions) => DockerProgressSink;
58
60
  }
59
- export declare function createDockerManager(execFileFn?: ExecFileFn, dockerAvailabilityProbe?: () => Promise<DockerAvailability>, spawnOpts?: CreateDockerManagerOptions): DockerManager;
61
+ /** Streaming-sink options shared by the runtime managers' build/pull runner. */
62
+ export interface StreamOpts {
63
+ spawn?: SpawnFn;
64
+ stdoutSink?: NodeJS.WritableStream;
65
+ stderrSink?: NodeJS.WritableStream;
66
+ }
67
+ /**
68
+ * Builds the streaming `pull`/`build` runner shared by the Docker and Apple
69
+ * `container` managers: it drives `spawnWithIdleTimeout` for `bin` and wraps the
70
+ * raw output flood in a progress sink (collapsed status line on a TTY, verbatim
71
+ * otherwise), bypassing the sink when the caller injected explicit sinks (tests).
72
+ */
73
+ export declare function makeRunStreamed(bin: string, streamOpts: StreamOpts, progressSinkFactory: (opts: CreateDockerProgressSinkOptions) => DockerProgressSink): (params: {
74
+ operation: DockerProgressOperation;
75
+ args: readonly string[];
76
+ idleTimeoutMs: number;
77
+ env?: NodeJS.ProcessEnv;
78
+ }) => Promise<void>;
79
+ export declare function createDockerManager(execFileFn?: ExecFileFn, dockerAvailabilityProbe?: () => Promise<DockerAvailability>, spawnOpts?: CreateDockerManagerOptions): ContainerRuntime;
@@ -1,14 +1,17 @@
1
1
  /**
2
- * Docker CLI wrapper implementing the DockerManager interface.
2
+ * Docker CLI wrapper implementing the ContainerRuntime interface.
3
3
  *
4
4
  * Uses child_process.execFile for all Docker CLI commands.
5
5
  * This keeps the implementation simple and avoids a dependency
6
6
  * on the Docker Engine API or dockerode.
7
7
  */
8
8
  import { execFile as execFileCb } from 'node:child_process';
9
+ import { mkdtempSync, rmSync } from 'node:fs';
10
+ import { tmpdir } from 'node:os';
11
+ import { join } from 'node:path';
9
12
  import { promisify } from 'node:util';
10
13
  import * as logger from '../logger.js';
11
- import { checkDockerAvailable } from '../session/preflight.js';
14
+ import { checkDockerAvailable } from './docker-probe.js';
12
15
  import { isExecError, isExecTimeout } from '../utils/exec-error.js';
13
16
  import { spawnWithIdleTimeout } from './spawn-with-idle-timeout.js';
14
17
  import { createDockerProgressSink, } from './docker-progress-sink.js';
@@ -18,6 +21,8 @@ export const defaultExecFile = async (cmd, args, opts) => {
18
21
  };
19
22
  /** Default timeout for docker exec commands (10 minutes). */
20
23
  export const DEFAULT_EXEC_TIMEOUT_MS = 600_000;
24
+ /** Default timeout for docker commit. Large writable layers can legitimately take minutes. */
25
+ export const DEFAULT_COMMIT_TIMEOUT_MS = 600_000;
21
26
  /**
22
27
  * Idle (no-stdout/stderr) timeout for `docker pull`. The Docker daemon
23
28
  * heartbeats layer progress every few hundred ms during a healthy pull, so
@@ -39,6 +44,107 @@ const STOP_TIMEOUT_SECONDS = 10;
39
44
  export const IRONCURTAIN_LABEL_BUNDLE = 'ironcurtain.bundle';
40
45
  export const IRONCURTAIN_LABEL_WORKFLOW = 'ironcurtain.workflow';
41
46
  export const IRONCURTAIN_LABEL_SCOPE = 'ironcurtain.scope';
47
+ function isRecord(value) {
48
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
49
+ }
50
+ function parseDockerImageInfo(raw) {
51
+ if (!isRecord(raw)) {
52
+ throw new Error('Unexpected docker image inspect result: expected object');
53
+ }
54
+ const config = isRecord(raw.Config) ? raw.Config : {};
55
+ const labelsRaw = isRecord(config.Labels) ? config.Labels : {};
56
+ const labels = {};
57
+ for (const [key, value] of Object.entries(labelsRaw)) {
58
+ if (typeof value === 'string')
59
+ labels[key] = value;
60
+ }
61
+ const repoTagsRaw = Array.isArray(raw.RepoTags) ? raw.RepoTags : [];
62
+ const repoTags = repoTagsRaw.filter((tag) => typeof tag === 'string');
63
+ return {
64
+ id: typeof raw.Id === 'string' ? raw.Id : '',
65
+ repoTags,
66
+ labels,
67
+ created: typeof raw.Created === 'string' ? raw.Created : '',
68
+ };
69
+ }
70
+ function parseDockerImageId(stdout) {
71
+ const matches = stdout.match(/sha256:[a-f0-9]{64}/gi);
72
+ const imageId = matches?.at(-1);
73
+ if (!imageId) {
74
+ throw new Error(`docker image creation returned unexpected image id: ${stdout.trim() || '(empty)'}`);
75
+ }
76
+ return imageId;
77
+ }
78
+ function asStringArray(value) {
79
+ return Array.isArray(value) ? value.filter((v) => typeof v === 'string') : [];
80
+ }
81
+ /**
82
+ * Renders a value for a Dockerfile `ENV key=value` directive. Values made of
83
+ * safe characters pass through bare; anything else is double-quoted with `\`
84
+ * and `"` escaped so `docker import --change` parses it intact.
85
+ */
86
+ function quoteDockerfileValue(value) {
87
+ if (/^[A-Za-z0-9_@%+=:,./-]+$/.test(value))
88
+ return value;
89
+ return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
90
+ }
91
+ /**
92
+ * Reads a container's effective Config (ENTRYPOINT/CMD/WORKDIR/USER/ENV) and
93
+ * renders it as Dockerfile `--change` directives. `docker export | docker
94
+ * import` flattens a container to a single-layer image but DROPS the image
95
+ * Config; re-baking it keeps a flattened snapshot behaving like its source on
96
+ * resume (the baked ENTRYPOINT runs the UID-remap + proxy bridge, and ENV
97
+ * carries the base-image PATH that container creation intentionally never
98
+ * re-supplies). **Throws** when the config cannot be read or parsed, so the
99
+ * flattened commit fails rather than shipping a config-less image that would
100
+ * resume broken; callers treat a snapshot failure as fall-back-to-fresh. (A
101
+ * successful read that genuinely yields no directives is fine and proceeds.)
102
+ */
103
+ async function readContainerConfigChanges(exec, containerId) {
104
+ // Let an inspect failure propagate (do NOT swallow): a flattened snapshot with
105
+ // no re-baked ENTRYPOINT/PATH resumes broken, so failing the snapshot is safer
106
+ // than producing a config-less image.
107
+ const { stdout } = await exec('docker', ['container', 'inspect', '--format', '{{json .Config}}', containerId], {
108
+ timeout: 10_000,
109
+ maxBuffer: 10 * 1024 * 1024,
110
+ });
111
+ let parsed;
112
+ try {
113
+ parsed = JSON.parse(stdout);
114
+ }
115
+ catch {
116
+ throw new Error(`docker container inspect returned unparseable Config for ${containerId}`);
117
+ }
118
+ if (!isRecord(parsed)) {
119
+ throw new Error(`docker container inspect returned a non-object Config for ${containerId}`);
120
+ }
121
+ const changes = [];
122
+ const entrypoint = asStringArray(parsed.Entrypoint);
123
+ if (entrypoint.length > 0)
124
+ changes.push(`ENTRYPOINT ${JSON.stringify(entrypoint)}`);
125
+ const cmd = asStringArray(parsed.Cmd);
126
+ if (cmd.length > 0)
127
+ changes.push(`CMD ${JSON.stringify(cmd)}`);
128
+ if (typeof parsed.WorkingDir === 'string' && parsed.WorkingDir.length > 0) {
129
+ changes.push(`WORKDIR ${parsed.WorkingDir}`);
130
+ }
131
+ if (typeof parsed.User === 'string' && parsed.User.length > 0) {
132
+ changes.push(`USER ${parsed.User}`);
133
+ }
134
+ for (const entry of asStringArray(parsed.Env)) {
135
+ const eq = entry.indexOf('=');
136
+ if (eq <= 0)
137
+ continue;
138
+ const key = entry.slice(0, eq);
139
+ const value = entry.slice(eq + 1);
140
+ // A single ENV directive can't carry a newline; such values are dynamic
141
+ // (re-supplied at create) so dropping them from the snapshot is safe.
142
+ if (/[\r\n]/.test(value))
143
+ continue;
144
+ changes.push(`ENV ${key}=${quoteDockerfileValue(value)}`);
145
+ }
146
+ return changes;
147
+ }
42
148
  /**
43
149
  * Builds the `docker create` argument list from a container config.
44
150
  * Exported for testing.
@@ -122,26 +228,20 @@ export function buildCreateArgs(config) {
122
228
  args.push(...config.command);
123
229
  return args;
124
230
  }
125
- export function createDockerManager(execFileFn, dockerAvailabilityProbe = checkDockerAvailable, spawnOpts) {
126
- const exec = execFileFn ?? defaultExecFile;
127
- const streamOpts = {
128
- spawn: spawnOpts?.spawn,
129
- stdoutSink: spawnOpts?.stdoutSink,
130
- stderrSink: spawnOpts?.stderrSink,
131
- };
132
- const progressSinkFactory = spawnOpts?.progressSinkFactory ?? createDockerProgressSink;
133
- // Runs a `docker pull` / `docker build` invocation with the streaming
134
- // idle-timeout primitive, wrapped in a progress sink that collapses the
135
- // raw output flood into a single updating status line (TTY) or
136
- // verbatim pass-through (non-TTY). When the test seam provides explicit
137
- // sinks we honor them and skip the wrapper.
138
- const runStreamed = async (params) => {
231
+ /**
232
+ * Builds the streaming `pull`/`build` runner shared by the Docker and Apple
233
+ * `container` managers: it drives `spawnWithIdleTimeout` for `bin` and wraps the
234
+ * raw output flood in a progress sink (collapsed status line on a TTY, verbatim
235
+ * otherwise), bypassing the sink when the caller injected explicit sinks (tests).
236
+ */
237
+ export function makeRunStreamed(bin, streamOpts, progressSinkFactory) {
238
+ return async (params) => {
139
239
  const hasInjectedSinks = streamOpts.stdoutSink !== undefined && streamOpts.stderrSink !== undefined;
140
240
  const progress = hasInjectedSinks
141
241
  ? undefined
142
242
  : progressSinkFactory({ operation: params.operation });
143
243
  try {
144
- await spawnWithIdleTimeout('docker', params.args, {
244
+ await spawnWithIdleTimeout(bin, params.args, {
145
245
  idleTimeoutMs: params.idleTimeoutMs,
146
246
  operation: params.operation,
147
247
  env: params.env,
@@ -157,6 +257,16 @@ export function createDockerManager(execFileFn, dockerAvailabilityProbe = checkD
157
257
  throw err;
158
258
  }
159
259
  };
260
+ }
261
+ export function createDockerManager(execFileFn, dockerAvailabilityProbe = checkDockerAvailable, spawnOpts) {
262
+ const exec = execFileFn ?? defaultExecFile;
263
+ const streamOpts = {
264
+ spawn: spawnOpts?.spawn,
265
+ stdoutSink: spawnOpts?.stdoutSink,
266
+ stderrSink: spawnOpts?.stderrSink,
267
+ };
268
+ const progressSinkFactory = spawnOpts?.progressSinkFactory ?? createDockerProgressSink;
269
+ const runStreamed = makeRunStreamed('docker', streamOpts, progressSinkFactory);
160
270
  return {
161
271
  async preflight(image) {
162
272
  const status = await dockerAvailabilityProbe();
@@ -178,9 +288,9 @@ export function createDockerManager(execFileFn, dockerAvailabilityProbe = checkD
178
288
  async start(nameOrId) {
179
289
  await exec('docker', ['start', nameOrId], { timeout: 30_000 });
180
290
  },
181
- async exec(nameOrId, command, timeoutMs, execUser) {
291
+ async exec(nameOrId, command, timeoutMs, execUser, workdir) {
182
292
  const timeout = timeoutMs ?? DEFAULT_EXEC_TIMEOUT_MS;
183
- // Resolve the `--user` flag (see DockerManager.exec JSDoc):
293
+ // Resolve the `--user` flag (see ContainerRuntime.exec JSDoc):
184
294
  // undefined → 'codespace' (default for agent containers)
185
295
  // string → override
186
296
  // null → skip the flag entirely (non-agent containers
@@ -194,8 +304,9 @@ export function createDockerManager(execFileFn, dockerAvailabilityProbe = checkD
194
304
  // but re-asserting `codespace` is a harmless no-op.
195
305
  const resolvedUser = execUser === undefined ? 'codespace' : execUser;
196
306
  const userArgs = resolvedUser === null ? [] : ['--user', resolvedUser];
307
+ const workdirArgs = workdir === undefined ? [] : ['--workdir', workdir];
197
308
  try {
198
- const { stdout, stderr } = await exec('docker', ['exec', ...userArgs, nameOrId, ...command], {
309
+ const { stdout, stderr } = await exec('docker', ['exec', ...userArgs, ...workdirArgs, nameOrId, ...command], {
199
310
  timeout,
200
311
  maxBuffer: 50 * 1024 * 1024,
201
312
  });
@@ -254,6 +365,115 @@ export function createDockerManager(execFileFn, dockerAvailabilityProbe = checkD
254
365
  return false;
255
366
  }
256
367
  },
368
+ async commit(containerId, options = {}) {
369
+ if (options.flatten === true) {
370
+ // Re-bake the image Config that export/import drops. Read it BEFORE
371
+ // export so a still-running container reports its live ENTRYPOINT/ENV.
372
+ const configChanges = await readContainerConfigChanges(exec, containerId);
373
+ const dir = mkdtempSync(join(tmpdir(), 'ironcurtain-snapshot-'));
374
+ const tarPath = join(dir, 'container.tar');
375
+ try {
376
+ await exec('docker', ['export', '--output', tarPath, containerId], {
377
+ timeout: options.timeoutMs ?? DEFAULT_COMMIT_TIMEOUT_MS,
378
+ maxBuffer: 1024 * 1024,
379
+ });
380
+ const args = ['import'];
381
+ // Config first, then caller changes (labels) so a caller can override.
382
+ for (const change of [...configChanges, ...(options.changes ?? [])]) {
383
+ args.push('--change', change);
384
+ }
385
+ args.push(tarPath);
386
+ if (options.tag !== undefined) {
387
+ args.push(options.tag);
388
+ }
389
+ const { stdout } = await exec('docker', args, {
390
+ timeout: options.timeoutMs ?? DEFAULT_COMMIT_TIMEOUT_MS,
391
+ maxBuffer: 1024 * 1024,
392
+ });
393
+ return parseDockerImageId(stdout);
394
+ }
395
+ finally {
396
+ rmSync(dir, { recursive: true, force: true });
397
+ }
398
+ }
399
+ const args = ['commit'];
400
+ if (options.pause === false) {
401
+ args.push('--no-pause');
402
+ }
403
+ for (const change of options.changes ?? []) {
404
+ args.push('--change', change);
405
+ }
406
+ args.push(containerId);
407
+ if (options.tag !== undefined) {
408
+ args.push(options.tag);
409
+ }
410
+ const { stdout } = await exec('docker', args, {
411
+ timeout: options.timeoutMs ?? DEFAULT_COMMIT_TIMEOUT_MS,
412
+ maxBuffer: 1024 * 1024,
413
+ });
414
+ return parseDockerImageId(stdout);
415
+ },
416
+ async removeImage(ref) {
417
+ try {
418
+ await exec('docker', ['image', 'rm', '--force', ref], { timeout: 60_000, maxBuffer: 1024 * 1024 });
419
+ return true;
420
+ }
421
+ catch (err) {
422
+ if (isExecError(err) && /no such image|not found|does not exist/i.test(err.stderr)) {
423
+ // Already gone -- nothing to reclaim.
424
+ return false;
425
+ }
426
+ if (isExecError(err) && /image is being used|in use by|dependent child|conflict/i.test(err.stderr)) {
427
+ // Still pinned by a running container or a derived image. Not a hard
428
+ // failure: a later GC sweep reclaims it once the holder is gone.
429
+ // Logged distinctly so it isn't conflated with an unexpected error.
430
+ logger.warn(`[docker-manager] image ${ref} still in use; deferring removal to a later sweep`);
431
+ return false;
432
+ }
433
+ const detail = isExecError(err) ? err.stderr.trim() || err.message : String(err);
434
+ logger.warn(`[docker-manager] failed to remove image ${ref}: ${detail}`);
435
+ return false;
436
+ }
437
+ },
438
+ async listImages(options) {
439
+ const args = ['image', 'ls', '--no-trunc', '--quiet'];
440
+ if (options?.labelFilter !== undefined) {
441
+ args.push('--filter', `label=${options.labelFilter}`);
442
+ }
443
+ const { stdout } = await exec('docker', args, { timeout: 10_000, maxBuffer: 10 * 1024 * 1024 });
444
+ const ids = [
445
+ ...new Set(stdout
446
+ .split(/\r?\n/)
447
+ .map((line) => line.trim())
448
+ .filter(Boolean)),
449
+ ];
450
+ if (ids.length === 0)
451
+ return [];
452
+ const { stdout: inspectStdout } = await exec('docker', ['image', 'inspect', ...ids], {
453
+ timeout: 30_000,
454
+ maxBuffer: 50 * 1024 * 1024,
455
+ });
456
+ const parsed = JSON.parse(inspectStdout);
457
+ if (!Array.isArray(parsed)) {
458
+ throw new Error('Unexpected docker image inspect result: expected array');
459
+ }
460
+ return parsed.map(parseDockerImageInfo);
461
+ },
462
+ async inspectImage(ref) {
463
+ try {
464
+ const { stdout } = await exec('docker', ['image', 'inspect', ref], {
465
+ timeout: 10_000,
466
+ maxBuffer: 10 * 1024 * 1024,
467
+ });
468
+ const parsed = JSON.parse(stdout);
469
+ if (!Array.isArray(parsed) || parsed.length === 0)
470
+ return undefined;
471
+ return parseDockerImageInfo(parsed[0]);
472
+ }
473
+ catch {
474
+ return undefined;
475
+ }
476
+ },
257
477
  async buildImage(tag, dockerfilePath, contextDir, labels) {
258
478
  // `--progress=plain` plus BuildKit gives line-oriented streamed output,
259
479
  // which (a) makes the user-visible "what's happening" question
@@ -320,8 +540,16 @@ export function createDockerManager(execFileFn, dockerAvailabilityProbe = checkD
320
540
  try {
321
541
  await exec('docker', ['network', 'rm', name], { timeout: 10_000 });
322
542
  }
323
- catch {
324
- // Ignore errors -- network may already be removed
543
+ catch (err) {
544
+ // Non-fatal: callers invoke this in best-effort teardown paths and
545
+ // depend on it never throwing. But a genuine failure here orphans the
546
+ // network (there is no stale-network reaper, unlike removeStaleContainer),
547
+ // so surface it rather than swallowing silently. "not found" is benign
548
+ // (already removed) and stays quiet.
549
+ if (isExecError(err) && /not found|no such network/i.test(err.stderr))
550
+ return;
551
+ const detail = isExecError(err) ? err.stderr.trim() || err.message : String(err);
552
+ logger.warn(`removeNetwork: failed to remove "${name}": ${detail}`);
325
553
  }
326
554
  },
327
555
  async pullImage(image) {
@@ -364,6 +592,18 @@ export function createDockerManager(execFileFn, dockerAvailabilityProbe = checkD
364
592
  async connectNetwork(networkName, containerId) {
365
593
  await exec('docker', ['network', 'connect', networkName, containerId], { timeout: 10_000 });
366
594
  },
595
+ async getNetworkGateway(name) {
596
+ try {
597
+ const { stdout } = await exec('docker', ['network', 'inspect', '-f', '{{(index .IPAM.Config 0).Gateway}}', name], {
598
+ timeout: 10_000,
599
+ });
600
+ const value = stdout.trim();
601
+ return value && value !== '<no value>' ? value : undefined;
602
+ }
603
+ catch {
604
+ return undefined;
605
+ }
606
+ },
367
607
  async getContainerIp(containerId, network) {
368
608
  // Docker may not assign the IP immediately after `network connect`.
369
609
  // Retry a few times with a short delay.