elasticdash-test 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -5
- package/dist/dashboard-server.d.ts +9 -0
- package/dist/dashboard-server.d.ts.map +1 -1
- package/dist/dashboard-server.js +209 -22
- package/dist/dashboard-server.js.map +1 -1
- package/dist/html/dashboard.html +158 -8
- package/dist/index.cjs +828 -108
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/telemetry-push.d.ts +47 -0
- package/dist/interceptors/telemetry-push.d.ts.map +1 -1
- package/dist/interceptors/telemetry-push.js +139 -6
- package/dist/interceptors/telemetry-push.js.map +1 -1
- package/dist/interceptors/tool.d.ts.map +1 -1
- package/dist/interceptors/tool.js +2 -1
- package/dist/interceptors/tool.js.map +1 -1
- package/dist/interceptors/workflow-ai.d.ts.map +1 -1
- package/dist/interceptors/workflow-ai.js +28 -4
- package/dist/interceptors/workflow-ai.js.map +1 -1
- package/dist/internals/mock-resolver.d.ts +42 -5
- package/dist/internals/mock-resolver.d.ts.map +1 -1
- package/dist/internals/mock-resolver.js +124 -5
- package/dist/internals/mock-resolver.js.map +1 -1
- package/dist/workflow-runner-worker.js +8 -2
- package/dist/workflow-runner-worker.js.map +1 -1
- package/package.json +3 -2
- package/src/dashboard-server.ts +86 -17
- package/src/html/dashboard.html +158 -8
- package/src/index.ts +3 -2
- package/src/interceptors/telemetry-push.ts +158 -7
- package/src/interceptors/tool.ts +2 -1
- package/src/interceptors/workflow-ai.ts +30 -4
- package/src/internals/mock-resolver.ts +131 -5
- package/src/workflow-runner-worker.ts +23 -2
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Runtime
|
|
2
|
+
* Runtime mock resolution for module-imported tools and AI calls.
|
|
3
3
|
*
|
|
4
|
-
* Tools that are statically imported (not accessed via globalThis)
|
|
5
|
-
* intercepted by the worker's proxy-based mocking. Instead, each
|
|
6
|
-
* calls `resolveMock` at its entry point.
|
|
7
|
-
*
|
|
4
|
+
* Tools/AI calls that are statically imported (not accessed via globalThis)
|
|
5
|
+
* cannot be intercepted by the worker's proxy-based mocking. Instead, each
|
|
6
|
+
* wrapped function calls `resolveMock` / `resolveAIMock` at its entry point.
|
|
7
|
+
* The worker writes the mock config to `__ELASTICDASH_TOOL_MOCKS__` /
|
|
8
|
+
* `__ELASTICDASH_AI_MOCKS__` before the workflow runs and clears it after.
|
|
8
9
|
*/
|
|
9
10
|
/**
|
|
10
11
|
* Recursively normalises a mock result fetched from the trace.
|
|
@@ -79,4 +80,122 @@ export function resolveMock(toolName) {
|
|
|
79
80
|
}
|
|
80
81
|
return { mocked: false };
|
|
81
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Extracts the system prompt string from an LLM call input.
|
|
85
|
+
* Handles:
|
|
86
|
+
* - Anthropic style: `{ system: "...", messages: [...] }`
|
|
87
|
+
* - OpenAI style: `{ messages: [{ role: "system", content: "..." }, ...] }`
|
|
88
|
+
* - Plain message array: `[{ role: "system", content: "..." }, ...]`
|
|
89
|
+
* - Separate field: `{ systemPrompt: "...", messages: [...] }` (custom wrapAI callers)
|
|
90
|
+
*/
|
|
91
|
+
export function extractSystemPrompt(input) {
|
|
92
|
+
if (!input || typeof input !== 'object')
|
|
93
|
+
return undefined;
|
|
94
|
+
const o = input;
|
|
95
|
+
if (typeof o.system === 'string')
|
|
96
|
+
return o.system;
|
|
97
|
+
if (typeof o.systemPrompt === 'string' && o.systemPrompt.length > 0)
|
|
98
|
+
return o.systemPrompt;
|
|
99
|
+
const msgs = Array.isArray(o.messages) ? o.messages : (Array.isArray(input) ? input : null);
|
|
100
|
+
if (msgs) {
|
|
101
|
+
for (const m of msgs) {
|
|
102
|
+
if (m && typeof m === 'object') {
|
|
103
|
+
const msg = m;
|
|
104
|
+
if (msg.role === 'system' && typeof msg.content === 'string')
|
|
105
|
+
return msg.content;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Returns a shallow copy of `input` with the system prompt replaced by `newSystemPrompt`.
|
|
113
|
+
*/
|
|
114
|
+
export function replaceSystemPrompt(input, newSystemPrompt) {
|
|
115
|
+
if (!input || typeof input !== 'object')
|
|
116
|
+
return input;
|
|
117
|
+
const o = input;
|
|
118
|
+
if (typeof o.system === 'string')
|
|
119
|
+
return { ...o, system: newSystemPrompt };
|
|
120
|
+
if (typeof o.systemPrompt === 'string')
|
|
121
|
+
return { ...o, systemPrompt: newSystemPrompt };
|
|
122
|
+
if (Array.isArray(input)) {
|
|
123
|
+
return input.map(m => {
|
|
124
|
+
if (m && typeof m === 'object') {
|
|
125
|
+
const msg = m;
|
|
126
|
+
if (msg.role === 'system' && typeof msg.content === 'string')
|
|
127
|
+
return { ...msg, content: newSystemPrompt };
|
|
128
|
+
}
|
|
129
|
+
return m;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (Array.isArray(o.messages)) {
|
|
133
|
+
return {
|
|
134
|
+
...o,
|
|
135
|
+
messages: o.messages.map(m => {
|
|
136
|
+
if (m && typeof m === 'object') {
|
|
137
|
+
const msg = m;
|
|
138
|
+
if (msg.role === 'system' && typeof msg.content === 'string')
|
|
139
|
+
return { ...msg, content: newSystemPrompt };
|
|
140
|
+
}
|
|
141
|
+
return m;
|
|
142
|
+
}),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
return input;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* If a prompt mock is configured for the system prompt found in `input`, returns
|
|
149
|
+
* a copy of `input` with the system prompt replaced. Otherwise returns `undefined`.
|
|
150
|
+
*
|
|
151
|
+
* `__ELASTICDASH_PROMPT_MOCKS__` is `Record<string, string>` keyed by the original
|
|
152
|
+
* system prompt text, set by the worker/dashboard before the workflow runs.
|
|
153
|
+
*/
|
|
154
|
+
export function resolvePromptMock(input) {
|
|
155
|
+
const g = globalThis;
|
|
156
|
+
const mocks = g['__ELASTICDASH_PROMPT_MOCKS__'];
|
|
157
|
+
if (!mocks || Object.keys(mocks).length === 0)
|
|
158
|
+
return undefined;
|
|
159
|
+
const systemPrompt = extractSystemPrompt(input);
|
|
160
|
+
if (systemPrompt === undefined)
|
|
161
|
+
return undefined;
|
|
162
|
+
const newSystemPrompt = mocks[systemPrompt];
|
|
163
|
+
if (newSystemPrompt === undefined)
|
|
164
|
+
return undefined;
|
|
165
|
+
return replaceSystemPrompt(input, newSystemPrompt);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Resolves whether the current call to `modelName` should be mocked.
|
|
169
|
+
* Mirrors `resolveMock` but reads `__ELASTICDASH_AI_MOCKS__` and
|
|
170
|
+
* `__ELASTICDASH_AI_CALL_COUNTERS__`.
|
|
171
|
+
*/
|
|
172
|
+
export function resolveAIMock(modelName) {
|
|
173
|
+
const g = globalThis;
|
|
174
|
+
const mocks = g['__ELASTICDASH_AI_MOCKS__'];
|
|
175
|
+
if (!mocks)
|
|
176
|
+
return { mocked: false };
|
|
177
|
+
const entry = mocks[modelName];
|
|
178
|
+
if (!entry || entry.mode === 'live')
|
|
179
|
+
return { mocked: false };
|
|
180
|
+
if (!g['__ELASTICDASH_AI_CALL_COUNTERS__']) {
|
|
181
|
+
g['__ELASTICDASH_AI_CALL_COUNTERS__'] = {};
|
|
182
|
+
}
|
|
183
|
+
const counters = g['__ELASTICDASH_AI_CALL_COUNTERS__'];
|
|
184
|
+
counters[modelName] = (counters[modelName] ?? 0) + 1;
|
|
185
|
+
const callNumber = counters[modelName];
|
|
186
|
+
if (entry.mode === 'mock-all') {
|
|
187
|
+
const data = entry.mockData ?? {};
|
|
188
|
+
const raw = data[callNumber] !== undefined ? data[callNumber] : data[0];
|
|
189
|
+
return { mocked: true, result: normaliseMockResult(raw) };
|
|
190
|
+
}
|
|
191
|
+
if (entry.mode === 'mock-specific') {
|
|
192
|
+
const indices = entry.callIndices ?? [];
|
|
193
|
+
if (indices.includes(callNumber)) {
|
|
194
|
+
const data = entry.mockData ?? {};
|
|
195
|
+
return { mocked: true, result: normaliseMockResult(data[callNumber]) };
|
|
196
|
+
}
|
|
197
|
+
return { mocked: false };
|
|
198
|
+
}
|
|
199
|
+
return { mocked: false };
|
|
200
|
+
}
|
|
82
201
|
//# sourceMappingURL=mock-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-resolver.js","sourceRoot":"","sources":["../../src/internals/mock-resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mock-resolver.js","sourceRoot":"","sources":["../../src/internals/mock-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -184,7 +184,7 @@ async function main() {
|
|
|
184
184
|
originalExit(1);
|
|
185
185
|
return;
|
|
186
186
|
}
|
|
187
|
-
const { workflowsModulePath, toolsModulePath, workflowName, args, input, replayMode = false, checkpoint = 0, history = [], agentState, toolMockConfig } = payload;
|
|
187
|
+
const { workflowsModulePath, toolsModulePath, workflowName, args, input, replayMode = false, checkpoint = 0, history = [], agentState, toolMockConfig, aiMockConfig, promptMockConfig } = payload;
|
|
188
188
|
const { context, finalise } = startTraceSession();
|
|
189
189
|
setCurrentTrace(context.trace);
|
|
190
190
|
const recorder = new TraceRecorder();
|
|
@@ -216,10 +216,13 @@ async function main() {
|
|
|
216
216
|
let currentOutput;
|
|
217
217
|
let workflowError;
|
|
218
218
|
try {
|
|
219
|
-
// Write mock
|
|
219
|
+
// Write mock configs to globals so module-imported tools/AI can read them via resolveMock/resolveAIMock()
|
|
220
220
|
;
|
|
221
221
|
globalThis.__ELASTICDASH_TOOL_MOCKS__ = toolMockConfig ?? {};
|
|
222
222
|
globalThis.__ELASTICDASH_TOOL_CALL_COUNTERS__ = {};
|
|
223
|
+
globalThis.__ELASTICDASH_AI_MOCKS__ = aiMockConfig ?? {};
|
|
224
|
+
globalThis.__ELASTICDASH_AI_CALL_COUNTERS__ = {};
|
|
225
|
+
globalThis.__ELASTICDASH_PROMPT_MOCKS__ = promptMockConfig ?? {};
|
|
223
226
|
await installDBAutoInterceptor();
|
|
224
227
|
installAIInterceptor();
|
|
225
228
|
interceptFetch();
|
|
@@ -283,6 +286,9 @@ async function main() {
|
|
|
283
286
|
// Clear mock globals
|
|
284
287
|
delete globalThis.__ELASTICDASH_TOOL_MOCKS__;
|
|
285
288
|
delete globalThis.__ELASTICDASH_TOOL_CALL_COUNTERS__;
|
|
289
|
+
delete globalThis.__ELASTICDASH_AI_MOCKS__;
|
|
290
|
+
delete globalThis.__ELASTICDASH_AI_CALL_COUNTERS__;
|
|
291
|
+
delete globalThis.__ELASTICDASH_PROMPT_MOCKS__;
|
|
286
292
|
}
|
|
287
293
|
await recorder.flush();
|
|
288
294
|
const traceData = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-runner-worker.js","sourceRoot":"","sources":["../src/workflow-runner-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-runner-worker.js","sourceRoot":"","sources":["../src/workflow-runner-worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elasticdash-test",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "AI-native test runner for ElasticDash workflow testing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
14
|
+
"require": "./dist/index.cjs",
|
|
14
15
|
"default": "./dist/index.js"
|
|
15
16
|
},
|
|
16
17
|
"./http": {
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
"README.md"
|
|
26
27
|
],
|
|
27
28
|
"scripts": {
|
|
28
|
-
"build": "node scripts/inline-html.js && tsc && npm run restore:inline-html && node -e \"const{cpSync,mkdirSync}=require('fs');mkdirSync('dist/html',{recursive:true});cpSync('src/html/dashboard.html','dist/html/dashboard.html');\"",
|
|
29
|
+
"build": "node scripts/inline-html.js && tsc && npm run restore:inline-html && node -e \"const{cpSync,mkdirSync}=require('fs');mkdirSync('dist/html',{recursive:true});cpSync('src/html/dashboard.html','dist/html/dashboard.html');\" && node_modules/.bin/esbuild src/index.ts --bundle --platform=node --format=cjs --outfile=dist/index.cjs --packages=external --target=node18",
|
|
29
30
|
"restore:inline-html": "node scripts/restore-inline-html.js",
|
|
30
31
|
"dev": "tsx src/cli.ts",
|
|
31
32
|
"start": "node dist/cli.js",
|
package/src/dashboard-server.ts
CHANGED
|
@@ -103,12 +103,25 @@ export interface ToolMockConfig {
|
|
|
103
103
|
[toolName: string]: ToolMockEntry
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
/** Per-model AI mock configuration sent from the dashboard UI */
|
|
107
|
+
export interface AIMockEntry {
|
|
108
|
+
mode: 'live' | 'mock-all' | 'mock-specific'
|
|
109
|
+
callIndices?: number[]
|
|
110
|
+
mockData?: Record<number, unknown>
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export interface AIMockConfig {
|
|
114
|
+
[modelName: string]: AIMockEntry
|
|
115
|
+
}
|
|
116
|
+
|
|
106
117
|
interface WorkflowValidationBody {
|
|
107
118
|
workflowName?: unknown
|
|
108
119
|
runCount?: unknown
|
|
109
120
|
sequential?: unknown
|
|
110
121
|
observations?: unknown
|
|
111
122
|
toolMockConfig?: unknown
|
|
123
|
+
aiMockConfig?: unknown
|
|
124
|
+
promptMockConfig?: unknown
|
|
112
125
|
}
|
|
113
126
|
|
|
114
127
|
interface ValidationRunTrace {
|
|
@@ -372,7 +385,7 @@ function runWorkflowInSubprocess(
|
|
|
372
385
|
workflowName: string,
|
|
373
386
|
args: unknown[],
|
|
374
387
|
input: unknown,
|
|
375
|
-
options?: { replayMode?: boolean; checkpoint?: number; history?: WorkflowEvent[]; agentState?: AgentState; toolMockConfig?: ToolMockConfig },
|
|
388
|
+
options?: { replayMode?: boolean; checkpoint?: number; history?: WorkflowEvent[]; agentState?: AgentState; toolMockConfig?: ToolMockConfig; aiMockConfig?: AIMockConfig; promptMockConfig?: Record<string, string> },
|
|
376
389
|
): Promise<WorkflowSubprocessResult> {
|
|
377
390
|
return new Promise((resolve) => {
|
|
378
391
|
const workerScript = new URL('./workflow-runner-worker.js', import.meta.url).pathname
|
|
@@ -460,6 +473,8 @@ function runWorkflowInSubprocess(
|
|
|
460
473
|
...(options?.history !== undefined ? { history: options.history } : {}),
|
|
461
474
|
...(options?.agentState !== undefined ? { agentState: options.agentState } : {}),
|
|
462
475
|
...(options?.toolMockConfig !== undefined ? { toolMockConfig: options.toolMockConfig } : {}),
|
|
476
|
+
...(options?.aiMockConfig !== undefined ? { aiMockConfig: options.aiMockConfig } : {}),
|
|
477
|
+
...(options?.promptMockConfig !== undefined ? { promptMockConfig: options.promptMockConfig } : {}),
|
|
463
478
|
})
|
|
464
479
|
child.stdin.write(payload)
|
|
465
480
|
child.stdin.end() // Always close stdin to avoid subprocess hang
|
|
@@ -826,6 +841,18 @@ async function validateWorkflowRuns(cwd: string, body: WorkflowValidationBody):
|
|
|
826
841
|
? body.toolMockConfig as ToolMockConfig
|
|
827
842
|
: undefined
|
|
828
843
|
|
|
844
|
+
// Parse AI mock config if provided
|
|
845
|
+
const aiMockConfig: AIMockConfig | undefined =
|
|
846
|
+
body.aiMockConfig && typeof body.aiMockConfig === 'object' && !Array.isArray(body.aiMockConfig)
|
|
847
|
+
? body.aiMockConfig as AIMockConfig
|
|
848
|
+
: undefined
|
|
849
|
+
|
|
850
|
+
// Parse prompt mock config if provided
|
|
851
|
+
const promptMockConfig: Record<string, string> | undefined =
|
|
852
|
+
body.promptMockConfig && typeof body.promptMockConfig === 'object' && !Array.isArray(body.promptMockConfig)
|
|
853
|
+
? body.promptMockConfig as Record<string, string>
|
|
854
|
+
: undefined
|
|
855
|
+
|
|
829
856
|
const workflowsModulePath = resolveWorkflowModule(cwd)
|
|
830
857
|
if (!workflowsModulePath) {
|
|
831
858
|
return {
|
|
@@ -850,7 +877,7 @@ async function validateWorkflowRuns(cwd: string, body: WorkflowValidationBody):
|
|
|
850
877
|
workflowName,
|
|
851
878
|
workflowArgs,
|
|
852
879
|
workflowInput,
|
|
853
|
-
toolMockConfig ? { toolMockConfig } : undefined,
|
|
880
|
+
(toolMockConfig || aiMockConfig || promptMockConfig) ? { ...(toolMockConfig ? { toolMockConfig } : {}), ...(aiMockConfig ? { aiMockConfig } : {}), ...(promptMockConfig ? { promptMockConfig } : {}) } : undefined,
|
|
854
881
|
)
|
|
855
882
|
.catch(err => {
|
|
856
883
|
throw { ok: false, error: `Workflow subprocess failed: ${formatError(err)}` }
|
|
@@ -1300,19 +1327,20 @@ interface HttpWorkflowRunOptions {
|
|
|
1300
1327
|
workflowName: string
|
|
1301
1328
|
workflowInput: unknown
|
|
1302
1329
|
frozenEvents?: WorkflowEvent[]
|
|
1330
|
+
promptMocks?: Record<string, string>
|
|
1303
1331
|
pushedEvents: Map<string, WorkflowEvent[]>
|
|
1304
|
-
runConfigs: Map<string, { frozenEvents: WorkflowEvent[] }>
|
|
1332
|
+
runConfigs: Map<string, { frozenEvents: WorkflowEvent[]; promptMocks: Record<string, string> }>
|
|
1305
1333
|
config: HttpWorkflowConfig
|
|
1306
1334
|
dashboardPort: number
|
|
1307
1335
|
}
|
|
1308
1336
|
|
|
1309
1337
|
async function runHttpWorkflow(opts: HttpWorkflowRunOptions): Promise<WorkflowSubprocessResult> {
|
|
1310
|
-
const { workflowName, workflowInput, frozenEvents = [], pushedEvents, runConfigs, config, dashboardPort } = opts
|
|
1338
|
+
const { workflowName, workflowInput, frozenEvents = [], promptMocks = {}, pushedEvents, runConfigs, config, dashboardPort } = opts
|
|
1311
1339
|
const runId = randomUUID()
|
|
1312
1340
|
|
|
1313
|
-
// Register run config so the user's server can fetch frozen events
|
|
1341
|
+
// Register run config so the user's server can fetch frozen events and prompt mocks
|
|
1314
1342
|
pushedEvents.set(runId, [])
|
|
1315
|
-
runConfigs.set(runId, { frozenEvents })
|
|
1343
|
+
runConfigs.set(runId, { frozenEvents, promptMocks })
|
|
1316
1344
|
|
|
1317
1345
|
try {
|
|
1318
1346
|
const parsedInput = parseObservationInput(workflowInput)
|
|
@@ -1366,6 +1394,7 @@ async function runHttpWorkflow(opts: HttpWorkflowRunOptions): Promise<WorkflowSu
|
|
|
1366
1394
|
await new Promise(resolve => setTimeout(resolve, drainMs))
|
|
1367
1395
|
|
|
1368
1396
|
const events = (pushedEvents.get(runId) ?? []).sort((a, b) => a.timestamp - b.timestamp)
|
|
1397
|
+
console.log(`[elasticdash] runHttpWorkflow drain complete: ${events.length} events collected for runId=${runId}`)
|
|
1369
1398
|
const workflowTrace: WorkflowTrace = { traceId: runId, events }
|
|
1370
1399
|
|
|
1371
1400
|
return { ok: true, currentOutput, workflowTrace, steps: [], llmSteps: [], toolCalls: [], customSteps: [] }
|
|
@@ -1391,9 +1420,9 @@ export async function startDashboardServer(
|
|
|
1391
1420
|
// Maps runId -> accumulated WorkflowEvent[]
|
|
1392
1421
|
const pushedEvents = new Map<string, WorkflowEvent[]>()
|
|
1393
1422
|
|
|
1394
|
-
// Per-run config for HTTP workflow mode (frozen events for replay).
|
|
1395
|
-
// Maps runId -> { frozenEvents }
|
|
1396
|
-
const runConfigs = new Map<string, { frozenEvents: WorkflowEvent[] }>()
|
|
1423
|
+
// Per-run config for HTTP workflow mode (frozen events + prompt mocks for replay).
|
|
1424
|
+
// Maps runId -> { frozenEvents, promptMocks }
|
|
1425
|
+
const runConfigs = new Map<string, { frozenEvents: WorkflowEvent[]; promptMocks: Record<string, string> }>()
|
|
1397
1426
|
|
|
1398
1427
|
// Scan workflows, tools, and config once at startup
|
|
1399
1428
|
const workflows = scanWorkflows(cwd)
|
|
@@ -1455,10 +1484,15 @@ export async function startDashboardServer(
|
|
|
1455
1484
|
const resolvedInput = resolveWorkflowArgsFromObservations(body, workflowName)
|
|
1456
1485
|
const workflowInput = resolvedInput.input ?? null
|
|
1457
1486
|
const traces: ValidationRunTrace[] = []
|
|
1487
|
+
const promptMocks: Record<string, string> =
|
|
1488
|
+
body.promptMockConfig && typeof body.promptMockConfig === 'object' && !Array.isArray(body.promptMockConfig)
|
|
1489
|
+
? body.promptMockConfig as Record<string, string>
|
|
1490
|
+
: {}
|
|
1458
1491
|
const runOne = async (runNumber: number): Promise<ValidationRunTrace> => {
|
|
1459
1492
|
const result = await runHttpWorkflow({
|
|
1460
1493
|
workflowName, workflowInput, pushedEvents, runConfigs,
|
|
1461
1494
|
config: httpConfig as HttpWorkflowConfig, dashboardPort: port,
|
|
1495
|
+
promptMocks,
|
|
1462
1496
|
})
|
|
1463
1497
|
const traceStub = { getSteps: () => [], getLLMSteps: () => [], getToolCalls: () => [], getCustomSteps: () => [], recordLLMStep: () => {}, recordToolCall: () => {}, recordCustomStep: () => {} }
|
|
1464
1498
|
return {
|
|
@@ -1498,6 +1532,8 @@ export async function startDashboardServer(
|
|
|
1498
1532
|
snapshotId?: unknown
|
|
1499
1533
|
observations?: unknown
|
|
1500
1534
|
toolMockConfig?: unknown
|
|
1535
|
+
aiMockConfig?: unknown
|
|
1536
|
+
promptMockConfig?: unknown
|
|
1501
1537
|
}
|
|
1502
1538
|
const workflowName = typeof body.workflowName === 'string' ? body.workflowName.trim() : ''
|
|
1503
1539
|
if (!workflowName) {
|
|
@@ -1531,12 +1567,16 @@ export async function startDashboardServer(
|
|
|
1531
1567
|
|
|
1532
1568
|
const httpConfig = elasticdashConfig.workflows?.[workflowName]
|
|
1533
1569
|
if (httpConfig?.mode === 'http') {
|
|
1534
|
-
// HTTP workflow mode — call user's dev server with frozen events for step replay
|
|
1570
|
+
// HTTP workflow mode — call user's dev server with frozen events + prompt mocks for step replay
|
|
1571
|
+
const bpPromptMocks: Record<string, string> =
|
|
1572
|
+
body.promptMockConfig && typeof body.promptMockConfig === 'object' && !Array.isArray(body.promptMockConfig)
|
|
1573
|
+
? body.promptMockConfig as Record<string, string>
|
|
1574
|
+
: {}
|
|
1535
1575
|
console.log(`[elasticdash] Run from breakpoint (HTTP mode): workflow="${workflowName}" checkpoint=${checkpoint} frozen=${frozenEvents.length}`)
|
|
1536
1576
|
const result = await runHttpWorkflow({
|
|
1537
1577
|
workflowName, workflowInput, pushedEvents, runConfigs,
|
|
1538
1578
|
config: httpConfig as HttpWorkflowConfig, dashboardPort: port,
|
|
1539
|
-
frozenEvents,
|
|
1579
|
+
frozenEvents, promptMocks: bpPromptMocks,
|
|
1540
1580
|
})
|
|
1541
1581
|
const traceStub = { getSteps: () => [], getLLMSteps: () => [], getToolCalls: () => [], getCustomSteps: () => [], recordLLMStep: () => {}, recordToolCall: () => {}, recordCustomStep: () => {} }
|
|
1542
1582
|
const snapshotId = result.workflowTrace ? saveSnapshot(cwd, result.workflowTrace) : undefined
|
|
@@ -1569,6 +1609,16 @@ export async function startDashboardServer(
|
|
|
1569
1609
|
? body.toolMockConfig as ToolMockConfig
|
|
1570
1610
|
: undefined
|
|
1571
1611
|
|
|
1612
|
+
const aiMockConfig: AIMockConfig | undefined =
|
|
1613
|
+
body.aiMockConfig && typeof body.aiMockConfig === 'object' && !Array.isArray(body.aiMockConfig)
|
|
1614
|
+
? body.aiMockConfig as AIMockConfig
|
|
1615
|
+
: undefined
|
|
1616
|
+
|
|
1617
|
+
const promptMockConfig: Record<string, string> | undefined =
|
|
1618
|
+
body.promptMockConfig && typeof body.promptMockConfig === 'object' && !Array.isArray(body.promptMockConfig)
|
|
1619
|
+
? body.promptMockConfig as Record<string, string>
|
|
1620
|
+
: undefined
|
|
1621
|
+
|
|
1572
1622
|
console.log(`[elasticdash] Run from breakpoint: workflow="${workflowName}" checkpoint=${checkpoint} historyLen=${history.length}`)
|
|
1573
1623
|
const result = await runWorkflowInSubprocess(
|
|
1574
1624
|
workflowsModulePath,
|
|
@@ -1576,7 +1626,7 @@ export async function startDashboardServer(
|
|
|
1576
1626
|
workflowName,
|
|
1577
1627
|
workflowArgs,
|
|
1578
1628
|
workflowInput,
|
|
1579
|
-
{ replayMode: true, checkpoint, history, ...(toolMockConfig ? { toolMockConfig } : {}) },
|
|
1629
|
+
{ replayMode: true, checkpoint, history, ...(toolMockConfig ? { toolMockConfig } : {}), ...(aiMockConfig ? { aiMockConfig } : {}), ...(promptMockConfig ? { promptMockConfig } : {}) },
|
|
1580
1630
|
)
|
|
1581
1631
|
|
|
1582
1632
|
const traceStub = {
|
|
@@ -1617,6 +1667,8 @@ export async function startDashboardServer(
|
|
|
1617
1667
|
history?: unknown
|
|
1618
1668
|
snapshotId?: unknown
|
|
1619
1669
|
toolMockConfig?: unknown
|
|
1670
|
+
aiMockConfig?: unknown
|
|
1671
|
+
promptMockConfig?: unknown
|
|
1620
1672
|
}
|
|
1621
1673
|
|
|
1622
1674
|
const workflowName = typeof body.workflowName === 'string' ? body.workflowName.trim() : ''
|
|
@@ -1663,6 +1715,16 @@ export async function startDashboardServer(
|
|
|
1663
1715
|
? body.toolMockConfig as ToolMockConfig
|
|
1664
1716
|
: undefined
|
|
1665
1717
|
|
|
1718
|
+
const aiMockConfig: AIMockConfig | undefined =
|
|
1719
|
+
body.aiMockConfig && typeof body.aiMockConfig === 'object' && !Array.isArray(body.aiMockConfig)
|
|
1720
|
+
? body.aiMockConfig as AIMockConfig
|
|
1721
|
+
: undefined
|
|
1722
|
+
|
|
1723
|
+
const promptMockConfig: Record<string, string> | undefined =
|
|
1724
|
+
body.promptMockConfig && typeof body.promptMockConfig === 'object' && !Array.isArray(body.promptMockConfig)
|
|
1725
|
+
? body.promptMockConfig as Record<string, string>
|
|
1726
|
+
: undefined
|
|
1727
|
+
|
|
1666
1728
|
console.log(`[elasticdash] Resume agent from task: workflow="${workflowName}" taskIndex=${taskIndex}`)
|
|
1667
1729
|
|
|
1668
1730
|
const result = await runWorkflowInSubprocess(
|
|
@@ -1671,7 +1733,7 @@ export async function startDashboardServer(
|
|
|
1671
1733
|
workflowName,
|
|
1672
1734
|
[],
|
|
1673
1735
|
null,
|
|
1674
|
-
{ replayMode: history.length > 0, checkpoint: 0, history, agentState, ...(toolMockConfig ? { toolMockConfig } : {}) },
|
|
1736
|
+
{ replayMode: history.length > 0, checkpoint: 0, history, agentState, ...(toolMockConfig ? { toolMockConfig } : {}), ...(aiMockConfig ? { aiMockConfig } : {}), ...(promptMockConfig ? { promptMockConfig } : {}) },
|
|
1675
1737
|
)
|
|
1676
1738
|
|
|
1677
1739
|
const traceStub = {
|
|
@@ -1721,7 +1783,7 @@ export async function startDashboardServer(
|
|
|
1721
1783
|
const runId = url.pathname.slice('/api/run-configs/'.length)
|
|
1722
1784
|
const cfg = runConfigs.get(runId)
|
|
1723
1785
|
res.writeHead(cfg ? 200 : 404, { 'Content-Type': 'application/json' })
|
|
1724
|
-
res.end(JSON.stringify({ frozenEvents: cfg?.frozenEvents ?? [] }))
|
|
1786
|
+
res.end(JSON.stringify({ frozenEvents: cfg?.frozenEvents ?? [], promptMocks: cfg?.promptMocks ?? {} }))
|
|
1725
1787
|
} else if (url.pathname === '/api/trace-events' && req.method === 'POST') {
|
|
1726
1788
|
// Receive telemetry events pushed from wrapAI / wrapTool in HTTP workflow mode
|
|
1727
1789
|
;(async () => {
|
|
@@ -1732,9 +1794,16 @@ export async function startDashboardServer(
|
|
|
1732
1794
|
res.end(JSON.stringify({ ok: false, error: 'runId (string) and event (object) are required.' }))
|
|
1733
1795
|
return
|
|
1734
1796
|
}
|
|
1735
|
-
const existing = pushedEvents.get(body.runId)
|
|
1736
|
-
existing
|
|
1737
|
-
|
|
1797
|
+
const existing = pushedEvents.get(body.runId)
|
|
1798
|
+
if (!existing) {
|
|
1799
|
+
console.log(`[elasticdash] /api/trace-events: unknown runId=${body.runId}, known runIds=[${[...pushedEvents.keys()].join(',')}]`)
|
|
1800
|
+
res.writeHead(404, { 'Content-Type': 'application/json' })
|
|
1801
|
+
res.end(JSON.stringify({ ok: false, error: 'unknown runId' }))
|
|
1802
|
+
return
|
|
1803
|
+
}
|
|
1804
|
+
const evt = body.event as WorkflowEvent
|
|
1805
|
+
existing.push(evt)
|
|
1806
|
+
console.log(`[elasticdash] /api/trace-events: stored event type=${evt.type} name=${('name' in evt ? evt.name : '?')} runId=${body.runId} total=${existing.length}`)
|
|
1738
1807
|
res.writeHead(200, { 'Content-Type': 'application/json' })
|
|
1739
1808
|
res.end(JSON.stringify({ ok: true }))
|
|
1740
1809
|
} catch (error) {
|