jfl 0.7.2 → 0.8.0
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/dist/commands/context-hub.d.ts.map +1 -1
- package/dist/commands/context-hub.js +26 -0
- package/dist/commands/context-hub.js.map +1 -1
- package/dist/commands/migrate-tenet.d.ts +25 -0
- package/dist/commands/migrate-tenet.d.ts.map +1 -0
- package/dist/commands/migrate-tenet.js +252 -0
- package/dist/commands/migrate-tenet.js.map +1 -0
- package/dist/commands/peter.d.ts.map +1 -1
- package/dist/commands/peter.js +47 -5
- package/dist/commands/peter.js.map +1 -1
- package/dist/commands/pi.d.ts +1 -0
- package/dist/commands/pi.d.ts.map +1 -1
- package/dist/commands/pi.js +5 -1
- package/dist/commands/pi.js.map +1 -1
- package/dist/commands/pivot.d.ts +28 -0
- package/dist/commands/pivot.d.ts.map +1 -0
- package/dist/commands/pivot.js +219 -0
- package/dist/commands/pivot.js.map +1 -0
- package/dist/commands/services-create.js +348 -0
- package/dist/commands/services-create.js.map +1 -1
- package/dist/dashboard-static/assets/index-BVrmW-ZI.js +154 -0
- package/dist/dashboard-static/assets/{index-CW8oWAdr.css → index-DtruPD44.css} +1 -1
- package/dist/dashboard-static/index.html +2 -2
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-generator.d.ts.map +1 -1
- package/dist/lib/agent-generator.js +15 -0
- package/dist/lib/agent-generator.js.map +1 -1
- package/dist/lib/counterfactual-engine.d.ts +136 -0
- package/dist/lib/counterfactual-engine.d.ts.map +1 -0
- package/dist/lib/counterfactual-engine.js +417 -0
- package/dist/lib/counterfactual-engine.js.map +1 -0
- package/dist/lib/dynamics-model.d.ts +107 -0
- package/dist/lib/dynamics-model.d.ts.map +1 -0
- package/dist/lib/dynamics-model.js +363 -0
- package/dist/lib/dynamics-model.js.map +1 -0
- package/dist/lib/eval-snapshot.d.ts.map +1 -1
- package/dist/lib/eval-snapshot.js +15 -4
- package/dist/lib/eval-snapshot.js.map +1 -1
- package/dist/lib/invariant-monitor.d.ts +50 -0
- package/dist/lib/invariant-monitor.d.ts.map +1 -0
- package/dist/lib/invariant-monitor.js +400 -0
- package/dist/lib/invariant-monitor.js.map +1 -0
- package/dist/lib/meta-orchestrator.d.ts +40 -3
- package/dist/lib/meta-orchestrator.d.ts.map +1 -1
- package/dist/lib/meta-orchestrator.js +181 -2
- package/dist/lib/meta-orchestrator.js.map +1 -1
- package/dist/lib/openclaw-sdk.d.ts +8 -0
- package/dist/lib/openclaw-sdk.d.ts.map +1 -1
- package/dist/lib/openclaw-sdk.js +11 -0
- package/dist/lib/openclaw-sdk.js.map +1 -1
- package/dist/lib/peter-parker-bridge.d.ts +37 -1
- package/dist/lib/peter-parker-bridge.d.ts.map +1 -1
- package/dist/lib/peter-parker-bridge.js +201 -1
- package/dist/lib/peter-parker-bridge.js.map +1 -1
- package/dist/lib/service-detector.d.ts +1 -1
- package/dist/lib/service-detector.d.ts.map +1 -1
- package/dist/lib/service-detector.js +26 -6
- package/dist/lib/service-detector.js.map +1 -1
- package/dist/lib/service-gtm.d.ts +1 -1
- package/dist/lib/service-gtm.d.ts.map +1 -1
- package/dist/lib/state-capture.d.ts +36 -0
- package/dist/lib/state-capture.d.ts.map +1 -0
- package/dist/lib/state-capture.js +541 -0
- package/dist/lib/state-capture.js.map +1 -0
- package/dist/lib/stratus-client.d.ts +78 -2
- package/dist/lib/stratus-client.d.ts.map +1 -1
- package/dist/lib/stratus-client.js +432 -1
- package/dist/lib/stratus-client.js.map +1 -1
- package/dist/lib/world-model-store.d.ts +172 -0
- package/dist/lib/world-model-store.d.ts.map +1 -0
- package/dist/lib/world-model-store.js +487 -0
- package/dist/lib/world-model-store.js.map +1 -0
- package/dist/types/world-model.d.ts +478 -0
- package/dist/types/world-model.d.ts.map +1 -0
- package/dist/types/world-model.js +80 -0
- package/dist/types/world-model.js.map +1 -0
- package/dist/utils/jfl-config.d.ts +5 -0
- package/dist/utils/jfl-config.d.ts.map +1 -1
- package/dist/utils/jfl-config.js +13 -1
- package/dist/utils/jfl-config.js.map +1 -1
- package/package.json +1 -1
- package/packages/pi/extensions/hud-tool.ts +2 -24
- package/packages/pi/extensions/index.ts +48 -25
- package/packages/pi/extensions/onboarding-v1.ts +455 -0
- package/packages/pi/extensions/onboarding-v2.ts +516 -0
- package/packages/pi/extensions/onboarding-v3.ts +675 -0
- package/packages/pi/extensions/pivot-tool.ts +59 -0
- package/packages/pi/extensions/session.ts +58 -0
- package/packages/pi/extensions/types.ts +2 -0
- package/packages/pi/skills/pivot/SKILL.md +91 -0
- package/template/.claude/settings.json +9 -0
- package/dist/dashboard-static/assets/index-Ck8f9dcM.js +0 -121
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamics Model
|
|
3
|
+
*
|
|
4
|
+
* Core prediction engine for the Agent World Model.
|
|
5
|
+
* Uses historical transition data when available, falls back to Stratus reasoning
|
|
6
|
+
* for novel (state, action) pairs.
|
|
7
|
+
*
|
|
8
|
+
* Algorithm:
|
|
9
|
+
* 1. Find similar historical transitions using state/action similarity
|
|
10
|
+
* 2. If 5+ similar transitions with confidence > 0.85 → aggregate historical outcomes
|
|
11
|
+
* 3. Otherwise → call Stratus with state + action + similar context for prediction
|
|
12
|
+
* 4. Cache predictions in dynamics-cache.jsonl
|
|
13
|
+
*
|
|
14
|
+
* @purpose Transition prediction engine using historical data + Stratus reasoning
|
|
15
|
+
* @spec world-model-roadmap.md#dynamics-model
|
|
16
|
+
*/
|
|
17
|
+
import type { WorldState, AgentAction, StateTransition, PredictionResult } from "../types/world-model.js";
|
|
18
|
+
import { WorldModelStore } from "./world-model-store.js";
|
|
19
|
+
declare const DEFAULT_CONFIG: {
|
|
20
|
+
/** Minimum similar transitions to use historical aggregation */
|
|
21
|
+
minSimilarTransitions: number;
|
|
22
|
+
/** Minimum confidence for historical aggregation */
|
|
23
|
+
minAggregationConfidence: number;
|
|
24
|
+
/** Maximum transitions to consider for similarity */
|
|
25
|
+
maxTransitionsToSearch: number;
|
|
26
|
+
/** State similarity threshold */
|
|
27
|
+
stateSimilarityThreshold: number;
|
|
28
|
+
/** Action similarity weight */
|
|
29
|
+
actionSimilarityWeight: number;
|
|
30
|
+
/** State similarity weight */
|
|
31
|
+
stateSimilarityWeight: number;
|
|
32
|
+
/** How long cached predictions are valid (ms) */
|
|
33
|
+
cacheTtlMs: number;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* DynamicsModel predicts outcomes by combining historical data with Stratus reasoning
|
|
37
|
+
*/
|
|
38
|
+
export declare class DynamicsModel {
|
|
39
|
+
private store;
|
|
40
|
+
private stratus;
|
|
41
|
+
private config;
|
|
42
|
+
private projectRoot;
|
|
43
|
+
/**
|
|
44
|
+
* Create a new DynamicsModel
|
|
45
|
+
* @param projectRoot - Project root directory
|
|
46
|
+
* @param config - Optional configuration overrides
|
|
47
|
+
*/
|
|
48
|
+
constructor(projectRoot?: string, config?: Partial<typeof DEFAULT_CONFIG>);
|
|
49
|
+
/**
|
|
50
|
+
* Predict the outcome of an action given the current state
|
|
51
|
+
*
|
|
52
|
+
* Algorithm:
|
|
53
|
+
* 1. Check cache for existing prediction
|
|
54
|
+
* 2. Find similar historical transitions
|
|
55
|
+
* 3. If enough similar transitions with high confidence → aggregate
|
|
56
|
+
* 4. Otherwise → use Stratus for prediction
|
|
57
|
+
* 5. Cache and return result
|
|
58
|
+
*/
|
|
59
|
+
predictOutcome(state: WorldState, action: AgentAction): Promise<PredictionResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Find similar historical transitions
|
|
62
|
+
*
|
|
63
|
+
* @param state - Current state
|
|
64
|
+
* @param action - Proposed action
|
|
65
|
+
* @returns Array of similar transitions with similarity scores
|
|
66
|
+
*/
|
|
67
|
+
findSimilarTransitions(state: WorldState, action: AgentAction): Array<{
|
|
68
|
+
transition: StateTransition;
|
|
69
|
+
similarity: number;
|
|
70
|
+
}>;
|
|
71
|
+
/**
|
|
72
|
+
* Simulate a multi-step trajectory
|
|
73
|
+
*
|
|
74
|
+
* @param state - Starting state
|
|
75
|
+
* @param actions - Sequence of actions
|
|
76
|
+
* @param maxSteps - Maximum steps to simulate
|
|
77
|
+
* @returns Simulated state transitions
|
|
78
|
+
*/
|
|
79
|
+
simulateTrajectory(state: WorldState, actions: AgentAction[], maxSteps?: number): Promise<StateTransition[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Apply a prediction to a state to generate posterior state
|
|
82
|
+
*/
|
|
83
|
+
private applyPredictionToState;
|
|
84
|
+
/**
|
|
85
|
+
* Get prediction statistics
|
|
86
|
+
*/
|
|
87
|
+
getStats(): {
|
|
88
|
+
totalTransitions: number;
|
|
89
|
+
cachedPredictions: number;
|
|
90
|
+
avgConfidence?: number;
|
|
91
|
+
sourceDistribution: Record<string, number>;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Compute state distance (exposed for external use)
|
|
95
|
+
*/
|
|
96
|
+
stateDistance(state1: WorldState, state2: WorldState): number;
|
|
97
|
+
/**
|
|
98
|
+
* Get the underlying store
|
|
99
|
+
*/
|
|
100
|
+
getStore(): WorldModelStore;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create a default DynamicsModel instance
|
|
104
|
+
*/
|
|
105
|
+
export declare function createDynamicsModel(projectRoot?: string): DynamicsModel;
|
|
106
|
+
export {};
|
|
107
|
+
//# sourceMappingURL=dynamics-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamics-model.d.ts","sourceRoot":"","sources":["../../src/lib/dynamics-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EACf,gBAAgB,EACjB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAQxD,QAAA,MAAM,cAAc;IAClB,gEAAgE;;IAEhE,oDAAoD;;IAEpD,qDAAqD;;IAErD,iCAAiC;;IAEjC,+BAA+B;;IAE/B,8BAA8B;;IAE9B,iDAAiD;;CAElD,CAAA;AAyKD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAQ;IAE3B;;;;OAIG;gBAED,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,cAAc,CAAC;IAQzC;;;;;;;;;OASG;IACG,cAAc,CAClB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,gBAAgB,CAAC;IA0C5B;;;;;;OAMG;IACH,sBAAsB,CACpB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,GAClB,KAAK,CAAC;QAAE,UAAU,EAAE,eAAe,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAwB7D;;;;;;;OAOG;IACG,kBAAkB,CACtB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,WAAW,EAAE,EACtB,QAAQ,GAAE,MAAU,GACnB,OAAO,CAAC,eAAe,EAAE,CAAC;IAkC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;OAEG;IACH,QAAQ,IAAI;QACV,gBAAgB,EAAE,MAAM,CAAA;QACxB,iBAAiB,EAAE,MAAM,CAAA;QACzB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC3C;IA2BD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM;IAI7D;;OAEG;IACH,QAAQ,IAAI,eAAe;CAG5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,CAEvE"}
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamics Model
|
|
3
|
+
*
|
|
4
|
+
* Core prediction engine for the Agent World Model.
|
|
5
|
+
* Uses historical transition data when available, falls back to Stratus reasoning
|
|
6
|
+
* for novel (state, action) pairs.
|
|
7
|
+
*
|
|
8
|
+
* Algorithm:
|
|
9
|
+
* 1. Find similar historical transitions using state/action similarity
|
|
10
|
+
* 2. If 5+ similar transitions with confidence > 0.85 → aggregate historical outcomes
|
|
11
|
+
* 3. Otherwise → call Stratus with state + action + similar context for prediction
|
|
12
|
+
* 4. Cache predictions in dynamics-cache.jsonl
|
|
13
|
+
*
|
|
14
|
+
* @purpose Transition prediction engine using historical data + Stratus reasoning
|
|
15
|
+
* @spec world-model-roadmap.md#dynamics-model
|
|
16
|
+
*/
|
|
17
|
+
import { WorldModelStore } from "./world-model-store.js";
|
|
18
|
+
import { StratusClient } from "./stratus-client.js";
|
|
19
|
+
import { computeStateSimilarity } from "./state-capture.js";
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// Configuration
|
|
22
|
+
// ============================================================================
|
|
23
|
+
const DEFAULT_CONFIG = {
|
|
24
|
+
/** Minimum similar transitions to use historical aggregation */
|
|
25
|
+
minSimilarTransitions: 5,
|
|
26
|
+
/** Minimum confidence for historical aggregation */
|
|
27
|
+
minAggregationConfidence: 0.85,
|
|
28
|
+
/** Maximum transitions to consider for similarity */
|
|
29
|
+
maxTransitionsToSearch: 1000,
|
|
30
|
+
/** State similarity threshold */
|
|
31
|
+
stateSimilarityThreshold: 0.6,
|
|
32
|
+
/** Action similarity weight */
|
|
33
|
+
actionSimilarityWeight: 0.3,
|
|
34
|
+
/** State similarity weight */
|
|
35
|
+
stateSimilarityWeight: 0.7,
|
|
36
|
+
/** How long cached predictions are valid (ms) */
|
|
37
|
+
cacheTtlMs: 3600000, // 1 hour
|
|
38
|
+
};
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Similarity Functions
|
|
41
|
+
// ============================================================================
|
|
42
|
+
/**
|
|
43
|
+
* Compute action similarity between two actions
|
|
44
|
+
*/
|
|
45
|
+
function computeActionSimilarity(action1, action2) {
|
|
46
|
+
let similarity = 0;
|
|
47
|
+
let weights = 0;
|
|
48
|
+
// Same agent (weight: 30%)
|
|
49
|
+
weights += 0.3;
|
|
50
|
+
if (action1.agentId === action2.agentId) {
|
|
51
|
+
similarity += 0.3;
|
|
52
|
+
}
|
|
53
|
+
// Same action type (weight: 50%)
|
|
54
|
+
weights += 0.5;
|
|
55
|
+
if (action1.actionType === action2.actionType) {
|
|
56
|
+
similarity += 0.5;
|
|
57
|
+
}
|
|
58
|
+
// Similar confidence (weight: 20%)
|
|
59
|
+
weights += 0.2;
|
|
60
|
+
if (action1.confidence !== undefined && action2.confidence !== undefined) {
|
|
61
|
+
const confDiff = Math.abs(action1.confidence - action2.confidence);
|
|
62
|
+
if (confDiff < 0.1)
|
|
63
|
+
similarity += 0.2;
|
|
64
|
+
else if (confDiff < 0.3)
|
|
65
|
+
similarity += 0.1;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
similarity += 0.1; // Neutral if confidence unknown
|
|
69
|
+
}
|
|
70
|
+
return similarity / weights;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Compute combined similarity between (state, action) pairs
|
|
74
|
+
*/
|
|
75
|
+
function computeTransitionSimilarity(state1, action1, state2, action2, config = DEFAULT_CONFIG) {
|
|
76
|
+
const stateSim = computeStateSimilarity(state1, state2);
|
|
77
|
+
const actionSim = computeActionSimilarity(action1, action2);
|
|
78
|
+
return (stateSim * config.stateSimilarityWeight +
|
|
79
|
+
actionSim * config.actionSimilarityWeight);
|
|
80
|
+
}
|
|
81
|
+
// ============================================================================
|
|
82
|
+
// Outcome Aggregation
|
|
83
|
+
// ============================================================================
|
|
84
|
+
/**
|
|
85
|
+
* Aggregate outcomes from similar historical transitions
|
|
86
|
+
*/
|
|
87
|
+
function aggregateOutcomes(transitions) {
|
|
88
|
+
if (transitions.length === 0) {
|
|
89
|
+
throw new Error("Cannot aggregate zero transitions");
|
|
90
|
+
}
|
|
91
|
+
// Collect immediate outcomes
|
|
92
|
+
const evalScoreChanges = [];
|
|
93
|
+
const buildSuccesses = [];
|
|
94
|
+
const commitCreated = [];
|
|
95
|
+
const testsPassed = [];
|
|
96
|
+
const testsFailed = [];
|
|
97
|
+
// Collect medium-term outcomes
|
|
98
|
+
const humanInterventions = [];
|
|
99
|
+
const systemStabilities = [];
|
|
100
|
+
for (const t of transitions) {
|
|
101
|
+
const imm = t.outcome.immediate;
|
|
102
|
+
if (imm.evalScoreChange !== undefined && imm.evalScoreChange !== null) {
|
|
103
|
+
evalScoreChanges.push(imm.evalScoreChange);
|
|
104
|
+
}
|
|
105
|
+
if (imm.buildStatus) {
|
|
106
|
+
buildSuccesses.push(imm.buildStatus === "success" ? 1 : 0);
|
|
107
|
+
}
|
|
108
|
+
commitCreated.push(imm.commitCreated);
|
|
109
|
+
if (imm.testResults) {
|
|
110
|
+
testsPassed.push(imm.testResults.passed);
|
|
111
|
+
testsFailed.push(imm.testResults.failed);
|
|
112
|
+
}
|
|
113
|
+
if (t.outcome.mediumTerm) {
|
|
114
|
+
humanInterventions.push(t.outcome.mediumTerm.humanInterventionRequired);
|
|
115
|
+
systemStabilities.push(t.outcome.mediumTerm.systemStability);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// Aggregate using weighted mean
|
|
119
|
+
const mean = (arr) => arr.length > 0
|
|
120
|
+
? arr.reduce((a, b) => a + b, 0) / arr.length
|
|
121
|
+
: undefined;
|
|
122
|
+
const mode = (arr) => {
|
|
123
|
+
const trueCount = arr.filter(x => x).length;
|
|
124
|
+
return trueCount > arr.length / 2;
|
|
125
|
+
};
|
|
126
|
+
// Determine build status (majority vote)
|
|
127
|
+
let buildStatus;
|
|
128
|
+
if (buildSuccesses.length > 0) {
|
|
129
|
+
buildStatus = mean(buildSuccesses) > 0.5 ? "success" : "failed";
|
|
130
|
+
}
|
|
131
|
+
// Confidence based on variance (lower variance = higher confidence)
|
|
132
|
+
let confidence = 0.85;
|
|
133
|
+
if (evalScoreChanges.length > 1) {
|
|
134
|
+
const variance = evalScoreChanges.reduce((sum, val) => {
|
|
135
|
+
const diff = val - mean(evalScoreChanges);
|
|
136
|
+
return sum + diff * diff;
|
|
137
|
+
}, 0) / evalScoreChanges.length;
|
|
138
|
+
// Lower variance = higher confidence
|
|
139
|
+
confidence = Math.max(0.5, 0.95 - variance * 10);
|
|
140
|
+
}
|
|
141
|
+
const outcome = {
|
|
142
|
+
timestamp: Date.now(),
|
|
143
|
+
immediate: {
|
|
144
|
+
evalScoreChange: mean(evalScoreChanges),
|
|
145
|
+
buildStatus,
|
|
146
|
+
testResults: testsPassed.length > 0 ? {
|
|
147
|
+
passed: Math.round(mean(testsPassed)),
|
|
148
|
+
failed: Math.round(mean(testsFailed)),
|
|
149
|
+
} : undefined,
|
|
150
|
+
commitCreated: mode(commitCreated),
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
// Add medium-term if we have data
|
|
154
|
+
if (humanInterventions.length > 0 || systemStabilities.length > 0) {
|
|
155
|
+
outcome.mediumTerm = {
|
|
156
|
+
downstreamEvalImpact: {},
|
|
157
|
+
humanInterventionRequired: mode(humanInterventions),
|
|
158
|
+
systemStability: mean(systemStabilities) ?? 0.8,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
outcome,
|
|
163
|
+
confidence,
|
|
164
|
+
reasoning: `Aggregated from ${transitions.length} similar historical transitions with avg eval delta: ${mean(evalScoreChanges)?.toFixed(4) || "N/A"}`,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
// ============================================================================
|
|
168
|
+
// DynamicsModel Class
|
|
169
|
+
// ============================================================================
|
|
170
|
+
/**
|
|
171
|
+
* DynamicsModel predicts outcomes by combining historical data with Stratus reasoning
|
|
172
|
+
*/
|
|
173
|
+
export class DynamicsModel {
|
|
174
|
+
store;
|
|
175
|
+
stratus;
|
|
176
|
+
config;
|
|
177
|
+
projectRoot;
|
|
178
|
+
/**
|
|
179
|
+
* Create a new DynamicsModel
|
|
180
|
+
* @param projectRoot - Project root directory
|
|
181
|
+
* @param config - Optional configuration overrides
|
|
182
|
+
*/
|
|
183
|
+
constructor(projectRoot, config) {
|
|
184
|
+
this.projectRoot = projectRoot || process.cwd();
|
|
185
|
+
this.store = new WorldModelStore(this.projectRoot);
|
|
186
|
+
this.stratus = new StratusClient();
|
|
187
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Predict the outcome of an action given the current state
|
|
191
|
+
*
|
|
192
|
+
* Algorithm:
|
|
193
|
+
* 1. Check cache for existing prediction
|
|
194
|
+
* 2. Find similar historical transitions
|
|
195
|
+
* 3. If enough similar transitions with high confidence → aggregate
|
|
196
|
+
* 4. Otherwise → use Stratus for prediction
|
|
197
|
+
* 5. Cache and return result
|
|
198
|
+
*/
|
|
199
|
+
async predictOutcome(state, action) {
|
|
200
|
+
// Check cache first
|
|
201
|
+
const cached = this.store.getCachedPrediction(state, action);
|
|
202
|
+
if (cached) {
|
|
203
|
+
return cached;
|
|
204
|
+
}
|
|
205
|
+
// Find similar historical transitions
|
|
206
|
+
const similarTransitions = this.findSimilarTransitions(state, action);
|
|
207
|
+
let result;
|
|
208
|
+
if (similarTransitions.length >= this.config.minSimilarTransitions &&
|
|
209
|
+
similarTransitions[0].similarity >= this.config.minAggregationConfidence) {
|
|
210
|
+
// Use historical aggregation
|
|
211
|
+
const transitions = similarTransitions.map(s => s.transition);
|
|
212
|
+
const aggregated = aggregateOutcomes(transitions);
|
|
213
|
+
result = {
|
|
214
|
+
outcome: aggregated.outcome,
|
|
215
|
+
confidence: aggregated.confidence,
|
|
216
|
+
reasoning: aggregated.reasoning,
|
|
217
|
+
source: "historical_aggregation",
|
|
218
|
+
similarTransitionsUsed: transitions.length,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
// Use Stratus for prediction
|
|
223
|
+
const contextTransitions = similarTransitions
|
|
224
|
+
.slice(0, 3)
|
|
225
|
+
.map(s => s.transition);
|
|
226
|
+
result = await this.stratus.predictOutcome(state, action, contextTransitions);
|
|
227
|
+
}
|
|
228
|
+
// Cache the prediction
|
|
229
|
+
this.store.cachePrediction(state, action, result);
|
|
230
|
+
return result;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Find similar historical transitions
|
|
234
|
+
*
|
|
235
|
+
* @param state - Current state
|
|
236
|
+
* @param action - Proposed action
|
|
237
|
+
* @returns Array of similar transitions with similarity scores
|
|
238
|
+
*/
|
|
239
|
+
findSimilarTransitions(state, action) {
|
|
240
|
+
// Get recent transitions
|
|
241
|
+
const transitions = this.store.getTransitions({
|
|
242
|
+
limit: this.config.maxTransitionsToSearch,
|
|
243
|
+
});
|
|
244
|
+
// Calculate similarity for each
|
|
245
|
+
const withSimilarity = transitions.map(transition => ({
|
|
246
|
+
transition,
|
|
247
|
+
similarity: computeTransitionSimilarity(state, action, transition.priorState, transition.action, this.config),
|
|
248
|
+
}));
|
|
249
|
+
// Filter and sort by similarity
|
|
250
|
+
return withSimilarity
|
|
251
|
+
.filter(t => t.similarity >= this.config.stateSimilarityThreshold)
|
|
252
|
+
.sort((a, b) => b.similarity - a.similarity);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Simulate a multi-step trajectory
|
|
256
|
+
*
|
|
257
|
+
* @param state - Starting state
|
|
258
|
+
* @param actions - Sequence of actions
|
|
259
|
+
* @param maxSteps - Maximum steps to simulate
|
|
260
|
+
* @returns Simulated state transitions
|
|
261
|
+
*/
|
|
262
|
+
async simulateTrajectory(state, actions, maxSteps = 5) {
|
|
263
|
+
// Try to use historical data first
|
|
264
|
+
const trajectory = [];
|
|
265
|
+
let currentState = state;
|
|
266
|
+
const steps = Math.min(actions.length, maxSteps);
|
|
267
|
+
for (let i = 0; i < steps; i++) {
|
|
268
|
+
const action = actions[i];
|
|
269
|
+
const prediction = await this.predictOutcome(currentState, action);
|
|
270
|
+
// Create synthetic posterior state
|
|
271
|
+
const posteriorState = this.applyPredictionToState(currentState, action, prediction);
|
|
272
|
+
const transition = {
|
|
273
|
+
id: `sim_${Date.now()}_${i}`,
|
|
274
|
+
priorState: currentState,
|
|
275
|
+
action,
|
|
276
|
+
posteriorState,
|
|
277
|
+
outcome: prediction.outcome,
|
|
278
|
+
causalLinks: [],
|
|
279
|
+
invariantViolations: [],
|
|
280
|
+
};
|
|
281
|
+
trajectory.push(transition);
|
|
282
|
+
currentState = posteriorState;
|
|
283
|
+
}
|
|
284
|
+
return trajectory;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Apply a prediction to a state to generate posterior state
|
|
288
|
+
*/
|
|
289
|
+
applyPredictionToState(state, action, prediction) {
|
|
290
|
+
const evalDelta = prediction.outcome.immediate.evalScoreChange || 0;
|
|
291
|
+
return {
|
|
292
|
+
...state,
|
|
293
|
+
timestamp: Date.now(),
|
|
294
|
+
agentState: {
|
|
295
|
+
...state.agentState,
|
|
296
|
+
lastEvalScore: state.agentState.lastEvalScore + evalDelta,
|
|
297
|
+
actionHistory: [...state.agentState.actionHistory, action.actionType].slice(-10),
|
|
298
|
+
consecutiveFailures: evalDelta > 0
|
|
299
|
+
? 0
|
|
300
|
+
: state.agentState.consecutiveFailures + 1,
|
|
301
|
+
rewardEMA: state.agentState.rewardEMA * 0.7 + evalDelta * 0.3,
|
|
302
|
+
},
|
|
303
|
+
systemState: {
|
|
304
|
+
...state.systemState,
|
|
305
|
+
buildStatus: prediction.outcome.immediate.buildStatus
|
|
306
|
+
? { ...state.systemState.buildStatus, default: prediction.outcome.immediate.buildStatus }
|
|
307
|
+
: state.systemState.buildStatus,
|
|
308
|
+
pendingEvals: Math.max(0, state.systemState.pendingEvals - 1),
|
|
309
|
+
},
|
|
310
|
+
contextState: {
|
|
311
|
+
...state.contextState,
|
|
312
|
+
recentCommits: prediction.outcome.immediate.commitCreated
|
|
313
|
+
? state.contextState.recentCommits + 1
|
|
314
|
+
: state.contextState.recentCommits,
|
|
315
|
+
},
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Get prediction statistics
|
|
320
|
+
*/
|
|
321
|
+
getStats() {
|
|
322
|
+
const storeStats = this.store.getStats();
|
|
323
|
+
const predictions = this.store.getAllCachedPredictions();
|
|
324
|
+
const sourceDistribution = {
|
|
325
|
+
historical_aggregation: 0,
|
|
326
|
+
stratus_inference: 0,
|
|
327
|
+
fallback: 0,
|
|
328
|
+
};
|
|
329
|
+
let confidenceSum = 0;
|
|
330
|
+
for (const p of predictions) {
|
|
331
|
+
sourceDistribution[p.prediction.source] =
|
|
332
|
+
(sourceDistribution[p.prediction.source] || 0) + 1;
|
|
333
|
+
confidenceSum += p.prediction.confidence;
|
|
334
|
+
}
|
|
335
|
+
return {
|
|
336
|
+
totalTransitions: storeStats.transitionCount,
|
|
337
|
+
cachedPredictions: predictions.length,
|
|
338
|
+
avgConfidence: predictions.length > 0
|
|
339
|
+
? confidenceSum / predictions.length
|
|
340
|
+
: undefined,
|
|
341
|
+
sourceDistribution,
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Compute state distance (exposed for external use)
|
|
346
|
+
*/
|
|
347
|
+
stateDistance(state1, state2) {
|
|
348
|
+
return 1 - computeStateSimilarity(state1, state2);
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Get the underlying store
|
|
352
|
+
*/
|
|
353
|
+
getStore() {
|
|
354
|
+
return this.store;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Create a default DynamicsModel instance
|
|
359
|
+
*/
|
|
360
|
+
export function createDynamicsModel(projectRoot) {
|
|
361
|
+
return new DynamicsModel(projectRoot);
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=dynamics-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamics-model.js","sourceRoot":"","sources":["../../src/lib/dynamics-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,cAAc,GAAG;IACrB,gEAAgE;IAChE,qBAAqB,EAAE,CAAC;IACxB,oDAAoD;IACpD,wBAAwB,EAAE,IAAI;IAC9B,qDAAqD;IACrD,sBAAsB,EAAE,IAAI;IAC5B,iCAAiC;IACjC,wBAAwB,EAAE,GAAG;IAC7B,+BAA+B;IAC/B,sBAAsB,EAAE,GAAG;IAC3B,8BAA8B;IAC9B,qBAAqB,EAAE,GAAG;IAC1B,iDAAiD;IACjD,UAAU,EAAE,OAAO,EAAE,SAAS;CAC/B,CAAA;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,uBAAuB,CAAC,OAAoB,EAAE,OAAoB;IACzE,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,2BAA2B;IAC3B,OAAO,IAAI,GAAG,CAAA;IACd,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;QACxC,UAAU,IAAI,GAAG,CAAA;IACnB,CAAC;IAED,iCAAiC;IACjC,OAAO,IAAI,GAAG,CAAA;IACd,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9C,UAAU,IAAI,GAAG,CAAA;IACnB,CAAC;IAED,mCAAmC;IACnC,OAAO,IAAI,GAAG,CAAA;IACd,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;QAClE,IAAI,QAAQ,GAAG,GAAG;YAAE,UAAU,IAAI,GAAG,CAAA;aAChC,IAAI,QAAQ,GAAG,GAAG;YAAE,UAAU,IAAI,GAAG,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,UAAU,IAAI,GAAG,CAAA,CAAC,gCAAgC;IACpD,CAAC;IAED,OAAO,UAAU,GAAG,OAAO,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAClC,MAAkB,EAClB,OAAoB,EACpB,MAAkB,EAClB,OAAoB,EACpB,MAAM,GAAG,cAAc;IAEvB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAE3D,OAAO,CACL,QAAQ,GAAG,MAAM,CAAC,qBAAqB;QACvC,SAAS,GAAG,MAAM,CAAC,sBAAsB,CAC1C,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,iBAAiB,CAAC,WAA8B;IAKvD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,6BAA6B;IAC7B,MAAM,gBAAgB,GAAa,EAAE,CAAA;IACrC,MAAM,cAAc,GAAa,EAAE,CAAA;IACnC,MAAM,aAAa,GAAc,EAAE,CAAA;IACnC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,+BAA+B;IAC/B,MAAM,kBAAkB,GAAc,EAAE,CAAA;IACxC,MAAM,iBAAiB,GAAa,EAAE,CAAA;IAEtC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAA;QAE/B,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACtE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5D,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAErC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACxC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAC1C,CAAC;QAED,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAA;YACvE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,IAAI,GAAG,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;QAC5C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM;QAC7C,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,IAAI,GAAG,CAAC,GAAc,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC3C,OAAO,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,yCAAyC;IACzC,IAAI,WAA6C,CAAA;IACjD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,WAAW,GAAG,IAAI,CAAC,cAAc,CAAE,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAA;IAClE,CAAC;IAED,oEAAoE;IACpE,IAAI,UAAU,GAAG,IAAI,CAAA;IACrB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpD,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAE,CAAA;YAC1C,OAAO,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;QAC1B,CAAC,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAA;QAE/B,qCAAqC;QACrC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,OAAO,GAAiB;QAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE;YACT,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC;YACvC,WAAW;YACX,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC;gBACtC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC;aACvC,CAAC,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC;SACnC;KACF,CAAA;IAED,kCAAkC;IAClC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,UAAU,GAAG;YACnB,oBAAoB,EAAE,EAAE;YACxB,yBAAyB,EAAE,IAAI,CAAC,kBAAkB,CAAC;YACnD,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG;SAChD,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,UAAU;QACV,SAAS,EAAE,mBAAmB,WAAW,CAAC,MAAM,wDAAwD,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE;KACtJ,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,KAAK,CAAiB;IACtB,OAAO,CAAe;IACtB,MAAM,CAAuB;IAC7B,WAAW,CAAQ;IAE3B;;;;OAIG;IACH,YACE,WAAoB,EACpB,MAAuC;QAEvC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAA;IAChD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAClB,KAAiB,EACjB,MAAmB;QAEnB,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5D,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAA;QACf,CAAC;QAED,sCAAsC;QACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAErE,IAAI,MAAwB,CAAA;QAE5B,IACE,kBAAkB,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB;YAC9D,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,EACxE,CAAC;YACD,6BAA6B;YAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;YAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;YAEjD,MAAM,GAAG;gBACP,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,MAAM,EAAE,wBAAwB;gBAChC,sBAAsB,EAAE,WAAW,CAAC,MAAM;aAC3C,CAAA;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,MAAM,kBAAkB,GAAG,kBAAkB;iBAC1C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;YAEzB,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAA;QAC/E,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAEjD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACH,sBAAsB,CACpB,KAAiB,EACjB,MAAmB;QAEnB,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YAC5C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB;SAC1C,CAAC,CAAA;QAEF,gCAAgC;QAChC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACpD,UAAU;YACV,UAAU,EAAE,2BAA2B,CACrC,KAAK,EACL,MAAM,EACN,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,MAAM,EACjB,IAAI,CAAC,MAAM,CACZ;SACF,CAAC,CAAC,CAAA;QAEH,gCAAgC;QAChC,OAAO,cAAc;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;aACjE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CACtB,KAAiB,EACjB,OAAsB,EACtB,WAAmB,CAAC;QAEpB,mCAAmC;QACnC,MAAM,UAAU,GAAsB,EAAE,CAAA;QACxC,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YAElE,mCAAmC;YACnC,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAChD,YAAY,EACZ,MAAM,EACN,UAAU,CACX,CAAA;YAED,MAAM,UAAU,GAAoB;gBAClC,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBAC5B,UAAU,EAAE,YAAY;gBACxB,MAAM;gBACN,cAAc;gBACd,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,WAAW,EAAE,EAAE;gBACf,mBAAmB,EAAE,EAAE;aACxB,CAAA;YAED,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC3B,YAAY,GAAG,cAAc,CAAA;QAC/B,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,KAAiB,EACjB,MAAmB,EACnB,UAA4B;QAE5B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,IAAI,CAAC,CAAA;QAEnE,OAAO;YACL,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,UAAU,EAAE;gBACV,GAAG,KAAK,CAAC,UAAU;gBACnB,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,GAAG,SAAS;gBACzD,aAAa,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChF,mBAAmB,EAAE,SAAS,GAAG,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC;gBAC5C,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG;aAC9D;YACD,WAAW,EAAE;gBACX,GAAG,KAAK,CAAC,WAAW;gBACpB,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW;oBACnD,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;oBACzF,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW;gBACjC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC;aAC9D;YACD,YAAY,EAAE;gBACZ,GAAG,KAAK,CAAC,YAAY;gBACrB,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa;oBACvD,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,GAAG,CAAC;oBACtC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa;aACrC;SACF,CAAA;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QAMN,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAA;QAExD,MAAM,kBAAkB,GAA2B;YACjD,sBAAsB,EAAE,CAAC;YACzB,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,CAAC;SACZ,CAAA;QAED,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;gBACrC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YACpD,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAA;QAC1C,CAAC;QAED,OAAO;YACL,gBAAgB,EAAE,UAAU,CAAC,eAAe;YAC5C,iBAAiB,EAAE,WAAW,CAAC,MAAM;YACrC,aAAa,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;gBACnC,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC,MAAM;gBACpC,CAAC,CAAC,SAAS;YACb,kBAAkB;SACnB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAkB,EAAE,MAAkB;QAClD,OAAO,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAoB;IACtD,OAAO,IAAI,aAAa,CAAC,WAAW,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-snapshot.d.ts","sourceRoot":"","sources":["../../src/lib/eval-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AA0BD,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,YAAY,
|
|
1
|
+
{"version":3,"file":"eval-snapshot.d.ts","sourceRoot":"","sources":["../../src/lib/eval-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AA0BD,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,YAAY,CA+Dd;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAO/D;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,MAAM,GAClB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA8BrC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,UAAU,CAAC,CAgIrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,CAyCrB;AAMD,wBAAgB,iBAAiB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB5F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,MAAiC,GAAG,MAAM,CAmBrF"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @purpose Create and manage immutable eval snapshots for reproducible experiments
|
|
8
8
|
*/
|
|
9
|
-
import { existsSync, readFileSync, mkdirSync, copyFileSync, chmodSync, readdirSync, statSync } from "fs";
|
|
9
|
+
import { existsSync, readFileSync, mkdirSync, copyFileSync, chmodSync, readdirSync, statSync, writeFileSync } from "fs";
|
|
10
10
|
import { join, basename } from "path";
|
|
11
11
|
import { createHash } from "crypto";
|
|
12
12
|
import { spawn, spawnSync } from "child_process";
|
|
@@ -66,6 +66,13 @@ export function createEvalSnapshot(projectRoot, evalScript, evalData) {
|
|
|
66
66
|
// Copy files to snapshot
|
|
67
67
|
copyFileSync(scriptPath, scriptSnapshot);
|
|
68
68
|
copyFileSync(dataPath, dataSnapshot);
|
|
69
|
+
// Ensure .ts eval scripts can use ESM imports
|
|
70
|
+
if (evalScript.endsWith(".ts") || evalScript.endsWith(".mts")) {
|
|
71
|
+
const pkgPath = join(snapshotDir, "package.json");
|
|
72
|
+
if (!existsSync(pkgPath)) {
|
|
73
|
+
writeFileSync(pkgPath, JSON.stringify({ type: "module" }));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
69
76
|
const snapshot = {
|
|
70
77
|
hash,
|
|
71
78
|
scriptPath: evalScript,
|
|
@@ -147,10 +154,14 @@ export async function runEvalSnapshot(snapshot, projectRoot, timeout = 120000) {
|
|
|
147
154
|
}
|
|
148
155
|
else {
|
|
149
156
|
// TypeScript/JS: import and call evaluate() function
|
|
157
|
+
// Wrap in async IIFE to support top-level await in CJS mode
|
|
150
158
|
const evalRunner = `
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
159
|
+
async function main() {
|
|
160
|
+
const { evaluate } = await import('${snapshot.scriptSnapshot}');
|
|
161
|
+
const result = await evaluate('${snapshot.dataSnapshot}');
|
|
162
|
+
console.log(JSON.stringify({ metric: result }));
|
|
163
|
+
}
|
|
164
|
+
main().catch(e => { console.error(e); process.exit(1); });
|
|
154
165
|
`;
|
|
155
166
|
child = spawn("npx", ["tsx", "-e", evalRunner], {
|
|
156
167
|
cwd: projectRoot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-snapshot.js","sourceRoot":"","sources":["../../src/lib/eval-snapshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eval-snapshot.js","sourceRoot":"","sources":["../../src/lib/eval-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvH,OAAO,EAAE,IAAI,EAAW,QAAQ,EAAY,MAAM,MAAM,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAyB5B,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACtC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,QAAgB;IAC/D,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;IAC5D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACnE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,UAAkB,EAClB,QAAgB;IAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAE5C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,iCAAiC;IACjC,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAEtD,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAA;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAExC,6CAA6C;IAC7C,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAiB;YAC7B,IAAI;YACJ,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,QAAQ;YAClB,WAAW;YACX,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvD,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,IAAI;SACb,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,sBAAsB;IACtB,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3C,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE1D,yBAAyB;IACzB,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;IACxC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAEpC,8CAA8C;IAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;QACjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAiB;QAC7B,IAAI;QACJ,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,QAAQ;QAClB,WAAW;QACX,cAAc;QACd,YAAY;QACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,KAAK;KACd,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAsB;IACvD,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAM;IAE3B,8BAA8B;IAC9B,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACzC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAsB,EACtB,WAAmB;IAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAErD,sCAAsC;IACtC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAA;IAC7F,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAA;IACzF,CAAC;IAED,+BAA+B;IAC/B,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC7D,IAAI,WAAW,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,kDAAkD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;SAC3H,CAAA;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAA;IACxF,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAA;IACpF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAsB,EACtB,WAAmB,EACnB,UAAkB,MAAM;IAExB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,iCAAiC;IACjC,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC9D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO;YACL,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACnC,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY,CAAC,MAAM;SAC3B,CAAA;IACH,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,wEAAwE;QACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAE7D,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,CAAC,cAAc,QAAQ,WAAW,YAAY,OAAO,IAAI,CAAC,CAAA;QAEzG,IAAI,KAAK,CAAA;QACT,IAAI,aAAa,EAAE,CAAC;YAClB,2EAA2E;YAC3E,2EAA2E;YAC3E,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC/C,GAAG,EAAE,WAAW;gBAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,OAAO;gBACP,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE;aAC9F,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,4DAA4D;YAC5D,MAAM,UAAU,GAAG;;+CAEsB,QAAQ,CAAC,cAAc;2CAC3B,QAAQ,CAAC,YAAY;;;;OAIzD,CAAA;YACD,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;gBAC9C,GAAG,EAAE,WAAW;gBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvB,CAAC,EAAE,OAAO,CAAC,CAAA;QAEX,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;YAC1C,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,WAAW,MAAM,aAAa,WAAW,aAAa,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;YAC/I,IAAI,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YAE3E,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC;oBACN,MAAM,EAAE,CAAC;oBACT,UAAU,EAAE,MAAM,IAAI,MAAM;oBAC5B,WAAW;oBACX,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,yBAAyB,IAAI,KAAK,MAAM,EAAE;iBAClD,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,4BAA4B;gBAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACvC,IAAI,MAAM,GAAG,CAAC,CAAA;gBACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAC/B,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BACtC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;4BACtB,MAAK;wBACP,CAAC;wBACD,sEAAsE;wBACtE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAA;wBAC7F,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7C,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;4BACzB,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC;oBACN,MAAM;oBACN,UAAU,EAAE,MAAM;oBAClB,WAAW;oBACX,OAAO,EAAE,IAAI;iBACd,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC;oBACN,MAAM,EAAE,CAAC;oBACT,UAAU,EAAE,MAAM;oBAClB,WAAW;oBACX,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,gCAAgC,GAAG,CAAC,OAAO,EAAE;iBACrD,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,OAAO,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACnC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iCAAiC,GAAG,CAAC,OAAO,EAAE;aACtD,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,WAAoB;IAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE;YACpC,GAAG,EAAE,WAAW;YAChB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QAE1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAA;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAA;YACrC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAE/C,OAAO,CAAC;gBACN,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,MAAM,CAAC,MAAM;gBACzB,WAAW;gBACX,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;gBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;aAClF,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;gBACzC,WAAW;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,6BAA6B;aACrC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,MAAM,UAAU,iBAAiB;IAC/B,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAA;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAA;IAEpC,MAAM,SAAS,GAA6D,EAAE,CAAA;IAE9E,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;QAClC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC3E,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAA;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAA;IAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;QAClC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;YAC9D,kCAAkC;YAClC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAChC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACrD,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Invariant Monitor
|
|
3
|
+
*
|
|
4
|
+
* Runtime TLA+ invariant checks translated to TypeScript.
|
|
5
|
+
* Checks system state against invariants defined in:
|
|
6
|
+
* - PeterParker.tla (agent orchestration invariants)
|
|
7
|
+
* - JFLSystem.tla (system-level cross-service invariants)
|
|
8
|
+
*
|
|
9
|
+
* Each invariant check returns violations with severity and suggested recovery.
|
|
10
|
+
*
|
|
11
|
+
* @purpose Runtime TLA+ invariant checking for world model safety
|
|
12
|
+
* @spec tla/PeterParker.tla, tla/JFLSystem.tla
|
|
13
|
+
*/
|
|
14
|
+
import type { WorldState, InvariantViolation, InvariantId, InvariantSeverity } from "../types/world-model.js";
|
|
15
|
+
/**
|
|
16
|
+
* Check all invariants against the given state
|
|
17
|
+
* @param state - The WorldState to check
|
|
18
|
+
* @returns Array of any violations found
|
|
19
|
+
*/
|
|
20
|
+
export declare function checkInvariants(state: WorldState): InvariantViolation[];
|
|
21
|
+
/**
|
|
22
|
+
* Check a specific invariant
|
|
23
|
+
* @param invariantId - Which invariant to check
|
|
24
|
+
* @param state - The WorldState to check
|
|
25
|
+
* @returns Violation if found, null otherwise
|
|
26
|
+
*/
|
|
27
|
+
export declare function checkInvariant(invariantId: InvariantId, state: WorldState): InvariantViolation | null;
|
|
28
|
+
/**
|
|
29
|
+
* Get all invariant definitions (for documentation/introspection)
|
|
30
|
+
*/
|
|
31
|
+
export declare function getInvariantDefinitions(): Array<{
|
|
32
|
+
id: InvariantId;
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
severity: InvariantSeverity;
|
|
36
|
+
source: string;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Check if state has any critical violations
|
|
40
|
+
*/
|
|
41
|
+
export declare function hasCriticalViolations(state: WorldState): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Get a summary of all violations
|
|
44
|
+
*/
|
|
45
|
+
export declare function getViolationSummary(violations: InvariantViolation[]): string;
|
|
46
|
+
/**
|
|
47
|
+
* Suggest recovery actions for all violations
|
|
48
|
+
*/
|
|
49
|
+
export declare function suggestRecoveryActions(violations: InvariantViolation[]): string[];
|
|
50
|
+
//# sourceMappingURL=invariant-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invariant-monitor.d.ts","sourceRoot":"","sources":["../../src/lib/invariant-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAoVhC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,EAAE,CAkBvE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,UAAU,GAChB,kBAAkB,GAAG,IAAI,CAiB3B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAC/C,EAAE,EAAE,WAAW,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf,CAAC,CAQD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAGhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAwB5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAIjF"}
|