@shapeshift-labs/frontier-swarm-codex 0.5.116 → 0.5.118

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 (387) hide show
  1. package/README.md +59 -3
  2. package/dist/apply.js +1 -1
  3. package/dist/apply.js.map +1 -1
  4. package/dist/calibration-feedback.d.ts.map +1 -1
  5. package/dist/calibration-feedback.js +57 -2
  6. package/dist/calibration-feedback.js.map +1 -1
  7. package/dist/cleanup.js +1 -0
  8. package/dist/cleanup.js.map +1 -1
  9. package/dist/cli-args.d.ts +72 -0
  10. package/dist/cli-args.d.ts.map +1 -0
  11. package/dist/cli-args.js +296 -0
  12. package/dist/cli-args.js.map +1 -0
  13. package/dist/cli-help.d.ts.map +1 -1
  14. package/dist/cli-help.js +14 -0
  15. package/dist/cli-help.js.map +1 -1
  16. package/dist/cli.js +58 -183
  17. package/dist/cli.js.map +1 -1
  18. package/dist/codex-adaptive-feedback.d.ts.map +1 -1
  19. package/dist/codex-adaptive-feedback.js +98 -3
  20. package/dist/codex-adaptive-feedback.js.map +1 -1
  21. package/dist/codex-executor.d.ts.map +1 -1
  22. package/dist/codex-executor.js +30 -3
  23. package/dist/codex-executor.js.map +1 -1
  24. package/dist/codex-prompt.d.ts.map +1 -1
  25. package/dist/codex-prompt.js +58 -0
  26. package/dist/codex-prompt.js.map +1 -1
  27. package/dist/codex-run-metadata.d.ts +34 -0
  28. package/dist/codex-run-metadata.d.ts.map +1 -0
  29. package/dist/codex-run-metadata.js +29 -0
  30. package/dist/codex-run-metadata.js.map +1 -0
  31. package/dist/codex-run-swarm.d.ts +4 -0
  32. package/dist/codex-run-swarm.d.ts.map +1 -0
  33. package/dist/codex-run-swarm.js +69 -0
  34. package/dist/codex-run-swarm.js.map +1 -0
  35. package/dist/codex-run.d.ts +3 -3
  36. package/dist/codex-run.d.ts.map +1 -1
  37. package/dist/codex-run.js +146 -133
  38. package/dist/codex-run.js.map +1 -1
  39. package/dist/codex-tournament-strategy.d.ts +10 -0
  40. package/dist/codex-tournament-strategy.d.ts.map +1 -1
  41. package/dist/codex-tournament-strategy.js +39 -0
  42. package/dist/codex-tournament-strategy.js.map +1 -1
  43. package/dist/codex-workspace-change-paths.d.ts +20 -0
  44. package/dist/codex-workspace-change-paths.d.ts.map +1 -0
  45. package/dist/codex-workspace-change-paths.js +215 -0
  46. package/dist/codex-workspace-change-paths.js.map +1 -0
  47. package/dist/codex-workspace-changes.d.ts +12 -12
  48. package/dist/codex-workspace-changes.d.ts.map +1 -1
  49. package/dist/codex-workspace-changes.js +19 -122
  50. package/dist/codex-workspace-changes.js.map +1 -1
  51. package/dist/codex-workspace-restore.d.ts +15 -0
  52. package/dist/codex-workspace-restore.d.ts.map +1 -0
  53. package/dist/codex-workspace-restore.js +66 -0
  54. package/dist/codex-workspace-restore.js.map +1 -0
  55. package/dist/codex-workspace-write-fence.d.ts +21 -0
  56. package/dist/codex-workspace-write-fence.d.ts.map +1 -0
  57. package/dist/codex-workspace-write-fence.js +155 -0
  58. package/dist/codex-workspace-write-fence.js.map +1 -0
  59. package/dist/codex-workspace.d.ts +5 -1
  60. package/dist/codex-workspace.d.ts.map +1 -1
  61. package/dist/codex-workspace.js +46 -2
  62. package/dist/codex-workspace.js.map +1 -1
  63. package/dist/collect-artifact-store.d.ts +14 -0
  64. package/dist/collect-artifact-store.d.ts.map +1 -0
  65. package/dist/collect-artifact-store.js +207 -0
  66. package/dist/collect-artifact-store.js.map +1 -0
  67. package/dist/collect-bundle-reasons.d.ts +18 -0
  68. package/dist/collect-bundle-reasons.d.ts.map +1 -0
  69. package/dist/collect-bundle-reasons.js +222 -0
  70. package/dist/collect-bundle-reasons.js.map +1 -0
  71. package/dist/collect-bundle-staleness.d.ts +10 -0
  72. package/dist/collect-bundle-staleness.d.ts.map +1 -0
  73. package/dist/collect-bundle-staleness.js +98 -0
  74. package/dist/collect-bundle-staleness.js.map +1 -0
  75. package/dist/collect-bundles.d.ts +8 -10
  76. package/dist/collect-bundles.d.ts.map +1 -1
  77. package/dist/collect-bundles.js +28 -115
  78. package/dist/collect-bundles.js.map +1 -1
  79. package/dist/collect-dashboard-quality.d.ts +5 -0
  80. package/dist/collect-dashboard-quality.d.ts.map +1 -0
  81. package/dist/collect-dashboard-quality.js +256 -0
  82. package/dist/collect-dashboard-quality.js.map +1 -0
  83. package/dist/collect-dashboard.d.ts +4 -3
  84. package/dist/collect-dashboard.d.ts.map +1 -1
  85. package/dist/collect-dashboard.js +37 -3
  86. package/dist/collect-dashboard.js.map +1 -1
  87. package/dist/collect-evidence.d.ts.map +1 -1
  88. package/dist/collect-evidence.js +13 -2
  89. package/dist/collect-evidence.js.map +1 -1
  90. package/dist/collect-finalize.d.ts +15 -0
  91. package/dist/collect-finalize.d.ts.map +1 -0
  92. package/dist/collect-finalize.js +75 -0
  93. package/dist/collect-finalize.js.map +1 -0
  94. package/dist/collect-landed.d.ts +7 -0
  95. package/dist/collect-landed.d.ts.map +1 -0
  96. package/dist/collect-landed.js +171 -0
  97. package/dist/collect-landed.js.map +1 -0
  98. package/dist/collect-noise.d.ts +6 -0
  99. package/dist/collect-noise.d.ts.map +1 -0
  100. package/dist/collect-noise.js +131 -0
  101. package/dist/collect-noise.js.map +1 -0
  102. package/dist/collect-overlaps.d.ts +3 -0
  103. package/dist/collect-overlaps.d.ts.map +1 -0
  104. package/dist/collect-overlaps.js +8 -0
  105. package/dist/collect-overlaps.js.map +1 -0
  106. package/dist/collect-pids.d.ts +4 -0
  107. package/dist/collect-pids.d.ts.map +1 -0
  108. package/dist/collect-pids.js +33 -0
  109. package/dist/collect-pids.js.map +1 -0
  110. package/dist/collect-setup.d.ts +4 -0
  111. package/dist/collect-setup.d.ts.map +1 -0
  112. package/dist/collect-setup.js +20 -0
  113. package/dist/collect-setup.js.map +1 -0
  114. package/dist/collect-terminal-state.d.ts +14 -0
  115. package/dist/collect-terminal-state.d.ts.map +1 -0
  116. package/dist/collect-terminal-state.js +113 -0
  117. package/dist/collect-terminal-state.js.map +1 -0
  118. package/dist/collect-workspace-only.d.ts +10 -0
  119. package/dist/collect-workspace-only.d.ts.map +1 -0
  120. package/dist/collect-workspace-only.js +289 -0
  121. package/dist/collect-workspace-only.js.map +1 -0
  122. package/dist/collect-workspace-proof.d.ts +3 -0
  123. package/dist/collect-workspace-proof.d.ts.map +1 -0
  124. package/dist/collect-workspace-proof.js +24 -0
  125. package/dist/collect-workspace-proof.js.map +1 -0
  126. package/dist/collect-workspace-recovery.d.ts +22 -0
  127. package/dist/collect-workspace-recovery.d.ts.map +1 -0
  128. package/dist/collect-workspace-recovery.js +94 -0
  129. package/dist/collect-workspace-recovery.js.map +1 -0
  130. package/dist/collect.d.ts +1 -2
  131. package/dist/collect.d.ts.map +1 -1
  132. package/dist/collect.js +125 -116
  133. package/dist/collect.js.map +1 -1
  134. package/dist/common.d.ts +5 -0
  135. package/dist/common.d.ts.map +1 -1
  136. package/dist/common.js +54 -1
  137. package/dist/common.js.map +1 -1
  138. package/dist/constants.d.ts +6 -0
  139. package/dist/constants.d.ts.map +1 -1
  140. package/dist/constants.js +6 -0
  141. package/dist/constants.js.map +1 -1
  142. package/dist/context-budget.d.ts.map +1 -1
  143. package/dist/context-budget.js +49 -6
  144. package/dist/context-budget.js.map +1 -1
  145. package/dist/continuation-adaptive-routing.d.ts +7 -0
  146. package/dist/continuation-adaptive-routing.d.ts.map +1 -0
  147. package/dist/continuation-adaptive-routing.js +129 -0
  148. package/dist/continuation-adaptive-routing.js.map +1 -0
  149. package/dist/continuation-child-backlogs.d.ts +11 -0
  150. package/dist/continuation-child-backlogs.d.ts.map +1 -0
  151. package/dist/continuation-child-backlogs.js +48 -0
  152. package/dist/continuation-child-backlogs.js.map +1 -0
  153. package/dist/continuation-feedback.d.ts +41 -0
  154. package/dist/continuation-feedback.d.ts.map +1 -0
  155. package/dist/continuation-feedback.js +294 -0
  156. package/dist/continuation-feedback.js.map +1 -0
  157. package/dist/continuation-human-actions.d.ts +15 -0
  158. package/dist/continuation-human-actions.d.ts.map +1 -0
  159. package/dist/continuation-human-actions.js +23 -0
  160. package/dist/continuation-human-actions.js.map +1 -0
  161. package/dist/continuation-job-routing-summary.d.ts +4 -0
  162. package/dist/continuation-job-routing-summary.d.ts.map +1 -0
  163. package/dist/continuation-job-routing-summary.js +47 -0
  164. package/dist/continuation-job-routing-summary.js.map +1 -0
  165. package/dist/continuation-task-source.d.ts +10 -0
  166. package/dist/continuation-task-source.d.ts.map +1 -0
  167. package/dist/continuation-task-source.js +11 -0
  168. package/dist/continuation-task-source.js.map +1 -0
  169. package/dist/continuation-terminal-outcomes.d.ts +27 -0
  170. package/dist/continuation-terminal-outcomes.d.ts.map +1 -0
  171. package/dist/continuation-terminal-outcomes.js +215 -0
  172. package/dist/continuation-terminal-outcomes.js.map +1 -0
  173. package/dist/continuation.d.ts +3 -0
  174. package/dist/continuation.d.ts.map +1 -0
  175. package/dist/continuation.js +266 -0
  176. package/dist/continuation.js.map +1 -0
  177. package/dist/dashboard-ui-constants.d.ts +6 -0
  178. package/dist/dashboard-ui-constants.d.ts.map +1 -0
  179. package/dist/dashboard-ui-constants.js +6 -0
  180. package/dist/dashboard-ui-constants.js.map +1 -0
  181. package/dist/dashboard-ui-health.d.ts +24 -0
  182. package/dist/dashboard-ui-health.d.ts.map +1 -0
  183. package/dist/dashboard-ui-health.js +175 -0
  184. package/dist/dashboard-ui-health.js.map +1 -0
  185. package/dist/dashboard-ui-human-actions.d.ts +3 -0
  186. package/dist/dashboard-ui-human-actions.d.ts.map +1 -0
  187. package/dist/dashboard-ui-human-actions.js +218 -0
  188. package/dist/dashboard-ui-human-actions.js.map +1 -0
  189. package/dist/dashboard-ui-jobs.d.ts +7 -0
  190. package/dist/dashboard-ui-jobs.d.ts.map +1 -0
  191. package/dist/dashboard-ui-jobs.js +232 -0
  192. package/dist/dashboard-ui-jobs.js.map +1 -0
  193. package/dist/dashboard-ui-lanes.d.ts +3 -0
  194. package/dist/dashboard-ui-lanes.d.ts.map +1 -0
  195. package/dist/dashboard-ui-lanes.js +17 -0
  196. package/dist/dashboard-ui-lanes.js.map +1 -0
  197. package/dist/dashboard-ui-metric-utils.d.ts +13 -0
  198. package/dist/dashboard-ui-metric-utils.d.ts.map +1 -0
  199. package/dist/dashboard-ui-metric-utils.js +52 -0
  200. package/dist/dashboard-ui-metric-utils.js.map +1 -0
  201. package/dist/dashboard-ui-quality.d.ts +4 -0
  202. package/dist/dashboard-ui-quality.d.ts.map +1 -0
  203. package/dist/dashboard-ui-quality.js +106 -0
  204. package/dist/dashboard-ui-quality.js.map +1 -0
  205. package/dist/dashboard-ui-semantic.d.ts +6 -0
  206. package/dist/dashboard-ui-semantic.d.ts.map +1 -0
  207. package/dist/dashboard-ui-semantic.js +84 -0
  208. package/dist/dashboard-ui-semantic.js.map +1 -0
  209. package/dist/dashboard-ui-sources.d.ts +9 -0
  210. package/dist/dashboard-ui-sources.d.ts.map +1 -0
  211. package/dist/dashboard-ui-sources.js +39 -0
  212. package/dist/dashboard-ui-sources.js.map +1 -0
  213. package/dist/dashboard-ui-steering.d.ts +4 -0
  214. package/dist/dashboard-ui-steering.d.ts.map +1 -0
  215. package/dist/dashboard-ui-steering.js +41 -0
  216. package/dist/dashboard-ui-steering.js.map +1 -0
  217. package/dist/dashboard-ui-summary.d.ts +6 -0
  218. package/dist/dashboard-ui-summary.d.ts.map +1 -0
  219. package/dist/dashboard-ui-summary.js +64 -0
  220. package/dist/dashboard-ui-summary.js.map +1 -0
  221. package/dist/dashboard-ui-time-series.d.ts +6 -0
  222. package/dist/dashboard-ui-time-series.d.ts.map +1 -0
  223. package/dist/dashboard-ui-time-series.js +191 -0
  224. package/dist/dashboard-ui-time-series.js.map +1 -0
  225. package/dist/dashboard-ui-types.d.ts +21 -0
  226. package/dist/dashboard-ui-types.d.ts.map +1 -0
  227. package/dist/dashboard-ui-types.js +2 -0
  228. package/dist/dashboard-ui-types.js.map +1 -0
  229. package/dist/dashboard-ui-values.d.ts +13 -0
  230. package/dist/dashboard-ui-values.d.ts.map +1 -0
  231. package/dist/dashboard-ui-values.js +57 -0
  232. package/dist/dashboard-ui-values.js.map +1 -0
  233. package/dist/dashboard-ui-workspace.d.ts +7 -0
  234. package/dist/dashboard-ui-workspace.d.ts.map +1 -0
  235. package/dist/dashboard-ui-workspace.js +131 -0
  236. package/dist/dashboard-ui-workspace.js.map +1 -0
  237. package/dist/dashboard-ui.d.ts +4 -0
  238. package/dist/dashboard-ui.d.ts.map +1 -0
  239. package/dist/dashboard-ui.js +139 -0
  240. package/dist/dashboard-ui.js.map +1 -0
  241. package/dist/dashboard.js +59 -3
  242. package/dist/dashboard.js.map +1 -1
  243. package/dist/human-actions.d.ts +46 -0
  244. package/dist/human-actions.d.ts.map +1 -0
  245. package/dist/human-actions.js +251 -0
  246. package/dist/human-actions.js.map +1 -0
  247. package/dist/index.d.ts +6 -6
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +5 -92
  250. package/dist/index.js.map +1 -1
  251. package/dist/model-pricing.d.ts +49 -0
  252. package/dist/model-pricing.d.ts.map +1 -0
  253. package/dist/model-pricing.js +159 -0
  254. package/dist/model-pricing.js.map +1 -0
  255. package/dist/patch-score-semantic.d.ts.map +1 -1
  256. package/dist/patch-score-semantic.js +34 -30
  257. package/dist/patch-score-semantic.js.map +1 -1
  258. package/dist/plan.d.ts +6 -0
  259. package/dist/plan.d.ts.map +1 -0
  260. package/dist/plan.js +191 -0
  261. package/dist/plan.js.map +1 -0
  262. package/dist/query-io.d.ts +8 -0
  263. package/dist/query-io.d.ts.map +1 -0
  264. package/dist/query-io.js +46 -0
  265. package/dist/query-io.js.map +1 -0
  266. package/dist/query-landed.d.ts +20 -0
  267. package/dist/query-landed.d.ts.map +1 -0
  268. package/dist/query-landed.js +64 -0
  269. package/dist/query-landed.js.map +1 -0
  270. package/dist/query-matchers.d.ts +6 -0
  271. package/dist/query-matchers.d.ts.map +1 -0
  272. package/dist/query-matchers.js +160 -0
  273. package/dist/query-matchers.js.map +1 -0
  274. package/dist/query-signal-types.d.ts +32 -0
  275. package/dist/query-signal-types.d.ts.map +1 -0
  276. package/dist/query-signal-types.js +2 -0
  277. package/dist/query-signal-types.js.map +1 -0
  278. package/dist/query-signals.d.ts +12 -0
  279. package/dist/query-signals.d.ts.map +1 -0
  280. package/dist/query-signals.js +207 -0
  281. package/dist/query-signals.js.map +1 -0
  282. package/dist/query-status.d.ts +10 -0
  283. package/dist/query-status.d.ts.map +1 -0
  284. package/dist/query-status.js +115 -0
  285. package/dist/query-status.js.map +1 -0
  286. package/dist/query-summaries.d.ts +283 -0
  287. package/dist/query-summaries.d.ts.map +1 -0
  288. package/dist/query-summaries.js +195 -0
  289. package/dist/query-summaries.js.map +1 -0
  290. package/dist/query-types.d.ts +45 -0
  291. package/dist/query-types.d.ts.map +1 -0
  292. package/dist/query-types.js +2 -0
  293. package/dist/query-types.js.map +1 -0
  294. package/dist/query-values.d.ts +15 -0
  295. package/dist/query-values.d.ts.map +1 -0
  296. package/dist/query-values.js +73 -0
  297. package/dist/query-values.js.map +1 -0
  298. package/dist/query.d.ts +344 -41
  299. package/dist/query.d.ts.map +1 -1
  300. package/dist/query.js +38 -157
  301. package/dist/query.js.map +1 -1
  302. package/dist/score-calibration.d.ts.map +1 -1
  303. package/dist/score-calibration.js +52 -3
  304. package/dist/score-calibration.js.map +1 -1
  305. package/dist/score.js +1 -1
  306. package/dist/score.js.map +1 -1
  307. package/dist/semantic-edit-admission.d.ts +3 -0
  308. package/dist/semantic-edit-admission.d.ts.map +1 -1
  309. package/dist/semantic-edit-admission.js +90 -11
  310. package/dist/semantic-edit-admission.js.map +1 -1
  311. package/dist/semantic-edit-clean-eligibility.d.ts.map +1 -1
  312. package/dist/semantic-edit-clean-eligibility.js +22 -4
  313. package/dist/semantic-edit-clean-eligibility.js.map +1 -1
  314. package/dist/semantic-edit-script.d.ts.map +1 -1
  315. package/dist/semantic-edit-script.js +26 -5
  316. package/dist/semantic-edit-script.js.map +1 -1
  317. package/dist/semantic-import-layers.d.ts +1 -1
  318. package/dist/semantic-import-layers.d.ts.map +1 -1
  319. package/dist/semantic-import-layers.js +22 -6
  320. package/dist/semantic-import-layers.js.map +1 -1
  321. package/dist/semantic-import-lineage-signals.d.ts +12 -0
  322. package/dist/semantic-import-lineage-signals.d.ts.map +1 -0
  323. package/dist/semantic-import-lineage-signals.js +126 -0
  324. package/dist/semantic-import-lineage-signals.js.map +1 -0
  325. package/dist/semantic-import-lineage.d.ts.map +1 -1
  326. package/dist/semantic-import-lineage.js +120 -18
  327. package/dist/semantic-import-lineage.js.map +1 -1
  328. package/dist/semantic-import-proof.d.ts.map +1 -1
  329. package/dist/semantic-import-proof.js +16 -0
  330. package/dist/semantic-import-proof.js.map +1 -1
  331. package/dist/semantic-import-quality.d.ts.map +1 -1
  332. package/dist/semantic-import-quality.js +8 -0
  333. package/dist/semantic-import-quality.js.map +1 -1
  334. package/dist/semantic-import-readiness.d.ts +15 -0
  335. package/dist/semantic-import-readiness.d.ts.map +1 -0
  336. package/dist/semantic-import-readiness.js +214 -0
  337. package/dist/semantic-import-readiness.js.map +1 -0
  338. package/dist/semantic-import-sidecar.d.ts.map +1 -1
  339. package/dist/semantic-import-sidecar.js +6 -37
  340. package/dist/semantic-import-sidecar.js.map +1 -1
  341. package/dist/semantic-import.d.ts +4 -2
  342. package/dist/semantic-import.d.ts.map +1 -1
  343. package/dist/semantic-import.js +27 -10
  344. package/dist/semantic-import.js.map +1 -1
  345. package/dist/tournament-bandit-view.d.ts +16 -13
  346. package/dist/tournament-bandit-view.d.ts.map +1 -1
  347. package/dist/tournament-bandit-view.js +23 -3
  348. package/dist/tournament-bandit-view.js.map +1 -1
  349. package/dist/tournament-query.d.ts +35 -39
  350. package/dist/tournament-query.d.ts.map +1 -1
  351. package/dist/tournament-query.js +32 -6
  352. package/dist/tournament-query.js.map +1 -1
  353. package/dist/types-collection-quality.d.ts +112 -0
  354. package/dist/types-collection-quality.d.ts.map +1 -0
  355. package/dist/types-collection-quality.js +2 -0
  356. package/dist/types-collection-quality.js.map +1 -0
  357. package/dist/types-collection-score.d.ts +112 -0
  358. package/dist/types-collection-score.d.ts.map +1 -0
  359. package/dist/types-collection-score.js +2 -0
  360. package/dist/types-collection-score.js.map +1 -0
  361. package/dist/types-collection.d.ts +107 -112
  362. package/dist/types-collection.d.ts.map +1 -1
  363. package/dist/types-continuation.d.ts +151 -0
  364. package/dist/types-continuation.d.ts.map +1 -0
  365. package/dist/types-continuation.js +2 -0
  366. package/dist/types-continuation.js.map +1 -0
  367. package/dist/types-dashboard-metrics.d.ts +241 -0
  368. package/dist/types-dashboard-metrics.d.ts.map +1 -0
  369. package/dist/types-dashboard-metrics.js +2 -0
  370. package/dist/types-dashboard-metrics.js.map +1 -0
  371. package/dist/types-dashboard.d.ts +277 -0
  372. package/dist/types-dashboard.d.ts.map +1 -0
  373. package/dist/types-dashboard.js +2 -0
  374. package/dist/types-dashboard.js.map +1 -0
  375. package/dist/types-evidence.d.ts +3 -0
  376. package/dist/types-evidence.d.ts.map +1 -1
  377. package/dist/types-run.d.ts +54 -1
  378. package/dist/types-run.d.ts.map +1 -1
  379. package/dist/types-score-calibration.d.ts +15 -0
  380. package/dist/types-score-calibration.d.ts.map +1 -1
  381. package/dist/types-semantic.d.ts +21 -12
  382. package/dist/types-semantic.d.ts.map +1 -1
  383. package/dist/types-workspace.d.ts +31 -1
  384. package/dist/types-workspace.d.ts.map +1 -1
  385. package/dist/types.d.ts +2 -0
  386. package/dist/types.d.ts.map +1 -1
  387. package/package.json +2 -2
