elasticdash-sdk 0.2.7-beta → 0.2.8
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 +48 -9
- package/dist/cli.js +36 -17
- package/dist/cli.js.map +1 -1
- package/dist/execution/tool-runner.d.ts.map +1 -1
- package/dist/execution/tool-runner.js +58 -14
- package/dist/execution/tool-runner.js.map +1 -1
- package/dist/index.cjs +37 -14
- package/dist/tool-runner-worker.js +114 -1
- package/dist/tool-runner-worker.js.map +1 -1
- package/dist/workflow-runner-worker.js +87 -1
- package/dist/workflow-runner-worker.js.map +1 -1
- package/docs/agent-integration-guide.md +30 -8
- package/docs/partial-mocking.md +10 -4
- package/docs/workflow-modes.md +6 -7
- package/package.json +1 -1
- package/src/cli.ts +36 -17
- package/src/execution/tool-runner.ts +52 -8
- package/src/tool-runner-worker.ts +115 -1
- package/src/workflow-runner-worker.ts +91 -1
|
@@ -135,8 +135,114 @@ function installFrozenFetchFallback(frozenEvents) {
|
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
137
|
}
|
|
138
|
+
// ─── Signal-driven shutdown + diagnostic dump ─────────────────────────
|
|
139
|
+
//
|
|
140
|
+
// Pre-fix behavior: this worker had ZERO signal handlers. When the parent
|
|
141
|
+
// CLI / MCP / agent sent SIGTERM (e.g. on timeout), the inner tool's
|
|
142
|
+
// blocking call (typically a hung HTTP fetch) just kept running. The
|
|
143
|
+
// process never exited and no diagnostic landed anywhere.
|
|
144
|
+
//
|
|
145
|
+
// Post-fix:
|
|
146
|
+
// 1. Install SIGTERM / SIGINT / SIGHUP handlers that flip a shared
|
|
147
|
+
// AbortSignal and start a 2s grace timer before forced exit.
|
|
148
|
+
// 2. Before forced exit, dump a structured snapshot to stderr listing
|
|
149
|
+
// the current tool name, elapsed time, time since last heartbeat,
|
|
150
|
+
// and process.getActiveResourcesInfo() — tells the user "stuck on
|
|
151
|
+
// TCPWRAP / TLSWRAP / Timeout" without needing a real stack trace.
|
|
152
|
+
// 3. While a tool is running, emit a 10s heartbeat (default — tunable
|
|
153
|
+
// via ELASTICDASH_WORKER_HEARTBEAT_MS=0 to disable) so a watchdog
|
|
154
|
+
// upstream sees continuous output instead of declaring the worker
|
|
155
|
+
// stalled.
|
|
156
|
+
const workerAbortController = new AbortController();
|
|
157
|
+
let currentToolName;
|
|
158
|
+
let toolStartedAtMs;
|
|
159
|
+
let lastHeartbeatAtMs = Date.now();
|
|
160
|
+
let shuttingDown = false;
|
|
161
|
+
function activeResourcesSnapshot() {
|
|
162
|
+
// process.getActiveResourcesInfo() is stable in Node ≥17.3. It returns
|
|
163
|
+
// a list of resource names (TCPWRAP, TLSWRAP, Timeout, etc.) keeping
|
|
164
|
+
// the event loop alive. That alone tells a user whether the hang is
|
|
165
|
+
// network-bound, timer-bound, or CPU-bound (empty array = likely a
|
|
166
|
+
// sync infinite loop, which getActiveResourcesInfo wouldn't catch).
|
|
167
|
+
try {
|
|
168
|
+
const getActiveResourcesInfo = process.getActiveResourcesInfo;
|
|
169
|
+
return typeof getActiveResourcesInfo === 'function' ? getActiveResourcesInfo() : [];
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return [];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function diagnosticHint(resources) {
|
|
176
|
+
const set = new Set(resources);
|
|
177
|
+
if (set.has('TCPWRAP') || set.has('TLSWRAP')) {
|
|
178
|
+
return 'TCPWRAP/TLSWRAP present — likely a hung HTTP / network request. Add per-request timeouts (e.g. AbortSignal.timeout(...)) inside the tool implementation.';
|
|
179
|
+
}
|
|
180
|
+
if (set.has('Timeout')) {
|
|
181
|
+
return 'Timeout resources only — the tool may be waiting on a setTimeout / sleep. Check for missing clear or long backoff.';
|
|
182
|
+
}
|
|
183
|
+
if (resources.length === 0) {
|
|
184
|
+
return 'No active async resources — likely a sync infinite loop or sync I/O. Inspect tight loops in the tool.';
|
|
185
|
+
}
|
|
186
|
+
return `Active: ${resources.join(', ')}`;
|
|
187
|
+
}
|
|
188
|
+
function dumpDiagnostic(reason) {
|
|
189
|
+
const elapsedMs = toolStartedAtMs ? Date.now() - toolStartedAtMs : 0;
|
|
190
|
+
const sinceHeartbeatMs = Date.now() - lastHeartbeatAtMs;
|
|
191
|
+
const resources = activeResourcesSnapshot();
|
|
192
|
+
const lines = [
|
|
193
|
+
`[elasticdash-worker] ${reason} — diagnostic snapshot:`,
|
|
194
|
+
` tool: ${currentToolName ?? '<no tool running>'}`,
|
|
195
|
+
` elapsed_ms: ${elapsedMs}`,
|
|
196
|
+
` since_last_heartbeat_ms: ${sinceHeartbeatMs}`,
|
|
197
|
+
` active_async_resources: ${JSON.stringify(resources)}`,
|
|
198
|
+
` hint: ${diagnosticHint(resources)}`,
|
|
199
|
+
];
|
|
200
|
+
process.stderr.write(lines.join('\n') + '\n');
|
|
201
|
+
}
|
|
202
|
+
function installSignalHandlers() {
|
|
203
|
+
const handle = (sig) => {
|
|
204
|
+
if (shuttingDown)
|
|
205
|
+
return;
|
|
206
|
+
shuttingDown = true;
|
|
207
|
+
process.stderr.write(`[elasticdash-worker] received ${sig} — aborting in-flight work\n`);
|
|
208
|
+
dumpDiagnostic(`${sig} received`);
|
|
209
|
+
try {
|
|
210
|
+
workerAbortController.abort(new Error(`worker received ${sig}`));
|
|
211
|
+
}
|
|
212
|
+
catch { /* may not be wired */ }
|
|
213
|
+
// 2s grace for in-flight async cleanup (flush stdout, close sockets);
|
|
214
|
+
// then force exit. .unref() so the timer itself doesn't keep us alive
|
|
215
|
+
// past natural completion if the abort actually lets cleanup happen.
|
|
216
|
+
setTimeout(() => {
|
|
217
|
+
process.stderr.write(`[elasticdash-worker] grace expired — force exit\n`);
|
|
218
|
+
process.exit(1);
|
|
219
|
+
}, 2_000).unref();
|
|
220
|
+
};
|
|
221
|
+
process.on('SIGTERM', () => handle('SIGTERM'));
|
|
222
|
+
process.on('SIGINT', () => handle('SIGINT'));
|
|
223
|
+
process.on('SIGHUP', () => handle('SIGHUP'));
|
|
224
|
+
}
|
|
225
|
+
function startToolHeartbeat(toolName) {
|
|
226
|
+
currentToolName = toolName;
|
|
227
|
+
toolStartedAtMs = Date.now();
|
|
228
|
+
lastHeartbeatAtMs = Date.now();
|
|
229
|
+
const heartbeatMs = Number(process.env.ELASTICDASH_WORKER_HEARTBEAT_MS ?? 10_000);
|
|
230
|
+
if (!(heartbeatMs > 0))
|
|
231
|
+
return () => { currentToolName = undefined; toolStartedAtMs = undefined; };
|
|
232
|
+
const interval = setInterval(() => {
|
|
233
|
+
lastHeartbeatAtMs = Date.now();
|
|
234
|
+
const elapsedSec = Math.round((Date.now() - (toolStartedAtMs ?? Date.now())) / 1000);
|
|
235
|
+
process.stderr.write(`[elasticdash-worker] alive tool=${toolName} elapsed=${elapsedSec}s\n`);
|
|
236
|
+
}, heartbeatMs);
|
|
237
|
+
return () => {
|
|
238
|
+
clearInterval(interval);
|
|
239
|
+
currentToolName = undefined;
|
|
240
|
+
toolStartedAtMs = undefined;
|
|
241
|
+
};
|
|
242
|
+
}
|
|
138
243
|
async function main() {
|
|
139
244
|
stage('boot');
|
|
245
|
+
installSignalHandlers();
|
|
140
246
|
const originalExit = process.exit.bind(process);
|
|
141
247
|
// Prevent the SDK's tryAutoInitHttpContext from triggering full observability
|
|
142
248
|
// or dashboard-mode initialization in this subprocess. The subprocess should
|
|
@@ -217,7 +323,14 @@ async function main() {
|
|
|
217
323
|
}
|
|
218
324
|
stage('tool-resolved', { tool: toolName, via: resolvedVia });
|
|
219
325
|
stage('tool-call-start', { tool: toolName });
|
|
220
|
-
const
|
|
326
|
+
const stopHeartbeat = startToolHeartbeat(toolName);
|
|
327
|
+
let currentOutput;
|
|
328
|
+
try {
|
|
329
|
+
currentOutput = await fn(...args);
|
|
330
|
+
}
|
|
331
|
+
finally {
|
|
332
|
+
stopHeartbeat();
|
|
333
|
+
}
|
|
221
334
|
stage('tool-call-end', { tool: toolName });
|
|
222
335
|
await writeResult({ ok: true, currentOutput });
|
|
223
336
|
stage('result-written');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-runner-worker.js","sourceRoot":"","sources":["../src/tool-runner-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-runner-worker.js","sourceRoot":"","sources":["../src/tool-runner-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -189,8 +189,88 @@ async function loadAndWrapTools(toolsModulePath, trace, toolMockConfig, strict)
|
|
|
189
189
|
return {};
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
|
+
// ─── Signal-driven shutdown + diagnostic dump ─────────────────────────
|
|
193
|
+
// See tool-runner-worker.ts for the rationale — same pattern, workflow-
|
|
194
|
+
// scoped. When SIGTERM lands here, we dump a snapshot to stderr so the
|
|
195
|
+
// user can see exactly what the workflow was stuck on (tool name,
|
|
196
|
+
// elapsed, active resources) before the 2s grace and forced exit.
|
|
197
|
+
let currentWorkflowName;
|
|
198
|
+
let workflowStartedAtMs;
|
|
199
|
+
let lastWfHeartbeatAtMs = Date.now();
|
|
200
|
+
let workflowShuttingDown = false;
|
|
201
|
+
function activeResourcesSnapshotWf() {
|
|
202
|
+
try {
|
|
203
|
+
const getActiveResourcesInfo = process.getActiveResourcesInfo;
|
|
204
|
+
return typeof getActiveResourcesInfo === 'function' ? getActiveResourcesInfo() : [];
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
return [];
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
function workflowDiagnosticHint(resources) {
|
|
211
|
+
const set = new Set(resources);
|
|
212
|
+
if (set.has('TCPWRAP') || set.has('TLSWRAP')) {
|
|
213
|
+
return 'TCPWRAP/TLSWRAP present — likely a hung HTTP / AI provider request. Check per-request timeouts in workflow tools.';
|
|
214
|
+
}
|
|
215
|
+
if (set.has('Timeout')) {
|
|
216
|
+
return 'Timeout resources only — workflow may be waiting on a sleep / backoff.';
|
|
217
|
+
}
|
|
218
|
+
if (resources.length === 0) {
|
|
219
|
+
return 'No active async resources — likely a sync infinite loop or sync I/O in user code.';
|
|
220
|
+
}
|
|
221
|
+
return `Active: ${resources.join(', ')}`;
|
|
222
|
+
}
|
|
223
|
+
function dumpWorkflowDiagnostic(reason) {
|
|
224
|
+
const elapsedMs = workflowStartedAtMs ? Date.now() - workflowStartedAtMs : 0;
|
|
225
|
+
const sinceHeartbeatMs = Date.now() - lastWfHeartbeatAtMs;
|
|
226
|
+
const resources = activeResourcesSnapshotWf();
|
|
227
|
+
const lines = [
|
|
228
|
+
`[elasticdash-worker workflow] ${reason} — diagnostic snapshot:`,
|
|
229
|
+
` workflow: ${currentWorkflowName ?? '<not started>'}`,
|
|
230
|
+
` elapsed_ms: ${elapsedMs}`,
|
|
231
|
+
` since_last_heartbeat_ms: ${sinceHeartbeatMs}`,
|
|
232
|
+
` active_async_resources: ${JSON.stringify(resources)}`,
|
|
233
|
+
` hint: ${workflowDiagnosticHint(resources)}`,
|
|
234
|
+
];
|
|
235
|
+
process.stderr.write(lines.join('\n') + '\n');
|
|
236
|
+
}
|
|
237
|
+
function installWorkflowSignalHandlers() {
|
|
238
|
+
const handle = (sig) => {
|
|
239
|
+
if (workflowShuttingDown)
|
|
240
|
+
return;
|
|
241
|
+
workflowShuttingDown = true;
|
|
242
|
+
process.stderr.write(`[elasticdash-worker workflow] received ${sig} — aborting in-flight work\n`);
|
|
243
|
+
dumpWorkflowDiagnostic(`${sig} received`);
|
|
244
|
+
setTimeout(() => {
|
|
245
|
+
process.stderr.write(`[elasticdash-worker workflow] grace expired — force exit\n`);
|
|
246
|
+
process.exit(1);
|
|
247
|
+
}, 2_000).unref();
|
|
248
|
+
};
|
|
249
|
+
process.on('SIGTERM', () => handle('SIGTERM'));
|
|
250
|
+
process.on('SIGINT', () => handle('SIGINT'));
|
|
251
|
+
process.on('SIGHUP', () => handle('SIGHUP'));
|
|
252
|
+
}
|
|
253
|
+
function startWorkflowHeartbeat(workflowName) {
|
|
254
|
+
currentWorkflowName = workflowName;
|
|
255
|
+
workflowStartedAtMs = Date.now();
|
|
256
|
+
lastWfHeartbeatAtMs = Date.now();
|
|
257
|
+
const heartbeatMs = Number(process.env.ELASTICDASH_WORKER_HEARTBEAT_MS ?? 10_000);
|
|
258
|
+
if (!(heartbeatMs > 0))
|
|
259
|
+
return () => { currentWorkflowName = undefined; workflowStartedAtMs = undefined; };
|
|
260
|
+
const interval = setInterval(() => {
|
|
261
|
+
lastWfHeartbeatAtMs = Date.now();
|
|
262
|
+
const elapsedSec = Math.round((Date.now() - (workflowStartedAtMs ?? Date.now())) / 1000);
|
|
263
|
+
process.stderr.write(`[elasticdash-worker workflow] alive workflow=${workflowName} elapsed=${elapsedSec}s\n`);
|
|
264
|
+
}, heartbeatMs);
|
|
265
|
+
return () => {
|
|
266
|
+
clearInterval(interval);
|
|
267
|
+
currentWorkflowName = undefined;
|
|
268
|
+
workflowStartedAtMs = undefined;
|
|
269
|
+
};
|
|
270
|
+
}
|
|
192
271
|
async function main() {
|
|
193
272
|
stage('boot');
|
|
273
|
+
installWorkflowSignalHandlers();
|
|
194
274
|
// Keep a reference to the real process.exit so we can call it after flushing stdout.
|
|
195
275
|
const originalExit = process.exit.bind(process);
|
|
196
276
|
const raw = await readStdin();
|
|
@@ -287,7 +367,13 @@ async function main() {
|
|
|
287
367
|
// Standardize workflow argument resolution: always pass [input] if args is empty
|
|
288
368
|
const callArgs = args.length ? args : [input];
|
|
289
369
|
stage('workflow-call-start', { workflow: workflowName });
|
|
290
|
-
|
|
370
|
+
const stopWfHeartbeat = startWorkflowHeartbeat(workflowName);
|
|
371
|
+
try {
|
|
372
|
+
currentOutput = await workflowFn(...callArgs);
|
|
373
|
+
}
|
|
374
|
+
finally {
|
|
375
|
+
stopWfHeartbeat();
|
|
376
|
+
}
|
|
291
377
|
stage('workflow-call-end', { workflow: workflowName });
|
|
292
378
|
console.error('[worker] workflowFn resolved, currentOutput:', currentOutput); // stderr so it's visible
|
|
293
379
|
}
|
|
@@ -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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"}
|
|
@@ -61,6 +61,7 @@ Create `ed_tools.ts` in the project root. This file wraps each tool function wit
|
|
|
61
61
|
|
|
62
62
|
```ts
|
|
63
63
|
// ed_tools.ts
|
|
64
|
+
import { createRequire } from 'node:module'
|
|
64
65
|
import { setElasticDashModule } from './ed_workflows'
|
|
65
66
|
|
|
66
67
|
// Import original tool implementations from the actual source files
|
|
@@ -76,14 +77,24 @@ type EdToolFn = <T extends (...args: any[]) => any>(name: string, fn: T) => T
|
|
|
76
77
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
78
|
let edTool: EdToolFn = (_name: string, fn: any) => fn
|
|
78
79
|
|
|
80
|
+
// `createRequire` works in BOTH ESM (`"type": "module"`) and CJS projects —
|
|
81
|
+
// it's the only require shape that survives both. The older `eval('require')`
|
|
82
|
+
// trick silently throws in ESM ("require is not defined"), the catch swallows
|
|
83
|
+
// it, _ed stays null, and every helper in ed_workflows.ts returns silently —
|
|
84
|
+
// you get zero traces and zero error logs. Always use createRequire.
|
|
85
|
+
const nodeRequire = createRequire(import.meta.url)
|
|
86
|
+
|
|
79
87
|
try {
|
|
80
88
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
81
|
-
const _edModule = (
|
|
89
|
+
const _edModule = nodeRequire('elasticdash-sdk')
|
|
82
90
|
edTool = _edModule.edTool ?? _edModule.wrapTool ?? edTool
|
|
83
91
|
// Share the module instance with ed_workflows.ts so trace hooks use the same context
|
|
84
92
|
setElasticDashModule(_edModule)
|
|
85
|
-
} catch {
|
|
86
|
-
//
|
|
93
|
+
} catch (err) {
|
|
94
|
+
// Surface load failures explicitly — silent failure here is the #1 cause of
|
|
95
|
+
// "I installed the SDK but no traces appear". Logging the error means a user
|
|
96
|
+
// running with ELASTICDASH_DEBUG=1 (or any time) sees what went wrong.
|
|
97
|
+
console.error('[ed_tools] failed to load elasticdash-sdk:', err)
|
|
87
98
|
}
|
|
88
99
|
|
|
89
100
|
// ---------------------------------------------------------------------------
|
|
@@ -103,7 +114,7 @@ export const myTool2 = edTool('myTool2', async (input: any) => {
|
|
|
103
114
|
### Key patterns
|
|
104
115
|
|
|
105
116
|
- **`edTool(name, fn)`** wraps the function with automatic tracing, mocking, telemetry, and global registry registration so the CLI `run-tool <name>` and MCP `run_tool` can rerun it by name. Falls back to a passthrough if `elasticdash-sdk` is not installed.
|
|
106
|
-
- **`
|
|
117
|
+
- **`createRequire(import.meta.url)`** is used instead of static `import()` to share the same module instance across `ed_tools.ts` and `ed_workflows.ts`. This avoids ESM/CJS dual-instance issues. Do not substitute `eval('require')` — that throws "require is not defined" in ESM projects (any project with `"type": "module"` in `package.json`), the catch swallows it, and the entire integration silently no-ops.
|
|
107
118
|
- **`setElasticDashModule`** shares the loaded module with `ed_workflows.ts` so `edStartTrace`/`edEndTrace` use the same tracing context as `edTool`.
|
|
108
119
|
- The exported name (e.g., `myTool1`) can differ from the original function name (e.g., `originalTool1`). The call sites in existing source files will be updated to use the new name in Step 4.
|
|
109
120
|
|
|
@@ -141,9 +152,20 @@ Every `ed_workflows.ts` should export `edStartTrace` and `edEndTrace`. These are
|
|
|
141
152
|
```ts
|
|
142
153
|
// ed_workflows.ts — trace hooks (copy as-is)
|
|
143
154
|
|
|
144
|
-
//
|
|
145
|
-
|
|
146
|
-
|
|
155
|
+
// `var` (not `let`) is intentional. `ed_tools.ts` imports `setElasticDashModule`
|
|
156
|
+
// from this file and calls it during its own module load. If this module's
|
|
157
|
+
// re-export of YOUR_WORKFLOW (below) sits in a transitive import chain that
|
|
158
|
+
// reaches `ed_tools.ts`, ESM evaluates `ed_tools.ts` BEFORE this module's body
|
|
159
|
+
// runs — and `let _ed = null` would be in TDZ (temporal dead zone) at that
|
|
160
|
+
// moment, throwing `Cannot access '_ed' before initialization` inside
|
|
161
|
+
// setElasticDashModule. `var _ed` hoists with `undefined` so the assignment
|
|
162
|
+
// works during circular import. After this module's body runs, the value set
|
|
163
|
+
// during the circular call is preserved (no re-initialiser overwrites it).
|
|
164
|
+
|
|
165
|
+
// eslint-disable-next-line no-var, @typescript-eslint/no-explicit-any
|
|
166
|
+
var _ed: any
|
|
167
|
+
// eslint-disable-next-line no-var
|
|
168
|
+
var _obsInitialised: boolean
|
|
147
169
|
|
|
148
170
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
149
171
|
export function setElasticDashModule(mod: any): void {
|
|
@@ -219,7 +241,7 @@ export const edShutdownObservability = async (): Promise<void> => {
|
|
|
219
241
|
}
|
|
220
242
|
```
|
|
221
243
|
|
|
222
|
-
> **Why route init through `_ed` instead of importing `initObservability` directly?** The SDK uses AsyncLocalStorage to correlate events. Both `ed_tools.ts` and `ed_workflows.ts` must share the same SDK module instance — that's why `ed_tools.ts` loads the SDK via `
|
|
244
|
+
> **Why route init through `_ed` instead of importing `initObservability` directly?** The SDK uses AsyncLocalStorage to correlate events. Both `ed_tools.ts` and `ed_workflows.ts` must share the same SDK module instance — that's why `ed_tools.ts` loads the SDK via `createRequire(import.meta.url)` and passes it through `setElasticDashModule`. If `main.ts` does `import { initObservability } from 'elasticdash-sdk'` directly, the ESM-loaded copy is a **different module instance** from the CJS-loaded copy that `_ed` references — init writes to one store, `startTrace` reads from another, and you get `[elasticdash] startTrace: observability not initialised` at runtime. Always init through `edInitObservability` from `ed_workflows.ts`.
|
|
223
245
|
|
|
224
246
|
### Workflow exports — simple case
|
|
225
247
|
|
package/docs/partial-mocking.md
CHANGED
|
@@ -107,16 +107,22 @@ Concurrent requests with different mock configs (or no mocks at all) run in para
|
|
|
107
107
|
|
|
108
108
|
#### Next.js + Turbopack note
|
|
109
109
|
|
|
110
|
-
If Turbopack flags `elasticdash-sdk` as "Module not found" at build time (some configs do this for `serverExternalPackages`), use `
|
|
110
|
+
If Turbopack flags `elasticdash-sdk` as "Module not found" at build time (some configs do this for `serverExternalPackages`), use `createRequire(import.meta.url)`:
|
|
111
111
|
|
|
112
112
|
```ts
|
|
113
|
+
import { createRequire } from 'node:module';
|
|
114
|
+
const nodeRequire = createRequire(import.meta.url);
|
|
115
|
+
|
|
113
116
|
try {
|
|
114
|
-
const { applyInboundMockConfig } = (
|
|
117
|
+
const { applyInboundMockConfig } = nodeRequire('elasticdash-sdk');
|
|
115
118
|
applyInboundMockConfig(request);
|
|
116
|
-
} catch {
|
|
119
|
+
} catch (err) {
|
|
120
|
+
console.error('[mocking] failed to load elasticdash-sdk:', err);
|
|
121
|
+
/* SDK not installed — proceed live */
|
|
122
|
+
}
|
|
117
123
|
```
|
|
118
124
|
|
|
119
|
-
This is the same pattern users already use for `initHttpRunContext` for dashboard mode. The `try/catch` makes the SDK a soft dependency: if it's not present in prod, the route still works.
|
|
125
|
+
This is the same pattern users already use for `initHttpRunContext` for dashboard mode. The `try/catch` makes the SDK a soft dependency: if it's not present in prod, the route still works. **Do not substitute `eval('require')`** — it silently throws in ESM projects (`"type": "module"` in `package.json`) and the catch hides the failure, leaving the route running live in what looks like mock mode.
|
|
120
126
|
|
|
121
127
|
#### Polymorphic input
|
|
122
128
|
|
package/docs/workflow-modes.md
CHANGED
|
@@ -232,18 +232,17 @@ If `runWithInitializedHttpContext` is called outside `start()` (e.g., in the han
|
|
|
232
232
|
|
|
233
233
|
## Importing the SDK in Next.js / Turbopack
|
|
234
234
|
|
|
235
|
-
Turbopack statically analyzes `import()` and `require()` calls, which causes `Module not found` errors for `serverExternalPackages`. Use `
|
|
235
|
+
Turbopack statically analyzes `import()` and `require()` calls, which causes `Module not found` errors for `serverExternalPackages`. Use `createRequire(import.meta.url)` to bypass this:
|
|
236
236
|
|
|
237
237
|
```ts
|
|
238
|
-
//
|
|
239
|
-
const { wrapTool } = (eval('require') as (id: string) => any)('elasticdash-sdk')
|
|
240
|
-
|
|
241
|
-
// Option 2: createRequire — cleaner, no eval
|
|
238
|
+
// Recommended: createRequire — works in both ESM ("type": "module") and CJS
|
|
242
239
|
import { createRequire } from 'node:module'
|
|
243
|
-
const nodeRequire = createRequire(
|
|
244
|
-
const {
|
|
240
|
+
const nodeRequire = createRequire(import.meta.url)
|
|
241
|
+
const { edTool } = nodeRequire('elasticdash-sdk')
|
|
245
242
|
```
|
|
246
243
|
|
|
244
|
+
> **Do not use `eval('require')`.** It looks simpler but silently throws "require is not defined" in any ESM project — the typical `try/catch` wrapping it swallows the error, the SDK never loads, and the integration produces zero traces with zero logs. Use `createRequire` unconditionally.
|
|
245
|
+
|
|
247
246
|
Also add the SDK to `serverExternalPackages` in `next.config.js`:
|
|
248
247
|
|
|
249
248
|
```js
|
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -627,16 +627,20 @@ async function bootstrap(): Promise<void> {
|
|
|
627
627
|
output: result.currentOutput,
|
|
628
628
|
duration_ms: result.currentDurationMs,
|
|
629
629
|
}
|
|
630
|
+
// Sentinel line so machine consumers (e.g. ElasticDash MCP) can extract
|
|
631
|
+
// the result envelope even when project code prints to stdout before us.
|
|
632
|
+
//
|
|
633
|
+
// Force-exit gated on the second stdout.write's callback. The callback
|
|
634
|
+
// fires once Node has handed the bytes to the OS pipe, at which point
|
|
635
|
+
// both writes are flushed and force-exit is safe (no sentinel
|
|
636
|
+
// truncation). Pure `process.exitCode` was stalling the MCP host by
|
|
637
|
+
// up to the outer hard cap on tools whose implementations hold open
|
|
638
|
+
// HTTP keep-alive sockets or detached grandchildren — same symptom
|
|
639
|
+
// documented on the run-workflow exit path.
|
|
630
640
|
process.stdout.write(JSON.stringify(payload, null, 2) + '\n')
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
// drains stdout before terminating. process.exit() is synchronous and
|
|
635
|
-
// races the async stdout pipe — under load the sentinel JSON gets
|
|
636
|
-
// truncated mid-write. Letting the event loop close naturally guarantees
|
|
637
|
-
// the OS receives the full chunk.
|
|
638
|
-
process.stdout.write('__ED_RUN_TOOL_RESULT__:' + JSON.stringify(payload) + '\n')
|
|
639
|
-
process.exitCode = 0
|
|
641
|
+
process.stdout.write('__ED_RUN_TOOL_RESULT__:' + JSON.stringify(payload) + '\n', () => {
|
|
642
|
+
process.exit(0)
|
|
643
|
+
})
|
|
640
644
|
})
|
|
641
645
|
|
|
642
646
|
// elasticdash run-workflow <name>
|
|
@@ -835,15 +839,30 @@ async function bootstrap(): Promise<void> {
|
|
|
835
839
|
// buffer limit on the pretty-printed output, the sentinel line is
|
|
836
840
|
// already safe in stdout and parseable. The MCP scans from the end
|
|
837
841
|
// backward — it'll find the sentinel either way.
|
|
838
|
-
//
|
|
839
|
-
//
|
|
840
|
-
//
|
|
841
|
-
//
|
|
842
|
-
//
|
|
843
|
-
//
|
|
842
|
+
//
|
|
843
|
+
// Exit semantics — unified across the timeout and normal-completion
|
|
844
|
+
// paths. We need BOTH:
|
|
845
|
+
// (a) No sentinel truncation. `process.exit` is synchronous and
|
|
846
|
+
// races the async stdout pipe; calling it immediately after
|
|
847
|
+
// `stdout.write` can chop the sentinel JSON mid-write.
|
|
848
|
+
// (b) Prompt termination. The previous "set process.exitCode and
|
|
849
|
+
// let the event loop drain" path was stalling the MCP host by
|
|
850
|
+
// MINUTES on successful runs: HTTP keep-alive sockets in the
|
|
851
|
+
// LLM client + detached grandchildren spawned by tools hold
|
|
852
|
+
// the loop open long after the workflow result is serialized.
|
|
853
|
+
// The MCP then pinned exec_workflow at the SIGTERM hard cap
|
|
854
|
+
// (timeout_seconds + 30) on every "completed" call.
|
|
855
|
+
//
|
|
856
|
+
// Fix: gate `process.exit` on the second stdout.write's callback.
|
|
857
|
+
// The callback fires once Node has handed the bytes to the OS pipe
|
|
858
|
+
// — at that point both writes are flushed and force-exit is safe.
|
|
859
|
+
// The `timedOut` branch is no longer special; both paths share the
|
|
860
|
+
// same flush-then-exit code.
|
|
861
|
+
const exitCode = runError ? 1 : 0
|
|
844
862
|
process.stdout.write('__ED_RUN_WORKFLOW_RESULT__:' + JSON.stringify(envelope) + '\n')
|
|
845
|
-
process.stdout.write(JSON.stringify(envelope, null, 2) + '\n')
|
|
846
|
-
|
|
863
|
+
process.stdout.write(JSON.stringify(envelope, null, 2) + '\n', () => {
|
|
864
|
+
process.exit(exitCode)
|
|
865
|
+
})
|
|
847
866
|
})
|
|
848
867
|
|
|
849
868
|
// elasticdash init-guide
|