@shapeshift-labs/frontier-swarm-codex 0.5.117 → 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.
- package/README.md +59 -3
- package/dist/apply.js +1 -1
- package/dist/apply.js.map +1 -1
- package/dist/calibration-feedback.d.ts.map +1 -1
- package/dist/calibration-feedback.js +57 -2
- package/dist/calibration-feedback.js.map +1 -1
- package/dist/cleanup.js +1 -0
- package/dist/cleanup.js.map +1 -1
- package/dist/cli-args.d.ts +72 -0
- package/dist/cli-args.d.ts.map +1 -0
- package/dist/cli-args.js +296 -0
- package/dist/cli-args.js.map +1 -0
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +14 -0
- package/dist/cli-help.js.map +1 -1
- package/dist/cli.js +58 -183
- package/dist/cli.js.map +1 -1
- package/dist/codex-adaptive-feedback.d.ts.map +1 -1
- package/dist/codex-adaptive-feedback.js +98 -3
- package/dist/codex-adaptive-feedback.js.map +1 -1
- package/dist/codex-executor.d.ts.map +1 -1
- package/dist/codex-executor.js +30 -3
- package/dist/codex-executor.js.map +1 -1
- package/dist/codex-prompt.d.ts.map +1 -1
- package/dist/codex-prompt.js +58 -0
- package/dist/codex-prompt.js.map +1 -1
- package/dist/codex-run-metadata.d.ts +34 -0
- package/dist/codex-run-metadata.d.ts.map +1 -0
- package/dist/codex-run-metadata.js +29 -0
- package/dist/codex-run-metadata.js.map +1 -0
- package/dist/codex-run-swarm.d.ts +4 -0
- package/dist/codex-run-swarm.d.ts.map +1 -0
- package/dist/codex-run-swarm.js +69 -0
- package/dist/codex-run-swarm.js.map +1 -0
- package/dist/codex-run.d.ts +3 -3
- package/dist/codex-run.d.ts.map +1 -1
- package/dist/codex-run.js +146 -133
- package/dist/codex-run.js.map +1 -1
- package/dist/codex-tournament-strategy.d.ts +10 -0
- package/dist/codex-tournament-strategy.d.ts.map +1 -1
- package/dist/codex-tournament-strategy.js +39 -0
- package/dist/codex-tournament-strategy.js.map +1 -1
- package/dist/codex-workspace-change-paths.d.ts +20 -0
- package/dist/codex-workspace-change-paths.d.ts.map +1 -0
- package/dist/codex-workspace-change-paths.js +215 -0
- package/dist/codex-workspace-change-paths.js.map +1 -0
- package/dist/codex-workspace-changes.d.ts +12 -12
- package/dist/codex-workspace-changes.d.ts.map +1 -1
- package/dist/codex-workspace-changes.js +19 -122
- package/dist/codex-workspace-changes.js.map +1 -1
- package/dist/codex-workspace-restore.d.ts +15 -0
- package/dist/codex-workspace-restore.d.ts.map +1 -0
- package/dist/codex-workspace-restore.js +66 -0
- package/dist/codex-workspace-restore.js.map +1 -0
- package/dist/codex-workspace-write-fence.d.ts +21 -0
- package/dist/codex-workspace-write-fence.d.ts.map +1 -0
- package/dist/codex-workspace-write-fence.js +155 -0
- package/dist/codex-workspace-write-fence.js.map +1 -0
- package/dist/codex-workspace.d.ts +5 -1
- package/dist/codex-workspace.d.ts.map +1 -1
- package/dist/codex-workspace.js +46 -2
- package/dist/codex-workspace.js.map +1 -1
- package/dist/collect-artifact-store.d.ts +14 -0
- package/dist/collect-artifact-store.d.ts.map +1 -0
- package/dist/collect-artifact-store.js +207 -0
- package/dist/collect-artifact-store.js.map +1 -0
- package/dist/collect-bundle-reasons.d.ts +18 -0
- package/dist/collect-bundle-reasons.d.ts.map +1 -0
- package/dist/collect-bundle-reasons.js +222 -0
- package/dist/collect-bundle-reasons.js.map +1 -0
- package/dist/collect-bundle-staleness.d.ts +10 -0
- package/dist/collect-bundle-staleness.d.ts.map +1 -0
- package/dist/collect-bundle-staleness.js +98 -0
- package/dist/collect-bundle-staleness.js.map +1 -0
- package/dist/collect-bundles.d.ts +8 -10
- package/dist/collect-bundles.d.ts.map +1 -1
- package/dist/collect-bundles.js +28 -115
- package/dist/collect-bundles.js.map +1 -1
- package/dist/collect-dashboard-quality.d.ts +5 -0
- package/dist/collect-dashboard-quality.d.ts.map +1 -0
- package/dist/collect-dashboard-quality.js +256 -0
- package/dist/collect-dashboard-quality.js.map +1 -0
- package/dist/collect-dashboard.d.ts +4 -3
- package/dist/collect-dashboard.d.ts.map +1 -1
- package/dist/collect-dashboard.js +37 -3
- package/dist/collect-dashboard.js.map +1 -1
- package/dist/collect-evidence.d.ts.map +1 -1
- package/dist/collect-evidence.js +13 -2
- package/dist/collect-evidence.js.map +1 -1
- package/dist/collect-finalize.d.ts +15 -0
- package/dist/collect-finalize.d.ts.map +1 -0
- package/dist/collect-finalize.js +75 -0
- package/dist/collect-finalize.js.map +1 -0
- package/dist/collect-landed.d.ts +7 -0
- package/dist/collect-landed.d.ts.map +1 -0
- package/dist/collect-landed.js +171 -0
- package/dist/collect-landed.js.map +1 -0
- package/dist/collect-noise.d.ts +6 -0
- package/dist/collect-noise.d.ts.map +1 -0
- package/dist/collect-noise.js +131 -0
- package/dist/collect-noise.js.map +1 -0
- package/dist/collect-overlaps.d.ts +3 -0
- package/dist/collect-overlaps.d.ts.map +1 -0
- package/dist/collect-overlaps.js +8 -0
- package/dist/collect-overlaps.js.map +1 -0
- package/dist/collect-pids.d.ts +4 -0
- package/dist/collect-pids.d.ts.map +1 -0
- package/dist/collect-pids.js +33 -0
- package/dist/collect-pids.js.map +1 -0
- package/dist/collect-setup.d.ts +4 -0
- package/dist/collect-setup.d.ts.map +1 -0
- package/dist/collect-setup.js +20 -0
- package/dist/collect-setup.js.map +1 -0
- package/dist/collect-terminal-state.d.ts +14 -0
- package/dist/collect-terminal-state.d.ts.map +1 -0
- package/dist/collect-terminal-state.js +113 -0
- package/dist/collect-terminal-state.js.map +1 -0
- package/dist/collect-workspace-only.d.ts +10 -0
- package/dist/collect-workspace-only.d.ts.map +1 -0
- package/dist/collect-workspace-only.js +289 -0
- package/dist/collect-workspace-only.js.map +1 -0
- package/dist/collect-workspace-proof.d.ts +3 -0
- package/dist/collect-workspace-proof.d.ts.map +1 -0
- package/dist/collect-workspace-proof.js +24 -0
- package/dist/collect-workspace-proof.js.map +1 -0
- package/dist/collect-workspace-recovery.d.ts +22 -0
- package/dist/collect-workspace-recovery.d.ts.map +1 -0
- package/dist/collect-workspace-recovery.js +94 -0
- package/dist/collect-workspace-recovery.js.map +1 -0
- package/dist/collect.d.ts +1 -2
- package/dist/collect.d.ts.map +1 -1
- package/dist/collect.js +125 -116
- package/dist/collect.js.map +1 -1
- package/dist/common.d.ts +5 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +54 -1
- package/dist/common.js.map +1 -1
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -0
- package/dist/constants.js.map +1 -1
- package/dist/context-budget.d.ts.map +1 -1
- package/dist/context-budget.js +49 -6
- package/dist/context-budget.js.map +1 -1
- package/dist/continuation-adaptive-routing.d.ts +7 -0
- package/dist/continuation-adaptive-routing.d.ts.map +1 -0
- package/dist/continuation-adaptive-routing.js +129 -0
- package/dist/continuation-adaptive-routing.js.map +1 -0
- package/dist/continuation-child-backlogs.d.ts +11 -0
- package/dist/continuation-child-backlogs.d.ts.map +1 -0
- package/dist/continuation-child-backlogs.js +48 -0
- package/dist/continuation-child-backlogs.js.map +1 -0
- package/dist/continuation-feedback.d.ts +41 -0
- package/dist/continuation-feedback.d.ts.map +1 -0
- package/dist/continuation-feedback.js +294 -0
- package/dist/continuation-feedback.js.map +1 -0
- package/dist/continuation-human-actions.d.ts +15 -0
- package/dist/continuation-human-actions.d.ts.map +1 -0
- package/dist/continuation-human-actions.js +23 -0
- package/dist/continuation-human-actions.js.map +1 -0
- package/dist/continuation-job-routing-summary.d.ts +4 -0
- package/dist/continuation-job-routing-summary.d.ts.map +1 -0
- package/dist/continuation-job-routing-summary.js +47 -0
- package/dist/continuation-job-routing-summary.js.map +1 -0
- package/dist/continuation-task-source.d.ts +10 -0
- package/dist/continuation-task-source.d.ts.map +1 -0
- package/dist/continuation-task-source.js +11 -0
- package/dist/continuation-task-source.js.map +1 -0
- package/dist/continuation-terminal-outcomes.d.ts +27 -0
- package/dist/continuation-terminal-outcomes.d.ts.map +1 -0
- package/dist/continuation-terminal-outcomes.js +215 -0
- package/dist/continuation-terminal-outcomes.js.map +1 -0
- package/dist/continuation.d.ts +3 -0
- package/dist/continuation.d.ts.map +1 -0
- package/dist/continuation.js +266 -0
- package/dist/continuation.js.map +1 -0
- package/dist/dashboard-ui-constants.d.ts +6 -0
- package/dist/dashboard-ui-constants.d.ts.map +1 -0
- package/dist/dashboard-ui-constants.js +6 -0
- package/dist/dashboard-ui-constants.js.map +1 -0
- package/dist/dashboard-ui-health.d.ts +24 -0
- package/dist/dashboard-ui-health.d.ts.map +1 -0
- package/dist/dashboard-ui-health.js +175 -0
- package/dist/dashboard-ui-health.js.map +1 -0
- package/dist/dashboard-ui-human-actions.d.ts +3 -0
- package/dist/dashboard-ui-human-actions.d.ts.map +1 -0
- package/dist/dashboard-ui-human-actions.js +218 -0
- package/dist/dashboard-ui-human-actions.js.map +1 -0
- package/dist/dashboard-ui-jobs.d.ts +7 -0
- package/dist/dashboard-ui-jobs.d.ts.map +1 -0
- package/dist/dashboard-ui-jobs.js +232 -0
- package/dist/dashboard-ui-jobs.js.map +1 -0
- package/dist/dashboard-ui-lanes.d.ts +3 -0
- package/dist/dashboard-ui-lanes.d.ts.map +1 -0
- package/dist/dashboard-ui-lanes.js +17 -0
- package/dist/dashboard-ui-lanes.js.map +1 -0
- package/dist/dashboard-ui-metric-utils.d.ts +13 -0
- package/dist/dashboard-ui-metric-utils.d.ts.map +1 -0
- package/dist/dashboard-ui-metric-utils.js +52 -0
- package/dist/dashboard-ui-metric-utils.js.map +1 -0
- package/dist/dashboard-ui-quality.d.ts +4 -0
- package/dist/dashboard-ui-quality.d.ts.map +1 -0
- package/dist/dashboard-ui-quality.js +106 -0
- package/dist/dashboard-ui-quality.js.map +1 -0
- package/dist/dashboard-ui-semantic.d.ts +6 -0
- package/dist/dashboard-ui-semantic.d.ts.map +1 -0
- package/dist/dashboard-ui-semantic.js +84 -0
- package/dist/dashboard-ui-semantic.js.map +1 -0
- package/dist/dashboard-ui-sources.d.ts +9 -0
- package/dist/dashboard-ui-sources.d.ts.map +1 -0
- package/dist/dashboard-ui-sources.js +39 -0
- package/dist/dashboard-ui-sources.js.map +1 -0
- package/dist/dashboard-ui-steering.d.ts +4 -0
- package/dist/dashboard-ui-steering.d.ts.map +1 -0
- package/dist/dashboard-ui-steering.js +41 -0
- package/dist/dashboard-ui-steering.js.map +1 -0
- package/dist/dashboard-ui-summary.d.ts +6 -0
- package/dist/dashboard-ui-summary.d.ts.map +1 -0
- package/dist/dashboard-ui-summary.js +64 -0
- package/dist/dashboard-ui-summary.js.map +1 -0
- package/dist/dashboard-ui-time-series.d.ts +6 -0
- package/dist/dashboard-ui-time-series.d.ts.map +1 -0
- package/dist/dashboard-ui-time-series.js +191 -0
- package/dist/dashboard-ui-time-series.js.map +1 -0
- package/dist/dashboard-ui-types.d.ts +21 -0
- package/dist/dashboard-ui-types.d.ts.map +1 -0
- package/dist/dashboard-ui-types.js +2 -0
- package/dist/dashboard-ui-types.js.map +1 -0
- package/dist/dashboard-ui-values.d.ts +13 -0
- package/dist/dashboard-ui-values.d.ts.map +1 -0
- package/dist/dashboard-ui-values.js +57 -0
- package/dist/dashboard-ui-values.js.map +1 -0
- package/dist/dashboard-ui-workspace.d.ts +7 -0
- package/dist/dashboard-ui-workspace.d.ts.map +1 -0
- package/dist/dashboard-ui-workspace.js +131 -0
- package/dist/dashboard-ui-workspace.js.map +1 -0
- package/dist/dashboard-ui.d.ts +4 -0
- package/dist/dashboard-ui.d.ts.map +1 -0
- package/dist/dashboard-ui.js +139 -0
- package/dist/dashboard-ui.js.map +1 -0
- package/dist/dashboard.js +59 -3
- package/dist/dashboard.js.map +1 -1
- package/dist/human-actions.d.ts +46 -0
- package/dist/human-actions.d.ts.map +1 -0
- package/dist/human-actions.js +251 -0
- package/dist/human-actions.js.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -92
- package/dist/index.js.map +1 -1
- package/dist/model-pricing.d.ts +49 -0
- package/dist/model-pricing.d.ts.map +1 -0
- package/dist/model-pricing.js +159 -0
- package/dist/model-pricing.js.map +1 -0
- package/dist/patch-score-semantic.d.ts.map +1 -1
- package/dist/patch-score-semantic.js +34 -30
- package/dist/patch-score-semantic.js.map +1 -1
- package/dist/plan.d.ts +6 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +191 -0
- package/dist/plan.js.map +1 -0
- package/dist/query-io.d.ts +8 -0
- package/dist/query-io.d.ts.map +1 -0
- package/dist/query-io.js +46 -0
- package/dist/query-io.js.map +1 -0
- package/dist/query-landed.d.ts +20 -0
- package/dist/query-landed.d.ts.map +1 -0
- package/dist/query-landed.js +64 -0
- package/dist/query-landed.js.map +1 -0
- package/dist/query-matchers.d.ts +6 -0
- package/dist/query-matchers.d.ts.map +1 -0
- package/dist/query-matchers.js +160 -0
- package/dist/query-matchers.js.map +1 -0
- package/dist/query-signal-types.d.ts +32 -0
- package/dist/query-signal-types.d.ts.map +1 -0
- package/dist/query-signal-types.js +2 -0
- package/dist/query-signal-types.js.map +1 -0
- package/dist/query-signals.d.ts +12 -0
- package/dist/query-signals.d.ts.map +1 -0
- package/dist/query-signals.js +207 -0
- package/dist/query-signals.js.map +1 -0
- package/dist/query-status.d.ts +10 -0
- package/dist/query-status.d.ts.map +1 -0
- package/dist/query-status.js +115 -0
- package/dist/query-status.js.map +1 -0
- package/dist/query-summaries.d.ts +283 -0
- package/dist/query-summaries.d.ts.map +1 -0
- package/dist/query-summaries.js +195 -0
- package/dist/query-summaries.js.map +1 -0
- package/dist/query-types.d.ts +45 -0
- package/dist/query-types.d.ts.map +1 -0
- package/dist/query-types.js +2 -0
- package/dist/query-types.js.map +1 -0
- package/dist/query-values.d.ts +15 -0
- package/dist/query-values.d.ts.map +1 -0
- package/dist/query-values.js +73 -0
- package/dist/query-values.js.map +1 -0
- package/dist/query.d.ts +344 -41
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +38 -157
- package/dist/query.js.map +1 -1
- package/dist/score-calibration.d.ts.map +1 -1
- package/dist/score-calibration.js +52 -3
- package/dist/score-calibration.js.map +1 -1
- package/dist/score.js +1 -1
- package/dist/score.js.map +1 -1
- package/dist/semantic-edit-admission.d.ts +3 -0
- package/dist/semantic-edit-admission.d.ts.map +1 -1
- package/dist/semantic-edit-admission.js +90 -11
- package/dist/semantic-edit-admission.js.map +1 -1
- package/dist/semantic-edit-clean-eligibility.d.ts.map +1 -1
- package/dist/semantic-edit-clean-eligibility.js +22 -4
- package/dist/semantic-edit-clean-eligibility.js.map +1 -1
- package/dist/semantic-edit-script.d.ts.map +1 -1
- package/dist/semantic-edit-script.js +26 -5
- package/dist/semantic-edit-script.js.map +1 -1
- package/dist/semantic-import-layers.d.ts +1 -1
- package/dist/semantic-import-layers.d.ts.map +1 -1
- package/dist/semantic-import-layers.js +22 -6
- package/dist/semantic-import-layers.js.map +1 -1
- package/dist/semantic-import-lineage-signals.d.ts +12 -0
- package/dist/semantic-import-lineage-signals.d.ts.map +1 -0
- package/dist/semantic-import-lineage-signals.js +126 -0
- package/dist/semantic-import-lineage-signals.js.map +1 -0
- package/dist/semantic-import-lineage.d.ts.map +1 -1
- package/dist/semantic-import-lineage.js +120 -18
- package/dist/semantic-import-lineage.js.map +1 -1
- package/dist/semantic-import-proof.d.ts.map +1 -1
- package/dist/semantic-import-proof.js +16 -0
- package/dist/semantic-import-proof.js.map +1 -1
- package/dist/semantic-import-quality.d.ts.map +1 -1
- package/dist/semantic-import-quality.js +8 -0
- package/dist/semantic-import-quality.js.map +1 -1
- package/dist/semantic-import-readiness.d.ts +15 -0
- package/dist/semantic-import-readiness.d.ts.map +1 -0
- package/dist/semantic-import-readiness.js +214 -0
- package/dist/semantic-import-readiness.js.map +1 -0
- package/dist/semantic-import-sidecar.d.ts.map +1 -1
- package/dist/semantic-import-sidecar.js +6 -37
- package/dist/semantic-import-sidecar.js.map +1 -1
- package/dist/semantic-import.d.ts +4 -2
- package/dist/semantic-import.d.ts.map +1 -1
- package/dist/semantic-import.js +27 -10
- package/dist/semantic-import.js.map +1 -1
- package/dist/tournament-bandit-view.d.ts +16 -13
- package/dist/tournament-bandit-view.d.ts.map +1 -1
- package/dist/tournament-bandit-view.js +23 -3
- package/dist/tournament-bandit-view.js.map +1 -1
- package/dist/tournament-query.d.ts +35 -39
- package/dist/tournament-query.d.ts.map +1 -1
- package/dist/tournament-query.js +32 -6
- package/dist/tournament-query.js.map +1 -1
- package/dist/types-collection-quality.d.ts +112 -0
- package/dist/types-collection-quality.d.ts.map +1 -0
- package/dist/types-collection-quality.js +2 -0
- package/dist/types-collection-quality.js.map +1 -0
- package/dist/types-collection-score.d.ts +112 -0
- package/dist/types-collection-score.d.ts.map +1 -0
- package/dist/types-collection-score.js +2 -0
- package/dist/types-collection-score.js.map +1 -0
- package/dist/types-collection.d.ts +107 -112
- package/dist/types-collection.d.ts.map +1 -1
- package/dist/types-continuation.d.ts +151 -0
- package/dist/types-continuation.d.ts.map +1 -0
- package/dist/types-continuation.js +2 -0
- package/dist/types-continuation.js.map +1 -0
- package/dist/types-dashboard-metrics.d.ts +241 -0
- package/dist/types-dashboard-metrics.d.ts.map +1 -0
- package/dist/types-dashboard-metrics.js +2 -0
- package/dist/types-dashboard-metrics.js.map +1 -0
- package/dist/types-dashboard.d.ts +277 -0
- package/dist/types-dashboard.d.ts.map +1 -0
- package/dist/types-dashboard.js +2 -0
- package/dist/types-dashboard.js.map +1 -0
- package/dist/types-evidence.d.ts +3 -0
- package/dist/types-evidence.d.ts.map +1 -1
- package/dist/types-run.d.ts +54 -1
- package/dist/types-run.d.ts.map +1 -1
- package/dist/types-score-calibration.d.ts +15 -0
- package/dist/types-score-calibration.d.ts.map +1 -1
- package/dist/types-semantic.d.ts +21 -12
- package/dist/types-semantic.d.ts.map +1 -1
- package/dist/types-workspace.d.ts +31 -1
- package/dist/types-workspace.d.ts.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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;
|
|
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"}
|
package/dist/codex-workspace.js
CHANGED
|
@@ -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":"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"}
|
|
@@ -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"}
|