@@ -0,0 +1,155 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { normalizeWorkspacePath, shouldPruneWorkspaceWriteFenceTraversal } from './common.js';
4
+ const WRITE_FENCE_LIMITATIONS = [
5
+ 'chmod-readonly is a best-effort pre-exec fence, not a security sandbox',
6
+ 'a worker running as the same OS user can chmod owned paths back to writable',
7
+ 'workspace root and allowed-write ancestors may remain writable so allowed new files can be created',
8
+ 'symlinks and heavyweight dependency/run artifact trees are not traversed; strict post-exec restore is the durable enforcement'
9
+ ];
10
+ export async function applyWorkspacePreExecWriteFence(input) {
11
+ const writableRoots = uniqueWriteFenceRoots(input.writableRoots ?? input.allowedWrites);
12
+ const skipped = skippedWriteFenceReason(input.enabled !== false, input.workspacePlan);
13
+ if (skipped)
14
+ return { records: [], summary: createWriteFenceSummary({ mode: 'none', skippedReason: skipped, writableRoots }) };
15
+ const records = [];
16
+ await walkWorkspaceWriteFence(input.workspace, input.workspace, writableRoots, records);
17
+ return {
18
+ records,
19
+ summary: createWriteFenceSummary({
20
+ mode: 'chmod-readonly',
21
+ applied: records.length > 0,
22
+ lockedPathCount: records.length,
23
+ sampleLockedPaths: records.slice(0, 20).map((entry) => entry.path),
24
+ writableRoots
25
+ })
26
+ };
27
+ }
28
+ export async function restoreWorkspacePreExecWriteFence(state) {
29
+ let restoredPathCount = 0;
30
+ let failedRestoreCount = 0;
31
+ for (const record of [...state.records].reverse()) {
32
+ try {
33
+ await fs.chmod(record.absolutePath, record.originalMode);
34
+ restoredPathCount += 1;
35
+ }
36
+ catch {
37
+ failedRestoreCount += 1;
38
+ }
39
+ }
40
+ return { ...state.summary, restoredPathCount, failedRestoreCount };
41
+ }
42
+ async function walkWorkspaceWriteFence(root, current, allowedWrites, records) {
43
+ const entries = await fs.readdir(current, { withFileTypes: true }).catch(() => []);
44
+ for (const entry of entries) {
45
+ const absolute = path.join(current, entry.name);
46
+ const relative = path.relative(root, absolute).replace(/\\/g, '/');
47
+ if (!relative || entry.isSymbolicLink())
48
+ continue;
49
+ if (entry.isDirectory()) {
50
+ if (shouldPruneWorkspaceWriteFenceTraversal(relative)) {
51
+ await fenceWorkspacePath(absolute, relative, 'directory', allowedWrites, records);
52
+ continue;
53
+ }
54
+ await walkWorkspaceWriteFence(root, absolute, allowedWrites, records);
55
+ await fenceWorkspacePath(absolute, relative, 'directory', allowedWrites, records);
56
+ }
57
+ else if (entry.isFile()) {
58
+ await fenceWorkspacePath(absolute, relative, 'file', allowedWrites, records);
59
+ }
60
+ }
61
+ }
62
+ async function fenceWorkspacePath(absolutePath, relativePath, kind, allowedWrites, records) {
63
+ const keepWritable = kind === 'directory'
64
+ ? allowedWrites.some((entry) => writeEntryCoversDirectory(relativePath, entry))
65
+ : allowedWrites.some((entry) => writeEntryCoversFile(relativePath, entry));
66
+ if (keepWritable)
67
+ return;
68
+ const stat = await fs.lstat(absolutePath).catch(() => undefined);
69
+ if (!stat)
70
+ return;
71
+ const originalMode = stat.mode & 0o7777;
72
+ const fencedMode = originalMode & ~0o222;
73
+ if (fencedMode === originalMode)
74
+ return;
75
+ await fs.chmod(absolutePath, fencedMode).catch(() => { });
76
+ const after = await fs.lstat(absolutePath).catch(() => undefined);
77
+ if (!after || (after.mode & 0o222) !== 0)
78
+ return;
79
+ records.push({ path: relativePath, absolutePath, kind, originalMode, fencedMode });
80
+ }
81
+ function writeEntryCoversFile(file, entry) {
82
+ const parsed = parseWriteFenceEntry(entry);
83
+ if (!parsed)
84
+ return false;
85
+ if (parsed.all)
86
+ return true;
87
+ return file === parsed.prefix || file.startsWith(parsed.prefix + '/');
88
+ }
89
+ function writeEntryCoversDirectory(directory, entry) {
90
+ const parsed = parseWriteFenceEntry(entry);
91
+ if (!parsed)
92
+ return false;
93
+ if (parsed.all)
94
+ return true;
95
+ return directory === parsed.prefix
96
+ || directory.startsWith(parsed.prefix + '/')
97
+ || parsed.prefix.startsWith(directory + '/');
98
+ }
99
+ function parseWriteFenceEntry(entry) {
100
+ const raw = String(entry ?? '').trim().replace(/\\/g, '/').replace(/\/+$/, '');
101
+ if (!raw || raw.includes('\0') || path.isAbsolute(raw) || path.win32.isAbsolute(raw))
102
+ return undefined;
103
+ if (raw === '*' || raw === '**' || raw === '**/*')
104
+ return { all: true };
105
+ const starIndex = raw.indexOf('*');
106
+ const staticPart = writeFenceStaticRoot(raw, starIndex);
107
+ const prefix = normalizeWorkspacePath(staticPart);
108
+ return prefix ? { all: false, prefix } : undefined;
109
+ }
110
+ function writeFenceStaticRoot(raw, starIndex) {
111
+ if (starIndex < 0)
112
+ return raw.replace(/\/+$/, '');
113
+ const staticPart = raw.slice(0, starIndex);
114
+ if (staticPart.endsWith('/'))
115
+ return staticPart.replace(/\/+$/, '');
116
+ const segmentEnd = staticPart.lastIndexOf('/');
117
+ if (segmentEnd < 0)
118
+ return '';
119
+ return staticPart.slice(0, segmentEnd).replace(/\/+$/, '');
120
+ }
121
+ function skippedWriteFenceReason(enabled, plan) {
122
+ if (!enabled)
123
+ return 'worker execution skipped';
124
+ if (plan.allowedWritePolicy.mode !== 'strict')
125
+ return 'allowed write policy is audit';
126
+ if (plan.mode !== 'copy' && plan.mode !== 'snapshot')
127
+ return `workspace mode ${plan.mode} is not isolated`;
128
+ return undefined;
129
+ }
130
+ function createWriteFenceSummary(input) {
131
+ return {
132
+ mode: input.mode,
133
+ applied: input.applied ?? false,
134
+ ...(input.skippedReason ? { skippedReason: input.skippedReason } : {}),
135
+ lockedPathCount: input.lockedPathCount ?? 0,
136
+ restoredPathCount: 0,
137
+ failedRestoreCount: 0,
138
+ sampleLockedPaths: input.sampleLockedPaths ?? [],
139
+ writableRoots: uniqueWriteFenceRoots(input.writableRoots),
140
+ limitations: WRITE_FENCE_LIMITATIONS
141
+ };
142
+ }
143
+ function uniqueWriteFenceRoots(values) {
144
+ const out = [];
145
+ const seen = new Set();
146
+ for (const value of values) {
147
+ const root = String(value ?? '').trim();
148
+ if (!root || seen.has(root))
149
+ continue;
150
+ seen.add(root);
151
+ out.push(root);
152
+ }
153
+ return out;
154
+ }
155
+ //# sourceMappingURL=codex-workspace-write-fence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-workspace-write-fence.js","sourceRoot":"","sources":["../src/codex-workspace-write-fence.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import type { FrontierSwarmJob } from '@shapeshift-labs/frontier-swarm';
2
- import type { FrontierCodexSwarmRunOptions, FrontierCodexWorkspaceManifest, FrontierCodexWorkspacePlan, FrontierCodexWorkspaceProof } from './index.js';
2
+ import type { FrontierCodexSwarmRunOptions, FrontierCodexWorkspaceIgnoredChangedPathReason, FrontierCodexWorkspaceManifest, FrontierCodexWorkspacePlan, FrontierCodexWorkspaceProof, FrontierCodexWorkspaceWriteFenceSummary } from './index.js';
3
3
  export declare function prepareCodexWorkspace(job: FrontierSwarmJob, options: FrontierCodexSwarmRunOptions): Promise<string>;
