@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.
Files changed (78) hide show
  1. package/README.md +2 -2
  2. package/dist/cli-args.d.ts.map +1 -1
  3. package/dist/cli-args.js +3 -1
  4. package/dist/cli-args.js.map +1 -1
  5. package/dist/cli-help.d.ts.map +1 -1
  6. package/dist/cli-help.js +5 -0
  7. package/dist/cli-help.js.map +1 -1
  8. package/dist/cli-live-routing-args.d.ts +4 -0
  9. package/dist/cli-live-routing-args.d.ts.map +1 -0
  10. package/dist/cli-live-routing-args.js +31 -0
  11. package/dist/cli-live-routing-args.js.map +1 -0
  12. package/dist/codex-events.d.ts +7 -0
  13. package/dist/codex-events.d.ts.map +1 -1
  14. package/dist/codex-events.js +15 -1
  15. package/dist/codex-events.js.map +1 -1
  16. package/dist/codex-run-scheduler.d.ts +10 -2
  17. package/dist/codex-run-scheduler.d.ts.map +1 -1
  18. package/dist/codex-run-scheduler.js +91 -10
  19. package/dist/codex-run-scheduler.js.map +1 -1
  20. package/dist/codex-run-swarm.d.ts.map +1 -1
  21. package/dist/codex-run-swarm.js +56 -7
  22. package/dist/codex-run-swarm.js.map +1 -1
  23. package/dist/collect-runtime-projections.d.ts +4 -0
  24. package/dist/collect-runtime-projections.d.ts.map +1 -0
  25. package/dist/collect-runtime-projections.js +37 -0
  26. package/dist/collect-runtime-projections.js.map +1 -0
  27. package/dist/collect.d.ts.map +1 -1
  28. package/dist/collect.js +9 -0
  29. package/dist/collect.js.map +1 -1
  30. package/dist/constants.d.ts +8 -0
  31. package/dist/constants.d.ts.map +1 -1
  32. package/dist/constants.js +8 -0
  33. package/dist/constants.js.map +1 -1
  34. package/dist/continuation-human-actions.d.ts.map +1 -1
  35. package/dist/continuation-human-actions.js +4 -1
  36. package/dist/continuation-human-actions.js.map +1 -1
  37. package/dist/dashboard-ui.d.ts.map +1 -1
  38. package/dist/dashboard-ui.js +23 -2
  39. package/dist/dashboard-ui.js.map +1 -1
  40. package/dist/index.d.ts +5 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +3 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/live-routing.d.ts +43 -0
  45. package/dist/live-routing.d.ts.map +1 -0
  46. package/dist/live-routing.js +85 -0
  47. package/dist/live-routing.js.map +1 -0
  48. package/dist/runtime-human-actions.d.ts +18 -0
  49. package/dist/runtime-human-actions.d.ts.map +1 -0
  50. package/dist/runtime-human-actions.js +110 -0
  51. package/dist/runtime-human-actions.js.map +1 -0
  52. package/dist/runtime-model-telemetry.d.ts +18 -0
  53. package/dist/runtime-model-telemetry.d.ts.map +1 -0
  54. package/dist/runtime-model-telemetry.js +201 -0
  55. package/dist/runtime-model-telemetry.js.map +1 -0
  56. package/dist/runtime-projection-common.d.ts +28 -0
  57. package/dist/runtime-projection-common.d.ts.map +1 -0
  58. package/dist/runtime-projection-common.js +97 -0
  59. package/dist/runtime-projection-common.js.map +1 -0
  60. package/dist/runtime-projections.d.ts +28 -0
  61. package/dist/runtime-projections.d.ts.map +1 -0
  62. package/dist/runtime-projections.js +73 -0
  63. package/dist/runtime-projections.js.map +1 -0
  64. package/dist/types-dashboard.d.ts +24 -0
  65. package/dist/types-dashboard.d.ts.map +1 -1
  66. package/dist/types-live-routing.d.ts +14 -0
  67. package/dist/types-live-routing.d.ts.map +1 -0
  68. package/dist/types-live-routing.js +2 -0
  69. package/dist/types-live-routing.js.map +1 -0
  70. package/dist/types-run.d.ts +18 -1
  71. package/dist/types-run.d.ts.map +1 -1
  72. package/dist/types-runtime-projections.d.ts +153 -0
  73. package/dist/types-runtime-projections.d.ts.map +1 -0
  74. package/dist/types-runtime-projections.js +2 -0
  75. package/dist/types-runtime-projections.js.map +1 -0
  76. package/dist/types.d.ts +2 -0
  77. package/dist/types.d.ts.map +1 -1
  78. 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"}