@shapeshift-labs/frontier-swarm-codex 0.5.130 → 0.5.132
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 +2 -2
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +3 -1
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +5 -0
- package/dist/cli-help.js.map +1 -1
- package/dist/cli-live-routing-args.d.ts +4 -0
- package/dist/cli-live-routing-args.d.ts.map +1 -0
- package/dist/cli-live-routing-args.js +31 -0
- package/dist/cli-live-routing-args.js.map +1 -0
- package/dist/codex-events.d.ts +7 -0
- package/dist/codex-events.d.ts.map +1 -1
- package/dist/codex-events.js +15 -1
- package/dist/codex-events.js.map +1 -1
- package/dist/codex-run-scheduler.d.ts +10 -2
- package/dist/codex-run-scheduler.d.ts.map +1 -1
- package/dist/codex-run-scheduler.js +91 -10
- package/dist/codex-run-scheduler.js.map +1 -1
- package/dist/codex-run-swarm.d.ts.map +1 -1
- package/dist/codex-run-swarm.js +56 -7
- package/dist/codex-run-swarm.js.map +1 -1
- package/dist/collect-runtime-projections.d.ts +4 -0
- package/dist/collect-runtime-projections.d.ts.map +1 -0
- package/dist/collect-runtime-projections.js +37 -0
- package/dist/collect-runtime-projections.js.map +1 -0
- package/dist/collect.d.ts.map +1 -1
- package/dist/collect.js +9 -0
- package/dist/collect.js.map +1 -1
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -1
- package/dist/continuation-human-actions.d.ts.map +1 -1
- package/dist/continuation-human-actions.js +4 -1
- package/dist/continuation-human-actions.js.map +1 -1
- package/dist/dashboard-ui.d.ts.map +1 -1
- package/dist/dashboard-ui.js +23 -2
- package/dist/dashboard-ui.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/live-routing.d.ts +43 -0
- package/dist/live-routing.d.ts.map +1 -0
- package/dist/live-routing.js +85 -0
- package/dist/live-routing.js.map +1 -0
- package/dist/runtime-human-actions.d.ts +18 -0
- package/dist/runtime-human-actions.d.ts.map +1 -0
- package/dist/runtime-human-actions.js +110 -0
- package/dist/runtime-human-actions.js.map +1 -0
- package/dist/runtime-model-telemetry.d.ts +18 -0
- package/dist/runtime-model-telemetry.d.ts.map +1 -0
- package/dist/runtime-model-telemetry.js +201 -0
- package/dist/runtime-model-telemetry.js.map +1 -0
- package/dist/runtime-projection-common.d.ts +28 -0
- package/dist/runtime-projection-common.d.ts.map +1 -0
- package/dist/runtime-projection-common.js +97 -0
- package/dist/runtime-projection-common.js.map +1 -0
- package/dist/runtime-projections.d.ts +28 -0
- package/dist/runtime-projections.d.ts.map +1 -0
- package/dist/runtime-projections.js +73 -0
- package/dist/runtime-projections.js.map +1 -0
- package/dist/types-dashboard.d.ts +24 -0
- package/dist/types-dashboard.d.ts.map +1 -1
- package/dist/types-live-routing.d.ts +14 -0
- package/dist/types-live-routing.d.ts.map +1 -0
- package/dist/types-live-routing.js +2 -0
- package/dist/types-live-routing.js.map +1 -0
- package/dist/types-run.d.ts +18 -1
- package/dist/types-run.d.ts.map +1 -1
- package/dist/types-runtime-projections.d.ts +153 -0
- package/dist/types-runtime-projections.d.ts.map +1 -0
- package/dist/types-runtime-projections.js +2 -0
- package/dist/types-runtime-projections.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type FrontierSwarmJob, type FrontierSwarmJobResultInput, type FrontierSwarmModelTelemetryRecordInput, type FrontierSwarmPlan, type FrontierSwarmRoutingController } from '@shapeshift-labs/frontier-swarm';
|
|
2
|
+
import type { FrontierCodexSwarmRunOptions } from './types-run.js';
|
|
3
|
+
import type { FrontierCodexLiveRoutingOptions } from './types-live-routing.js';
|
|
4
|
+
export declare const FRONTIER_SWARM_CODEX_LIVE_ROUTING_POLICY_FILE = "model-routing-policy.live.json";
|
|
5
|
+
export declare const FRONTIER_SWARM_CODEX_LIVE_ROUTING_CONTROLLER_FILE = "routing-controller.json";
|
|
6
|
+
export declare const FRONTIER_SWARM_CODEX_LIVE_ROUTING_HISTORY_FILE = "routing-controller-history.json";
|
|
7
|
+
export interface FrontierCodexLiveRoutingResolvedOptions {
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
routingMode?: FrontierCodexLiveRoutingOptions['routingMode'];
|
|
10
|
+
minSamples?: number;
|
|
11
|
+
preferSuccessRate?: number;
|
|
12
|
+
avoidSuccessRate?: number;
|
|
13
|
+
highCostUsd?: number;
|
|
14
|
+
writeArtifacts: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface FrontierCodexLiveRoutingPaths {
|
|
17
|
+
liveRoutingPolicyPath?: string;
|
|
18
|
+
liveRoutingControllerPath?: string;
|
|
19
|
+
liveRoutingHistoryPath?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function normalizeCodexLiveRoutingOptions(input: FrontierCodexSwarmRunOptions['liveRouting']): FrontierCodexLiveRoutingResolvedOptions;
|
|
22
|
+
export declare function resolveCodexLiveRoutingPaths(options: FrontierCodexSwarmRunOptions, outDir: string): FrontierCodexLiveRoutingPaths;
|
|
23
|
+
export declare function createCodexLiveRoutingTelemetryRecord(input: {
|
|
24
|
+
plan: FrontierSwarmPlan;
|
|
25
|
+
job?: FrontierSwarmJob;
|
|
26
|
+
result: FrontierSwarmJobResultInput;
|
|
27
|
+
generatedAt: number;
|
|
28
|
+
}): FrontierSwarmModelTelemetryRecordInput;
|
|
29
|
+
export declare function createCodexLiveRoutingController(input: {
|
|
30
|
+
plan: FrontierSwarmPlan;
|
|
31
|
+
records: readonly FrontierSwarmModelTelemetryRecordInput[];
|
|
32
|
+
options: FrontierCodexLiveRoutingResolvedOptions;
|
|
33
|
+
activeJobIds?: readonly string[];
|
|
34
|
+
completedJobIds?: readonly string[];
|
|
35
|
+
generatedAt: number;
|
|
36
|
+
}): FrontierSwarmRoutingController;
|
|
37
|
+
export declare function writeCodexLiveRoutingArtifacts(input: {
|
|
38
|
+
paths: FrontierCodexLiveRoutingPaths;
|
|
39
|
+
options: FrontierCodexLiveRoutingResolvedOptions;
|
|
40
|
+
controller: FrontierSwarmRoutingController;
|
|
41
|
+
history: readonly FrontierSwarmRoutingController[];
|
|
42
|
+
}): Promise<void>;
|
|
43
|
+
//# sourceMappingURL=live-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-routing.d.ts","sourceRoot":"","sources":["../src/live-routing.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EAChC,KAAK,sCAAsC,EAC3C,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACpC,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE/E,eAAO,MAAM,6CAA6C,mCAAmC,CAAC;AAC9F,eAAO,MAAM,iDAAiD,4BAA4B,CAAC;AAC3F,eAAO,MAAM,8CAA8C,oCAAoC,CAAC;AAEhG,MAAM,WAAW,uCAAuC;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,+BAA+B,CAAC,aAAa,CAAC,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,4BAA4B,CAAC,aAAa,CAAC,GAAG,uCAAuC,CAY5I;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,GAAG,6BAA6B,CAOjI;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,2BAA2B,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,sCAAsC,CAEzC;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,SAAS,sCAAsC,EAAE,CAAC;IAC3D,OAAO,EAAE,uCAAuC,CAAC;IACjD,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,8BAA8B,CAmBjC;AAED,wBAAsB,8BAA8B,CAAC,KAAK,EAAE;IAC1D,KAAK,EAAE,6BAA6B,CAAC;IACrC,OAAO,EAAE,uCAAuC,CAAC;IACjD,UAAU,EAAE,8BAA8B,CAAC;IAC3C,OAAO,EAAE,SAAS,8BAA8B,EAAE,CAAC;CACpD,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { createSwarmRoutingController } from '@shapeshift-labs/frontier-swarm';
|
|
3
|
+
import { writeJsonAtomic } from './common.js';
|
|
4
|
+
import { createCodexModelTelemetryRecord } from './runtime-model-telemetry.js';
|
|
5
|
+
export const FRONTIER_SWARM_CODEX_LIVE_ROUTING_POLICY_FILE = 'model-routing-policy.live.json';
|
|
6
|
+
export const FRONTIER_SWARM_CODEX_LIVE_ROUTING_CONTROLLER_FILE = 'routing-controller.json';
|
|
7
|
+
export const FRONTIER_SWARM_CODEX_LIVE_ROUTING_HISTORY_FILE = 'routing-controller-history.json';
|
|
8
|
+
export function normalizeCodexLiveRoutingOptions(input) {
|
|
9
|
+
if (input === false)
|
|
10
|
+
return { enabled: false, writeArtifacts: true };
|
|
11
|
+
if (input === true || input === undefined)
|
|
12
|
+
return { enabled: true, writeArtifacts: true };
|
|
13
|
+
return {
|
|
14
|
+
enabled: input.enabled ?? true,
|
|
15
|
+
...(input.routingMode ? { routingMode: input.routingMode } : {}),
|
|
16
|
+
...(positiveNumber(input.minSamples) !== undefined ? { minSamples: positiveNumber(input.minSamples) } : {}),
|
|
17
|
+
...(ratio(input.preferSuccessRate) !== undefined ? { preferSuccessRate: ratio(input.preferSuccessRate) } : {}),
|
|
18
|
+
...(ratio(input.avoidSuccessRate) !== undefined ? { avoidSuccessRate: ratio(input.avoidSuccessRate) } : {}),
|
|
19
|
+
...(positiveNumber(input.highCostUsd) !== undefined ? { highCostUsd: positiveNumber(input.highCostUsd) } : {}),
|
|
20
|
+
writeArtifacts: input.writeArtifacts ?? true
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function resolveCodexLiveRoutingPaths(options, outDir) {
|
|
24
|
+
const cwd = options.cwd ?? process.cwd();
|
|
25
|
+
return {
|
|
26
|
+
liveRoutingPolicyPath: resolveLiveRoutingPath(cwd, outDir, options.liveRoutingPolicyPath, FRONTIER_SWARM_CODEX_LIVE_ROUTING_POLICY_FILE),
|
|
27
|
+
liveRoutingControllerPath: resolveLiveRoutingPath(cwd, outDir, options.liveRoutingControllerPath, FRONTIER_SWARM_CODEX_LIVE_ROUTING_CONTROLLER_FILE),
|
|
28
|
+
liveRoutingHistoryPath: resolveLiveRoutingPath(cwd, outDir, options.liveRoutingHistoryPath, FRONTIER_SWARM_CODEX_LIVE_ROUTING_HISTORY_FILE)
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function createCodexLiveRoutingTelemetryRecord(input) {
|
|
32
|
+
return createCodexModelTelemetryRecord(input);
|
|
33
|
+
}
|
|
34
|
+
export function createCodexLiveRoutingController(input) {
|
|
35
|
+
return createSwarmRoutingController({
|
|
36
|
+
plan: input.plan,
|
|
37
|
+
records: input.records,
|
|
38
|
+
basePolicy: input.plan.routingPolicy,
|
|
39
|
+
routingMode: input.options.routingMode ?? input.plan.routingMode ?? input.plan.routingPolicy?.defaultMode ?? 'fill',
|
|
40
|
+
runningJobIds: input.activeJobIds,
|
|
41
|
+
completedJobIds: input.completedJobIds,
|
|
42
|
+
minSamples: input.options.minSamples,
|
|
43
|
+
preferSuccessRate: input.options.preferSuccessRate,
|
|
44
|
+
avoidSuccessRate: input.options.avoidSuccessRate,
|
|
45
|
+
highCostUsd: input.options.highCostUsd,
|
|
46
|
+
generatedAt: input.generatedAt,
|
|
47
|
+
metadata: {
|
|
48
|
+
source: 'frontier-swarm-codex-live-routing',
|
|
49
|
+
planId: input.plan.id,
|
|
50
|
+
runId: input.plan.runId
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
export async function writeCodexLiveRoutingArtifacts(input) {
|
|
55
|
+
if (!input.options.writeArtifacts)
|
|
56
|
+
return;
|
|
57
|
+
await Promise.all([
|
|
58
|
+
input.paths.liveRoutingPolicyPath ? writeJsonAtomic(input.paths.liveRoutingPolicyPath, input.controller.policy) : undefined,
|
|
59
|
+
input.paths.liveRoutingControllerPath ? writeJsonAtomic(input.paths.liveRoutingControllerPath, input.controller) : undefined,
|
|
60
|
+
input.paths.liveRoutingHistoryPath ? writeJsonAtomic(input.paths.liveRoutingHistoryPath, {
|
|
61
|
+
kind: 'frontier.swarm-codex.live-routing-history',
|
|
62
|
+
version: 1,
|
|
63
|
+
generatedAt: input.controller.generatedAt,
|
|
64
|
+
controllerCount: input.history.length,
|
|
65
|
+
controllers: input.history.slice(-50)
|
|
66
|
+
}) : undefined
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
function resolveLiveRoutingPath(cwd, outDir, value, fallback) {
|
|
70
|
+
if (value === false)
|
|
71
|
+
return undefined;
|
|
72
|
+
if (typeof value === 'string' && value.length > 0)
|
|
73
|
+
return path.resolve(cwd, value);
|
|
74
|
+
return path.join(outDir, fallback);
|
|
75
|
+
}
|
|
76
|
+
function positiveNumber(value) {
|
|
77
|
+
return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : undefined;
|
|
78
|
+
}
|
|
79
|
+
function ratio(value) {
|
|
80
|
+
const number = positiveNumber(value);
|
|
81
|
+
if (number === undefined)
|
|
82
|
+
return undefined;
|
|
83
|
+
return Math.min(1, Math.max(0, number));
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=live-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-routing.js","sourceRoot":"","sources":["../src/live-routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FrontierSwarmJob, FrontierSwarmJobResultInput, FrontierSwarmPlan } from '@shapeshift-labs/frontier-swarm';
|
|
2
|
+
import type { FrontierCodexHumanActionBrokerState, FrontierCodexHumanActionEvent } from './types-runtime-projections.js';
|
|
3
|
+
export declare function createCodexHumanActionEvents(input: {
|
|
4
|
+
plan: FrontierSwarmPlan;
|
|
5
|
+
job?: FrontierSwarmJob;
|
|
6
|
+
result: FrontierSwarmJobResultInput;
|
|
7
|
+
generatedAt: number;
|
|
8
|
+
}): FrontierCodexHumanActionEvent[];
|
|
9
|
+
export declare function readCodexHumanActionEvents(file: string): Promise<FrontierCodexHumanActionEvent[]>;
|
|
10
|
+
export declare function readCodexHumanActionBrokerState(file: string): Promise<FrontierCodexHumanActionBrokerState | undefined>;
|
|
11
|
+
export declare function summarizeCodexHumanActionBrokerState(events: readonly FrontierCodexHumanActionEvent[], context: {
|
|
12
|
+
generatedAt: number;
|
|
13
|
+
runId?: string;
|
|
14
|
+
planId?: string;
|
|
15
|
+
eventPath?: string;
|
|
16
|
+
}): FrontierCodexHumanActionBrokerState;
|
|
17
|
+
export declare function mergeHumanActionsForProjection(...groups: readonly (readonly Record<string, unknown>[] | undefined)[]): Record<string, unknown>[];
|
|
18
|
+
//# sourceMappingURL=runtime-human-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-human-actions.d.ts","sourceRoot":"","sources":["../src/runtime-human-actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAmBxH,OAAO,KAAK,EAAE,mCAAmC,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAEzH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,2BAA2B,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,6BAA6B,EAAE,CAiClC;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAIvG;AAED,wBAAsB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAM5H;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,SAAS,6BAA6B,EAAE,EAChD,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpF,mCAAmC,CAmCrC;AAED,wBAAgB,8BAA8B,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAShJ"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { FRONTIER_SWARM_CODEX_HUMAN_ACTION_EVENT_KIND, FRONTIER_SWARM_CODEX_HUMAN_ACTION_EVENT_VERSION, FRONTIER_SWARM_CODEX_HUMAN_ACTION_STATE_KIND, FRONTIER_SWARM_CODEX_HUMAN_ACTION_STATE_VERSION } from './constants.js';
|
|
3
|
+
import { isObject, pathExists, stableHash, uniqueStrings } from './common.js';
|
|
4
|
+
import { countBy, humanActionIsOpen, humanActionsFromResult, normalizedStatus, readJsonl, stableActionKey, stringArray, stringValue } from './runtime-projection-common.js';
|
|
5
|
+
export function createCodexHumanActionEvents(input) {
|
|
6
|
+
return humanActionsFromResult(input.result).map((action, index) => {
|
|
7
|
+
const resultRecord = input.result;
|
|
8
|
+
const code = stringValue(action.code) ?? `Q-${stableHash([input.result.jobId, index]).replace(/[^a-z0-9]/giu, '').slice(0, 5).toUpperCase()}`;
|
|
9
|
+
const actionId = stringValue(action.id) ?? `human-action:${code}`;
|
|
10
|
+
const status = stringValue(action.status) ?? 'open';
|
|
11
|
+
const evidencePaths = uniqueStrings([
|
|
12
|
+
...stringArray(action.evidencePaths),
|
|
13
|
+
...(Array.isArray(input.result.evidencePaths) ? input.result.evidencePaths.map(String) : [])
|
|
14
|
+
]);
|
|
15
|
+
const changedPaths = Array.isArray(input.result.changedPaths) ? input.result.changedPaths.map(String).filter(Boolean) : [];
|
|
16
|
+
return {
|
|
17
|
+
kind: FRONTIER_SWARM_CODEX_HUMAN_ACTION_EVENT_KIND,
|
|
18
|
+
version: FRONTIER_SWARM_CODEX_HUMAN_ACTION_EVENT_VERSION,
|
|
19
|
+
id: `human-action-event:${input.plan.runId}:${input.result.jobId}:${stableHash([actionId, status, index])}`,
|
|
20
|
+
eventType: eventTypeForHumanActionStatus(status),
|
|
21
|
+
generatedAt: input.generatedAt,
|
|
22
|
+
runId: input.plan.runId,
|
|
23
|
+
planId: input.plan.id,
|
|
24
|
+
jobId: input.result.jobId,
|
|
25
|
+
...(stringValue(action.taskId) ?? stringValue(resultRecord.taskId) ?? input.job?.taskId ? { taskId: stringValue(action.taskId) ?? stringValue(resultRecord.taskId) ?? input.job?.taskId } : {}),
|
|
26
|
+
...(stringValue(action.lane) ?? stringValue(input.job?.lane) ? { lane: stringValue(action.lane) ?? stringValue(input.job?.lane) } : {}),
|
|
27
|
+
actionId,
|
|
28
|
+
code,
|
|
29
|
+
status,
|
|
30
|
+
...(stringValue(action.priority) ? { priority: stringValue(action.priority) } : {}),
|
|
31
|
+
...(stringValue(action.title) ? { title: stringValue(action.title) } : {}),
|
|
32
|
+
...(stringValue(action.question) ? { question: stringValue(action.question) } : {}),
|
|
33
|
+
action,
|
|
34
|
+
evidencePaths,
|
|
35
|
+
changedPaths
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
export async function readCodexHumanActionEvents(file) {
|
|
40
|
+
return (await readJsonl(file)).filter((entry) => {
|
|
41
|
+
return isObject(entry) && entry.kind === FRONTIER_SWARM_CODEX_HUMAN_ACTION_EVENT_KIND;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export async function readCodexHumanActionBrokerState(file) {
|
|
45
|
+
if (!await pathExists(file))
|
|
46
|
+
return undefined;
|
|
47
|
+
const parsed = JSON.parse(await fs.readFile(file, 'utf8'));
|
|
48
|
+
return isObject(parsed) && parsed.kind === FRONTIER_SWARM_CODEX_HUMAN_ACTION_STATE_KIND
|
|
49
|
+
? parsed
|
|
50
|
+
: undefined;
|
|
51
|
+
}
|
|
52
|
+
export function summarizeCodexHumanActionBrokerState(events, context) {
|
|
53
|
+
const byAction = new Map();
|
|
54
|
+
for (const event of events)
|
|
55
|
+
byAction.set(event.actionId, event);
|
|
56
|
+
const actions = Array.from(byAction.values()).map((event) => ({
|
|
57
|
+
...event.action,
|
|
58
|
+
id: stringValue(event.action.id) ?? event.actionId,
|
|
59
|
+
code: event.code,
|
|
60
|
+
status: event.status,
|
|
61
|
+
source: stringValue(event.action.source) ?? 'job',
|
|
62
|
+
jobId: event.jobId,
|
|
63
|
+
...(event.taskId ? { taskId: event.taskId } : {}),
|
|
64
|
+
...(event.lane ? { lane: event.lane } : {}),
|
|
65
|
+
evidencePaths: event.evidencePaths,
|
|
66
|
+
changedPaths: event.changedPaths,
|
|
67
|
+
brokerEventId: event.id,
|
|
68
|
+
brokerEventType: event.eventType
|
|
69
|
+
}));
|
|
70
|
+
const statusCounts = countBy(actions.map((entry) => stringValue(entry.status) ?? 'open'));
|
|
71
|
+
return {
|
|
72
|
+
kind: FRONTIER_SWARM_CODEX_HUMAN_ACTION_STATE_KIND,
|
|
73
|
+
version: FRONTIER_SWARM_CODEX_HUMAN_ACTION_STATE_VERSION,
|
|
74
|
+
id: `human-action-state:${context.runId ?? stableHash(events)}`,
|
|
75
|
+
generatedAt: context.generatedAt,
|
|
76
|
+
...(context.runId ? { runId: context.runId } : {}),
|
|
77
|
+
...(context.planId ? { planId: context.planId } : {}),
|
|
78
|
+
...(context.eventPath ? { eventPath: context.eventPath } : {}),
|
|
79
|
+
actionCount: actions.length,
|
|
80
|
+
openActionCount: actions.filter(humanActionIsOpen).length,
|
|
81
|
+
answeredActionCount: actions.filter((entry) => normalizedStatus(entry.status) === 'answered').length,
|
|
82
|
+
resolvedActionCount: actions.filter((entry) => normalizedStatus(entry.status) === 'resolved').length,
|
|
83
|
+
dismissedActionCount: actions.filter((entry) => ['dismissed', 'cancelled', 'canceled', 'closed'].includes(normalizedStatus(entry.status))).length,
|
|
84
|
+
statusCounts,
|
|
85
|
+
codes: uniqueStrings(actions.map((entry) => stringValue(entry.code) ?? '').filter(Boolean)).sort(),
|
|
86
|
+
actions
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export function mergeHumanActionsForProjection(...groups) {
|
|
90
|
+
const out = new Map();
|
|
91
|
+
for (const group of groups) {
|
|
92
|
+
for (const action of group ?? []) {
|
|
93
|
+
const key = stableActionKey(action);
|
|
94
|
+
if (!out.has(key))
|
|
95
|
+
out.set(key, action);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return Array.from(out.values());
|
|
99
|
+
}
|
|
100
|
+
function eventTypeForHumanActionStatus(status) {
|
|
101
|
+
const normalized = normalizedStatus(status);
|
|
102
|
+
if (normalized === 'answered')
|
|
103
|
+
return 'human-action.answered';
|
|
104
|
+
if (normalized === 'resolved')
|
|
105
|
+
return 'human-action.resolved';
|
|
106
|
+
if (['dismissed', 'cancelled', 'canceled', 'closed'].includes(normalized))
|
|
107
|
+
return 'human-action.dismissed';
|
|
108
|
+
return 'human-action.opened';
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=runtime-human-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-human-actions.js","sourceRoot":"","sources":["../src/runtime-human-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FrontierSwarmJob, FrontierSwarmJobResultInput, FrontierSwarmPlan } from '@shapeshift-labs/frontier-swarm';
|
|
2
|
+
import type { FrontierCodexModelTelemetryRecord, FrontierCodexModelTelemetrySummary } from './types-runtime-projections.js';
|
|
3
|
+
export declare function createCodexModelTelemetryRecord(input: {
|
|
4
|
+
plan: FrontierSwarmPlan;
|
|
5
|
+
job?: FrontierSwarmJob;
|
|
6
|
+
result: FrontierSwarmJobResultInput;
|
|
7
|
+
generatedAt: number;
|
|
8
|
+
}): FrontierCodexModelTelemetryRecord;
|
|
9
|
+
export declare function readCodexModelTelemetryRecords(file: string): Promise<FrontierCodexModelTelemetryRecord[]>;
|
|
10
|
+
export declare function readCodexModelTelemetrySummary(file: string): Promise<FrontierCodexModelTelemetrySummary | undefined>;
|
|
11
|
+
export declare function summarizeCodexModelTelemetry(records: readonly FrontierCodexModelTelemetryRecord[], context: {
|
|
12
|
+
generatedAt: number;
|
|
13
|
+
runId?: string;
|
|
14
|
+
planId?: string;
|
|
15
|
+
telemetryPath?: string;
|
|
16
|
+
}): FrontierCodexModelTelemetrySummary;
|
|
17
|
+
export declare function modelTelemetrySummaryDashboardFields(summary: FrontierCodexModelTelemetrySummary | undefined): Record<string, number>;
|
|
18
|
+
//# sourceMappingURL=runtime-model-telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-model-telemetry.d.ts","sourceRoot":"","sources":["../src/runtime-model-telemetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAoBxH,OAAO,KAAK,EAAE,iCAAiC,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AAE5H,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,2BAA2B,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,iCAAiC,CA6FpC;AAED,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iCAAiC,EAAE,CAAC,CAE/G;AAED,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,GAAG,SAAS,CAAC,CAI1H;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,SAAS,iCAAiC,EAAE,EAAE,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kCAAkC,CA4CjO;AAED,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,kCAAkC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcpI"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_KIND, FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_SUMMARY_KIND, FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_SUMMARY_VERSION, FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_VERSION } from './constants.js';
|
|
3
|
+
import { isObject, pathExists } from './common.js';
|
|
4
|
+
import { estimateCodexModelCost } from './model-pricing.js';
|
|
5
|
+
import { countBy, humanActionIsOpen, humanActionsFromResult, numberValue, optionalNumberValue, readJsonl, roundUsd, stringArray, stringValue } from './runtime-projection-common.js';
|
|
6
|
+
export function createCodexModelTelemetryRecord(input) {
|
|
7
|
+
const { job, result } = input;
|
|
8
|
+
const jobRecord = isObject(job) ? job : {};
|
|
9
|
+
const resultRecord = result;
|
|
10
|
+
const metadata = isObject(result.metadata) ? result.metadata : {};
|
|
11
|
+
const task = isObject(job?.task) ? job.task : {};
|
|
12
|
+
const compute = isObject(job?.compute) ? job.compute : {};
|
|
13
|
+
const computeMetadata = isObject(compute.metadata) ? compute.metadata : {};
|
|
14
|
+
const contextBudget = isObject(metadata.contextBudget) ? metadata.contextBudget : {};
|
|
15
|
+
const measured = isObject(contextBudget.measured) ? contextBudget.measured : {};
|
|
16
|
+
const usage = isObject(contextBudget.usage) ? contextBudget.usage : {};
|
|
17
|
+
const logSummary = isObject(metadata.logSummary) ? metadata.logSummary : {};
|
|
18
|
+
const humanActions = humanActionsFromResult(result);
|
|
19
|
+
const verification = Array.isArray(result.verification) ? result.verification : [];
|
|
20
|
+
const gateEvidence = isObject(metadata.verificationGateEvidence) ? metadata.verificationGateEvidence : {};
|
|
21
|
+
const semanticImport = isObject(result.semanticImport) ? result.semanticImport : isObject(metadata.semanticImport) ? metadata.semanticImport : {};
|
|
22
|
+
const model = stringValue(compute.model) ?? stringValue(metadata.model);
|
|
23
|
+
const actualInputTokens = numberValue(usage.inputTokens, numberValue(measured.actualInputTokens));
|
|
24
|
+
const cachedInputTokens = numberValue(usage.cachedInputTokens);
|
|
25
|
+
const uncachedInputTokens = numberValue(usage.uncachedInputTokens, Math.max(0, actualInputTokens - cachedInputTokens));
|
|
26
|
+
const outputTokens = numberValue(usage.outputTokens);
|
|
27
|
+
const estimatedInputTokens = numberValue(measured.estimatedInputTokens);
|
|
28
|
+
const cost = estimateCodexModelCost({ model, estimatedInputTokens, actualInputTokens, cachedInputTokens, uncachedInputTokens, outputTokens: optionalNumberValue(usage.outputTokens) });
|
|
29
|
+
const startedAt = optionalNumberValue(result.startedAt);
|
|
30
|
+
const finishedAt = optionalNumberValue(result.finishedAt);
|
|
31
|
+
const changedPaths = Array.isArray(result.changedPaths) ? result.changedPaths.map(String).filter(Boolean) : [];
|
|
32
|
+
const ownershipViolations = Array.isArray(result.ownershipViolations) ? result.ownershipViolations.map(String).filter(Boolean) : [];
|
|
33
|
+
const evidencePaths = Array.isArray(result.evidencePaths) ? result.evidencePaths.map(String).filter(Boolean) : [];
|
|
34
|
+
const taskKind = stringValue(task.taskKind) ?? stringValue(task.kind) ?? stringValue(task.surfaceKind);
|
|
35
|
+
const workKind = stringValue(task.workKind);
|
|
36
|
+
return {
|
|
37
|
+
kind: FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_KIND,
|
|
38
|
+
version: FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_VERSION,
|
|
39
|
+
id: `model-telemetry:${input.plan.runId}:${result.jobId}`,
|
|
40
|
+
generatedAt: input.generatedAt,
|
|
41
|
+
runId: input.plan.runId,
|
|
42
|
+
planId: input.plan.id,
|
|
43
|
+
jobId: result.jobId,
|
|
44
|
+
...(stringValue(resultRecord.taskId) ?? job?.taskId ? { taskId: stringValue(resultRecord.taskId) ?? job?.taskId } : {}),
|
|
45
|
+
...(stringValue(job?.lane) ? { lane: stringValue(job?.lane) } : {}),
|
|
46
|
+
...(stringValue(jobRecord.title ?? task.title) ? { title: stringValue(jobRecord.title ?? task.title) } : {}),
|
|
47
|
+
...(workKind ? { workKind } : {}),
|
|
48
|
+
...(taskKind ? { taskKind } : {}),
|
|
49
|
+
...(stringValue(job?.layer) ? { layer: stringValue(job?.layer) } : {}),
|
|
50
|
+
...(stringValue(compute.id) ? { computeId: stringValue(compute.id) } : {}),
|
|
51
|
+
...(stringValue(compute.kind) ? { computeKind: stringValue(compute.kind) } : {}),
|
|
52
|
+
...(model ? { model } : {}),
|
|
53
|
+
...(stringValue(computeMetadata.modelTier ?? computeMetadata.tier) ? { modelTier: stringValue(computeMetadata.modelTier ?? computeMetadata.tier) } : {}),
|
|
54
|
+
...(stringValue(compute.reasoningEffort) ? { reasoningEffort: stringValue(compute.reasoningEffort) } : {}),
|
|
55
|
+
...(stringValue(compute.serviceTier) ? { serviceTier: stringValue(compute.serviceTier) } : {}),
|
|
56
|
+
...(stringValue(result.status) ? { status: stringValue(result.status) } : {}),
|
|
57
|
+
...(stringValue(result.mergeReadiness) ? { mergeReadiness: stringValue(result.mergeReadiness) } : {}),
|
|
58
|
+
...(stringValue(result.mergeDisposition) ? { mergeDisposition: stringValue(result.mergeDisposition) } : {}),
|
|
59
|
+
...(startedAt ? { startedAt } : {}),
|
|
60
|
+
...(finishedAt ? { finishedAt } : {}),
|
|
61
|
+
durationMs: startedAt && finishedAt ? Math.max(0, finishedAt - startedAt) : 0,
|
|
62
|
+
...(optionalNumberValue(result.exitCode) !== undefined ? { exitCode: optionalNumberValue(result.exitCode) } : {}),
|
|
63
|
+
...(stringValue(result.signal) ? { signal: stringValue(result.signal) } : {}),
|
|
64
|
+
changedPathCount: changedPaths.length,
|
|
65
|
+
ownershipViolationCount: ownershipViolations.length,
|
|
66
|
+
evidencePathCount: evidencePaths.length,
|
|
67
|
+
promptBytes: numberValue(measured.promptBytes),
|
|
68
|
+
estimatedInputTokens,
|
|
69
|
+
actualInputTokens,
|
|
70
|
+
cachedInputTokens,
|
|
71
|
+
uncachedInputTokens,
|
|
72
|
+
outputTokens,
|
|
73
|
+
...costFields(cost),
|
|
74
|
+
...(stringValue(contextBudget.status) ? { contextBudgetStatus: stringValue(contextBudget.status) } : {}),
|
|
75
|
+
contextBudgetWarningCount: stringArray(contextBudget.warnings).length,
|
|
76
|
+
contextBudgetErrorCount: stringArray(contextBudget.errors).length,
|
|
77
|
+
verificationTotal: verification.length,
|
|
78
|
+
verificationPassed: verification.filter((entry) => verificationStatus(entry) === 0).length,
|
|
79
|
+
verificationFailed: verification.filter((entry) => verificationStatus(entry) !== 0).length,
|
|
80
|
+
verificationRequiredFailed: verification.filter((entry) => verificationRequired(entry) && verificationStatus(entry) !== 0).length,
|
|
81
|
+
...(stringValue(gateEvidence.gateExecutionsPath) ? { gateExecutionsPath: stringValue(gateEvidence.gateExecutionsPath) } : {}),
|
|
82
|
+
...(stringValue(gateEvidence.gateSummaryPath) ? { gateSummaryPath: stringValue(gateEvidence.gateSummaryPath) } : {}),
|
|
83
|
+
humanActionCount: humanActions.length,
|
|
84
|
+
openHumanActionCount: humanActions.filter(humanActionIsOpen).length,
|
|
85
|
+
semanticImportPresent: Object.keys(semanticImport).length > 0,
|
|
86
|
+
semanticImportCandidateCount: numberValue(semanticImport.candidateCount ?? semanticImport.candidates),
|
|
87
|
+
semanticImportSelectedCount: numberValue(semanticImport.selectedCount ?? semanticImport.selected),
|
|
88
|
+
metadata: {
|
|
89
|
+
...(stringValue(metadata.queueOutcome) ? { queueOutcome: stringValue(metadata.queueOutcome) } : {}),
|
|
90
|
+
...(stringValue(metadata.source) ? { source: stringValue(metadata.source) } : {}),
|
|
91
|
+
eventBytes: numberValue(logSummary.eventBytes),
|
|
92
|
+
stderrBytes: numberValue(logSummary.stderrBytes),
|
|
93
|
+
eventBytesTruncated: numberValue(logSummary.eventBytesTruncated),
|
|
94
|
+
stderrBytesTruncated: numberValue(logSummary.stderrBytesTruncated),
|
|
95
|
+
contextBudgetWarnings: stringArray(contextBudget.warnings),
|
|
96
|
+
contextBudgetErrors: stringArray(contextBudget.errors)
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
export async function readCodexModelTelemetryRecords(file) {
|
|
101
|
+
return (await readJsonl(file)).filter((entry) => isObject(entry) && entry.kind === FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_KIND);
|
|
102
|
+
}
|
|
103
|
+
export async function readCodexModelTelemetrySummary(file) {
|
|
104
|
+
if (!await pathExists(file))
|
|
105
|
+
return undefined;
|
|
106
|
+
const parsed = JSON.parse(await fs.readFile(file, 'utf8'));
|
|
107
|
+
return isObject(parsed) && parsed.kind === FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_SUMMARY_KIND ? parsed : undefined;
|
|
108
|
+
}
|
|
109
|
+
export function summarizeCodexModelTelemetry(records, context) {
|
|
110
|
+
return {
|
|
111
|
+
kind: FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_SUMMARY_KIND,
|
|
112
|
+
version: FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_SUMMARY_VERSION,
|
|
113
|
+
generatedAt: context.generatedAt,
|
|
114
|
+
...(context.runId ? { runId: context.runId } : {}),
|
|
115
|
+
...(context.planId ? { planId: context.planId } : {}),
|
|
116
|
+
...(context.telemetryPath ? { telemetryPath: context.telemetryPath } : {}),
|
|
117
|
+
recordCount: records.length,
|
|
118
|
+
jobCount: new Set(records.map((entry) => entry.jobId)).size,
|
|
119
|
+
statusCounts: countBy(records.map((entry) => entry.status ?? 'unknown')),
|
|
120
|
+
laneCounts: countBy(records.map((entry) => entry.lane ?? 'unknown')),
|
|
121
|
+
computeCounts: countBy(records.map((entry) => entry.computeId ?? 'unknown')),
|
|
122
|
+
modelCounts: countBy(records.map((entry) => entry.model ?? 'unknown')),
|
|
123
|
+
modelTierCounts: countBy(records.map((entry) => entry.modelTier ?? 'unknown')),
|
|
124
|
+
taskKindCounts: countBy(records.map((entry) => entry.taskKind ?? 'unknown')),
|
|
125
|
+
workKindCounts: countBy(records.map((entry) => entry.workKind ?? 'unknown')),
|
|
126
|
+
totalDurationMs: records.reduce((sum, entry) => sum + entry.durationMs, 0),
|
|
127
|
+
maxDurationMs: Math.max(0, ...records.map((entry) => entry.durationMs)),
|
|
128
|
+
promptBytes: sumRecords(records, 'promptBytes'),
|
|
129
|
+
estimatedInputTokens: sumRecords(records, 'estimatedInputTokens'),
|
|
130
|
+
actualInputTokens: sumRecords(records, 'actualInputTokens'),
|
|
131
|
+
cachedInputTokens: sumRecords(records, 'cachedInputTokens'),
|
|
132
|
+
uncachedInputTokens: sumRecords(records, 'uncachedInputTokens'),
|
|
133
|
+
outputTokens: sumRecords(records, 'outputTokens'),
|
|
134
|
+
billableInputTokens: sumRecords(records, 'billableInputTokens'),
|
|
135
|
+
priceKnownRecordCount: records.filter((entry) => entry.priceKnown).length,
|
|
136
|
+
unknownPriceRecordCount: records.filter((entry) => !entry.priceKnown).length,
|
|
137
|
+
inputOnlyCostRecordCount: records.filter((entry) => entry.costEstimateInputOnly).length,
|
|
138
|
+
estimatedInputRecordCount: records.filter((entry) => entry.costEstimateEstimatedInput).length,
|
|
139
|
+
missingOutputTokenRecordCount: records.filter((entry) => entry.costEstimateMissingOutputTokens).length,
|
|
140
|
+
longContextRecordCount: records.filter((entry) => entry.costEstimateLongContext).length,
|
|
141
|
+
estimatedCostUsd: roundUsd(records.reduce((sum, entry) => sum + entry.estimatedCostUsd, 0)),
|
|
142
|
+
estimatedInputCostUsd: roundUsd(records.reduce((sum, entry) => sum + entry.estimatedInputCostUsd, 0)),
|
|
143
|
+
estimatedOutputCostUsd: roundUsd(records.reduce((sum, entry) => sum + entry.estimatedOutputCostUsd, 0)),
|
|
144
|
+
estimatedCostMicroUsd: sumRecords(records, 'estimatedCostMicroUsd'),
|
|
145
|
+
verificationTotal: sumRecords(records, 'verificationTotal'),
|
|
146
|
+
verificationPassed: sumRecords(records, 'verificationPassed'),
|
|
147
|
+
verificationFailed: sumRecords(records, 'verificationFailed'),
|
|
148
|
+
verificationRequiredFailed: sumRecords(records, 'verificationRequiredFailed'),
|
|
149
|
+
humanActionCount: sumRecords(records, 'humanActionCount'),
|
|
150
|
+
openHumanActionCount: sumRecords(records, 'openHumanActionCount'),
|
|
151
|
+
semanticImportPresentCount: records.filter((entry) => entry.semanticImportPresent).length
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
export function modelTelemetrySummaryDashboardFields(summary) {
|
|
155
|
+
return summary ? {
|
|
156
|
+
modelTelemetryRecordCount: summary.recordCount,
|
|
157
|
+
modelTelemetryJobCount: summary.jobCount,
|
|
158
|
+
modelTelemetryPriceKnownRecordCount: summary.priceKnownRecordCount,
|
|
159
|
+
modelTelemetryUnknownPriceRecordCount: summary.unknownPriceRecordCount,
|
|
160
|
+
modelTelemetryEstimatedCostUsd: summary.estimatedCostUsd,
|
|
161
|
+
modelTelemetryEstimatedInputCostUsd: summary.estimatedInputCostUsd,
|
|
162
|
+
modelTelemetryEstimatedOutputCostUsd: summary.estimatedOutputCostUsd,
|
|
163
|
+
modelTelemetryEstimatedCostMicroUsd: summary.estimatedCostMicroUsd,
|
|
164
|
+
modelTelemetryBillableInputTokens: summary.billableInputTokens,
|
|
165
|
+
modelTelemetryOutputTokens: summary.outputTokens,
|
|
166
|
+
modelTelemetryVerificationRequiredFailed: summary.verificationRequiredFailed
|
|
167
|
+
} : {};
|
|
168
|
+
}
|
|
169
|
+
function costFields(cost) {
|
|
170
|
+
return {
|
|
171
|
+
billableInputTokens: cost.billableInputTokens,
|
|
172
|
+
priceKnown: cost.priceKnown,
|
|
173
|
+
...(cost.pricingModel ? { pricingModel: cost.pricingModel } : {}),
|
|
174
|
+
...(cost.pricingMatchedModel ? { pricingMatchedModel: cost.pricingMatchedModel } : {}),
|
|
175
|
+
...(cost.pricingSource ? { pricingSource: cost.pricingSource } : {}),
|
|
176
|
+
...(cost.pricingUpdatedAt ? { pricingUpdatedAt: cost.pricingUpdatedAt } : {}),
|
|
177
|
+
estimatedCostUsd: cost.estimatedCostUsd,
|
|
178
|
+
estimatedInputCostUsd: cost.estimatedInputCostUsd,
|
|
179
|
+
estimatedCachedInputCostUsd: cost.estimatedCachedInputCostUsd,
|
|
180
|
+
estimatedUncachedInputCostUsd: cost.estimatedUncachedInputCostUsd,
|
|
181
|
+
estimatedOutputCostUsd: cost.estimatedOutputCostUsd,
|
|
182
|
+
estimatedCostMicroUsd: cost.estimatedCostMicroUsd,
|
|
183
|
+
costEstimateInputOnly: cost.costEstimateInputOnly,
|
|
184
|
+
costEstimateEstimatedInput: cost.costEstimateEstimatedInput,
|
|
185
|
+
costEstimateMissingOutputTokens: cost.costEstimateMissingOutputTokens,
|
|
186
|
+
costEstimateLongContext: cost.costEstimateLongContext,
|
|
187
|
+
...(cost.unknownPricingReason ? { unknownPricingReason: cost.unknownPricingReason } : {})
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function verificationStatus(value) {
|
|
191
|
+
if (!isObject(value))
|
|
192
|
+
return 1;
|
|
193
|
+
return optionalNumberValue(value.status) ?? optionalNumberValue(value.exitCode) ?? 1;
|
|
194
|
+
}
|
|
195
|
+
function verificationRequired(value) {
|
|
196
|
+
return !isObject(value) || value.required !== false;
|
|
197
|
+
}
|
|
198
|
+
function sumRecords(records, key) {
|
|
199
|
+
return records.reduce((sum, record) => sum + numberValue(record[key]), 0);
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=runtime-model-telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-model-telemetry.js","sourceRoot":"","sources":["../src/runtime-model-telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { FrontierCodexSwarmRunOptions } from './types-run.js';
|
|
2
|
+
export declare const FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_EVENTS_FILE = "model-telemetry.jsonl";
|
|
3
|
+
export declare const FRONTIER_SWARM_CODEX_MODEL_TELEMETRY_SUMMARY_FILE = "model-telemetry-summary.json";
|
|
4
|
+
export declare const FRONTIER_SWARM_CODEX_HUMAN_ACTION_EVENTS_FILE = "human-actions.jsonl";
|
|
5
|
+
export declare const FRONTIER_SWARM_CODEX_HUMAN_ACTION_STATE_FILE = "human-actions-state.json";
|
|
6
|
+
export interface FrontierCodexRuntimeProjectionPaths {
|
|
7
|
+
modelTelemetryPath?: string;
|
|
8
|
+
modelTelemetrySummaryPath?: string;
|
|
9
|
+
humanActionEventsPath?: string;
|
|
10
|
+
humanActionStatePath?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function resolveCodexRuntimeProjectionPaths(options: FrontierCodexSwarmRunOptions, outDir: string): FrontierCodexRuntimeProjectionPaths;
|
|
13
|
+
export declare function initCodexRuntimeProjectionStores(paths: FrontierCodexRuntimeProjectionPaths): Promise<void>;
|
|
14
|
+
export declare function appendJsonlQueued(file: string, value: unknown): Promise<void>;
|
|
15
|
+
export declare function readJsonl(file: string): Promise<unknown[]>;
|
|
16
|
+
export declare function humanActionsFromResult(result: {
|
|
17
|
+
metadata?: unknown;
|
|
18
|
+
}): Record<string, unknown>[];
|
|
19
|
+
export declare function humanActionIsOpen(action: Record<string, unknown>): boolean;
|
|
20
|
+
export declare function normalizedStatus(value: unknown): string;
|
|
21
|
+
export declare function stableActionKey(action: Record<string, unknown>): string;
|
|
22
|
+
export declare function countBy(values: readonly string[]): Record<string, number>;
|
|
23
|
+
export declare function stringValue(value: unknown): string | undefined;
|
|
24
|
+
export declare function stringArray(value: unknown): string[];
|
|
25
|
+
export declare function numberValue(value: unknown, fallback?: number): number;
|
|
26
|
+
export declare function optionalNumberValue(value: unknown): number | undefined;
|
|
27
|
+
export declare function roundUsd(value: number): number;
|
|
28
|
+
//# sourceMappingURL=runtime-projection-common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-projection-common.d.ts","sourceRoot":"","sources":["../src/runtime-projection-common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAEnE,eAAO,MAAM,gDAAgD,0BAA0B,CAAC;AACxF,eAAO,MAAM,iDAAiD,iCAAiC,CAAC;AAChG,eAAO,MAAM,6CAA6C,wBAAwB,CAAC;AACnF,eAAO,MAAM,4CAA4C,6BAA6B,CAAC;AAEvF,MAAM,WAAW,mCAAmC;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAID,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,4BAA4B,EACrC,MAAM,EAAE,MAAM,GACb,mCAAmC,CAOrC;AAED,wBAAsB,gCAAgC,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhH;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAenF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAOhE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAGhG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAI1E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEvD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEvE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAEpD;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,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|