4
4
  export declare function createCodexWorkspacePlan(job: FrontierSwarmJob, options: FrontierCodexSwarmRunOptions): FrontierCodexWorkspacePlan;
5
5
  export declare function createSwarmWorkspaceManifest(plan: FrontierCodexWorkspacePlan): FrontierCodexWorkspaceManifest;
6
6
  export declare function createSwarmWorkspaceProof(plan: FrontierCodexWorkspacePlan, input?: {
7
7
  ignoredChangedPaths?: readonly string[];
8
+ ignoredChangedPathReasons?: readonly FrontierCodexWorkspaceIgnoredChangedPathReason[];
9
+ observedChangedPaths?: readonly string[];
10
+ reportedChangedPaths?: readonly string[];
11
+ preExecWriteFence?: FrontierCodexWorkspaceWriteFenceSummary;
8
12
  generatedAt?: number;
9
13
  }): Promise<FrontierCodexWorkspaceProof>;
10
14
  //# sourceMappingURL=codex-workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-workspace.d.ts","sourceRoot":"","sources":["../src/codex-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAiBxE,OAAO,KAAK,EACV,4BAA4B,EAE5B,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAapB,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBzH;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,4BAA4B,GAAG,0BAA0B,CA0EjI;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,0BAA0B,GAAG,8BAA8B,CAmB7G;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,0BAA0B,EAChC,KAAK,GAAE;IAAE,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5E,OAAO,CAAC,2BAA2B,CAAC,CAyCtC"}
