@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 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-semantic.js","sourceRoot":"","sources":["../src/dashboard-ui-semantic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CollectedDashboardSource } from './dashboard-ui-types.js';
|
|
2
|
+
export declare function readCollectedDashboardSource(cwd: string, value: string | undefined): Promise<CollectedDashboardSource | undefined>;
|
|
3
|
+
export declare function readArtifact<T>(cwd: string, value: string | undefined, defaultFile: string): Promise<{
|
|
4
|
+
file: string;
|
|
5
|
+
dir: string;
|
|
6
|
+
json: T;
|
|
7
|
+
} | undefined>;
|
|
8
|
+
export declare function asRecord(value: unknown): Record<string, unknown>;
|
|
9
|
+
//# sourceMappingURL=dashboard-ui-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-sources.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-sources.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAYxI;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,SAAS,CAAC,CAU9J;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { isObject } from './common.js';
|
|
4
|
+
import { DASHBOARD_FULL_COLLECTION_MAX_BYTES } from './dashboard-ui-constants.js';
|
|
5
|
+
export async function readCollectedDashboardSource(cwd, value) {
|
|
6
|
+
if (!value)
|
|
7
|
+
return undefined;
|
|
8
|
+
const absolute = path.resolve(cwd, value);
|
|
9
|
+
const stat = await fs.lstat(absolute).catch(() => undefined);
|
|
10
|
+
if (!stat)
|
|
11
|
+
return undefined;
|
|
12
|
+
const dir = stat.isDirectory() ? absolute : path.dirname(absolute);
|
|
13
|
+
const collectionFile = stat.isDirectory() ? path.join(absolute, 'collection.json') : absolute;
|
|
14
|
+
const collectionStat = await fs.stat(collectionFile).catch(() => undefined);
|
|
15
|
+
if (collectionStat && collectionStat.size <= DASHBOARD_FULL_COLLECTION_MAX_BYTES)
|
|
16
|
+
return undefined;
|
|
17
|
+
const dashboardSource = await readArtifact(cwd, dir, 'coordinator-query.json');
|
|
18
|
+
if (!dashboardSource || !Array.isArray(dashboardSource.json.jobs))
|
|
19
|
+
return undefined;
|
|
20
|
+
return { file: dashboardSource.file, dir: dashboardSource.dir, dashboard: dashboardSource.json };
|
|
21
|
+
}
|
|
22
|
+
export async function readArtifact(cwd, value, defaultFile) {
|
|
23
|
+
if (!value)
|
|
24
|
+
return undefined;
|
|
25
|
+
const absolute = path.resolve(cwd, value);
|
|
26
|
+
const stat = await fs.lstat(absolute).catch(() => undefined);
|
|
27
|
+
if (!stat)
|
|
28
|
+
return undefined;
|
|
29
|
+
const file = stat.isDirectory() ? path.join(absolute, defaultFile) : absolute;
|
|
30
|
+
const text = await fs.readFile(file, 'utf8').catch(() => undefined);
|
|
31
|
+
if (!text)
|
|
32
|
+
return undefined;
|
|
33
|
+
const json = JSON.parse(text);
|
|
34
|
+
return { file, dir: stat.isDirectory() ? absolute : path.dirname(file), json };
|
|
35
|
+
}
|
|
36
|
+
export function asRecord(value) {
|
|
37
|
+
return isObject(value) ? value : {};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=dashboard-ui-sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-sources.js","sourceRoot":"","sources":["../src/dashboard-ui-sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { FrontierCodexDashboardSteeringIntent, FrontierCodexDashboardSteeringIntentInput, FrontierCodexDashboardSteeringWriteInput, FrontierCodexDashboardSteeringWriteResult } from './types-dashboard.js';
|
|
2
|
+
export declare function createCodexDashboardSteeringIntent(input: FrontierCodexDashboardSteeringIntentInput): FrontierCodexDashboardSteeringIntent;
|
|
3
|
+
export declare function writeCodexDashboardSteeringIntent(input: FrontierCodexDashboardSteeringWriteInput): Promise<FrontierCodexDashboardSteeringWriteResult>;
|
|
4
|
+
//# sourceMappingURL=dashboard-ui-steering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-steering.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-steering.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,oCAAoC,EACpC,yCAAyC,EACzC,wCAAwC,EACxC,yCAAyC,EAC1C,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,yCAAyC,GAAG,oCAAoC,CAuBzI;AAED,wBAAsB,iCAAiC,CAAC,KAAK,EAAE,wCAAwC,GAAG,OAAO,CAAC,yCAAyC,CAAC,CAQ3J"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { FRONTIER_SWARM_CODEX_STEERING_INTENT_KIND, FRONTIER_SWARM_CODEX_STEERING_INTENT_VERSION } from './constants.js';
|
|
4
|
+
import { isObject, stableHash, uniqueStrings } from './common.js';
|
|
5
|
+
export function createCodexDashboardSteeringIntent(input) {
|
|
6
|
+
const generatedAt = Date.now();
|
|
7
|
+
const laneFocus = uniqueStrings([...(input.laneFocus ?? [])]);
|
|
8
|
+
const tags = uniqueStrings(['loom-ui', ...(input.tags ?? [])]);
|
|
9
|
+
const maxConcurrency = input.maxConcurrency === undefined ? undefined : Math.max(1, Math.floor(input.maxConcurrency));
|
|
10
|
+
return {
|
|
11
|
+
kind: FRONTIER_SWARM_CODEX_STEERING_INTENT_KIND,
|
|
12
|
+
version: FRONTIER_SWARM_CODEX_STEERING_INTENT_VERSION,
|
|
13
|
+
id: 'codex-dashboard-steering:' + stableHash([input.run, input.collection, input.continuation, input.routingMode, maxConcurrency, laneFocus, input.modelTierPreference, input.nextWaveNote, generatedAt]),
|
|
14
|
+
generatedAt,
|
|
15
|
+
target: {
|
|
16
|
+
...(input.run ? { run: input.run } : {}),
|
|
17
|
+
...(input.collection ? { collection: input.collection } : {}),
|
|
18
|
+
...(input.continuation ? { continuation: input.continuation } : {})
|
|
19
|
+
},
|
|
20
|
+
...(input.routingMode ? { routingMode: input.routingMode } : {}),
|
|
21
|
+
...(maxConcurrency ? { maxConcurrency } : {}),
|
|
22
|
+
laneFocus,
|
|
23
|
+
...(input.modelTierPreference ? { modelTierPreference: input.modelTierPreference } : {}),
|
|
24
|
+
...(input.nextWaveNote ? { nextWaveNote: input.nextWaveNote } : {}),
|
|
25
|
+
tags,
|
|
26
|
+
metadata: { ...(input.metadata ?? {}) }
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export async function writeCodexDashboardSteeringIntent(input) {
|
|
30
|
+
const cwd = path.resolve(input.cwd ?? process.cwd());
|
|
31
|
+
const intent = isSteeringIntent(input.intent) ? input.intent : createCodexDashboardSteeringIntent(input.intent);
|
|
32
|
+
const baseDir = path.resolve(cwd, input.outDir ?? 'agent-runs/loom-ui-steering');
|
|
33
|
+
const file = input.file ? path.resolve(cwd, input.file) : path.join(baseDir, `steering-intent-${intent.generatedAt}.json`);
|
|
34
|
+
await fs.mkdir(path.dirname(file), { recursive: true });
|
|
35
|
+
await fs.writeFile(file, JSON.stringify(intent, null, 2) + '\n');
|
|
36
|
+
return { ok: true, file, intent };
|
|
37
|
+
}
|
|
38
|
+
function isSteeringIntent(value) {
|
|
39
|
+
return isObject(value) && value.kind === FRONTIER_SWARM_CODEX_STEERING_INTENT_KIND;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=dashboard-ui-steering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-steering.js","sourceRoot":"","sources":["../src/dashboard-ui-steering.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FrontierCodexCollectResult } from './types-collection.js';
|
|
2
|
+
import type { FrontierCodexContinuationResult } from './types-continuation.js';
|
|
3
|
+
import type { FrontierCodexDashboardJob, FrontierCodexDashboardSnapshot } from './types-dashboard.js';
|
|
4
|
+
import type { FrontierCodexSwarmRunResult } from './types-run.js';
|
|
5
|
+
export declare function createDashboardSummary(run: FrontierCodexSwarmRunResult | undefined, collection: FrontierCodexCollectResult | undefined, continuation: FrontierCodexContinuationResult | undefined, jobs: readonly FrontierCodexDashboardJob[]): FrontierCodexDashboardSnapshot['summary'];
|
|
6
|
+
//# sourceMappingURL=dashboard-ui-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-summary.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-summary.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,2BAA2B,GAAG,SAAS,EAC5C,UAAU,EAAE,0BAA0B,GAAG,SAAS,EAClD,YAAY,EAAE,+BAA+B,GAAG,SAAS,EACzD,IAAI,EAAE,SAAS,yBAAyB,EAAE,GACzC,8BAA8B,CAAC,SAAS,CAAC,CAsD3C"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { hasDashboardCostSignal, isDashboardContextBudgetFailedJob, isDashboardContextBudgetWarningJob, isDashboardFailureJob, isDashboardTerminalJob } from './dashboard-ui-health.js';
|
|
2
|
+
import { averageJobMetric, maxJobMetric } from './dashboard-ui-metric-utils.js';
|
|
3
|
+
import { numberValue, roundDashboardUsd } from './dashboard-ui-values.js';
|
|
4
|
+
export function createDashboardSummary(run, collection, continuation, jobs) {
|
|
5
|
+
const terminalJobs = jobs.filter(isDashboardTerminalJob);
|
|
6
|
+
const failureJobs = jobs.filter(isDashboardFailureJob);
|
|
7
|
+
const warningJobs = jobs.filter((job) => job.health === 'warning');
|
|
8
|
+
const contextWarningJobs = jobs.filter(isDashboardContextBudgetWarningJob);
|
|
9
|
+
const contextFailedJobs = jobs.filter(isDashboardContextBudgetFailedJob);
|
|
10
|
+
const durationJobs = jobs.filter((job) => job.durationMs > 0);
|
|
11
|
+
const costSignalJobs = jobs.filter(hasDashboardCostSignal);
|
|
12
|
+
const applyLedger = collection?.summary.applyLedger;
|
|
13
|
+
const landed = applyLedger?.landed ?? collection?.summary.landed;
|
|
14
|
+
const landedJobIds = applyLedger?.landedJobIds ?? collection?.summary.landedJobIds;
|
|
15
|
+
return {
|
|
16
|
+
jobCount: jobs.length,
|
|
17
|
+
completedCount: jobs.filter((job) => job.status === 'completed').length,
|
|
18
|
+
failedCount: jobs.filter((job) => job.status === 'failed').length,
|
|
19
|
+
runningCount: jobs.filter((job) => job.status === 'running').length,
|
|
20
|
+
blockedCount: jobs.filter((job) => job.status === 'blocked').length,
|
|
21
|
+
changedPathCount: jobs.reduce((sum, job) => sum + job.changedPathCount, 0),
|
|
22
|
+
ownershipViolationCount: jobs.reduce((sum, job) => sum + job.ownershipViolationCount, 0),
|
|
23
|
+
sourceOwnershipViolationCount: jobs.reduce((sum, job) => sum + job.sourceOwnershipViolationCount, 0),
|
|
24
|
+
ignoredOwnershipViolationCount: jobs.reduce((sum, job) => sum + job.ignoredOwnershipViolationCount, 0),
|
|
25
|
+
quarantinedChangedPathCount: jobs.reduce((sum, job) => sum + job.quarantinedChangedPathCount, 0),
|
|
26
|
+
ignoredChangedPathCount: jobs.reduce((sum, job) => sum + job.ignoredChangedPathCount, 0),
|
|
27
|
+
terminalCount: terminalJobs.length,
|
|
28
|
+
failureCount: failureJobs.length,
|
|
29
|
+
warningCount: warningJobs.length,
|
|
30
|
+
contextWarningCount: contextWarningJobs.length,
|
|
31
|
+
contextFailedCount: contextFailedJobs.length,
|
|
32
|
+
semanticCleanCount: jobs.filter((job) => job.semanticReadiness === 'clean').length,
|
|
33
|
+
semanticCandidateCount: jobs.filter((job) => job.semanticReadiness === 'candidate').length,
|
|
34
|
+
semanticBlockedCount: jobs.filter((job) => job.semanticReadiness === 'blocked').length,
|
|
35
|
+
durationMs: durationJobs.reduce((sum, job) => sum + job.durationMs, 0),
|
|
36
|
+
averageDurationMs: averageJobMetric(durationJobs, (job) => job.durationMs),
|
|
37
|
+
maxDurationMs: maxJobMetric(durationJobs, (job) => job.durationMs),
|
|
38
|
+
actualInputTokens: jobs.reduce((sum, job) => sum + job.actualInputTokens, 0),
|
|
39
|
+
cachedInputTokens: jobs.reduce((sum, job) => sum + job.cachedInputTokens, 0),
|
|
40
|
+
uncachedInputTokens: jobs.reduce((sum, job) => sum + job.uncachedInputTokens, 0),
|
|
41
|
+
outputTokens: jobs.reduce((sum, job) => sum + job.outputTokens, 0),
|
|
42
|
+
billableInputTokens: jobs.reduce((sum, job) => sum + job.billableInputTokens, 0),
|
|
43
|
+
priceKnownJobCount: costSignalJobs.filter((job) => job.priceKnown).length,
|
|
44
|
+
unknownPriceJobCount: costSignalJobs.filter((job) => !job.priceKnown).length,
|
|
45
|
+
inputOnlyCostJobCount: costSignalJobs.filter((job) => job.costEstimateInputOnly).length,
|
|
46
|
+
estimatedInputCostJobCount: costSignalJobs.filter((job) => job.costEstimateEstimatedInput).length,
|
|
47
|
+
estimatedCostUsd: roundDashboardUsd(jobs.reduce((sum, job) => sum + job.estimatedCostUsd, 0)),
|
|
48
|
+
estimatedInputCostUsd: roundDashboardUsd(jobs.reduce((sum, job) => sum + job.estimatedInputCostUsd, 0)),
|
|
49
|
+
estimatedOutputCostUsd: roundDashboardUsd(jobs.reduce((sum, job) => sum + job.estimatedOutputCostUsd, 0)),
|
|
50
|
+
estimatedCostMicroUsd: jobs.reduce((sum, job) => sum + job.estimatedCostMicroUsd, 0),
|
|
51
|
+
...(collection ? { bucketCounts: collection.summary } : {}),
|
|
52
|
+
...(landed !== undefined ? { landed } : {}),
|
|
53
|
+
...(landedJobIds ? { landedJobIds } : {}),
|
|
54
|
+
...(applyLedger ? { applyLedgerLandedCount: applyLedger.landed, applyLedger } : {}),
|
|
55
|
+
...(continuation ? dashboardContinuationSummaryMetrics(continuation) : {}),
|
|
56
|
+
...(run && jobs.length === 0 ? { jobCount: run.run.jobs.length } : {})
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function dashboardContinuationSummaryMetrics(continuation) {
|
|
60
|
+
const summary = continuation.summary;
|
|
61
|
+
const routing = summary.nextJobRouting;
|
|
62
|
+
return { childBacklogEntryCount: summary.childBacklogEntryCount, routingFeedbackCount: summary.totalRoutingFeedbackCount, routingPreferenceCount: summary.routingPreferenceCount, nextJobCount: summary.nextJobCount, nextJobRoutedCount: numberValue(routing?.routedJobCount), nextJobChangedComputeCount: numberValue(routing?.changedComputeCount), nextJobRoutingFeedbackMatchCount: numberValue(routing?.policyFeedbackMatchCount), nextJobRoutingCostSignalCount: numberValue(routing?.policyCostSignalCount) };
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=dashboard-ui-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-summary.js","sourceRoot":"","sources":["../src/dashboard-ui-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FrontierCodexDashboardJob, FrontierCodexDashboardTimeSeries } from './types-dashboard.js';
|
|
2
|
+
import type { FrontierCodexSwarmRunResult } from './types-run.js';
|
|
3
|
+
export declare function createDashboardTimeSeries(run: FrontierCodexSwarmRunResult | undefined, jobs: readonly FrontierCodexDashboardJob[]): FrontierCodexDashboardTimeSeries;
|
|
4
|
+
export declare function dashboardJobTimeSeriesTimestamp(job: FrontierCodexDashboardJob): number | undefined;
|
|
5
|
+
export declare function dashboardDurationMs(startedAt: number | undefined, finishedAt: number | undefined): number;
|
|
6
|
+
//# sourceMappingURL=dashboard-ui-time-series.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-time-series.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-time-series.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,yBAAyB,EACzB,gCAAgC,EAEjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,2BAA2B,GAAG,SAAS,EAC5C,IAAI,EAAE,SAAS,yBAAyB,EAAE,GACzC,gCAAgC,CAsElC;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,yBAAyB,GAAG,MAAM,GAAG,SAAS,CAElG;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGzG"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { DASHBOARD_TIME_SERIES_BUCKET_MS } from './dashboard-ui-constants.js';
|
|
2
|
+
import { hasDashboardCostSignal, hasDashboardContextLoad, hasDashboardLogVolume, isDashboardBlockedJob, isDashboardFailureJob, isDashboardTerminalJob } from './dashboard-ui-health.js';
|
|
3
|
+
import { averageJobMetric, maxJobMetric } from './dashboard-ui-metric-utils.js';
|
|
4
|
+
import { roundDashboardUsd, timestampValue } from './dashboard-ui-values.js';
|
|
5
|
+
export function createDashboardTimeSeries(run, jobs) {
|
|
6
|
+
const points = new Map();
|
|
7
|
+
const bucketMs = DASHBOARD_TIME_SERIES_BUCKET_MS;
|
|
8
|
+
let missingTimestampJobCount = 0;
|
|
9
|
+
for (const event of run?.run.events ?? []) {
|
|
10
|
+
const at = timestampValue(event.at);
|
|
11
|
+
if (at !== undefined)
|
|
12
|
+
pointForTimeSeriesBucket(points, at, bucketMs).eventCount += 1;
|
|
13
|
+
}
|
|
14
|
+
for (const job of jobs) {
|
|
15
|
+
const hasContextLoad = hasDashboardContextLoad(job);
|
|
16
|
+
const hasLogVolume = hasDashboardLogVolume(job);
|
|
17
|
+
const terminal = isDashboardTerminalJob(job);
|
|
18
|
+
if (!terminal && !hasContextLoad && !hasLogVolume)
|
|
19
|
+
continue;
|
|
20
|
+
const at = dashboardJobTimeSeriesTimestamp(job);
|
|
21
|
+
if (at === undefined) {
|
|
22
|
+
missingTimestampJobCount += 1;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
addJobToPoint(pointForTimeSeriesBucket(points, at, bucketMs), job, terminal);
|
|
26
|
+
}
|
|
27
|
+
const sortedPoints = Array.from(points.values()).sort((left, right) => left.at - right.at);
|
|
28
|
+
for (const point of sortedPoints)
|
|
29
|
+
point.jobIds.sort();
|
|
30
|
+
const contextLoadJobs = jobs.filter(hasDashboardContextLoad);
|
|
31
|
+
const logVolumeJobs = jobs.filter(hasDashboardLogVolume);
|
|
32
|
+
const durationJobs = jobs.filter((job) => job.durationMs > 0);
|
|
33
|
+
return {
|
|
34
|
+
bucketMs,
|
|
35
|
+
summary: {
|
|
36
|
+
pointCount: sortedPoints.length,
|
|
37
|
+
eventCount: sumPoints(sortedPoints, 'eventCount'),
|
|
38
|
+
terminalJobCount: sumPoints(sortedPoints, 'terminalJobCount'),
|
|
39
|
+
failureJobCount: sumPoints(sortedPoints, 'failureJobCount'),
|
|
40
|
+
blockedJobCount: sumPoints(sortedPoints, 'blockedJobCount'),
|
|
41
|
+
runningJobCount: sumPoints(sortedPoints, 'runningJobCount'),
|
|
42
|
+
warningJobCount: sumPoints(sortedPoints, 'warningJobCount'),
|
|
43
|
+
semanticCleanJobCount: sumPoints(sortedPoints, 'semanticCleanJobCount'),
|
|
44
|
+
semanticCandidateJobCount: sumPoints(sortedPoints, 'semanticCandidateJobCount'),
|
|
45
|
+
semanticBlockedJobCount: sumPoints(sortedPoints, 'semanticBlockedJobCount'),
|
|
46
|
+
contextLoadJobCount: contextLoadJobs.length,
|
|
47
|
+
logVolumeJobCount: logVolumeJobs.length,
|
|
48
|
+
missingTimestampJobCount,
|
|
49
|
+
...(sortedPoints[0] ? { earliestAt: sortedPoints[0].at } : {}),
|
|
50
|
+
...(sortedPoints[sortedPoints.length - 1] ? { latestAt: sortedPoints[sortedPoints.length - 1].at } : {}),
|
|
51
|
+
promptBytes: sumPoints(sortedPoints, 'promptBytes'),
|
|
52
|
+
estimatedInputTokens: sumPoints(sortedPoints, 'estimatedInputTokens'),
|
|
53
|
+
actualInputTokens: sumPoints(sortedPoints, 'actualInputTokens'),
|
|
54
|
+
cachedInputTokens: sumPoints(sortedPoints, 'cachedInputTokens'),
|
|
55
|
+
uncachedInputTokens: sumPoints(sortedPoints, 'uncachedInputTokens'),
|
|
56
|
+
outputTokens: sumPoints(sortedPoints, 'outputTokens'),
|
|
57
|
+
billableInputTokens: sumPoints(sortedPoints, 'billableInputTokens'),
|
|
58
|
+
priceKnownJobCount: sumPoints(sortedPoints, 'priceKnownJobCount'),
|
|
59
|
+
unknownPriceJobCount: sumPoints(sortedPoints, 'unknownPriceJobCount'),
|
|
60
|
+
inputOnlyCostJobCount: sumPoints(sortedPoints, 'inputOnlyCostJobCount'),
|
|
61
|
+
estimatedInputCostJobCount: sumPoints(sortedPoints, 'estimatedInputCostJobCount'),
|
|
62
|
+
estimatedCostUsd: roundDashboardUsd(sumPoints(sortedPoints, 'estimatedCostUsd')),
|
|
63
|
+
estimatedInputCostUsd: roundDashboardUsd(sumPoints(sortedPoints, 'estimatedInputCostUsd')),
|
|
64
|
+
estimatedOutputCostUsd: roundDashboardUsd(sumPoints(sortedPoints, 'estimatedOutputCostUsd')),
|
|
65
|
+
estimatedCostMicroUsd: sumPoints(sortedPoints, 'estimatedCostMicroUsd'),
|
|
66
|
+
durationMs: sumPoints(sortedPoints, 'durationMs'),
|
|
67
|
+
averageDurationMs: averageJobMetric(durationJobs, (job) => job.durationMs),
|
|
68
|
+
maxDurationMs: maxJobMetric(durationJobs, (job) => job.durationMs),
|
|
69
|
+
eventBytes: sumPoints(sortedPoints, 'eventBytes'),
|
|
70
|
+
eventBytesTruncated: sumPoints(sortedPoints, 'eventBytesTruncated'),
|
|
71
|
+
stderrBytes: sumPoints(sortedPoints, 'stderrBytes'),
|
|
72
|
+
stderrBytesTruncated: sumPoints(sortedPoints, 'stderrBytesTruncated'),
|
|
73
|
+
logBytes: sumPoints(sortedPoints, 'logBytes'),
|
|
74
|
+
logBytesTruncated: sumPoints(sortedPoints, 'logBytesTruncated')
|
|
75
|
+
},
|
|
76
|
+
points: sortedPoints
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export function dashboardJobTimeSeriesTimestamp(job) {
|
|
80
|
+
return timestampValue(job.finishedAt) ?? timestampValue(job.generatedAt) ?? timestampValue(job.startedAt);
|
|
81
|
+
}
|
|
82
|
+
export function dashboardDurationMs(startedAt, finishedAt) {
|
|
83
|
+
if (startedAt === undefined || finishedAt === undefined || finishedAt < startedAt)
|
|
84
|
+
return 0;
|
|
85
|
+
return Math.max(0, Math.round(finishedAt - startedAt));
|
|
86
|
+
}
|
|
87
|
+
function addJobToPoint(point, job, terminal) {
|
|
88
|
+
if (terminal)
|
|
89
|
+
point.terminalJobCount += 1;
|
|
90
|
+
if (isDashboardFailureJob(job))
|
|
91
|
+
point.failureJobCount += 1;
|
|
92
|
+
if (isDashboardBlockedJob(job))
|
|
93
|
+
point.blockedJobCount += 1;
|
|
94
|
+
if (job.health === 'running')
|
|
95
|
+
point.runningJobCount += 1;
|
|
96
|
+
if (job.health === 'warning')
|
|
97
|
+
point.warningJobCount += 1;
|
|
98
|
+
if (job.semanticReadiness === 'clean')
|
|
99
|
+
point.semanticCleanJobCount += 1;
|
|
100
|
+
if (job.semanticReadiness === 'candidate')
|
|
101
|
+
point.semanticCandidateJobCount += 1;
|
|
102
|
+
if (job.semanticReadiness === 'blocked')
|
|
103
|
+
point.semanticBlockedJobCount += 1;
|
|
104
|
+
addJobTokenAndCostMetrics(point, job);
|
|
105
|
+
point.durationMs += job.durationMs;
|
|
106
|
+
point.averageDurationMs = point.terminalJobCount > 0 ? Math.round(point.durationMs / point.terminalJobCount) : 0;
|
|
107
|
+
point.eventBytes += job.eventBytes;
|
|
108
|
+
point.eventBytesTruncated += job.eventBytesTruncated;
|
|
109
|
+
point.stderrBytes += job.stderrBytes;
|
|
110
|
+
point.stderrBytesTruncated += job.stderrBytesTruncated;
|
|
111
|
+
point.logBytes += job.eventBytes + job.stderrBytes;
|
|
112
|
+
point.logBytesTruncated += job.eventBytesTruncated + job.stderrBytesTruncated;
|
|
113
|
+
if (!point.jobIds.includes(job.id))
|
|
114
|
+
point.jobIds.push(job.id);
|
|
115
|
+
}
|
|
116
|
+
function addJobTokenAndCostMetrics(point, job) {
|
|
117
|
+
point.promptBytes += job.promptBytes;
|
|
118
|
+
point.estimatedInputTokens += job.estimatedInputTokens;
|
|
119
|
+
point.actualInputTokens += job.actualInputTokens;
|
|
120
|
+
point.cachedInputTokens += job.cachedInputTokens;
|
|
121
|
+
point.uncachedInputTokens += job.uncachedInputTokens;
|
|
122
|
+
point.outputTokens += job.outputTokens;
|
|
123
|
+
point.billableInputTokens += job.billableInputTokens;
|
|
124
|
+
const hasCostSignal = hasDashboardCostSignal(job);
|
|
125
|
+
if (hasCostSignal) {
|
|
126
|
+
if (job.priceKnown)
|
|
127
|
+
point.priceKnownJobCount += 1;
|
|
128
|
+
else
|
|
129
|
+
point.unknownPriceJobCount += 1;
|
|
130
|
+
}
|
|
131
|
+
if (hasCostSignal && job.costEstimateInputOnly)
|
|
132
|
+
point.inputOnlyCostJobCount += 1;
|
|
133
|
+
if (hasCostSignal && job.costEstimateEstimatedInput)
|
|
134
|
+
point.estimatedInputCostJobCount += 1;
|
|
135
|
+
point.estimatedCostUsd = roundDashboardUsd(point.estimatedCostUsd + job.estimatedCostUsd);
|
|
136
|
+
point.estimatedInputCostUsd = roundDashboardUsd(point.estimatedInputCostUsd + job.estimatedInputCostUsd);
|
|
137
|
+
point.estimatedOutputCostUsd = roundDashboardUsd(point.estimatedOutputCostUsd + job.estimatedOutputCostUsd);
|
|
138
|
+
point.estimatedCostMicroUsd += job.estimatedCostMicroUsd;
|
|
139
|
+
}
|
|
140
|
+
function pointForTimeSeriesBucket(points, at, bucketMs) {
|
|
141
|
+
const bucketAt = Math.floor(at / bucketMs) * bucketMs;
|
|
142
|
+
const existing = points.get(bucketAt);
|
|
143
|
+
if (existing)
|
|
144
|
+
return existing;
|
|
145
|
+
const point = emptyPoint(bucketAt);
|
|
146
|
+
points.set(bucketAt, point);
|
|
147
|
+
return point;
|
|
148
|
+
}
|
|
149
|
+
function emptyPoint(bucketAt) {
|
|
150
|
+
return {
|
|
151
|
+
at: bucketAt,
|
|
152
|
+
label: new Date(bucketAt).toISOString(),
|
|
153
|
+
eventCount: 0,
|
|
154
|
+
terminalJobCount: 0,
|
|
155
|
+
failureJobCount: 0,
|
|
156
|
+
blockedJobCount: 0,
|
|
157
|
+
runningJobCount: 0,
|
|
158
|
+
warningJobCount: 0,
|
|
159
|
+
semanticCleanJobCount: 0,
|
|
160
|
+
semanticCandidateJobCount: 0,
|
|
161
|
+
semanticBlockedJobCount: 0,
|
|
162
|
+
promptBytes: 0,
|
|
163
|
+
estimatedInputTokens: 0,
|
|
164
|
+
actualInputTokens: 0,
|
|
165
|
+
cachedInputTokens: 0,
|
|
166
|
+
uncachedInputTokens: 0,
|
|
167
|
+
outputTokens: 0,
|
|
168
|
+
billableInputTokens: 0,
|
|
169
|
+
priceKnownJobCount: 0,
|
|
170
|
+
unknownPriceJobCount: 0,
|
|
171
|
+
inputOnlyCostJobCount: 0,
|
|
172
|
+
estimatedInputCostJobCount: 0,
|
|
173
|
+
estimatedCostUsd: 0,
|
|
174
|
+
estimatedInputCostUsd: 0,
|
|
175
|
+
estimatedOutputCostUsd: 0,
|
|
176
|
+
estimatedCostMicroUsd: 0,
|
|
177
|
+
durationMs: 0,
|
|
178
|
+
averageDurationMs: 0,
|
|
179
|
+
eventBytes: 0,
|
|
180
|
+
eventBytesTruncated: 0,
|
|
181
|
+
stderrBytes: 0,
|
|
182
|
+
stderrBytesTruncated: 0,
|
|
183
|
+
logBytes: 0,
|
|
184
|
+
logBytesTruncated: 0,
|
|
185
|
+
jobIds: []
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
function sumPoints(points, key) {
|
|
189
|
+
return points.reduce((sum, point) => sum + Number(point[key] ?? 0), 0);
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=dashboard-ui-time-series.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-time-series.js","sourceRoot":"","sources":["../src/dashboard-ui-time-series.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FrontierCodexDashboardIgnoredChangedPathReason } from './types-dashboard.js';
|
|
2
|
+
export interface DashboardWorkspaceOwnershipEvidence {
|
|
3
|
+
ignoredChangedPaths: string[];
|
|
4
|
+
ignoredChangedPathCount: number;
|
|
5
|
+
ignoredChangedPathReasonCounts: Record<string, number>;
|
|
6
|
+
ignoredChangedPathSamples: string[];
|
|
7
|
+
ignoredChangedPathReasonSamples: FrontierCodexDashboardIgnoredChangedPathReason[];
|
|
8
|
+
observedChangedPathCount: number;
|
|
9
|
+
reportedChangedPathCount: number;
|
|
10
|
+
}
|
|
11
|
+
export interface DashboardArtifactContext {
|
|
12
|
+
cwd: string;
|
|
13
|
+
artifactRoots: string[];
|
|
14
|
+
artifactBases: string[];
|
|
15
|
+
}
|
|
16
|
+
export interface CollectedDashboardSource {
|
|
17
|
+
file: string;
|
|
18
|
+
dir: string;
|
|
19
|
+
dashboard: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=dashboard-ui-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-types.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8CAA8C,EAAE,MAAM,sBAAsB,CAAC;AAE3F,MAAM,WAAW,mCAAmC;IAClD,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,+BAA+B,EAAE,8CAA8C,EAAE,CAAC;IAClF,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-types.js","sourceRoot":"","sources":["../src/dashboard-ui-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { estimateCodexModelCost } from './model-pricing.js';
|
|
2
|
+
import type { FrontierCodexDashboardJob } from './types-dashboard.js';
|
|
3
|
+
export declare function stringValue(value: unknown): string | undefined;
|
|
4
|
+
export declare function numberValue(value: unknown, fallback?: number): number;
|
|
5
|
+
export declare function optionalNumberValue(value: unknown): number | undefined;
|
|
6
|
+
export declare function roundDashboardUsd(value: number): number;
|
|
7
|
+
export declare function booleanValue(value: unknown): boolean;
|
|
8
|
+
export declare function timestampValue(value: unknown): number | undefined;
|
|
9
|
+
export declare function numberRecordValue(value: unknown, fallback?: Record<string, number>): Record<string, number>;
|
|
10
|
+
export declare function stringArrayValue(value: unknown): string[];
|
|
11
|
+
export declare function stringListValue(value: unknown): string[];
|
|
12
|
+
export declare function dashboardCostFields(cost: ReturnType<typeof estimateCodexModelCost>): Pick<FrontierCodexDashboardJob, 'billableInputTokens' | 'priceKnown' | 'pricingModel' | 'pricingMatchedModel' | 'pricingSource' | 'pricingUpdatedAt' | 'estimatedCostUsd' | 'estimatedInputCostUsd' | 'estimatedCachedInputCostUsd' | 'estimatedUncachedInputCostUsd' | 'estimatedOutputCostUsd' | 'estimatedCostMicroUsd' | 'costEstimateInputOnly' | 'costEstimateEstimatedInput' | 'costEstimateMissingOutputTokens' | 'costEstimateLongContext' | 'unknownPricingReason'>;
|
|
13
|
+
//# sourceMappingURL=dashboard-ui-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-values.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAI,GAAG,MAAM,CAEhE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI/G;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAEzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAIxD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,GAAG,IAAI,CAAC,yBAAyB,EAChH,qBAAqB,GACrB,YAAY,GACZ,cAAc,GACd,qBAAqB,GACrB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,uBAAuB,GACvB,6BAA6B,GAC7B,+BAA+B,GAC/B,wBAAwB,GACxB,uBAAuB,GACvB,uBAAuB,GACvB,4BAA4B,GAC5B,iCAAiC,GACjC,yBAAyB,GACzB,sBAAsB,CACzB,CAoBA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { isObject } from './common.js';
|
|
2
|
+
export function stringValue(value) {
|
|
3
|
+
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
4
|
+
}
|
|
5
|
+
export function numberValue(value, fallback = 0) {
|
|
6
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
|
|
7
|
+
}
|
|
8
|
+
export function optionalNumberValue(value) {
|
|
9
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
10
|
+
}
|
|
11
|
+
export function roundDashboardUsd(value) {
|
|
12
|
+
return Math.round(value * 1_000_000_000) / 1_000_000_000;
|
|
13
|
+
}
|
|
14
|
+
export function booleanValue(value) {
|
|
15
|
+
return value === true || value === 'true';
|
|
16
|
+
}
|
|
17
|
+
export function timestampValue(value) {
|
|
18
|
+
return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : undefined;
|
|
19
|
+
}
|
|
20
|
+
export function numberRecordValue(value, fallback = {}) {
|
|
21
|
+
if (!isObject(value))
|
|
22
|
+
return fallback;
|
|
23
|
+
return Object.fromEntries(Object.entries(value)
|
|
24
|
+
.filter((entry) => typeof entry[1] === 'number' && Number.isFinite(entry[1])));
|
|
25
|
+
}
|
|
26
|
+
export function stringArrayValue(value) {
|
|
27
|
+
return Array.isArray(value) ? value.map(String) : [];
|
|
28
|
+
}
|
|
29
|
+
export function stringListValue(value) {
|
|
30
|
+
if (Array.isArray(value))
|
|
31
|
+
return value.map(String).filter(Boolean);
|
|
32
|
+
if (typeof value === 'string')
|
|
33
|
+
return value.split(',').map((entry) => entry.trim()).filter(Boolean);
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
export function dashboardCostFields(cost) {
|
|
37
|
+
return {
|
|
38
|
+
billableInputTokens: cost.billableInputTokens,
|
|
39
|
+
priceKnown: cost.priceKnown,
|
|
40
|
+
...(cost.pricingModel ? { pricingModel: cost.pricingModel } : {}),
|
|
41
|
+
...(cost.pricingMatchedModel ? { pricingMatchedModel: cost.pricingMatchedModel } : {}),
|
|
42
|
+
...(cost.pricingSource ? { pricingSource: cost.pricingSource } : {}),
|
|
43
|
+
...(cost.pricingUpdatedAt ? { pricingUpdatedAt: cost.pricingUpdatedAt } : {}),
|
|
44
|
+
estimatedCostUsd: cost.estimatedCostUsd,
|
|
45
|
+
estimatedInputCostUsd: cost.estimatedInputCostUsd,
|
|
46
|
+
estimatedCachedInputCostUsd: cost.estimatedCachedInputCostUsd,
|
|
47
|
+
estimatedUncachedInputCostUsd: cost.estimatedUncachedInputCostUsd,
|
|
48
|
+
estimatedOutputCostUsd: cost.estimatedOutputCostUsd,
|
|
49
|
+
estimatedCostMicroUsd: cost.estimatedCostMicroUsd,
|
|
50
|
+
costEstimateInputOnly: cost.costEstimateInputOnly,
|
|
51
|
+
costEstimateEstimatedInput: cost.costEstimateEstimatedInput,
|
|
52
|
+
costEstimateMissingOutputTokens: cost.costEstimateMissingOutputTokens,
|
|
53
|
+
costEstimateLongContext: cost.costEstimateLongContext,
|
|
54
|
+
...(cost.unknownPricingReason ? { unknownPricingReason: cost.unknownPricingReason } : {})
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=dashboard-ui-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-values.js","sourceRoot":"","sources":["../src/dashboard-ui-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DashboardArtifactContext, DashboardWorkspaceOwnershipEvidence } from './dashboard-ui-types.js';
|
|
2
|
+
import type { FrontierCodexDashboardIgnoredChangedPathReason } from './types-dashboard.js';
|
|
3
|
+
export declare function dashboardWorkspaceOwnershipEvidence(bundle: Record<string, unknown>, metadata: Record<string, unknown>, context: DashboardArtifactContext): Promise<DashboardWorkspaceOwnershipEvidence>;
|
|
4
|
+
export declare function dashboardArtifactRoots(cwd: string, ...values: Array<string | undefined>): string[];
|
|
5
|
+
export declare function ignoredChangedPathReasonArrayValue(value: unknown): FrontierCodexDashboardIgnoredChangedPathReason[];
|
|
6
|
+
export declare function isIgnoredChangedPath(file: string, ignoredPaths: readonly string[]): boolean;
|
|
7
|
+
//# sourceMappingURL=dashboard-ui-workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-ui-workspace.d.ts","sourceRoot":"","sources":["../src/dashboard-ui-workspace.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AAQ7G,OAAO,KAAK,EACV,8CAA8C,EAC/C,MAAM,sBAAsB,CAAC;AAG9B,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,mCAAmC,CAAC,CAS9C;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,CAGlG;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,8CAA8C,EAAE,CAUnH;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAO3F"}
|