elasticdash-test 0.1.13 → 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.
Files changed (37) hide show
  1. package/README.md +36 -5
  2. package/dist/cli.js +0 -0
  3. package/dist/dashboard-server.d.ts +9 -0
  4. package/dist/dashboard-server.d.ts.map +1 -1
  5. package/dist/dashboard-server.js +1984 -17
  6. package/dist/dashboard-server.js.map +1 -1
  7. package/dist/html/dashboard.html +161 -11
  8. package/dist/index.cjs +828 -108
  9. package/dist/index.d.ts +3 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/interceptors/telemetry-push.d.ts +47 -0
  14. package/dist/interceptors/telemetry-push.d.ts.map +1 -1
  15. package/dist/interceptors/telemetry-push.js +139 -6
  16. package/dist/interceptors/telemetry-push.js.map +1 -1
  17. package/dist/interceptors/tool.d.ts.map +1 -1
  18. package/dist/interceptors/tool.js +2 -1
  19. package/dist/interceptors/tool.js.map +1 -1
  20. package/dist/interceptors/workflow-ai.d.ts.map +1 -1
  21. package/dist/interceptors/workflow-ai.js +28 -4
  22. package/dist/interceptors/workflow-ai.js.map +1 -1
  23. package/dist/internals/mock-resolver.d.ts +42 -5
  24. package/dist/internals/mock-resolver.d.ts.map +1 -1
  25. package/dist/internals/mock-resolver.js +124 -5
  26. package/dist/internals/mock-resolver.js.map +1 -1
  27. package/dist/workflow-runner-worker.js +8 -2
  28. package/dist/workflow-runner-worker.js.map +1 -1
  29. package/package.json +3 -2
  30. package/src/dashboard-server.ts +86 -17
  31. package/src/html/dashboard.html +161 -11
  32. package/src/index.ts +3 -2
  33. package/src/interceptors/telemetry-push.ts +158 -7
  34. package/src/interceptors/tool.ts +2 -1
  35. package/src/interceptors/workflow-ai.ts +30 -4
  36. package/src/internals/mock-resolver.ts +131 -5
  37. package/src/workflow-runner-worker.ts +23 -2
package/dist/index.d.ts CHANGED
@@ -8,7 +8,8 @@ export { installAIInterceptor, uninstallAIInterceptor } from './interceptors/ai-
8
8
  export { startLLMProxy, fetchCapturedTrace } from './proxy/llm-capture.js';
9
9
  export { recordToolCall } from './tracing.js';
10
10
  export { safeRecordToolCall, isWorker } from './internals/conditional-recorder.js';
11
- export { resolveMock } from './internals/mock-resolver.js';
11
+ export { resolveMock, resolveAIMock, resolvePromptMock } from './internals/mock-resolver.js';
12
+ export type { AIMockEntry, AIMockConfig } from './internals/mock-resolver.js';
12
13
  export type { TestResult, FileResult, RunnerOptions } from './runner.js';
13
14
  export type { AITestContext, TraceHandle, LLMStep, ToolCall, CustomStep, TraceStep, RunnerHooks } from './trace-adapter/context.js';
14
15
  export type { WorkflowEvent, WorkflowEventType, WorkflowTrace } from './capture/event.js';
@@ -17,7 +18,7 @@ export type { CaptureContext } from './capture/recorder.js';
17
18
  export { ReplayController } from './capture/replay.js';
18
19
  export { wrapTool } from './interceptors/tool.js';
19
20
  export { wrapAI } from './interceptors/workflow-ai.js';
20
- export { setHttpRunContext, initHttpRunContext, getHttpRunContext } from './interceptors/telemetry-push.js';
21
+ export { setHttpRunContext, initHttpRunContext, getHttpRunContext, getHttpFrozenEvent, getHttpPromptMock, pushTelemetryEvent, tryAutoInitHttpContext, runInHttpContext, runWithInitializedHttpContext } from './interceptors/telemetry-push.js';
21
22
  export { wrapDB, wrapPgClient, wrapKnex, wrapMongoCollection, wrapRedisClient } from './interceptors/db.js';
22
23
  export { installDBAutoInterceptor, uninstallDBAutoInterceptor } from './interceptors/db-auto.js';
23
24
  export { interceptFetch, restoreFetch, readVercelAIStream } from './interceptors/http.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACxE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnI,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC3F,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAC3G,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3G,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACzF,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACjH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEjF,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC1G,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC5F,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC7E,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACxE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnI,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC3F,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAC/O,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3G,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACzF,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACjH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEjF,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC1G,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
