@shapeshift-labs/frontier-swarm-codex 0.5.117 → 0.5.119
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 +2 -2
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { createSwarmBacklog } from '@shapeshift-labs/frontier-swarm';
|
|
2
|
+
import { uniqueStrings } from './common.js';
|
|
3
|
+
import { humanActionSubjectAliases } from './human-actions.js';
|
|
4
|
+
export function projectContinuationTerminalOutcomes(input) {
|
|
5
|
+
const model = input.collection?.queueOutcomeModel;
|
|
6
|
+
if (!model) {
|
|
7
|
+
return {
|
|
8
|
+
backlog: input.backlog,
|
|
9
|
+
tasks: [...input.tasks],
|
|
10
|
+
summary: emptyTerminalOutcomeProjectionSummary()
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const decisionsByAlias = latestDecisionsByAlias(model);
|
|
14
|
+
const answeredActionsByAlias = answeredHumanActionsByAlias(input.answeredHumanActions ?? []);
|
|
15
|
+
const entries = input.backlog.entries.map((entry) => projectBacklogEntry(entry, decisionsByAlias, input.generatedAt, answeredActionsByAlias));
|
|
16
|
+
const projectedTasks = input.tasks.map((task) => projectTaskInput(task, decisionsByAlias, input.generatedAt, answeredActionsByAlias));
|
|
17
|
+
const tasks = projectedTasks.filter((task) => !taskClosedByTerminalProjection(task));
|
|
18
|
+
const summary = summarizeProjection(input.backlog.entries, entries, input.tasks, projectedTasks, model);
|
|
19
|
+
return {
|
|
20
|
+
backlog: createSwarmBacklog({
|
|
21
|
+
...input.backlog,
|
|
22
|
+
entries,
|
|
23
|
+
metadata: {
|
|
24
|
+
...(input.backlog.metadata ?? {}),
|
|
25
|
+
terminalOutcomeProjection: {
|
|
26
|
+
generatedAt: input.generatedAt,
|
|
27
|
+
sourceCollectionDir: input.collection?.outDir,
|
|
28
|
+
...summary
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}),
|
|
32
|
+
tasks,
|
|
33
|
+
summary
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function latestDecisionsByAlias(model) {
|
|
37
|
+
const byId = new Map(model.decisions.map((decision) => [decision.id, decision]));
|
|
38
|
+
const out = new Map();
|
|
39
|
+
for (const [alias, decisionId] of Object.entries(model.latestDecisionIdByAlias)) {
|
|
40
|
+
const decision = byId.get(decisionId);
|
|
41
|
+
if (decision)
|
|
42
|
+
out.set(alias, decision);
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
function projectBacklogEntry(entry, decisionsByAlias, generatedAt, answeredActionsByAlias) {
|
|
47
|
+
const aliases = entryAliases(entry);
|
|
48
|
+
const decision = decisionForAliases(aliases, decisionsByAlias);
|
|
49
|
+
if (!decision)
|
|
50
|
+
return entry;
|
|
51
|
+
const answeredAction = answeredHumanActionForAliases(aliases, answeredActionsByAlias);
|
|
52
|
+
const projection = projectionForDecision(decision, aliases, answeredActionsByAlias);
|
|
53
|
+
return {
|
|
54
|
+
...entry,
|
|
55
|
+
status: projection.status,
|
|
56
|
+
tags: uniqueStrings([...entry.tags, ...projection.tags]),
|
|
57
|
+
metadata: {
|
|
58
|
+
...(entry.metadata ?? {}),
|
|
59
|
+
terminalOutcome: terminalOutcomeMetadata(decision, generatedAt, answeredAction)
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function projectTaskInput(task, decisionsByAlias, generatedAt, answeredActionsByAlias) {
|
|
64
|
+
const aliases = taskAliases(task);
|
|
65
|
+
const decision = decisionForAliases(aliases, decisionsByAlias);
|
|
66
|
+
if (!decision)
|
|
67
|
+
return task;
|
|
68
|
+
const answeredAction = answeredHumanActionForAliases(aliases, answeredActionsByAlias);
|
|
69
|
+
const projection = projectionForDecision(decision, aliases, answeredActionsByAlias);
|
|
70
|
+
return {
|
|
71
|
+
...task,
|
|
72
|
+
status: projection.status,
|
|
73
|
+
tags: uniqueStrings([...(task.tags ?? []), ...projection.tags]),
|
|
74
|
+
metadata: {
|
|
75
|
+
...metadataObject(task.metadata),
|
|
76
|
+
terminalOutcome: terminalOutcomeMetadata(decision, generatedAt, answeredAction)
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function taskClosedByTerminalProjection(task) {
|
|
81
|
+
if (!metadataObject(task.metadata).terminalOutcome)
|
|
82
|
+
return false;
|
|
83
|
+
return task.status !== 'ready' && task.status !== 'open';
|
|
84
|
+
}
|
|
85
|
+
function decisionForAliases(aliases, decisionsByAlias) {
|
|
86
|
+
let latest;
|
|
87
|
+
for (const alias of aliases) {
|
|
88
|
+
const decision = decisionsByAlias.get(alias);
|
|
89
|
+
if (!decision)
|
|
90
|
+
continue;
|
|
91
|
+
if (!latest || decision.generatedAt > latest.generatedAt || decision.generatedAt === latest.generatedAt && decision.id > latest.id)
|
|
92
|
+
latest = decision;
|
|
93
|
+
}
|
|
94
|
+
return latest;
|
|
95
|
+
}
|
|
96
|
+
function projectionForDecision(decision, aliases, answeredActionsByAlias) {
|
|
97
|
+
if (decision.outcome === 'rerun')
|
|
98
|
+
return { status: 'ready', tags: ['terminal:rerun'] };
|
|
99
|
+
if (decision.outcome === 'needs-port' || decision.coordinatorReview)
|
|
100
|
+
return { status: 'coordinator-review', tags: ['terminal:coordinator-review'] };
|
|
101
|
+
if (decision.outcome === 'human-question' || decision.humanBlocked) {
|
|
102
|
+
return aliases.some((alias) => answeredActionsByAlias.has(alias))
|
|
103
|
+
? { status: 'ready', tags: ['terminal:human-question', 'human-answer:answered'] }
|
|
104
|
+
: { status: 'blocked', tags: ['terminal:human-question'] };
|
|
105
|
+
}
|
|
106
|
+
if (decision.outcome === 'conflict-blocked' || decision.conflict)
|
|
107
|
+
return { status: 'blocked', tags: ['terminal:conflict'] };
|
|
108
|
+
if (decision.outcome === 'rejected')
|
|
109
|
+
return { status: 'rejected', tags: ['terminal:rejected'] };
|
|
110
|
+
if (decision.outcome === 'ready')
|
|
111
|
+
return { status: 'ready', tags: ['terminal:ready'] };
|
|
112
|
+
return { status: decision.outcome === 'checked' ? 'verified' : 'completed', tags: [`terminal:${decision.outcome}`] };
|
|
113
|
+
}
|
|
114
|
+
function terminalOutcomeMetadata(decision, generatedAt, answeredAction) {
|
|
115
|
+
return {
|
|
116
|
+
generatedAt,
|
|
117
|
+
decisionId: decision.id,
|
|
118
|
+
category: decision.category,
|
|
119
|
+
outcome: decision.outcome,
|
|
120
|
+
terminal: decision.terminal,
|
|
121
|
+
closesSubject: decision.closesSubject,
|
|
122
|
+
reasons: decision.reasons,
|
|
123
|
+
...(answeredAction ? { humanAnswer: humanAnswerMetadata(answeredAction) } : {})
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function summarizeProjection(beforeEntries, afterEntries, beforeTasks, afterTasks, model) {
|
|
127
|
+
return {
|
|
128
|
+
closedEntryCount: countChangedTo(beforeEntries, afterEntries, (status) => status === 'completed' || status === 'verified' || status === 'rejected'),
|
|
129
|
+
closedTaskCount: countChangedTo(beforeTasks, afterTasks, (status) => status === 'completed' || status === 'verified' || status === 'rejected'),
|
|
130
|
+
rerunEntryCount: countChangedTo(beforeEntries, afterEntries, (status, tags) => status === 'ready' && tags.includes('terminal:rerun')),
|
|
131
|
+
rerunTaskCount: countChangedTo(beforeTasks, afterTasks, (status, tags) => status === 'ready' && tags.includes('terminal:rerun')),
|
|
132
|
+
reviewEntryCount: countChangedTo(beforeEntries, afterEntries, (status) => status === 'coordinator-review'),
|
|
133
|
+
reviewTaskCount: countChangedTo(beforeTasks, afterTasks, (status) => status === 'coordinator-review'),
|
|
134
|
+
blockedEntryCount: countChangedTo(beforeEntries, afterEntries, (status) => status === 'blocked'),
|
|
135
|
+
blockedTaskCount: countChangedTo(beforeTasks, afterTasks, (status) => status === 'blocked'),
|
|
136
|
+
answeredHumanBlockerEntryCount: countMatching(afterEntries, (status, tags) => status === 'ready' && tags.includes('human-answer:answered')),
|
|
137
|
+
answeredHumanBlockerTaskCount: countMatching(afterTasks, (status, tags) => status === 'ready' && tags.includes('human-answer:answered')),
|
|
138
|
+
decisionCount: model.summary.latestDecisionCount
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function answeredHumanActionsByAlias(actions) {
|
|
142
|
+
const out = new Map();
|
|
143
|
+
for (const action of actions) {
|
|
144
|
+
for (const alias of humanActionSubjectAliases(action))
|
|
145
|
+
out.set(alias, action);
|
|
146
|
+
}
|
|
147
|
+
return out;
|
|
148
|
+
}
|
|
149
|
+
function answeredHumanActionForAliases(aliases, answeredActionsByAlias) {
|
|
150
|
+
for (const alias of aliases) {
|
|
151
|
+
const action = answeredActionsByAlias.get(alias);
|
|
152
|
+
if (action)
|
|
153
|
+
return action;
|
|
154
|
+
}
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
function countChangedTo(before, after, predicate) {
|
|
158
|
+
let count = 0;
|
|
159
|
+
for (let index = 0; index < after.length; index += 1) {
|
|
160
|
+
if (before[index]?.status === after[index]?.status)
|
|
161
|
+
continue;
|
|
162
|
+
if (predicate(after[index]?.status, after[index]?.tags ?? []))
|
|
163
|
+
count += 1;
|
|
164
|
+
}
|
|
165
|
+
return count;
|
|
166
|
+
}
|
|
167
|
+
function countMatching(items, predicate) {
|
|
168
|
+
return items.filter((item) => predicate(item.status, item.tags ?? [])).length;
|
|
169
|
+
}
|
|
170
|
+
function entryAliases(entry) {
|
|
171
|
+
return uniqueStrings([entry.id, `queue:${entry.id}`, entry.taskId, entry.taskId ? `task:${entry.taskId}` : undefined].filter(isString));
|
|
172
|
+
}
|
|
173
|
+
function taskAliases(task) {
|
|
174
|
+
return uniqueStrings([task.id, `task:${task.id}`, `queue:${task.id}`]);
|
|
175
|
+
}
|
|
176
|
+
function metadataObject(value) {
|
|
177
|
+
return value && typeof value === 'object' && !Array.isArray(value) ? { ...value } : {};
|
|
178
|
+
}
|
|
179
|
+
function humanAnswerMetadata(action) {
|
|
180
|
+
const answer = metadataObject(action.humanAnswer);
|
|
181
|
+
return {
|
|
182
|
+
...(stringValue(action.code) ? { code: stringValue(action.code) } : {}),
|
|
183
|
+
...(stringValue(action.title) ? { title: stringValue(action.title) } : {}),
|
|
184
|
+
...(stringValue(action.question) ? { question: stringValue(action.question) } : {}),
|
|
185
|
+
...(stringValue(action.requestedAnswer) ? { requestedAnswer: stringValue(action.requestedAnswer) } : {}),
|
|
186
|
+
...(stringValue(action.answer) ? { answer: stringValue(action.answer) } : {}),
|
|
187
|
+
...(typeof action.answeredAt === 'number' ? { answeredAt: action.answeredAt } : {}),
|
|
188
|
+
...(stringValue(answer.id) ? { answerId: stringValue(answer.id) } : {}),
|
|
189
|
+
...(stringValue(action.jobId) ? { jobId: stringValue(action.jobId) } : {}),
|
|
190
|
+
...(stringValue(action.taskId) ? { taskId: stringValue(action.taskId) } : {}),
|
|
191
|
+
...(stringValue(action.lane) ? { lane: stringValue(action.lane) } : {})
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
function stringValue(value) {
|
|
195
|
+
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
196
|
+
}
|
|
197
|
+
function isString(value) {
|
|
198
|
+
return typeof value === 'string' && value.length > 0;
|
|
199
|
+
}
|
|
200
|
+
function emptyTerminalOutcomeProjectionSummary() {
|
|
201
|
+
return {
|
|
202
|
+
closedEntryCount: 0,
|
|
203
|
+
closedTaskCount: 0,
|
|
204
|
+
rerunEntryCount: 0,
|
|
205
|
+
rerunTaskCount: 0,
|
|
206
|
+
reviewEntryCount: 0,
|
|
207
|
+
reviewTaskCount: 0,
|
|
208
|
+
blockedEntryCount: 0,
|
|
209
|
+
blockedTaskCount: 0,
|
|
210
|
+
answeredHumanBlockerEntryCount: 0,
|
|
211
|
+
answeredHumanBlockerTaskCount: 0,
|
|
212
|
+
decisionCount: 0
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=continuation-terminal-outcomes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation-terminal-outcomes.js","sourceRoot":"","sources":["../src/continuation-terminal-outcomes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { FrontierCodexContinuationInput, FrontierCodexContinuationResult } from './types-continuation.js';
|
|
2
|
+
export declare function continueCodexSwarmLoop(input: FrontierCodexContinuationInput): Promise<FrontierCodexContinuationResult>;
|
|
3
|
+
//# sourceMappingURL=continuation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../src/continuation.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE/G,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAyL5H"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { createSwarmBacklog, createSwarmModelRoutingPolicy, mergeSwarmBacklogs } from '@shapeshift-labs/frontier-swarm';
|
|
4
|
+
import { FRONTIER_SWARM_CODEX_CONTINUATION_KIND, FRONTIER_SWARM_CODEX_CONTINUATION_VERSION } from './constants.js';
|
|
5
|
+
import { uniqueStrings } from './common.js';
|
|
6
|
+
import { collectCodexSwarmRun } from './collect.js';
|
|
7
|
+
import { createAdaptiveRoutingSignalsFromTournamentFeedback, dedupeRoutingSignals, summarizeAdaptiveRoutingSignals } from './continuation-adaptive-routing.js';
|
|
8
|
+
import { readContinuationChildBacklogs, resolveContinuationChildBacklogNames } from './continuation-child-backlogs.js';
|
|
9
|
+
import { createContinuationFeedback, createContinuationRoutingCostSummary, createContinuationTournamentSummary } from './continuation-feedback.js';
|
|
10
|
+
import { createContinuationHumanActionState } from './continuation-human-actions.js';
|
|
11
|
+
import { summarizeNextJobRouting } from './continuation-job-routing-summary.js';
|
|
12
|
+
import { writeContinuationTaskSource } from './continuation-task-source.js';
|
|
13
|
+
import { projectContinuationTerminalOutcomes } from './continuation-terminal-outcomes.js';
|
|
14
|
+
import { coerceCodexSwarmTasksInput, createCodexSwarmPlan } from './index.js';
|
|
15
|
+
export async function continueCodexSwarmLoop(input) {
|
|
16
|
+
const generatedAt = Date.now();
|
|
17
|
+
const cwd = path.resolve(input.cwd ?? process.cwd());
|
|
18
|
+
const collection = await resolveContinuationCollection(input, cwd);
|
|
19
|
+
const outDir = path.resolve(cwd, input.outDir ?? path.join(collection?.outDir ?? cwd, 'continuation'));
|
|
20
|
+
const baseBacklog = await readContinuationBacklog(input, cwd);
|
|
21
|
+
const childBacklogNames = resolveContinuationChildBacklogNames(input);
|
|
22
|
+
const childBacklogs = await readContinuationChildBacklogs({
|
|
23
|
+
roots: uniqueStrings([collection?.outDir, collection?.runDir].filter((entry) => !!entry)),
|
|
24
|
+
names: childBacklogNames
|
|
25
|
+
});
|
|
26
|
+
const nextBacklog = mergeSwarmBacklogs({
|
|
27
|
+
base: baseBacklog,
|
|
28
|
+
backlogs: childBacklogs.map((entry) => entry.backlog),
|
|
29
|
+
generatedAt,
|
|
30
|
+
metadata: {
|
|
31
|
+
continuationGeneratedAt: generatedAt,
|
|
32
|
+
childBacklogNames,
|
|
33
|
+
childBacklogPaths: childBacklogs.map((entry) => entry.path)
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const humanActionState = await createContinuationHumanActionState({ continuation: input, cwd, outDir, collection, generatedAt });
|
|
37
|
+
const feedback = createContinuationFeedback({
|
|
38
|
+
collection,
|
|
39
|
+
repository: input.repository ?? path.basename(cwd),
|
|
40
|
+
packageName: input.package
|
|
41
|
+
});
|
|
42
|
+
const routingCostSummary = createContinuationRoutingCostSummary(feedback);
|
|
43
|
+
const tournamentSummary = createContinuationTournamentSummary(collection);
|
|
44
|
+
const adaptiveRoutingSignals = createAdaptiveRoutingSignalsFromTournamentFeedback(collection);
|
|
45
|
+
const adaptiveRouting = summarizeAdaptiveRoutingSignals(collection, adaptiveRoutingSignals);
|
|
46
|
+
const baseRoutingPolicy = await readContinuationRoutingPolicy(input, cwd);
|
|
47
|
+
const baseRoutingFeedback = Array.isArray(baseRoutingPolicy?.feedback)
|
|
48
|
+
? baseRoutingPolicy.feedback
|
|
49
|
+
: [];
|
|
50
|
+
const baseRoutingSignals = Array.isArray(baseRoutingPolicy?.signals)
|
|
51
|
+
? baseRoutingPolicy.signals
|
|
52
|
+
: [];
|
|
53
|
+
const nextRoutingPolicy = createSwarmModelRoutingPolicy({
|
|
54
|
+
...(baseRoutingPolicy ?? {}),
|
|
55
|
+
signals: dedupeRoutingSignals([
|
|
56
|
+
...baseRoutingSignals,
|
|
57
|
+
...adaptiveRoutingSignals
|
|
58
|
+
]),
|
|
59
|
+
feedback: [
|
|
60
|
+
...baseRoutingFeedback,
|
|
61
|
+
...feedback
|
|
62
|
+
],
|
|
63
|
+
generatedAt,
|
|
64
|
+
metadata: {
|
|
65
|
+
...(baseRoutingPolicy?.metadata ?? {}),
|
|
66
|
+
continuationGeneratedAt: generatedAt,
|
|
67
|
+
feedbackCount: feedback.length,
|
|
68
|
+
repository: input.repository ?? path.basename(cwd),
|
|
69
|
+
...(input.package ? { package: input.package } : {}),
|
|
70
|
+
collectionDir: collection?.outDir,
|
|
71
|
+
...(collection?.runDir ? { collectionRunDir: collection.runDir } : {}),
|
|
72
|
+
...(collection?.generatedAt ? { collectionGeneratedAt: collection.generatedAt } : {}),
|
|
73
|
+
...(collection?.summary ? { collectionSummary: collection.summary } : {}),
|
|
74
|
+
adaptiveRouting,
|
|
75
|
+
routingCostSummary,
|
|
76
|
+
...(tournamentSummary ? { tournamentSummary } : {})
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
const manifest = await readOptionalJsonPath(input.manifestPath, cwd, input.manifest);
|
|
80
|
+
const tasks = await readOptionalJsonPath(input.tasksPath, cwd, input.tasks ?? []);
|
|
81
|
+
const planTasks = coerceCodexSwarmTasksInput(tasks);
|
|
82
|
+
const projected = projectContinuationTerminalOutcomes({
|
|
83
|
+
backlog: nextBacklog,
|
|
84
|
+
tasks: planTasks,
|
|
85
|
+
collection,
|
|
86
|
+
answeredHumanActions: humanActionState.answeredActions,
|
|
87
|
+
generatedAt
|
|
88
|
+
});
|
|
89
|
+
const nextPlan = manifest ? createCodexSwarmPlan({
|
|
90
|
+
manifest,
|
|
91
|
+
tasks: projected.tasks,
|
|
92
|
+
backlog: sanitizeContinuationBacklogForPlan(projected.backlog, projected.tasks),
|
|
93
|
+
backlogPlan: {
|
|
94
|
+
...(input.backlogPlan ?? {}),
|
|
95
|
+
backlogPath: input.backlogPath
|
|
96
|
+
},
|
|
97
|
+
routingPolicy: nextRoutingPolicy,
|
|
98
|
+
routingMode: input.routingMode,
|
|
99
|
+
routingContext: {
|
|
100
|
+
repository: input.repository ?? path.basename(cwd),
|
|
101
|
+
package: input.package
|
|
102
|
+
},
|
|
103
|
+
plan: input.plan
|
|
104
|
+
}) : undefined;
|
|
105
|
+
const backlogPath = path.resolve(cwd, input.write && input.backlogPath ? input.backlogPath : path.join(outDir, 'backlog.next.json'));
|
|
106
|
+
const routingPolicyPath = path.resolve(cwd, input.write && input.routingPolicyPath ? input.routingPolicyPath : path.join(outDir, 'model-routing-policy.next.json'));
|
|
107
|
+
const nextPlanPath = nextPlan ? path.join(outDir, 'next-plan.json') : undefined;
|
|
108
|
+
const nextTasksPath = await writeContinuationTaskSource({ cwd, outDir, write: input.write, tasks: input.tasks, tasksPath: input.tasksPath, projectedTasks: projected.tasks });
|
|
109
|
+
const childBacklogPaths = childBacklogs.map((entry) => entry.path);
|
|
110
|
+
const nextJobs = nextPlan?.jobs ?? [];
|
|
111
|
+
const nextJobRouting = summarizeNextJobRouting(nextJobs);
|
|
112
|
+
await fs.mkdir(outDir, { recursive: true });
|
|
113
|
+
await fs.mkdir(path.dirname(backlogPath), { recursive: true });
|
|
114
|
+
await fs.mkdir(path.dirname(routingPolicyPath), { recursive: true });
|
|
115
|
+
await fs.writeFile(backlogPath, JSON.stringify(projected.backlog, null, 2) + '\n');
|
|
116
|
+
await fs.writeFile(routingPolicyPath, JSON.stringify(nextRoutingPolicy, null, 2) + '\n');
|
|
117
|
+
await fs.writeFile(humanActionState.statePath, JSON.stringify(humanActionState, null, 2) + '\n');
|
|
118
|
+
if (nextPlan && nextPlanPath)
|
|
119
|
+
await fs.writeFile(nextPlanPath, JSON.stringify(nextPlan, null, 2) + '\n');
|
|
120
|
+
const result = {
|
|
121
|
+
kind: FRONTIER_SWARM_CODEX_CONTINUATION_KIND,
|
|
122
|
+
version: FRONTIER_SWARM_CODEX_CONTINUATION_VERSION,
|
|
123
|
+
ok: true,
|
|
124
|
+
generatedAt,
|
|
125
|
+
cwd,
|
|
126
|
+
outDir,
|
|
127
|
+
...(collection?.outDir ? { collectionDir: collection.outDir } : {}),
|
|
128
|
+
...(collection?.runDir ? { runDir: collection.runDir } : {}),
|
|
129
|
+
backlogPath,
|
|
130
|
+
routingPolicyPath,
|
|
131
|
+
humanActionStatePath: humanActionState.statePath,
|
|
132
|
+
...(nextTasksPath ? { nextTasksPath } : {}),
|
|
133
|
+
...(nextPlanPath ? { nextPlanPath } : {}),
|
|
134
|
+
childBacklogNames,
|
|
135
|
+
childBacklogPaths,
|
|
136
|
+
feedbackCount: feedback.length,
|
|
137
|
+
nextBacklog: projected.backlog,
|
|
138
|
+
nextRoutingPolicy,
|
|
139
|
+
humanActions: humanActionState.actions,
|
|
140
|
+
humanAnswers: humanActionState.answers,
|
|
141
|
+
...(nextPlan ? { nextPlan } : {}),
|
|
142
|
+
summary: {
|
|
143
|
+
childBacklogCount: childBacklogs.length,
|
|
144
|
+
childBacklogEntryCount: childBacklogs.reduce((sum, entry) => sum + entry.backlog.entries.length, 0),
|
|
145
|
+
feedbackCount: feedback.length,
|
|
146
|
+
totalRoutingFeedbackCount: nextRoutingPolicy.feedback.length,
|
|
147
|
+
backlogEntryCount: projected.backlog.entries.length,
|
|
148
|
+
terminalOutcomeProjection: projected.summary,
|
|
149
|
+
humanActions: {
|
|
150
|
+
...humanActionState.summary,
|
|
151
|
+
answerPaths: humanActionState.answerPaths,
|
|
152
|
+
statePath: humanActionState.statePath
|
|
153
|
+
},
|
|
154
|
+
routingPreferenceCount: nextRoutingPolicy.preferences.length,
|
|
155
|
+
routingPreferences: {
|
|
156
|
+
defaultMode: nextRoutingPolicy.defaultMode,
|
|
157
|
+
signalCount: nextRoutingPolicy.summary.signalCount,
|
|
158
|
+
feedbackCount: nextRoutingPolicy.summary.feedbackCount,
|
|
159
|
+
preferenceCount: nextRoutingPolicy.summary.preferenceCount,
|
|
160
|
+
preferCount: nextRoutingPolicy.summary.preferCount,
|
|
161
|
+
avoidCount: nextRoutingPolicy.summary.avoidCount
|
|
162
|
+
},
|
|
163
|
+
adaptiveRouting,
|
|
164
|
+
routingCost: routingCostSummary,
|
|
165
|
+
nextJobCount: nextJobs.length,
|
|
166
|
+
nextJobIds: nextJobs.map((job) => job.id),
|
|
167
|
+
nextJobTaskIds: nextJobs.map((job) => job.taskId),
|
|
168
|
+
nextJobLaneCounts: countByString(nextJobs.map((job) => job.lane)),
|
|
169
|
+
nextJobRouting,
|
|
170
|
+
tournamentObservationCount: tournamentSummary?.adaptiveFeedback.observationCount ?? 0,
|
|
171
|
+
tournamentRecommendationCount: tournamentSummary?.adaptiveFeedback.recommendationCount ?? 0,
|
|
172
|
+
...(collection ? {
|
|
173
|
+
collectionBucketCounts: collection.summary,
|
|
174
|
+
tournamentCounts: {
|
|
175
|
+
strategyCount: collection.strategyTournament.summary.strategyCount,
|
|
176
|
+
gameCount: collection.strategyTournament.summary.gameCount,
|
|
177
|
+
matchCount: collection.strategyTournament.summary.matchCount,
|
|
178
|
+
verifiedCount: collection.strategyTournament.summary.verifiedCount,
|
|
179
|
+
rejectedCount: collection.strategyTournament.summary.rejectedCount,
|
|
180
|
+
undefinedCount: collection.strategyTournament.summary.undefinedCount,
|
|
181
|
+
sampleConfidence: collection.strategyTournament.summary.sampleConfidence,
|
|
182
|
+
decisionGrade: collection.strategyTournament.summary.decisionGrade
|
|
183
|
+
},
|
|
184
|
+
tournamentFeedbackCounts: collection.tournamentAdaptiveFeedback.summary
|
|
185
|
+
} : {}),
|
|
186
|
+
paths: {
|
|
187
|
+
outDir,
|
|
188
|
+
...(collection?.outDir ? { collectionDir: collection.outDir } : {}),
|
|
189
|
+
...(collection?.runDir ? { runDir: collection.runDir } : {}),
|
|
190
|
+
backlogPath,
|
|
191
|
+
routingPolicyPath,
|
|
192
|
+
humanActionStatePath: humanActionState.statePath,
|
|
193
|
+
...(nextTasksPath ? { nextTasksPath } : {}),
|
|
194
|
+
...(nextPlanPath ? { nextPlanPath } : {}),
|
|
195
|
+
childBacklogPaths
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
await fs.writeFile(path.join(outDir, 'continuation.json'), JSON.stringify(result, null, 2) + '\n');
|
|
200
|
+
return result;
|
|
201
|
+
}
|
|
202
|
+
async function resolveContinuationCollection(input, cwd) {
|
|
203
|
+
if (input.collection)
|
|
204
|
+
return readContinuationCollection(input.collection, cwd);
|
|
205
|
+
if (!input.run)
|
|
206
|
+
return undefined;
|
|
207
|
+
return collectCodexSwarmRun({
|
|
208
|
+
run: input.run,
|
|
209
|
+
cwd,
|
|
210
|
+
outDir: input.collectionOutDir,
|
|
211
|
+
checkStale: input.checkStale,
|
|
212
|
+
semanticImportExpected: input.semanticImportExpected,
|
|
213
|
+
branchPrefix: input.branchPrefix
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
async function readContinuationCollection(collectionPath, cwd) {
|
|
217
|
+
const absolute = path.resolve(cwd, collectionPath);
|
|
218
|
+
const stat = await fs.lstat(absolute);
|
|
219
|
+
const file = stat.isDirectory() ? path.join(absolute, 'collection.json') : absolute;
|
|
220
|
+
const parsed = JSON.parse(await fs.readFile(file, 'utf8'));
|
|
221
|
+
return {
|
|
222
|
+
...parsed,
|
|
223
|
+
outDir: parsed.outDir ? path.resolve(cwd, parsed.outDir) : path.dirname(file),
|
|
224
|
+
runDir: parsed.runDir ? path.resolve(cwd, parsed.runDir) : path.dirname(file)
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
async function readContinuationBacklog(input, cwd) {
|
|
228
|
+
const raw = await readOptionalJsonPath(input.backlogPath, cwd, input.backlog);
|
|
229
|
+
return raw ? createSwarmBacklog(raw) : createSwarmBacklog({ id: 'swarm-backlog:continuation', title: 'Continuation Backlog' });
|
|
230
|
+
}
|
|
231
|
+
async function readContinuationRoutingPolicy(input, cwd) {
|
|
232
|
+
return readOptionalJsonPath(input.routingPolicyPath, cwd, input.routingPolicy);
|
|
233
|
+
}
|
|
234
|
+
async function readOptionalJsonPath(file, cwd, fallback) {
|
|
235
|
+
if (!file)
|
|
236
|
+
return fallback;
|
|
237
|
+
return JSON.parse(await fs.readFile(path.resolve(cwd, file), 'utf8'));
|
|
238
|
+
}
|
|
239
|
+
function countByString(values) {
|
|
240
|
+
const out = {};
|
|
241
|
+
for (const value of values)
|
|
242
|
+
out[value] = (out[value] ?? 0) + 1;
|
|
243
|
+
return out;
|
|
244
|
+
}
|
|
245
|
+
function sanitizeContinuationBacklogForPlan(backlog, explicitTasks) {
|
|
246
|
+
const entryTaskIds = new Map(backlog.entries.map((entry) => [entry.id, entry.taskId ?? entry.id]));
|
|
247
|
+
const plannedTaskIds = new Set([
|
|
248
|
+
...explicitTasks.map((task) => task.id),
|
|
249
|
+
...entryTaskIds.values()
|
|
250
|
+
]);
|
|
251
|
+
const normalizeTaskId = (value) => entryTaskIds.get(value) ?? value;
|
|
252
|
+
return {
|
|
253
|
+
...backlog,
|
|
254
|
+
entries: backlog.entries.map((entry) => {
|
|
255
|
+
const parentTaskId = entry.parentEntryId ? normalizeTaskId(entry.parentEntryId) : undefined;
|
|
256
|
+
const dependsOn = uniqueStrings(entry.dependsOn.map(normalizeTaskId).filter((dependency) => plannedTaskIds.has(dependency)));
|
|
257
|
+
const { parentEntryId: _parentEntryId, ...rest } = entry;
|
|
258
|
+
return {
|
|
259
|
+
...rest,
|
|
260
|
+
...(parentTaskId && plannedTaskIds.has(parentTaskId) ? { parentEntryId: parentTaskId } : {}),
|
|
261
|
+
dependsOn
|
|
262
|
+
};
|
|
263
|
+
})
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=continuation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation.js","sourceRoot":"","sources":["../src/continuation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const DASHBOARD_WORKSPACE_PROOF_MAX_BYTES: number;
|
|
2
|
+
export declare const DASHBOARD_FULL_COLLECTION_MAX_BYTES: number;
|
|
3
|
+
export declare const DASHBOARD_IGNORED_CHANGED_PATH_SAMPLE_LIMIT = 12;
|
|
4
|
+
export declare const DASHBOARD_QUALITY_SAMPLE_LIMIT = 12;
|
|
5
|
+
export declare const DASHBOARD_TIME_SERIES_BUCKET_MS: number;
|
|
6
|
+
//# sourceMappingURL=dashboard-ui-constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-constants.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC,QAAa,CAAC;AAC9D,eAAO,MAAM,mCAAmC,QAAmB,CAAC;AACpE,eAAO,MAAM,2CAA2C,KAAK,CAAC;AAC9D,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,+BAA+B,QAAY,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const DASHBOARD_WORKSPACE_PROOF_MAX_BYTES = 512 * 1024;
|
|
2
|
+
export const DASHBOARD_FULL_COLLECTION_MAX_BYTES = 64 * 1024 * 1024;
|
|
3
|
+
export const DASHBOARD_IGNORED_CHANGED_PATH_SAMPLE_LIMIT = 12;
|
|
4
|
+
export const DASHBOARD_QUALITY_SAMPLE_LIMIT = 12;
|
|
5
|
+
export const DASHBOARD_TIME_SERIES_BUCKET_MS = 60 * 1000;
|
|
6
|
+
//# sourceMappingURL=dashboard-ui-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-constants.js","sourceRoot":"","sources":["../src/dashboard-ui-constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,GAAG,IAAI,CAAC;AAC9D,MAAM,CAAC,MAAM,mCAAmC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACpE,MAAM,CAAC,MAAM,2CAA2C,GAAG,EAAE,CAAC;AAC9D,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { FrontierCodexDashboardHealthMetrics, FrontierCodexDashboardHealthStatus, FrontierCodexDashboardJob, FrontierCodexDashboardSemanticReadiness } from './types-dashboard.js';
|
|
2
|
+
export declare function createDashboardHealthMetrics(jobs: readonly FrontierCodexDashboardJob[]): FrontierCodexDashboardHealthMetrics;
|
|
3
|
+
export declare function isDashboardFailureJob(job: FrontierCodexDashboardJob): boolean;
|
|
4
|
+
export declare function dashboardJobHealth(job: FrontierCodexDashboardJob): FrontierCodexDashboardHealthStatus;
|
|
5
|
+
export declare function dashboardSemanticReadiness(input: {
|
|
6
|
+
semanticAdmissionStatus?: string;
|
|
7
|
+
semanticAutoMergeCandidate: boolean;
|
|
8
|
+
semanticCleanEligible: boolean;
|
|
9
|
+
disposition?: string;
|
|
10
|
+
reasons: readonly string[];
|
|
11
|
+
}): FrontierCodexDashboardSemanticReadiness;
|
|
12
|
+
export declare function isDashboardTerminalJob(job: FrontierCodexDashboardJob): boolean;
|
|
13
|
+
export declare function isDashboardBlockedJob(job: FrontierCodexDashboardJob): boolean;
|
|
14
|
+
export declare function isDashboardFailedEvidenceJob(job: FrontierCodexDashboardJob): boolean;
|
|
15
|
+
export declare function dashboardRecordIndicatesFailedEvidence(job: Record<string, unknown>, stringListValue: (value: unknown) => string[]): boolean;
|
|
16
|
+
export declare function hasDashboardContextLoad(job: FrontierCodexDashboardJob): boolean;
|
|
17
|
+
export declare function hasDashboardCostSignal(job: FrontierCodexDashboardJob): boolean;
|
|
18
|
+
export declare function hasDashboardLogVolume(job: FrontierCodexDashboardJob): boolean;
|
|
19
|
+
export declare function isDashboardNeedsPortJob(job: FrontierCodexDashboardJob): boolean;
|
|
20
|
+
export declare function isDashboardStaleJob(job: FrontierCodexDashboardJob): boolean;
|
|
21
|
+
export declare function hasDashboardContextBudget(job: FrontierCodexDashboardJob): boolean;
|
|
22
|
+
export declare function isDashboardContextBudgetWarningJob(job: FrontierCodexDashboardJob): boolean;
|
|
23
|
+
export declare function isDashboardContextBudgetFailedJob(job: FrontierCodexDashboardJob): boolean;
|
|
24
|
+
//# sourceMappingURL=dashboard-ui-health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-health.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-health.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,mCAAmC,EACnC,kCAAkC,EAClC,yBAAyB,EACzB,uCAAuC,EACxC,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,SAAS,yBAAyB,EAAE,GAAG,mCAAmC,CAmE5H;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAO7E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,yBAAyB,GAAG,kCAAkC,CAWrG;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B,EAAE,OAAO,CAAC;IACpC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,GAAG,uCAAuC,CAS1C;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAK9E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAE7E;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAKpF;AAED,wBAAgB,sCAAsC,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,EAAE,GAAG,OAAO,CAM3I;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAE/E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAE9E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAE7E;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAE/E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAE3E;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAEjF;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAE1F;AAED,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAEzF"}
|