1
+ {"version":3,"file":"codex-workspace.d.ts","sourceRoot":"","sources":["../src/codex-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAkBxE,OAAO,KAAK,EACV,4BAA4B,EAE5B,8CAA8C,EAC9C,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,uCAAuC,EACxC,MAAM,YAAY,CAAC;AAiBpB,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBzH;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,4BAA4B,GAAG,0BAA0B,CA6EjI;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,0BAA0B,GAAG,8BAA8B,CAoB7G;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,0BAA0B,EAChC,KAAK,GAAE;IACL,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,yBAAyB,CAAC,EAAE,SAAS,8CAA8C,EAAE,CAAC;IACtF,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,uCAAuC,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,OAAO,CAAC,2BAA2B,CAAC,CAsDtC"}
@@ -2,11 +2,16 @@ import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { FRONTIER_SWARM_CODEX_WORKSPACE_MANIFEST_KIND, FRONTIER_SWARM_CODEX_WORKSPACE_MANIFEST_VERSION, FRONTIER_SWARM_CODEX_WORKSPACE_PROOF_KIND, FRONTIER_SWARM_CODEX_WORKSPACE_PROOF_VERSION } from './constants.js';
4
4
  import { copyWorkspacePath, isObject, normalizeWorkspacePath, pathExists, readStringArray, runProcess, stableHash, uniqueWorkspacePaths } from './common.js';
5
+ import { createIgnoredWorkspaceChangedPathReasons } from './codex-workspace-changes.js';
5
6
  const DEFAULT_WORKSPACE_INCLUDES = ['AGENTS.md', 'package.json', 'package-lock.json', 'pnpm-lock.yaml', 'yarn.lock', 'config'];
6
7
  const DEFAULT_WORKSPACE_EXCLUDES = [
7
8
  '.git',
9
+ '.cache',
10
+ '.turbo',
11
+ '.next',
8
12
  'node_modules',
9
13
  'dist',
14
+ 'build',
10
15
  'coverage',
11
16
  '.frontier-framework',
12
17
  'agent-runs',
@@ -48,6 +53,7 @@ export function createCodexWorkspacePlan(job, options) {
48
53
  const workspace = options.workspace ?? { mode: 'current' };
49
54
  const mode = workspace.mode ?? 'current';
50
55
  const root = path.resolve(cwd, workspace.root ?? path.join('agent-worktrees', 'frontier-swarm-codex'));
56
+ const allowedWritePolicy = normalizeAllowedWritePolicy(options.allowedWritePolicy ?? workspace.allowedWritePolicy);
51
57
  const rawTask = readRawTask(job);
52
58
  if (mode === 'current') {
53
59
  const currentPath = path.resolve(cwd, job.worktreePath ?? '.');
@@ -63,6 +69,7 @@ export function createCodexWorkspacePlan(job, options) {
63
69
  optionalIncludes: [],
64
70
  strategy: workspace.strategy ?? 'fs-cp',
65
71
  ...(workspace.guardRoot ? { guardRoot: path.resolve(cwd, workspace.guardRoot) } : {}),
72
+ allowedWritePolicy,
66
73
  linkNodeModules: false,
67
74
  replace: false,
68
75
  skipGitRepoCheck: workspace.skipGitRepoCheck ?? false
@@ -113,6 +120,7 @@ export function createCodexWorkspacePlan(job, options) {
113
120
  optionalIncludes,
114
121
  strategy: workspace.strategy ?? 'fs-cp',
115
122
  guardRoot: path.resolve(cwd, workspace.guardRoot ?? workspace.root ?? path.join('agent-worktrees', 'frontier-swarm-codex')),
123
+ allowedWritePolicy,
116
124
  linkNodeModules: workspace.linkNodeModules ?? (mode !== 'git-worktree'),
117
125
  replace: workspace.replace ?? replaceGeneratedWorkspace,
118
126
  skipGitRepoCheck: workspace.skipGitRepoCheck ?? (mode === 'copy' || mode === 'snapshot')
@@ -134,6 +142,7 @@ export function createSwarmWorkspaceManifest(plan) {
134
142
  optionalIncludes: [...plan.optionalIncludes],
135
143
  strategy: plan.strategy,
136
144
  ...(plan.guardRoot ? { guardRoot: plan.guardRoot } : {}),
145
+ allowedWritePolicy: { ...plan.allowedWritePolicy },
137
146
  linkNodeModules: plan.linkNodeModules,
138
147
  skipGitRepoCheck: plan.skipGitRepoCheck
139
148
  };
@@ -165,10 +174,14 @@ export async function createSwarmWorkspaceProof(plan, input = {}) {
165
174
  linkedPaths.push(linkPath);
166
175
  }
167
176
  const ignoredChangedPaths = uniqueWorkspacePaths(input.ignoredChangedPaths ?? []);
177
+ const ignoredChangedPathReasons = uniqueIgnoredChangedPathReasons(input.ignoredChangedPathReasons ?? createIgnoredWorkspaceChangedPathReasons(ignoredChangedPaths, plan));
178
+ const observedChangedPaths = uniqueWorkspacePaths(input.observedChangedPaths ?? []);
179
+ const reportedChangedPaths = uniqueWorkspacePaths(input.reportedChangedPaths ?? []);
180
+ const preExecWriteFence = input.preExecWriteFence;
168
181
  return {
169
182
  kind: FRONTIER_SWARM_CODEX_WORKSPACE_PROOF_KIND,
170
183
  version: FRONTIER_SWARM_CODEX_WORKSPACE_PROOF_VERSION,
171
- id: 'codex-workspace-proof:' + stableHash([manifest.id, copiedPaths, linkedPaths, missingRequired, missingOptional, generatedAt]),
184
+ id: 'codex-workspace-proof:' + stableHash([manifest.id, copiedPaths, linkedPaths, missingRequired, missingOptional, ignoredChangedPaths, ignoredChangedPathReasons, observedChangedPaths, reportedChangedPaths, preExecWriteFence, generatedAt]),
172
185
  generatedAt,
173
186
  manifest,
174
187
  copiedPaths: uniqueWorkspacePaths(copiedPaths),
@@ -176,15 +189,46 @@ export async function createSwarmWorkspaceProof(plan, input = {}) {
176
189
  missingRequired,
177
190
  missingOptional,
178
191
  ignoredChangedPaths,
192
+ ignoredChangedPathReasons,
193
+ observedChangedPaths,
194
+ reportedChangedPaths,
195
+ ...(preExecWriteFence ? { preExecWriteFence } : {}),
179
196
  summary: {
180
197
  copiedCount: uniqueWorkspacePaths(copiedPaths).length,
181
198
  linkedCount: linkedPaths.length,
182
199
  missingRequiredCount: missingRequired.length,
183
200
  missingOptionalCount: missingOptional.length,
184
- ignoredChangedPathCount: ignoredChangedPaths.length
201
+ ignoredChangedPathCount: ignoredChangedPaths.length,
202
+ ignoredChangedPathReasonCounts: countIgnoredChangedPathReasons(ignoredChangedPathReasons),
203
+ observedChangedPathCount: observedChangedPaths.length,
204
+ reportedChangedPathCount: reportedChangedPaths.length
185
205
  }
186
206
  };
187
207
  }
208
+ function normalizeAllowedWritePolicy(value) {
209
+ return { mode: value?.mode === 'strict' ? 'strict' : 'audit' };
210
+ }
211
+ function uniqueIgnoredChangedPathReasons(reasons) {
212
+ const out = [];
213
+ const seen = new Set();
214
+ for (const reason of reasons) {
215
+ const path = normalizeWorkspacePath(reason.path);
216
+ if (!path)
217
+ continue;
218
+ const key = `${path}:${reason.reasonCode}`;
219
+ if (seen.has(key))
220
+ continue;
221
+ seen.add(key);
222
+ out.push({ path, reasonCode: reason.reasonCode });
223
+ }
224
+ return out;
225
+ }
226
+ function countIgnoredChangedPathReasons(reasons) {
227
+ const counts = {};
228
+ for (const reason of reasons)
229
+ counts[reason.reasonCode] = (counts[reason.reasonCode] ?? 0) + 1;
230
+ return counts;
231
+ }
188
232
  async function linkWorkspacePath(cwd, workspacePath, include) {
189
233
  const relative = normalizeWorkspacePath(include);
190
234
  if (!relative)
@@ -1 +1 @@
1
- {"version":3,"file":"codex-workspace.js","sourceRoot":"","sources":["../src/codex-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-workspace.js","sourceRoot":"","sources":["../src/codex-workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { FrontierCodexArtifactStoreResult, FrontierCodexArtifactStoreStatus, FrontierCodexCollectInput, FrontierCodexCollectResult } from './index.js';
2
+ interface ArtifactStorePostProcessingInput {
3
+ collection: FrontierCodexCollectResult;
4
+ collectionPath: string;
5
+ mode: NonNullable<FrontierCodexCollectInput['artifactStoreMode']>;
6
+ timeoutMs?: number;
7
+ }
8
+ interface ArtifactStorePostProcessingResult {
9
+ artifactStore?: FrontierCodexArtifactStoreResult;
10
+ status: FrontierCodexArtifactStoreStatus;
11
+ }
12
+ export declare function createBoundedCodexArtifactStore(input: ArtifactStorePostProcessingInput): Promise<ArtifactStorePostProcessingResult>;
13
+ export {};
14
+ //# sourceMappingURL=collect-artifact-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect-artifact-store.d.ts","sourceRoot":"","sources":["../src/collect-artifact-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gCAAgC,EAChC,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AASpB,UAAU,gCAAgC;IACxC,UAAU,EAAE,0BAA0B,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iCAAiC;IACzC,aAAa,CAAC,EAAE,gCAAgC,CAAC;IACjD,MAAM,EAAE,gCAAgC,CAAC;CAC1C;AAED,wBAAsB,+BAA+B,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAsCzI"}
@@ -0,0 +1,207 @@
1
+ import { spawn } from 'node:child_process';
2
+ import fs from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ const DEFAULT_ARTIFACT_STORE_TIMEOUT_MS = 30_000;
5
+ const COMPACT_ARTIFACT_STORE_MAX_BYTES = 1024 * 1024;
6
+ const ARTIFACT_STORE_STDERR_TAIL_CHARS = 8192;
7
+ const ARTIFACT_STORE_KILL_GRACE_MS = 2000;
8
+ export async function createBoundedCodexArtifactStore(input) {
9
+ const timeoutMs = normalizeArtifactStoreTimeoutMs(input.timeoutMs);
10
+ const startedAt = Date.now();
11
+ if (input.mode === 'compact') {
12
+ return runCompactArtifactStoreWorker(input.collection, input.collectionPath, {
13
+ startedAt,
14
+ timeoutMs,
15
+ timedOut: false,
16
+ reason: 'compact-artifact-store-requested'
17
+ });
18
+ }
19
+ const fullResult = await runArtifactStoreWorker({
20
+ collection: input.collection,
21
+ collectionPath: input.collectionPath,
22
+ mode: 'full',
23
+ timeoutMs,
24
+ options: { compress: true, sqlite: true }
25
+ });
26
+ if (fullResult.artifactStore)
27
+ return fullResult;
28
+ const compactResult = await runCompactArtifactStoreWorker(input.collection, input.collectionPath, {
29
+ startedAt,
30
+ timeoutMs,
31
+ timedOut: fullResult.status.timedOut,
32
+ reason: fullResult.status.reason ?? 'artifact-store-worker-failed',
33
+ error: fullResult.status.error
34
+ });
35
+ return {
36
+ ...compactResult,
37
+ status: withArtifactStoreGuard(compactResult.status, {
38
+ attemptedModes: ['full', 'compact'],
39
+ fallbackUsed: true,
40
+ outcome: compactResult.status.ok ? 'fallback-completed' : 'incomplete',
41
+ timedOut: fullResult.status.timedOut || compactResult.status.timedOut,
42
+ incompleteModes: uniqueArtifactStoreModes([...artifactStoreIncompleteModes(fullResult.status), ...artifactStoreIncompleteModes(compactResult.status)]),
43
+ fallbackReason: fullResult.status.reason ?? fullResult.status.guard.reason,
44
+ startedAt
45
+ })
46
+ };
47
+ }
48
+ async function runArtifactStoreWorker(input) {
49
+ const startedAt = Date.now();
50
+ const artifactStoreModuleUrl = new URL('./artifact-store.js', import.meta.url).href;
51
+ const script = [
52
+ "import fs from 'node:fs/promises';",
53
+ `import { createCodexArtifactStore } from ${JSON.stringify(artifactStoreModuleUrl)};`,
54
+ 'const collectionPath = process.argv[1];',
55
+ 'const options = JSON.parse(process.argv[2]);',
56
+ "const collection = JSON.parse(await fs.readFile(collectionPath, 'utf8'));",
57
+ 'await createCodexArtifactStore({ collection, ...options });'
58
+ ].join('\n');
59
+ return new Promise((resolve) => {
60
+ let settled = false;
61
+ let timedOut = false;
62
+ let stderrTail = '';
63
+ const child = spawn(process.execPath, ['--input-type=module', '--eval', script, input.collectionPath, JSON.stringify(input.options)], {
64
+ cwd: input.collection.outDir,
65
+ detached: process.platform !== 'win32',
66
+ stdio: ['ignore', 'ignore', 'pipe']
67
+ });
68
+ const timeout = setTimeout(() => {
69
+ timedOut = true;
70
+ killArtifactStoreWorker(child);
71
+ const incompleteGuard = setTimeout(() => {
72
+ detachArtifactStoreWorker(child);
73
+ settle({ status: artifactStoreStatus({ ok: false, mode: input.mode, startedAt, timeoutMs: input.timeoutMs, timedOut: true, guardIncomplete: true, reason: 'artifact-store-guard-incomplete', error: stderrTail || undefined }) });
74
+ }, ARTIFACT_STORE_KILL_GRACE_MS + 500);
75
+ incompleteGuard.unref?.();
76
+ child.once('close', () => clearTimeout(incompleteGuard));
77
+ }, input.timeoutMs);
78
+ timeout.unref?.();
79
+ child.stderr?.on('data', (chunk) => { stderrTail = appendTail(stderrTail, chunk.toString('utf8'), ARTIFACT_STORE_STDERR_TAIL_CHARS); });
80
+ child.on('error', (error) => settle({ status: artifactStoreStatus({ ok: false, mode: input.mode, startedAt, timeoutMs: input.timeoutMs, timedOut, reason: 'artifact-store-worker-error', error: formatUnknownError(error) }) }));
81
+ child.on('close', (status, signal) => {
82
+ void (async () => {
83
+ if (status === 0 && !timedOut) {
84
+ try {
85
+ settle({ artifactStore: await readArtifactStoreResult(input.collection), status: artifactStoreStatus({ ok: true, mode: input.mode, startedAt, timeoutMs: input.timeoutMs, timedOut: false }) });
86
+ return;
87
+ }
88
+ catch (error) {
89
+ settle({ status: artifactStoreStatus({ ok: false, mode: input.mode, startedAt, timeoutMs: input.timeoutMs, timedOut: false, reason: 'artifact-store-missing-output', error: formatUnknownError(error) }) });
90
+ return;
91
+ }
92
+ }
93
+ settle({ status: artifactStoreStatus({ ok: false, mode: input.mode, startedAt, timeoutMs: input.timeoutMs, timedOut, reason: timedOut ? `${input.mode}-artifact-store-timeout` : `${input.mode}-artifact-store-worker-exited:${status ?? signal ?? 'unknown'}`, error: stderrTail || undefined }) });
94
+ })();
95
+ });
96
+ function settle(result) {
97
+ if (settled)
98
+ return;
99
+ settled = true;
100
+ clearTimeout(timeout);
101
+ resolve(result);
102
+ }
103
+ });
104
+ }
105
+ async function runCompactArtifactStoreWorker(collection, collectionPath, input) {
106
+ try {
107
+ await fs.rm(path.join(collection.outDir, 'artifact-store', 'artifact-index.sqlite'), { force: true }).catch(() => { });
108
+ const result = await runArtifactStoreWorker({ collection, collectionPath, mode: 'compact', timeoutMs: input.timeoutMs, options: { compress: false, sqlite: false, maxArtifactBytes: COMPACT_ARTIFACT_STORE_MAX_BYTES } });
109
+ await fs.rm(path.join(collection.outDir, 'artifact-store', 'artifact-index.sqlite'), { force: true }).catch(() => { });
110
+ return {
111
+ ...result,
112
+ status: withArtifactStoreGuard(result.status, {
113
+ attemptedModes: ['compact'],
114
+ fallbackUsed: input.reason !== 'compact-artifact-store-requested',
115
+ outcome: result.status.ok ? 'completed' : 'incomplete',
116
+ timedOut: input.timedOut || result.status.timedOut,
117
+ reason: result.status.reason ?? input.reason,
118
+ error: result.status.error ?? input.error,
119
+ startedAt: input.startedAt
120
+ })
121
+ };
122
+ }
123
+ catch (error) {
124
+ const status = artifactStoreStatus({ ok: false, mode: 'compact', startedAt: input.startedAt, timeoutMs: input.timeoutMs, timedOut: input.timedOut, reason: 'compact-artifact-store-failed', error: [input.error, formatUnknownError(error)].filter(Boolean).join('\n') });
125
+ return { status: withArtifactStoreGuard(status, { attemptedModes: ['compact'], fallbackUsed: input.reason !== 'compact-artifact-store-requested', outcome: 'incomplete', timedOut: input.timedOut, fallbackReason: input.reason, startedAt: input.startedAt }) };
126
+ }
127
+ }
128
+ async function readArtifactStoreResult(collection) {
129
+ return JSON.parse(await fs.readFile(path.join(collection.outDir, 'artifact-store', 'artifact-store.json'), 'utf8'));
130
+ }
131
+ function artifactStoreStatus(input) {
132
+ const durationMs = Date.now() - input.startedAt;
133
+ const reason = input.reason ?? (input.guardIncomplete ? 'artifact-store-guard-incomplete' : undefined);
134
+ const incompleteModes = input.guardIncomplete ? [input.mode] : [];
135
+ return {
136
+ ok: input.ok,
137
+ mode: input.mode,
138
+ timedOut: input.timedOut,
139
+ timeoutMs: input.timeoutMs,
140
+ durationMs,
141
+ guard: { ok: input.ok && !input.guardIncomplete, complete: input.ok && !input.guardIncomplete, outcome: input.ok && !input.guardIncomplete ? 'completed' : 'incomplete', attemptedModes: [input.mode], ...(incompleteModes.length ? { incompleteModes } : {}), fallbackUsed: false, timedOut: input.timedOut, timeoutMs: input.timeoutMs, durationMs, ...(reason ? { reason } : {}) },
142
+ ...(reason ? { reason } : {}),
143
+ ...(input.error ? { error: input.error } : {})
144
+ };
145
+ }
146
+ function withArtifactStoreGuard(status, input) {
147
+ const durationMs = Date.now() - input.startedAt;
148
+ const reason = input.reason ?? status.reason;
149
+ const incompleteModes = uniqueArtifactStoreModes([...(status.guard.incompleteModes ?? []), ...(input.incompleteModes ?? [])]);
150
+ const guardComplete = input.outcome !== 'incomplete' && incompleteModes.length === 0;
151
+ return {
152
+ ...status,
153
+ timedOut: input.timedOut,
154
+ durationMs,
155
+ ...(reason ? { reason } : {}),
156
+ ...(input.error && !status.error ? { error: input.error } : {}),
157
+ guard: { ok: status.ok && guardComplete, complete: guardComplete, outcome: input.outcome, attemptedModes: input.attemptedModes, ...(incompleteModes.length ? { incompleteModes } : {}), fallbackUsed: input.fallbackUsed, ...(input.fallbackReason ? { fallbackReason: input.fallbackReason } : {}), timedOut: input.timedOut, timeoutMs: status.timeoutMs, durationMs, ...(reason ? { reason } : {}) }
158
+ };
159
+ }
160
+ function artifactStoreIncompleteModes(status) {
161
+ return status.guard.incompleteModes ?? [];
162
+ }
163
+ function uniqueArtifactStoreModes(modes) {
164
+ const out = [];
165
+ for (const mode of modes)
166
+ if (!out.includes(mode))
167
+ out.push(mode);
168
+ return out;
169
+ }
170
+ function normalizeArtifactStoreTimeoutMs(value) {
171
+ if (typeof value !== 'number' || !Number.isFinite(value))
172
+ return DEFAULT_ARTIFACT_STORE_TIMEOUT_MS;
173
+ return Math.max(1000, Math.floor(value));
174
+ }
175
+ function killArtifactStoreWorker(child) {
176
+ const pid = child.pid;
177
+ const send = (signal) => {
178
+ try {
179
+ if (pid && process.platform !== 'win32')
180
+ process.kill(-pid, signal);
181
+ else
182
+ child.kill(signal);
183
+ }
184
+ catch {
185
+ try {
186
+ child.kill(signal);
187
+ }
188
+ catch { }
189
+ }
190
+ };
191
+ send('SIGTERM');
192
+ const forceKill = setTimeout(() => send('SIGKILL'), ARTIFACT_STORE_KILL_GRACE_MS);
193
+ forceKill.unref?.();
194
+ child.once('close', () => clearTimeout(forceKill));
195
+ }
196
+ function detachArtifactStoreWorker(child) {
197
+ child.stderr?.destroy();
198
+ child.unref();
199
+ }
200
+ function appendTail(left, right, maxChars) {
201
+ const combined = left + right;
202
+ return combined.length > maxChars ? combined.slice(-maxChars) : combined;
203
+ }
204
+ function formatUnknownError(error) {
205
+ return error instanceof Error ? error.message : String(error);
206
+ }
207
+ //# sourceMappingURL=collect-artifact-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect-artifact-store.js","sourceRoot":"","sources":["../src/collect-artifact-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAQ7B,MAAM,iCAAiC,GAAG,MAAM,CAAC;AACjD,MAAM,gCAAgC,GAAG,IAAI,GAAG,IAAI,CAAC;AACrD,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAC9C,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAgB1C,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,KAAuC;IAC3F,MAAM,SAAS,GAAG,+BAA+B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,6BAA6B,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE;YAC3E,SAAS;YACT,SAAS;YACT,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,kCAAkC;SAC3C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;QAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,IAAI,EAAE,MAAM;QACZ,SAAS;QACT,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;KAC1C,CAAC,CAAC;IACH,IAAI,UAAU,CAAC,aAAa;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,aAAa,GAAG,MAAM,6BAA6B,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE;QAChG,SAAS;QACT,SAAS;QACT,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ;QACpC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,8BAA8B;QAClE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;KAC/B,CAAC,CAAC;IACH,OAAO;QACL,GAAG,aAAa;QAChB,MAAM,EAAE,sBAAsB,CAAC,aAAa,CAAC,MAAM,EAAE;YACnD,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;YACnC,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY;YACtE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,MAAM,CAAC,QAAQ;YACrE,eAAe,EAAE,wBAAwB,CAAC,CAAC,GAAG,4BAA4B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,4BAA4B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACtJ,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;YAC1E,SAAS;SACV,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAMrC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACpF,MAAM,MAAM,GAAG;QACb,oCAAoC;QACpC,4CAA4C,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG;QACrF,yCAAyC;QACzC,8CAA8C;QAC9C,2EAA2E;QAC3E,6DAA6D;KAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;YACpI,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACtC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,QAAQ,GAAG,IAAI,CAAC;YAChB,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtC,yBAAyB,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,iCAAiC,EAAE,KAAK,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YACpO,CAAC,EAAE,4BAA4B,GAAG,GAAG,CAAC,CAAC;YACvC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3D,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChJ,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,6BAA6B,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACnC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;wBAChM,OAAO;oBACT,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC5M,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,iCAAiC,MAAM,IAAI,MAAM,IAAI,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YACvS,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,SAAS,MAAM,CAAC,MAAyC;YACvD,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,UAAsC,EACtC,cAAsB,EACtB,KAAkG;IAElG,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,EAAE,CAAC,CAAC;QAC1N,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtH,OAAO;YACL,GAAG,MAAM;YACT,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC5C,cAAc,EAAE,CAAC,SAAS,CAAC;gBAC3B,YAAY,EAAE,KAAK,CAAC,MAAM,KAAK,kCAAkC;gBACjE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;gBACtD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ;gBAClD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;gBAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;gBACzC,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,+BAA+B,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1Q,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,KAAK,kCAAkC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;IACnQ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,UAAsC;IAC3E,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CAAqC,CAAC;AAC1J,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA2L;IACtN,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvG,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU;QACV,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACrX,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAwC,EAAE,KAA0S;IAClX,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAC7C,MAAM,eAAe,GAAG,wBAAwB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9H,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,KAAK,YAAY,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC;IACrF,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU;QACV,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;KACxY,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAwC;IAC5E,OAAO,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAoC;IACpE,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAyB;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,iCAAiC,CAAC;IACnG,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAmB;IAClD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,MAA6B,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;;gBAC/D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,CAAC;IAChB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAClF,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAmB;IACpD,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IACxB,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,KAAa,EAAE,QAAgB;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;IAC9B,OAAO,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { FrontierSwarmMergeBundle, FrontierSwarmPatchStatus } from '@shapeshift-labs/frontier-swarm';
2
+ export type FrontierCodexCollectCompactReasonClass = 'infrastructure-noise' | 'source-blocker' | 'patch-port-required' | 'stale-state' | 'unknown-failure';
3
+ export declare function collectFailureReasonClasses(reasons: readonly string[], patchStatus?: FrontierSwarmPatchStatus): string[];
4
+ export declare function compactCollectFailureReasonClasses(reasonClasses: readonly string[]): FrontierCodexCollectCompactReasonClass[];
5
+ export declare function infrastructureNoiseFailureReasonClass(reasonClass: string): boolean;
6
+ export declare function sourceBlockerFailureReasonClass(reasonClass: string): boolean;
7
+ export declare function ignoredWorkspaceNoisePath(file: string): boolean;
8
+ export declare function sourceOwnershipViolations(paths: readonly string[]): string[];
9
+ export declare function ignoredWorkspaceNoiseOwnershipViolations(paths: readonly string[]): string[];
10
+ export declare function sourceOwnershipViolationsForReasons(paths: readonly string[], reasons: readonly string[]): string[];
11
+ export declare function ignoredWorkspaceNoiseOwnershipViolationsForReasons(paths: readonly string[], reasons: readonly string[]): string[];
12
+ export declare function ownershipReasonDetails(paths: readonly string[], reasons?: readonly string[]): string[];
13
+ export declare function ignoredWorkspaceNoiseOnlyFailure(bundle: FrontierSwarmMergeBundle): boolean;
14
+ export declare function nonActionableFailedEvidence(bundle: FrontierSwarmMergeBundle, input: {
15
+ staleAgainstHead: boolean;
16
+ hasActionablePatch?: boolean;
17
+ }): boolean;
18
+ //# sourceMappingURL=collect-bundle-reasons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect-bundle-reasons.d.ts","sourceRoot":"","sources":["../src/collect-bundle-reasons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG1G,MAAM,MAAM,sCAAsC,GAC9C,sBAAsB,GACtB,gBAAgB,GAChB,qBAAqB,GACrB,aAAa,GACb,iBAAiB,CAAC;AAEtB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,WAAW,CAAC,EAAE,wBAAwB,GACrC,MAAM,EAAE,CAiCV;AAED,wBAAgB,kCAAkC,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,sCAAsC,EAAE,CAc7H;AAED,wBAAgB,qCAAqC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAMlF;AAED,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAM5E;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAiB/D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE5E;AAED,wBAAgB,wCAAwC,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE3F;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAElH;AAED,wBAAgB,kDAAkD,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEjI;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,EAAE,CAM1G;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAa1F;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE;IAAE,gBAAgB,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACjE,OAAO,CAWT"}