package/dist/index.js CHANGED
@@ -9,12 +9,12 @@ export { installAIInterceptor, uninstallAIInterceptor } from './interceptors/ai-
9
9
  export { startLLMProxy, fetchCapturedTrace } from './proxy/llm-capture.js';
10
10
  export { recordToolCall } from './tracing.js';
11
11
  export { safeRecordToolCall, isWorker } from './internals/conditional-recorder.js';
12
- export { resolveMock } from './internals/mock-resolver.js';
12
+ export { resolveMock, resolveAIMock, resolvePromptMock } from './internals/mock-resolver.js';
13
13
  export { TraceRecorder, setCaptureContext, getCaptureContext } from './capture/recorder.js';
14
14
  export { ReplayController } from './capture/replay.js';
15
15
  export { wrapTool } from './interceptors/tool.js';
16
16
  export { wrapAI } from './interceptors/workflow-ai.js';
17
- export { setHttpRunContext, initHttpRunContext, getHttpRunContext } from './interceptors/telemetry-push.js';
17
+ export { setHttpRunContext, initHttpRunContext, getHttpRunContext, getHttpFrozenEvent, getHttpPromptMock, pushTelemetryEvent, tryAutoInitHttpContext, runInHttpContext, runWithInitializedHttpContext } from './interceptors/telemetry-push.js';
18
18
  export { wrapDB, wrapPgClient, wrapKnex, wrapMongoCollection, wrapRedisClient } from './interceptors/db.js';
19
19
  export { installDBAutoInterceptor, uninstallDBAutoInterceptor } from './interceptors/db-auto.js';
20
20
  export { interceptFetch, restoreFetch, readVercelAIStream } from './interceptors/http.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAK1D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAC3G,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3G,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEzF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACjH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIlD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAM5F,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAC/O,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3G,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEzF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACjH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIlD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -4,6 +4,8 @@ interface HttpRunContext {
4
4
  dashboardUrl: string;
5
5
  nextId: () => number;
6
6
  frozenEvents: Map<number, WorkflowEvent>;
7
+ /** System-prompt-keyed overrides: original system prompt → replacement system prompt */
8
+ promptMocks: Map<string, string>;
7
9
  }
8
10
  /** Synchronous setup — use when there are no frozen events (live run with no replay). */
9
11
  export declare function setHttpRunContext(runId: string, dashboardUrl: string): void;
@@ -16,6 +18,51 @@ export declare function initHttpRunContext(runId: string, dashboardUrl: string):
16
18
  export declare function getHttpRunContext(): HttpRunContext | undefined;
17
19
  /** Returns the frozen WorkflowEvent for the given event id, or undefined if not frozen. */
18
20
  export declare function getHttpFrozenEvent(id: number): WorkflowEvent | undefined;
21
+ /**
22
+ * If a prompt mock is configured for the system prompt found in `input`, returns
23
+ * a copy of `input` with the system prompt replaced. Otherwise returns `undefined`.
24
+ */
25
+ export declare function getHttpPromptMock(input: unknown): unknown | undefined;
19
26
  export declare function pushTelemetryEvent(event: WorkflowEvent): void;
27
+ /**
28
+ * Lazily initialises an HTTP run context from environment variables when none
29
+ * has been set up explicitly. Only activates when `ELASTICDASH_SERVER` is set.
30
+ *
31
+ * - If `ELASTICDASH_RUN_ID` is also set, calls `initHttpRunContext` so that
32
+ * frozen steps are fetched from the dashboard (enables step freezing).
33
+ * - Otherwise calls `setHttpRunContext` with a fresh UUID (live/telemetry mode).
34
+ *
35
+ * The initialisation runs at most once per process — subsequent calls are
36
+ * no-ops once the context is established. Errors (e.g. dashboard unreachable)
37
+ * are swallowed so that live execution always continues unaffected.
38
+ *
39
+ * Typical usage: set `ELASTICDASH_SERVER=http://localhost:4573` and optionally
40
+ * `ELASTICDASH_RUN_ID=<id>` before starting your server or script. Every
41
+ * `wrapTool` / `wrapAI` call will then auto-connect to the dashboard without
42
+ * any explicit `initHttpRunContext` call in your code.
43
+ */
44
+ /**
45
+ * Runs `callback` inside a fresh HTTP run context scoped to `runId` / `dashboardUrl`.
46
+ * Uses `als.run()` which guarantees the store is inherited by all async descendants of
47
+ * `callback`, even when intermediate code (e.g. Langfuse / OTel) spawns its own async
48
+ * contexts via `als.run()`. Prefer this over `setHttpRunContext` when wrapping a long-lived
49
+ * async pipeline such as a streaming route handler.
50
+ */
51
+ export declare function runInHttpContext<T>(runId: string, dashboardUrl: string, callback: () => Promise<T>): Promise<T>;
52
+ /**
53
+ * Fetches frozen events and prompt mocks from the dashboard, then runs `callback`
54
+ * inside an HTTP run context using `als.run()`. This is the preferred function for
55
+ * streaming route handlers that sit behind Langfuse / OTel instrumentation:
56
+ *
57
+ * - `als.run()` guarantees the elasticdash store is inherited through any nested
58
+ * `als.run()` calls made by third-party libraries (e.g. `startActiveObservation`).
59
+ * - Frozen events and prompt mocks are fetched before the callback so step replay
60
+ * and prompt mocking work correctly on reruns.
61
+ *
62
+ * Falls back to an empty context (live execution, no replay) if the dashboard is
63
+ * unreachable or the run config is not found.
64
+ */
65
+ export declare function runWithInitializedHttpContext<T>(runId: string, dashboardUrl: string, callback: () => Promise<T>): Promise<T>;
66
+ export declare function tryAutoInitHttpContext(): Promise<void>;
20
67
  export {};
21
68
  //# sourceMappingURL=telemetry-push.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-push.d.ts","sourceRoot":"","sources":["../../src/interceptors/telemetry-push.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,MAAM,CAAA;IACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CACzC;AAgBD,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAE3E;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3F;AAED,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAExE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAS7D"}
1
+ {"version":3,"file":"telemetry-push.d.ts","sourceRoot":"","sources":["../../src/interceptors/telemetry-push.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGxD,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,MAAM,CAAA;IACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACxC,wFAAwF;IACxF,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAsBD,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAE3E;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3F;AAED,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAExE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAsBrE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAiB7D;AAID;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,6BAA6B,CAAC,CAAC,EACnD,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB5D"}
@@ -1,20 +1,23 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { randomUUID } from 'node:crypto';
3
+ import { extractSystemPrompt, replaceSystemPrompt } from '../internals/mock-resolver.js';
2
4
  const g = globalThis;
3
5
  const HTTP_RUN_ALS_KEY = '__elasticdash_http_run_als__';
4
6
  const httpRunAls = g[HTTP_RUN_ALS_KEY] ??
5
7
  new AsyncLocalStorage();
6
8
  if (!g[HTTP_RUN_ALS_KEY])
7
9
  g[HTTP_RUN_ALS_KEY] = httpRunAls;
8
- function buildContext(runId, dashboardUrl, frozenEvents) {
10
+ function buildContext(runId, dashboardUrl, frozenEvents, promptMocksRecord = {}) {
9
11
  let counter = 0;
10
12
  const frozenMap = new Map();
11
13
  for (const e of frozenEvents)
12
14
  frozenMap.set(e.id, e);
13
- return { runId, dashboardUrl, nextId: () => ++counter, frozenEvents: frozenMap };
15
+ const promptMocksMap = new Map(Object.entries(promptMocksRecord));
16
+ return { runId, dashboardUrl, nextId: () => ++counter, frozenEvents: frozenMap, promptMocks: promptMocksMap };
14
17
  }
15
18
  /** Synchronous setup — use when there are no frozen events (live run with no replay). */
16
19
  export function setHttpRunContext(runId, dashboardUrl) {
17
- httpRunAls.enterWith(buildContext(runId, dashboardUrl, []));
20
+ httpRunAls.enterWith(buildContext(runId, dashboardUrl, [], {}));
18
21
  }
19
22
  /**
20
23
  * Async setup — fetches frozen events from the dashboard then sets the ALS context.
@@ -23,17 +26,20 @@ export function setHttpRunContext(runId, dashboardUrl) {
23
26
  */
24
27
  export async function initHttpRunContext(runId, dashboardUrl) {
25
28
  let frozenEvents = [];
29
+ let promptMocks = {};
26
30
  try {
27
31
  const res = await fetch(`${dashboardUrl}/api/run-configs/${runId}`);
28
32
  if (res.ok) {
29
33
  const data = await res.json();
30
34
  frozenEvents = Array.isArray(data.frozenEvents) ? data.frozenEvents : [];
35
+ promptMocks = (data.promptMocks && typeof data.promptMocks === 'object' && !Array.isArray(data.promptMocks))
36
+ ? data.promptMocks : {};
31
37
  }
32
38
  }
33
39
  catch {
34
40
  // Dashboard unreachable or run config not registered — proceed with live execution
35
41
  }
36
- httpRunAls.enterWith(buildContext(runId, dashboardUrl, frozenEvents));
42
+ httpRunAls.enterWith(buildContext(runId, dashboardUrl, frozenEvents, promptMocks));
37
43
  }
38
44
  export function getHttpRunContext() {
39
45
  return httpRunAls.getStore();
@@ -42,15 +48,142 @@ export function getHttpRunContext() {
42
48
  export function getHttpFrozenEvent(id) {
43
49
  return httpRunAls.getStore()?.frozenEvents.get(id);
44
50
  }
51
+ /**
52
+ * If a prompt mock is configured for the system prompt found in `input`, returns
53
+ * a copy of `input` with the system prompt replaced. Otherwise returns `undefined`.
54
+ */
55
+ export function getHttpPromptMock(input) {
56
+ const ctx = httpRunAls.getStore();
57
+ if (!ctx || ctx.promptMocks.size === 0) {
58
+ console.log(`[elasticdash] getHttpPromptMock: skip — promptMocks.size=${ctx?.promptMocks.size ?? 'no ctx'}`);
59
+ return undefined;
60
+ }
61
+ const systemPrompt = extractSystemPrompt(input);
62
+ if (systemPrompt === undefined) {
63
+ const inputKeys = (input && typeof input === 'object') ? Object.keys(input).join(',') : typeof input;
64
+ console.log(`[elasticdash] getHttpPromptMock: no system prompt found in input (keys: ${inputKeys})`);
65
+ return undefined;
66
+ }
67
+ const newSystemPrompt = ctx.promptMocks.get(systemPrompt);
68
+ console.log(`[elasticdash] getHttpPromptMock: extracted system prompt (len=${systemPrompt.length}, first50=${JSON.stringify(systemPrompt.slice(0, 50))}) — mock found=${newSystemPrompt !== undefined}`);
69
+ if (newSystemPrompt !== undefined) {
70
+ console.log(`[elasticdash] getHttpPromptMock: available mock keys=${JSON.stringify([...ctx.promptMocks.keys()].map(k => k.slice(0, 50)))}`);
71
+ }
72
+ if (newSystemPrompt === undefined) {
73
+ console.log(`[elasticdash] getHttpPromptMock: no mock for this prompt. Available mock keys (first 50 chars each): ${JSON.stringify([...ctx.promptMocks.keys()].map(k => k.slice(0, 50)))}`);
74
+ return undefined;
75
+ }
76
+ return replaceSystemPrompt(input, newSystemPrompt);
77
+ }
45
78
  export function pushTelemetryEvent(event) {
46
79
  const ctx = httpRunAls.getStore();
47
- if (!ctx)
80
+ if (!ctx) {
81
+ console.log(`[elasticdash] pushTelemetryEvent: no HTTP context, dropping event type=${event.type} name=${('name' in event ? event.name : '?')}`);
48
82
  return;
83
+ }
49
84
  const { runId, dashboardUrl } = ctx;
85
+ console.log(`[elasticdash] pushTelemetryEvent: posting event type=${event.type} name=${('name' in event ? event.name : '?')} runId=${runId} to ${dashboardUrl}`);
50
86
  fetch(`${dashboardUrl}/api/trace-events`, {
51
87
  method: 'POST',
52
88
  headers: { 'Content-Type': 'application/json' },
53
89
  body: JSON.stringify({ runId, event }),
54
- }).catch(() => { });
90
+ }).then(r => {
91
+ console.log(`[elasticdash] pushTelemetryEvent: response status=${r.status} for type=${event.type} name=${('name' in event ? event.name : '?')}`);
92
+ }).catch(e => {
93
+ console.log(`[elasticdash] pushTelemetryEvent: fetch failed: ${e instanceof Error ? e.message : String(e)}`);
94
+ });
95
+ }
96
+ const AUTO_INIT_KEY = '__elasticdash_auto_init_promise__';
97
+ /**
98
+ * Lazily initialises an HTTP run context from environment variables when none
99
+ * has been set up explicitly. Only activates when `ELASTICDASH_SERVER` is set.
100
+ *
101
+ * - If `ELASTICDASH_RUN_ID` is also set, calls `initHttpRunContext` so that
102
+ * frozen steps are fetched from the dashboard (enables step freezing).
103
+ * - Otherwise calls `setHttpRunContext` with a fresh UUID (live/telemetry mode).
104
+ *
105
+ * The initialisation runs at most once per process — subsequent calls are
106
+ * no-ops once the context is established. Errors (e.g. dashboard unreachable)
107
+ * are swallowed so that live execution always continues unaffected.
108
+ *
109
+ * Typical usage: set `ELASTICDASH_SERVER=http://localhost:4573` and optionally
110
+ * `ELASTICDASH_RUN_ID=<id>` before starting your server or script. Every
111
+ * `wrapTool` / `wrapAI` call will then auto-connect to the dashboard without
112
+ * any explicit `initHttpRunContext` call in your code.
113
+ */
114
+ /**
115
+ * Runs `callback` inside a fresh HTTP run context scoped to `runId` / `dashboardUrl`.
116
+ * Uses `als.run()` which guarantees the store is inherited by all async descendants of
117
+ * `callback`, even when intermediate code (e.g. Langfuse / OTel) spawns its own async
118
+ * contexts via `als.run()`. Prefer this over `setHttpRunContext` when wrapping a long-lived
119
+ * async pipeline such as a streaming route handler.
120
+ */
121
+ export function runInHttpContext(runId, dashboardUrl, callback) {
122
+ return httpRunAls.run(buildContext(runId, dashboardUrl, [], {}), callback);
123
+ }
124
+ /**
125
+ * Fetches frozen events and prompt mocks from the dashboard, then runs `callback`
126
+ * inside an HTTP run context using `als.run()`. This is the preferred function for
127
+ * streaming route handlers that sit behind Langfuse / OTel instrumentation:
128
+ *
129
+ * - `als.run()` guarantees the elasticdash store is inherited through any nested
130
+ * `als.run()` calls made by third-party libraries (e.g. `startActiveObservation`).
131
+ * - Frozen events and prompt mocks are fetched before the callback so step replay
132
+ * and prompt mocking work correctly on reruns.
133
+ *
134
+ * Falls back to an empty context (live execution, no replay) if the dashboard is
135
+ * unreachable or the run config is not found.
136
+ */
137
+ export async function runWithInitializedHttpContext(runId, dashboardUrl, callback) {
138
+ let frozenEvents = [];
139
+ let promptMocks = {};
140
+ try {
141
+ const res = await fetch(`${dashboardUrl}/api/run-configs/${runId}`);
142
+ if (res.ok) {
143
+ const data = await res.json();
144
+ frozenEvents = Array.isArray(data.frozenEvents) ? data.frozenEvents : [];
145
+ promptMocks = (data.promptMocks && typeof data.promptMocks === 'object' && !Array.isArray(data.promptMocks))
146
+ ? data.promptMocks : {};
147
+ const mockKeys = Object.keys(promptMocks);
148
+ console.log(`[elasticdash] runWithInitializedHttpContext: fetched ${mockKeys.length} prompt mocks, ${frozenEvents.length} frozen events`);
149
+ if (mockKeys.length > 0) {
150
+ console.log(`[elasticdash] runWithInitializedHttpContext: mock keys (first 80 chars each): ${JSON.stringify(mockKeys.map(k => k.slice(0, 80)))}`);
151
+ }
152
+ }
153
+ else {
154
+ console.log(`[elasticdash] runWithInitializedHttpContext: run-configs fetch returned ${res.status}`);
155
+ }
156
+ }
157
+ catch {
158
+ // Dashboard unreachable or run config not registered — proceed with live execution
159
+ }
160
+ return httpRunAls.run(buildContext(runId, dashboardUrl, frozenEvents, promptMocks), callback);
161
+ }
162
+ export async function tryAutoInitHttpContext() {
163
+ // Fast path: already initialised in this async context
164
+ if (getHttpRunContext())
165
+ return;
166
+ const serverUrl = (typeof process !== 'undefined' && process.env?.ELASTICDASH_SERVER) ?? '';
167
+ if (!serverUrl)
168
+ return;
169
+ // Deduplicate concurrent first calls within the same process
170
+ const g = globalThis;
171
+ if (!g[AUTO_INIT_KEY]) {
172
+ g[AUTO_INIT_KEY] = (async () => {
173
+ try {
174
+ const runId = (typeof process !== 'undefined' && process.env?.ELASTICDASH_RUN_ID) ?? '';
175
+ if (runId) {
176
+ await initHttpRunContext(runId, serverUrl);
177
+ }
178
+ else {
179
+ setHttpRunContext(randomUUID(), serverUrl);
180
+ }
181
+ }
182
+ catch {
183
+ // Dashboard unreachable — fall through to live execution
184
+ }
185
+ })();
186
+ }
187
+ await g[AUTO_INIT_KEY];
55
188
  }
56
189
  //# sourceMappingURL=telemetry-push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-push.js","sourceRoot":"","sources":["../../src/interceptors/telemetry-push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAUpD,MAAM,CAAC,GAAG,UAAqC,CAAA;AAC/C,MAAM,gBAAgB,GAAG,8BAA8B,CAAA;AACvD,MAAM,UAAU,GACb,CAAC,CAAC,gBAAgB,CAAmD;IACtE,IAAI,iBAAiB,EAA8B,CAAA;AACrD,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAA;AAE1D,SAAS,YAAY,CAAC,KAAa,EAAE,YAAoB,EAAE,YAA6B;IACtF,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAA;IAClD,KAAK,MAAM,CAAC,IAAI,YAAY;QAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACpD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAA;AAClF,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,YAAoB;IACnE,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAa,EAAE,YAAoB;IAC1E,IAAI,YAAY,GAAoB,EAAE,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,oBAAoB,KAAK,EAAE,CAAC,CAAA;QACnE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAwC,CAAA;YACnE,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mFAAmF;IACrF,CAAC;IACD,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAA;AAC9B,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,UAAU,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACrD,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA;IACjC,IAAI,CAAC,GAAG;QAAE,OAAM;IAChB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG,CAAA;IACnC,KAAK,CAAC,GAAG,YAAY,mBAAmB,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KACvC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"telemetry-push.js","sourceRoot":"","sources":["../../src/interceptors/telemetry-push.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/interceptors/tool.ts"],"names":[],"mappings":"AAkFA,wBAAgB,QAAQ,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,EAChD,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAChC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAiJ/B"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/interceptors/tool.ts"],"names":[],"mappings":"AAkFA,wBAAgB,QAAQ,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,EAChD,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAChC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAkJ/B"}
@@ -1,7 +1,7 @@
1
1
  import { getCaptureContext } from '../capture/recorder.js';
2
2
  import { getCurrentTrace } from '../trace-adapter/context.js';
3
3
  import { rawDateNow } from './side-effects.js';
4
- import { getHttpRunContext, getHttpFrozenEvent, pushTelemetryEvent } from './telemetry-push.js';
4
+ import { getHttpRunContext, getHttpFrozenEvent, pushTelemetryEvent, tryAutoInitHttpContext } from './telemetry-push.js';
5
5
  const TOOL_WRAPPER_ACTIVE_KEY = '__elasticdash_tool_wrapper_active__';
6
6
  function toTraceArgs(input) {
7
7
  if (input && typeof input === 'object' && !Array.isArray(input)) {
@@ -73,6 +73,7 @@ function wrapAsyncIterable(source, onComplete) {
73
73
  }
74
74
  export function wrapTool(name, fn) {
75
75
  return async (...args) => {
76
+ await tryAutoInitHttpContext();
76
77
  const ctx = getCaptureContext();
77
78
  const httpCtx = getHttpRunContext();
78
79
  console.log(`[elasticdash] Tool called: ${name}`, { args });
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/interceptors/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/interceptors/tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-ai.d.ts","sourceRoot":"","sources":["../../src/interceptors/workflow-ai.ts"],"names":[],"mappings":"AAyCA,wBAAgB,MAAM,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,EAC9C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GACpC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAwE/B"}
1
+ {"version":3,"file":"workflow-ai.d.ts","sourceRoot":"","sources":["../../src/interceptors/workflow-ai.ts"],"names":[],"mappings":"AA0CA,wBAAgB,MAAM,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,EAC9C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GACpC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAiG/B"}
@@ -1,6 +1,7 @@
1
1
  import { getCaptureContext } from '../capture/recorder.js';
2
2
  import { rawDateNow } from './side-effects.js';
3
- import { getHttpRunContext, getHttpFrozenEvent, pushTelemetryEvent } from './telemetry-push.js';
3
+ import { getHttpRunContext, getHttpFrozenEvent, getHttpPromptMock, pushTelemetryEvent, tryAutoInitHttpContext } from './telemetry-push.js';
4
+ import { resolveAIMock, resolvePromptMock } from '../internals/mock-resolver.js';
4
5
  function extractUsage(output) {
5
6
  if (!output || typeof output !== 'object')
6
7
  return undefined;
@@ -37,20 +38,38 @@ function extractUsage(output) {
37
38
  }
38
39
  export function wrapAI(modelName, callFn) {
39
40
  return async (...args) => {
41
+ await tryAutoInitHttpContext();
40
42
  const ctx = getCaptureContext();
41
43
  const httpCtx = getHttpRunContext();
42
44
  if (!ctx && !httpCtx)
43
45
  return callFn(...args);
44
46
  const start = rawDateNow();
45
- const input = args.length === 1 ? args[0] : args;
46
47
  if (ctx) {
47
48
  const { recorder, replay } = ctx;
48
49
  const id = recorder.nextId();
49
50
  if (replay.shouldReplay(id)) {
50
51
  return replay.getRecordedResult(id);
51
52
  }
53
+ // Check AI mock (output mock — skip real call, return recorded result)
54
+ const aiMock = resolveAIMock(modelName);
55
+ if (aiMock.mocked) {
56
+ const input = args.length === 1 ? args[0] : args;
57
+ const event = {
58
+ id, type: 'ai', name: modelName, input,
59
+ output: aiMock.result, timestamp: start, durationMs: 0,
60
+ };
61
+ recorder.record(event);
62
+ if (httpCtx)
63
+ pushTelemetryEvent(event);
64
+ return aiMock.result;
65
+ }
66
+ // Check prompt mock (system prompt replacement — call real LLM with modified system prompt)
67
+ const rawInput = args.length === 1 ? args[0] : args;
68
+ const modifiedInput = resolvePromptMock(rawInput);
69
+ const effectiveArgs = modifiedInput !== undefined ? [modifiedInput] : args;
70
+ const input = modifiedInput !== undefined ? modifiedInput : rawInput;
52
71
  try {
53
- const output = await callFn(...args);
72
+ const output = await callFn(...effectiveArgs);
54
73
  const durationMs = rawDateNow() - start;
55
74
  const usage = extractUsage(output);
56
75
  const event = {
@@ -83,8 +102,13 @@ export function wrapAI(modelName, callFn) {
83
102
  pushTelemetryEvent(frozen);
84
103
  return frozen.output;
85
104
  }
105
+ // Check prompt mock (system prompt replacement in HTTP mode)
106
+ const rawHttpInput = args.length === 1 ? args[0] : args;
107
+ const httpModifiedInput = getHttpPromptMock(rawHttpInput);
108
+ const httpEffectiveArgs = httpModifiedInput !== undefined ? [httpModifiedInput] : args;
109
+ const input = httpModifiedInput !== undefined ? httpModifiedInput : rawHttpInput;
86
110
  try {
87
- const output = await callFn(...args);
111
+ const output = await callFn(...httpEffectiveArgs);
88
112
  const durationMs = rawDateNow() - start;
89
113
  const usage = extractUsage(output);
90
114
  const event = {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-ai.js","sourceRoot":"","sources":["../../src/interceptors/workflow-ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-ai.js","sourceRoot":"","sources":["../../src/interceptors/workflow-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC1I,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAKhF,SAAS,YAAY,CAAC,MAAe;IACnC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC3D,MAAM,CAAC,GAAG,MAAiC,CAAA;IAC3C,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,KAA+B,CAAA;QAC3C,8CAA8C;QAC9C,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YACtD,OAAO;gBACL,WAAW,EAAE,CAAC,CAAC,YAAY;gBAC3B,YAAY,EAAE,CAAC,CAAC,aAAa;gBAC7B,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC;aAC5D,CAAA;QACH,CAAC;QACD,gDAAgD;QAChD,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YAC3D,OAAO;gBACL,WAAW,EAAE,CAAC,CAAC,aAAa;gBAC5B,YAAY,EAAE,CAAC,CAAC,iBAAiB;gBACjC,WAAW,EAAE,CAAC,CAAC,YAAY;aAC5B,CAAA;QACH,CAAC;IACH,CAAC;IACD,4BAA4B;IAC5B,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAuC,CAAA;QACnD,OAAO;YACL,WAAW,EAAE,CAAC,CAAC,gBAAgB;YAC/B,YAAY,EAAE,CAAC,CAAC,oBAAoB;YACpC,WAAW,EAAE,CAAC,CAAC,eAAe;SAC/B,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,SAAiB,EACjB,MAAqC;IAErC,OAAO,KAAK,EAAE,GAAG,IAAU,EAAc,EAAE;QACzC,MAAM,sBAAsB,EAAE,CAAA;QAC9B,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;QAEnC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;QAE5C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;QAE1B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;YAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAA;YAE5B,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,OAAO,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAM,CAAA;YAC1C,CAAC;YAED,uEAAuE;YACvE,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAChD,MAAM,KAAK,GAAkB;oBAC3B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK;oBACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;iBACvD,CAAA;gBACD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtB,IAAI,OAAO;oBAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACtC,OAAO,MAAM,CAAC,MAAW,CAAA;YAC3B,CAAC;YAED,4FAA4F;YAC5F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACnD,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YACjD,MAAM,aAAa,GAAS,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAoB,CAAC,CAAC,CAAC,IAAI,CAAA;YACnG,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAA;YAEpE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,aAAa,CAAC,CAAA;gBAC7C,MAAM,UAAU,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;gBACvC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;gBAClC,MAAM,KAAK,GAAkB;oBAC3B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;oBAC9C,SAAS,EAAE,KAAK,EAAE,UAAU;oBAC5B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5B,CAAA;gBACD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtB,IAAI,OAAO;oBAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACtC,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,UAAU,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;gBACvC,MAAM,KAAK,GAAkB;oBAC3B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK;oBACtC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU;iBAC3D,CAAA;gBACD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtB,IAAI,OAAO;oBAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACtC,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,EAAE,GAAG,OAAQ,CAAC,MAAM,EAAE,CAAA;QAE5B,8EAA8E;QAC9E,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAC1B,OAAO,MAAM,CAAC,MAAW,CAAA;QAC3B,CAAC;QAED,6DAA6D;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACvD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;QACzD,MAAM,iBAAiB,GAAS,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAoB,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/G,MAAM,KAAK,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAA;QAEhF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAA;YACjD,MAAM,UAAU,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;YACvC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAClC,MAAM,KAAK,GAAkB;gBAC3B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;gBAC9C,SAAS,EAAE,KAAK,EAAE,UAAU;gBAC5B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B,CAAA;YACD,kBAAkB,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;YACvC,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK;gBACtC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU;aAC3D,CAAC,CAAA;YACF,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,11 +1,21 @@
1
1
  /**
2
- * Runtime tool mock resolution for module-imported tools.
2
+ * Runtime mock resolution for module-imported tools and AI calls.
3
3
  *
4
- * Tools that are statically imported (not accessed via globalThis) cannot be
5
- * intercepted by the worker's proxy-based mocking. Instead, each tool function
6
- * calls `resolveMock` at its entry point. The worker writes the mock config to
7
- * `__ELASTICDASH_TOOL_MOCKS__` before the workflow runs and clears it after.
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
  */
10
+ /** Per-model AI mock configuration (mirrors ToolMockConfig) */
11
+ export interface AIMockEntry {
12
+ mode: 'live' | 'mock-all' | 'mock-specific';
13
+ callIndices?: number[];
14
+ mockData?: Record<number, unknown>;
15
+ }
16
+ export interface AIMockConfig {
17
+ [modelName: string]: AIMockEntry;
18
+ }
9
19
  type MockResult = {
10
20
  mocked: true;
11
21
  result: unknown;
@@ -21,5 +31,32 @@ type MockResult = {
21
31
  * - Safe to call in production: no-op when the mock globals are absent.
22
32
  */
23
33
  export declare function resolveMock(toolName: string): MockResult;
34
+ /**
35
+ * Extracts the system prompt string from an LLM call input.
36
+ * Handles:
37
+ * - Anthropic style: `{ system: "...", messages: [...] }`
38
+ * - OpenAI style: `{ messages: [{ role: "system", content: "..." }, ...] }`
39
+ * - Plain message array: `[{ role: "system", content: "..." }, ...]`
40
+ * - Separate field: `{ systemPrompt: "...", messages: [...] }` (custom wrapAI callers)
41
+ */
42
+ export declare function extractSystemPrompt(input: unknown): string | undefined;
43
+ /**
44
+ * Returns a shallow copy of `input` with the system prompt replaced by `newSystemPrompt`.
45
+ */
46
+ export declare function replaceSystemPrompt(input: unknown, newSystemPrompt: string): unknown;
47
+ /**
48
+ * If a prompt mock is configured for the system prompt found in `input`, returns
49
+ * a copy of `input` with the system prompt replaced. Otherwise returns `undefined`.
50
+ *
51
+ * `__ELASTICDASH_PROMPT_MOCKS__` is `Record<string, string>` keyed by the original
52
+ * system prompt text, set by the worker/dashboard before the workflow runs.
53
+ */
54
+ export declare function resolvePromptMock(input: unknown): unknown | undefined;
55
+ /**
56
+ * Resolves whether the current call to `modelName` should be mocked.
57
+ * Mirrors `resolveMock` but reads `__ELASTICDASH_AI_MOCKS__` and
58
+ * `__ELASTICDASH_AI_CALL_COUNTERS__`.
59
+ */
60
+ export declare function resolveAIMock(modelName: string): MockResult;
24
61
  export {};
25
62
  //# sourceMappingURL=mock-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-resolver.d.ts","sourceRoot":"","sources":["../../src/internals/mock-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,KAAK,UAAU,GACX;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACjC;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,CAAA;AAgCrB;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAkCxD"}
1
+ {"version":3,"file":"mock-resolver.d.ts","sourceRoot":"","sources":["../../src/internals/mock-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,eAAe,CAAA;IAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;CACjC;AAED,KAAK,UAAU,GACX;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACjC;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,CAAA;AAgCrB;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAkCxD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAetE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CA2BpF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CASrE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAgC3D"}