elasticdash-test 0.1.20-alpha-5 → 0.1.20-alpha-7

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.
@@ -4,5 +4,13 @@ export declare function isTraceCaptureEnabled(): boolean;
4
4
  export declare function generateTraceFilename(): string;
5
5
  export declare function scrubSecrets(obj: unknown): unknown;
6
6
  export declare function writeTraceToDisk(trace: DiskTrace, cwd?: string): Promise<void>;
7
+ /**
8
+ * Synchronous write for use in process.on('exit') handlers where async is not possible.
9
+ */
10
+ export declare function writeTraceToDiskSync(trace: DiskTrace, cwd?: string): void;
7
11
  export declare function maybeCaptureTrace(events: WorkflowEvent[], traceId?: string, cwd?: string): Promise<void>;
12
+ /**
13
+ * Synchronous version of maybeCaptureTrace for process exit handlers.
14
+ */
15
+ export declare function maybeCaptureTraceSync(events: WorkflowEvent[], traceId?: string, cwd?: string): void;
8
16
  //# sourceMappingURL=trace-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace-writer.d.ts","sourceRoot":"","sources":["../../src/ci/trace-writer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAMlD,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAO9C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAelD;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpF;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9G"}
1
+ {"version":3,"file":"trace-writer.d.ts","sourceRoot":"","sources":["../../src/ci/trace-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAMlD,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAO9C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAelD;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAYzE;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9G;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CASnG"}
@@ -1,4 +1,5 @@
1
1
  import { mkdir, writeFile } from 'node:fs/promises';
2
+ import { mkdirSync, writeFileSync } from 'node:fs';
2
3
  import { join } from 'node:path';
3
4
  import { randomBytes } from 'node:crypto';
4
5
  import { workflowEventsToDiskTrace } from './trace-schema.js';
@@ -42,19 +43,55 @@ export async function writeTraceToDisk(trace, cwd) {
42
43
  const filename = `${scrubbed.trace_id}.json`;
43
44
  const filepath = join(dir, filename);
44
45
  await writeFile(filepath, JSON.stringify(scrubbed, null, 2), 'utf-8');
46
+ console.log(`[elasticdash] Trace written: ${filepath} (${trace.steps.length} steps)`);
45
47
  }
46
48
  catch (err) {
47
49
  console.warn(`[elasticdash] Failed to write trace file: ${err instanceof Error ? err.message : String(err)}`);
48
50
  }
49
51
  }
52
+ /**
53
+ * Synchronous write for use in process.on('exit') handlers where async is not possible.
54
+ */
55
+ export function writeTraceToDiskSync(trace, cwd) {
56
+ const dir = join(cwd ?? process.cwd(), TRACE_DIR);
57
+ try {
58
+ mkdirSync(dir, { recursive: true });
59
+ const scrubbed = scrubSecrets(trace);
60
+ const filename = `${scrubbed.trace_id}.json`;
61
+ const filepath = join(dir, filename);
62
+ writeFileSync(filepath, JSON.stringify(scrubbed, null, 2), 'utf-8');
63
+ }
64
+ catch (err) {
65
+ // In sync exit handler, console.warn may not flush — best effort
66
+ try {
67
+ console.warn(`[elasticdash] Failed to write trace file: ${err instanceof Error ? err.message : String(err)}`);
68
+ }
69
+ catch { }
70
+ }
71
+ }
50
72
  export async function maybeCaptureTrace(events, traceId, cwd) {
51
73
  if (!isTraceCaptureEnabled())
52
74
  return;
75
+ if (events.length === 0)
76
+ return;
53
77
  const filename = generateTraceFilename();
54
78
  const id = filename.replace(/\.json$/, '');
55
79
  const trace = workflowEventsToDiskTrace(events, traceId ?? id);
56
- // Use the generated filename-style id as trace_id for disk traces
57
80
  trace.trace_id = id;
58
81
  await writeTraceToDisk(trace, cwd);
59
82
  }
83
+ /**
84
+ * Synchronous version of maybeCaptureTrace for process exit handlers.
85
+ */
86
+ export function maybeCaptureTraceSync(events, traceId, cwd) {
87
+ if (!isTraceCaptureEnabled())
88
+ return;
89
+ if (events.length === 0)
90
+ return;
91
+ const filename = generateTraceFilename();
92
+ const id = filename.replace(/\.json$/, '');
93
+ const trace = workflowEventsToDiskTrace(events, traceId ?? id);
94
+ trace.trace_id = id;
95
+ writeTraceToDiskSync(trace, cwd);
96
+ }
60
97
  //# sourceMappingURL=trace-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace-writer.js","sourceRoot":"","sources":["../../src/ci/trace-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-writer.js","sourceRoot":"","sources":["../../src/ci/trace-writer.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -2408,8 +2408,9 @@ var init_redact = __esm({
2408
2408
  });
2409
2409
 
2410
2410
  // src/telemetry-batcher.ts
2411
- function* jsonStreamEvents(sessionId, events) {
2412
- yield `{"sessionId":${JSON.stringify(sessionId)},"events":[`;
2411
+ function* jsonStreamEvents(sessionId, events, metadata) {
2412
+ const metaPart = metadata ? `,"metadata":${JSON.stringify(metadata)}` : "";
2413
+ yield `{"sessionId":${JSON.stringify(sessionId)}${metaPart},"events":[`;
2413
2414
  for (let i = 0; i < events.length; i++) {
2414
2415
  if (i > 0) yield ",";
2415
2416
  yield JSON.stringify(events[i]);
@@ -2431,6 +2432,7 @@ var init_telemetry_batcher = __esm({
2431
2432
  serverUrl;
2432
2433
  apiKey;
2433
2434
  sessionId;
2435
+ metadata;
2434
2436
  maxBatchSize;
2435
2437
  redactKeys;
2436
2438
  onTrigger;
@@ -2439,6 +2441,7 @@ var init_telemetry_batcher = __esm({
2439
2441
  this.serverUrl = opts.serverUrl.replace(/\/$/, "");
2440
2442
  this.apiKey = opts.apiKey;
2441
2443
  this.sessionId = opts.sessionId;
2444
+ this.metadata = opts.metadata;
2442
2445
  this.maxBatchSize = opts.maxBatchSize ?? 50;
2443
2446
  this.redactKeys = opts.redactKeys ?? [];
2444
2447
  this.onTrigger = opts.onTrigger;
@@ -2478,7 +2481,7 @@ var init_telemetry_batcher = __esm({
2478
2481
  };
2479
2482
  if (this.apiKey) headers2["Authorization"] = `Bearer ${this.apiKey}`;
2480
2483
  try {
2481
- const body = import_node_stream2.Readable.from(jsonStreamEvents(this.sessionId, batch));
2484
+ const body = import_node_stream2.Readable.from(jsonStreamEvents(this.sessionId, batch, this.metadata));
2482
2485
  const res = await getOriginalFetch()(url, {
2483
2486
  method: "POST",
2484
2487
  headers: headers2,
@@ -3406,23 +3409,50 @@ async function writeTraceToDisk(trace, cwd) {
3406
3409
  const filename = `${scrubbed.trace_id}.json`;
3407
3410
  const filepath = (0, import_node_path3.join)(dir, filename);
3408
3411
  await (0, import_promises.writeFile)(filepath, JSON.stringify(scrubbed, null, 2), "utf-8");
3412
+ console.log(`[elasticdash] Trace written: ${filepath} (${trace.steps.length} steps)`);
3409
3413
  } catch (err) {
3410
3414
  console.warn(`[elasticdash] Failed to write trace file: ${err instanceof Error ? err.message : String(err)}`);
3411
3415
  }
3412
3416
  }
3417
+ function writeTraceToDiskSync(trace, cwd) {
3418
+ const dir = (0, import_node_path3.join)(cwd ?? process.cwd(), TRACE_DIR);
3419
+ try {
3420
+ (0, import_node_fs2.mkdirSync)(dir, { recursive: true });
3421
+ const scrubbed = scrubSecrets(trace);
3422
+ const filename = `${scrubbed.trace_id}.json`;
3423
+ const filepath = (0, import_node_path3.join)(dir, filename);
3424
+ (0, import_node_fs2.writeFileSync)(filepath, JSON.stringify(scrubbed, null, 2), "utf-8");
3425
+ } catch (err) {
3426
+ try {
3427
+ console.warn(`[elasticdash] Failed to write trace file: ${err instanceof Error ? err.message : String(err)}`);
3428
+ } catch {
3429
+ }
3430
+ }
3431
+ }
3413
3432
  async function maybeCaptureTrace(events, traceId, cwd) {
3414
3433
  if (!isTraceCaptureEnabled()) return;
3434
+ if (events.length === 0) return;
3415
3435
  const filename = generateTraceFilename();
3416
3436
  const id = filename.replace(/\.json$/, "");
3417
3437
  const trace = workflowEventsToDiskTrace(events, traceId ?? id);
3418
3438
  trace.trace_id = id;
3419
3439
  await writeTraceToDisk(trace, cwd);
3420
3440
  }
3421
- var import_promises, import_node_path3, import_node_crypto4, TRACE_DIR, SENSITIVE_KEYS;
3441
+ function maybeCaptureTraceSync(events, traceId, cwd) {
3442
+ if (!isTraceCaptureEnabled()) return;
3443
+ if (events.length === 0) return;
3444
+ const filename = generateTraceFilename();
3445
+ const id = filename.replace(/\.json$/, "");
3446
+ const trace = workflowEventsToDiskTrace(events, traceId ?? id);
3447
+ trace.trace_id = id;
3448
+ writeTraceToDiskSync(trace, cwd);
3449
+ }
3450
+ var import_promises, import_node_fs2, import_node_path3, import_node_crypto4, TRACE_DIR, SENSITIVE_KEYS;
3422
3451
  var init_trace_writer = __esm({
3423
3452
  "src/ci/trace-writer.ts"() {
3424
3453
  "use strict";
3425
3454
  import_promises = require("node:fs/promises");
3455
+ import_node_fs2 = require("node:fs");
3426
3456
  import_node_path3 = require("node:path");
3427
3457
  import_node_crypto4 = require("node:crypto");
3428
3458
  init_trace_schema();
@@ -3431,6 +3461,91 @@ var init_trace_writer = __esm({
3431
3461
  }
3432
3462
  });
3433
3463
 
3464
+ // src/ci/git-info.ts
3465
+ function detectGitInfo() {
3466
+ const env = process.env;
3467
+ if (env.GITHUB_ACTIONS === "true") {
3468
+ const prNumber = env.GITHUB_EVENT_NAME === "pull_request" ? parseInt(env.GITHUB_REF?.match(/refs\/pull\/(\d+)/)?.[1] ?? "", 10) || void 0 : void 0;
3469
+ const repo = env.GITHUB_REPOSITORY;
3470
+ const prUrl = prNumber && repo ? `https://github.com/${repo}/pull/${prNumber}` : void 0;
3471
+ const serverUrl = env.GITHUB_SERVER_URL || "https://github.com";
3472
+ const ciRunUrl = repo && env.GITHUB_RUN_ID ? `${serverUrl}/${repo}/actions/runs/${env.GITHUB_RUN_ID}` : void 0;
3473
+ return {
3474
+ branch: env.GITHUB_HEAD_REF || env.GITHUB_REF_NAME,
3475
+ commit: env.GITHUB_SHA,
3476
+ commitMessage: env.GITHUB_COMMIT_MESSAGE,
3477
+ baseBranch: env.GITHUB_BASE_REF || void 0,
3478
+ prNumber,
3479
+ prUrl,
3480
+ repo,
3481
+ ciProvider: "github-actions",
3482
+ ciRunUrl
3483
+ };
3484
+ }
3485
+ if (env.GITLAB_CI === "true") {
3486
+ const prNumber = env.CI_MERGE_REQUEST_IID ? parseInt(env.CI_MERGE_REQUEST_IID, 10) || void 0 : void 0;
3487
+ return {
3488
+ branch: env.CI_MERGE_REQUEST_SOURCE_BRANCH_NAME || env.CI_COMMIT_BRANCH,
3489
+ commit: env.CI_COMMIT_SHA,
3490
+ commitMessage: env.CI_COMMIT_MESSAGE,
3491
+ baseBranch: env.CI_MERGE_REQUEST_TARGET_BRANCH_NAME || void 0,
3492
+ prNumber,
3493
+ prUrl: env.CI_MERGE_REQUEST_PROJECT_URL && prNumber ? `${env.CI_MERGE_REQUEST_PROJECT_URL}/-/merge_requests/${prNumber}` : void 0,
3494
+ repo: env.CI_PROJECT_PATH,
3495
+ ciProvider: "gitlab-ci",
3496
+ ciRunUrl: env.CI_JOB_URL
3497
+ };
3498
+ }
3499
+ if (env.CIRCLECI === "true") {
3500
+ const prNumber = env.CIRCLE_PULL_REQUEST ? parseInt(env.CIRCLE_PULL_REQUEST.split("/").pop() ?? "", 10) || void 0 : void 0;
3501
+ return {
3502
+ branch: env.CIRCLE_BRANCH,
3503
+ commit: env.CIRCLE_SHA1,
3504
+ prNumber,
3505
+ repo: env.CIRCLE_PROJECT_REPONAME,
3506
+ ciProvider: "circleci",
3507
+ ciRunUrl: env.CIRCLE_BUILD_URL
3508
+ };
3509
+ }
3510
+ if (env.BUILDKITE === "true") {
3511
+ const prNumber = env.BUILDKITE_PULL_REQUEST && env.BUILDKITE_PULL_REQUEST !== "false" ? parseInt(env.BUILDKITE_PULL_REQUEST, 10) || void 0 : void 0;
3512
+ return {
3513
+ branch: env.BUILDKITE_BRANCH,
3514
+ commit: env.BUILDKITE_COMMIT,
3515
+ baseBranch: env.BUILDKITE_PULL_REQUEST_BASE_BRANCH || void 0,
3516
+ prNumber,
3517
+ repo: env.BUILDKITE_REPO,
3518
+ ciProvider: "buildkite",
3519
+ ciRunUrl: env.BUILDKITE_BUILD_URL
3520
+ };
3521
+ }
3522
+ return detectLocalGitInfo();
3523
+ }
3524
+ function detectLocalGitInfo() {
3525
+ try {
3526
+ const commit = (0, import_node_child_process2.execSync)("git rev-parse HEAD", { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }).trim();
3527
+ const branch = (0, import_node_child_process2.execSync)("git rev-parse --abbrev-ref HEAD", { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }).trim();
3528
+ return {
3529
+ branch: branch || void 0,
3530
+ commit: commit || void 0,
3531
+ ciProvider: "local"
3532
+ };
3533
+ } catch {
3534
+ return {
3535
+ branch: "unknown",
3536
+ commit: "unknown",
3537
+ ciProvider: "local"
3538
+ };
3539
+ }
3540
+ }
3541
+ var import_node_child_process2;
3542
+ var init_git_info = __esm({
3543
+ "src/ci/git-info.ts"() {
3544
+ "use strict";
3545
+ import_node_child_process2 = require("node:child_process");
3546
+ }
3547
+ });
3548
+
3434
3549
  // src/observability.ts
3435
3550
  var observability_exports = {};
3436
3551
  __export(observability_exports, {
@@ -3453,10 +3568,20 @@ function initObservability(options) {
3453
3568
  const cwd = process.cwd();
3454
3569
  const workflows = scanWorkflows(cwd);
3455
3570
  const defaultWorkflowName = workflows.length === 1 ? workflows[0].name : "unknown-workflow";
3571
+ let gitInfo = {};
3572
+ try {
3573
+ gitInfo = detectGitInfo();
3574
+ } catch {
3575
+ }
3576
+ const sessionMetadata = {};
3577
+ if (gitInfo.branch && gitInfo.branch !== "unknown") sessionMetadata.branch = gitInfo.branch;
3578
+ if (gitInfo.commit && gitInfo.commit !== "unknown") sessionMetadata.commit = gitInfo.commit;
3579
+ if (gitInfo.ciProvider && gitInfo.ciProvider !== "local") sessionMetadata.ciProvider = gitInfo.ciProvider;
3456
3580
  const batcher = new TelemetryBatcher({
3457
3581
  serverUrl,
3458
3582
  apiKey,
3459
3583
  sessionId,
3584
+ metadata: Object.keys(sessionMetadata).length > 0 ? sessionMetadata : void 0,
3460
3585
  batchIntervalMs: options?.batchIntervalMs,
3461
3586
  maxBatchSize: options?.maxBatchSize,
3462
3587
  redactKeys,
@@ -3507,6 +3632,14 @@ function initObservability(options) {
3507
3632
  process.once("beforeExit", onExit);
3508
3633
  process.once("SIGTERM", onExit);
3509
3634
  process.once("SIGINT", onExit);
3635
+ if (isTraceCaptureEnabled()) {
3636
+ process.once("exit", () => {
3637
+ const exitCtx = getObservabilityContext();
3638
+ if (exitCtx?.eventCollector && exitCtx.eventCollector.length > 0) {
3639
+ maybeCaptureTraceSync(exitCtx.eventCollector, exitCtx.traceId);
3640
+ }
3641
+ });
3642
+ }
3510
3643
  }
3511
3644
  debugLog(`[elasticdash] Observability initialised \u2014 sessionId=${sessionId} workflow=${defaultWorkflowName} server=${serverUrl}`);
3512
3645
  pushCatalog(serverUrl, apiKey, workflows).catch(() => {
@@ -3539,6 +3672,11 @@ async function pushCatalog(serverUrl, apiKey, workflows = []) {
3539
3672
  async function shutdownObservability() {
3540
3673
  const ctx = getObservabilityContext();
3541
3674
  if (!ctx) return;
3675
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
3676
+ const events = ctx.eventCollector;
3677
+ ctx.eventCollector = void 0;
3678
+ await maybeCaptureTrace(events, ctx.traceId);
3679
+ }
3542
3680
  if (heartbeatTimer) {
3543
3681
  clearInterval(heartbeatTimer);
3544
3682
  heartbeatTimer = null;
@@ -3561,10 +3699,22 @@ async function shutdownObservability() {
3561
3699
  function startTrace(workflowName) {
3562
3700
  const ctx = getObservabilityContext();
3563
3701
  if (!ctx) throw new Error("[elasticdash] startTrace: observability not initialised");
3702
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
3703
+ debugLog(`[elasticdash] startTrace: flushing ${ctx.eventCollector.length} events from previous trace`);
3704
+ const events = ctx.eventCollector;
3705
+ ctx.eventCollector = void 0;
3706
+ maybeCaptureTrace(events, ctx.traceId).catch((err) => {
3707
+ debugLog(`[elasticdash] Failed to capture trace: ${err instanceof Error ? err.message : String(err)}`);
3708
+ });
3709
+ }
3564
3710
  const resolvedName = workflowName || ctx.defaultWorkflowName;
3565
3711
  const timestamp = Date.now();
3566
3712
  const shortId = (0, import_node_crypto5.randomUUID)().slice(0, 8);
3567
3713
  ctx.traceId = `${resolvedName}::${timestamp}::${shortId}`;
3714
+ if (isTraceCaptureEnabled()) {
3715
+ debugLog(`[elasticdash] startTrace: trace capture enabled, collecting events for ${resolvedName}`);
3716
+ ctx.eventCollector = [];
3717
+ }
3568
3718
  pushTelemetryEvent({
3569
3719
  id: ctx.nextId(),
3570
3720
  type: "workflow",
@@ -3579,7 +3729,16 @@ function startTrace(workflowName) {
3579
3729
  }
3580
3730
  function endTrace() {
3581
3731
  const ctx = getObservabilityContext();
3732
+ debugLog(`[elasticdash] endTrace called, obsCtx=${!!ctx}, eventCollector=${ctx?.eventCollector?.length ?? "none"}`);
3582
3733
  if (!ctx) return;
3734
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
3735
+ debugLog(`[elasticdash] endTrace: flushing ${ctx.eventCollector.length} events to disk for traceId=${ctx.traceId}`);
3736
+ const events = ctx.eventCollector;
3737
+ ctx.eventCollector = void 0;
3738
+ maybeCaptureTrace(events, ctx.traceId).catch((err) => {
3739
+ debugLog(`[elasticdash] Failed to capture trace: ${err instanceof Error ? err.message : String(err)}`);
3740
+ });
3741
+ }
3583
3742
  const timestamp = Date.now();
3584
3743
  const shortId = (0, import_node_crypto5.randomUUID)().slice(0, 8);
3585
3744
  ctx.traceId = `${ctx.defaultWorkflowName}::${timestamp}::${shortId}`;
@@ -3634,6 +3793,7 @@ var init_observability = __esm({
3634
3793
  init_tool_runner();
3635
3794
  init_debug();
3636
3795
  init_trace_writer();
3796
+ init_git_info();
3637
3797
  heartbeatTimer = null;
3638
3798
  shutdownRegistered = false;
3639
3799
  }
@@ -3828,7 +3988,10 @@ function pushTelemetryEvent(event, explicitCtx) {
3828
3988
  if (obsCtx.isRerun) {
3829
3989
  event.isRerun = true;
3830
3990
  }
3831
- if (obsCtx.eventCollector) obsCtx.eventCollector.push({ ...event });
3991
+ if (obsCtx.eventCollector) {
3992
+ obsCtx.eventCollector.push({ ...event });
3993
+ debugLog(`[elasticdash] pushTelemetryEvent: collected event type=${event.type} name=${"name" in event ? event.name : "?"} (total: ${obsCtx.eventCollector.length})`);
3994
+ }
3832
3995
  obsCtx.batcher.enqueue(event);
3833
3996
  return;
3834
3997
  }
@@ -6207,87 +6370,7 @@ function matchGlob(name, pattern) {
6207
6370
  // src/ci/upload-client.ts
6208
6371
  var import_node_crypto9 = require("node:crypto");
6209
6372
  init_http();
6210
-
6211
- // src/ci/git-info.ts
6212
- var import_node_child_process2 = require("node:child_process");
6213
- function detectGitInfo() {
6214
- const env = process.env;
6215
- if (env.GITHUB_ACTIONS === "true") {
6216
- const prNumber = env.GITHUB_EVENT_NAME === "pull_request" ? parseInt(env.GITHUB_REF?.match(/refs\/pull\/(\d+)/)?.[1] ?? "", 10) || void 0 : void 0;
6217
- const repo = env.GITHUB_REPOSITORY;
6218
- const prUrl = prNumber && repo ? `https://github.com/${repo}/pull/${prNumber}` : void 0;
6219
- const serverUrl = env.GITHUB_SERVER_URL || "https://github.com";
6220
- const ciRunUrl = repo && env.GITHUB_RUN_ID ? `${serverUrl}/${repo}/actions/runs/${env.GITHUB_RUN_ID}` : void 0;
6221
- return {
6222
- branch: env.GITHUB_HEAD_REF || env.GITHUB_REF_NAME,
6223
- commit: env.GITHUB_SHA,
6224
- commitMessage: env.GITHUB_COMMIT_MESSAGE,
6225
- baseBranch: env.GITHUB_BASE_REF || void 0,
6226
- prNumber,
6227
- prUrl,
6228
- repo,
6229
- ciProvider: "github-actions",
6230
- ciRunUrl
6231
- };
6232
- }
6233
- if (env.GITLAB_CI === "true") {
6234
- const prNumber = env.CI_MERGE_REQUEST_IID ? parseInt(env.CI_MERGE_REQUEST_IID, 10) || void 0 : void 0;
6235
- return {
6236
- branch: env.CI_MERGE_REQUEST_SOURCE_BRANCH_NAME || env.CI_COMMIT_BRANCH,
6237
- commit: env.CI_COMMIT_SHA,
6238
- commitMessage: env.CI_COMMIT_MESSAGE,
6239
- baseBranch: env.CI_MERGE_REQUEST_TARGET_BRANCH_NAME || void 0,
6240
- prNumber,
6241
- prUrl: env.CI_MERGE_REQUEST_PROJECT_URL && prNumber ? `${env.CI_MERGE_REQUEST_PROJECT_URL}/-/merge_requests/${prNumber}` : void 0,
6242
- repo: env.CI_PROJECT_PATH,
6243
- ciProvider: "gitlab-ci",
6244
- ciRunUrl: env.CI_JOB_URL
6245
- };
6246
- }
6247
- if (env.CIRCLECI === "true") {
6248
- const prNumber = env.CIRCLE_PULL_REQUEST ? parseInt(env.CIRCLE_PULL_REQUEST.split("/").pop() ?? "", 10) || void 0 : void 0;
6249
- return {
6250
- branch: env.CIRCLE_BRANCH,
6251
- commit: env.CIRCLE_SHA1,
6252
- prNumber,
6253
- repo: env.CIRCLE_PROJECT_REPONAME,
6254
- ciProvider: "circleci",
6255
- ciRunUrl: env.CIRCLE_BUILD_URL
6256
- };
6257
- }
6258
- if (env.BUILDKITE === "true") {
6259
- const prNumber = env.BUILDKITE_PULL_REQUEST && env.BUILDKITE_PULL_REQUEST !== "false" ? parseInt(env.BUILDKITE_PULL_REQUEST, 10) || void 0 : void 0;
6260
- return {
6261
- branch: env.BUILDKITE_BRANCH,
6262
- commit: env.BUILDKITE_COMMIT,
6263
- baseBranch: env.BUILDKITE_PULL_REQUEST_BASE_BRANCH || void 0,
6264
- prNumber,
6265
- repo: env.BUILDKITE_REPO,
6266
- ciProvider: "buildkite",
6267
- ciRunUrl: env.BUILDKITE_BUILD_URL
6268
- };
6269
- }
6270
- return detectLocalGitInfo();
6271
- }
6272
- function detectLocalGitInfo() {
6273
- try {
6274
- const commit = (0, import_node_child_process2.execSync)("git rev-parse HEAD", { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }).trim();
6275
- const branch = (0, import_node_child_process2.execSync)("git rev-parse --abbrev-ref HEAD", { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }).trim();
6276
- return {
6277
- branch: branch || void 0,
6278
- commit: commit || void 0,
6279
- ciProvider: "local"
6280
- };
6281
- } catch {
6282
- return {
6283
- branch: "unknown",
6284
- commit: "unknown",
6285
- ciProvider: "local"
6286
- };
6287
- }
6288
- }
6289
-
6290
- // src/ci/upload-client.ts
6373
+ init_git_info();
6291
6374
  function buildUploadPayload(runResult) {
6292
6375
  const gitInfo = detectGitInfo();
6293
6376
  return {
@@ -6965,6 +7048,7 @@ function determinePassFail(passThreshold, singleRuns, expectationResults) {
6965
7048
  }
6966
7049
 
6967
7050
  // src/ci/runner.ts
7051
+ init_git_info();
6968
7052
  async function runCI(config) {
6969
7053
  const { serverUrl, apiKey } = config;
6970
7054
  const cwd = process.cwd();
@@ -7139,6 +7223,7 @@ async function runCI(config) {
7139
7223
  }
7140
7224
 
7141
7225
  // src/index.ts
7226
+ init_git_info();
7142
7227
  init_telemetry_push();
7143
7228
  tryAutoInitHttpContext().catch(() => {
7144
7229
  });
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-push.d.ts","sourceRoot":"","sources":["../../src/interceptors/telemetry-push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry-push.d.ts","sourceRoot":"","sources":["../../src/interceptors/telemetry-push.ts"],"names":[],"mappings":"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"}
@@ -243,8 +243,10 @@ export function pushTelemetryEvent(event, explicitCtx) {
243
243
  if (obsCtx.isRerun) {
244
244
  event.isRerun = true;
245
245
  }
246
- if (obsCtx.eventCollector)
246
+ if (obsCtx.eventCollector) {
247
247
  obsCtx.eventCollector.push({ ...event });
248
+ debugLog(`[elasticdash] pushTelemetryEvent: collected event type=${event.type} name=${('name' in event ? event.name : '?')} (total: ${obsCtx.eventCollector.length})`);
249
+ }
248
250
  obsCtx.batcher.enqueue(event);
249
251
  return;
250
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-push.js","sourceRoot":"","sources":["../../src/interceptors/telemetry-push.ts"],"names":[],"mappings":"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"}
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":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AAKD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAoFrF;AA+BD;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B3D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,EACpD,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,CAuC/B"}
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AAKD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CA0GrF;AA+BD;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAqC3D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAuCxD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAkB/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,EACpD,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,CAuC/B"}
@@ -8,7 +8,8 @@ import { connectToBackend, disconnectFromBackend } from './socket-connector.js';
8
8
  import { executeTrigger } from './trigger-executor.js';
9
9
  import { scanTools, scanWorkflows } from './execution/tool-runner.js';
10
10
  import { debugLog } from './utils/debug.js';
11
- import { maybeCaptureTrace } from './ci/trace-writer.js';
11
+ import { isTraceCaptureEnabled, maybeCaptureTrace, maybeCaptureTraceSync } from './ci/trace-writer.js';
12
+ import { detectGitInfo } from './ci/git-info.js';
12
13
  let heartbeatTimer = null;
13
14
  let shutdownRegistered = false;
14
15
  /**
@@ -34,10 +35,25 @@ export function initObservability(options) {
34
35
  const cwd = process.cwd();
35
36
  const workflows = scanWorkflows(cwd);
36
37
  const defaultWorkflowName = workflows.length === 1 ? workflows[0].name : 'unknown-workflow';
38
+ // Detect git info for session metadata (branch, commit, CI provider)
39
+ // If detection fails, values are omitted — never store 'unknown' placeholders
40
+ let gitInfo = {};
41
+ try {
42
+ gitInfo = detectGitInfo();
43
+ }
44
+ catch { /* not in a git repo — skip */ }
45
+ const sessionMetadata = {};
46
+ if (gitInfo.branch && gitInfo.branch !== 'unknown')
47
+ sessionMetadata.branch = gitInfo.branch;
48
+ if (gitInfo.commit && gitInfo.commit !== 'unknown')
49
+ sessionMetadata.commit = gitInfo.commit;
50
+ if (gitInfo.ciProvider && gitInfo.ciProvider !== 'local')
51
+ sessionMetadata.ciProvider = gitInfo.ciProvider;
37
52
  const batcher = new TelemetryBatcher({
38
53
  serverUrl,
39
54
  apiKey,
40
55
  sessionId,
56
+ metadata: Object.keys(sessionMetadata).length > 0 ? sessionMetadata : undefined,
41
57
  batchIntervalMs: options?.batchIntervalMs,
42
58
  maxBatchSize: options?.maxBatchSize,
43
59
  redactKeys,
@@ -86,6 +102,17 @@ export function initObservability(options) {
86
102
  process.once('beforeExit', onExit);
87
103
  process.once('SIGTERM', onExit);
88
104
  process.once('SIGINT', onExit);
105
+ // Sync exit handler: last resort to flush any pending trace capture.
106
+ // process.on('exit') only allows synchronous code — the async handlers above
107
+ // may not complete before the process terminates (e.g. SIGINT on a dev server).
108
+ if (isTraceCaptureEnabled()) {
109
+ process.once('exit', () => {
110
+ const exitCtx = getObservabilityContext();
111
+ if (exitCtx?.eventCollector && exitCtx.eventCollector.length > 0) {
112
+ maybeCaptureTraceSync(exitCtx.eventCollector, exitCtx.traceId);
113
+ }
114
+ });
115
+ }
89
116
  }
90
117
  debugLog(`[elasticdash] Observability initialised — sessionId=${sessionId} workflow=${defaultWorkflowName} server=${serverUrl}`);
91
118
  // Push workflow/tool catalog to backend (fire-and-forget)
@@ -132,6 +159,12 @@ export async function shutdownObservability() {
132
159
  const ctx = getObservabilityContext();
133
160
  if (!ctx)
134
161
  return;
162
+ // Flush any pending trace capture before shutdown
163
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
164
+ const events = ctx.eventCollector;
165
+ ctx.eventCollector = undefined;
166
+ await maybeCaptureTrace(events, ctx.traceId);
167
+ }
135
168
  // Stop heartbeat
136
169
  if (heartbeatTimer) {
137
170
  clearInterval(heartbeatTimer);
@@ -178,10 +211,24 @@ export function startTrace(workflowName) {
178
211
  const ctx = getObservabilityContext();
179
212
  if (!ctx)
180
213
  throw new Error('[elasticdash] startTrace: observability not initialised');
214
+ // Flush any pending trace capture from a previous startTrace() that had no endTrace()
215
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
216
+ debugLog(`[elasticdash] startTrace: flushing ${ctx.eventCollector.length} events from previous trace`);
217
+ const events = ctx.eventCollector;
218
+ ctx.eventCollector = undefined;
219
+ maybeCaptureTrace(events, ctx.traceId).catch((err) => {
220
+ debugLog(`[elasticdash] Failed to capture trace: ${err instanceof Error ? err.message : String(err)}`);
221
+ });
222
+ }
181
223
  const resolvedName = workflowName || ctx.defaultWorkflowName;
182
224
  const timestamp = Date.now();
183
225
  const shortId = randomUUID().slice(0, 8);
184
226
  ctx.traceId = `${resolvedName}::${timestamp}::${shortId}`;
227
+ // When ELASTICDASH_CAPTURE_TRACE=1, start collecting events for disk trace
228
+ if (isTraceCaptureEnabled()) {
229
+ debugLog(`[elasticdash] startTrace: trace capture enabled, collecting events for ${resolvedName}`);
230
+ ctx.eventCollector = [];
231
+ }
185
232
  // Emit a workflow event so the backend can discover the workflow name
186
233
  // (same as wrapWorkflow, but without wrapping — for streaming handlers)
187
234
  pushTelemetryEvent({
@@ -212,8 +259,18 @@ export function startTrace(workflowName) {
212
259
  */
213
260
  export function endTrace() {
214
261
  const ctx = getObservabilityContext();
262
+ debugLog(`[elasticdash] endTrace called, obsCtx=${!!ctx}, eventCollector=${ctx?.eventCollector?.length ?? 'none'}`);
215
263
  if (!ctx)
216
264
  return;
265
+ // Flush collected events to disk if trace capture is enabled
266
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
267
+ debugLog(`[elasticdash] endTrace: flushing ${ctx.eventCollector.length} events to disk for traceId=${ctx.traceId}`);
268
+ const events = ctx.eventCollector;
269
+ ctx.eventCollector = undefined;
270
+ maybeCaptureTrace(events, ctx.traceId).catch((err) => {
271
+ debugLog(`[elasticdash] Failed to capture trace: ${err instanceof Error ? err.message : String(err)}`);
272
+ });
273
+ }
217
274
  const timestamp = Date.now();
218
275
  const shortId = randomUUID().slice(0, 8);
219
276
  ctx.traceId = `${ctx.defaultWorkflowName}::${timestamp}::${shortId}`;
@@ -1 +1 @@
1
- {"version":3,"file":"observability.js","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export interface TelemetryBatcherOptions {
30
30
  serverUrl: string;
31
31
  apiKey?: string;
32
32
  sessionId: string;
33
+ metadata?: Record<string, unknown>;
33
34
  batchIntervalMs?: number;
34
35
  maxBatchSize?: number;
35
36
  redactKeys?: string[];
@@ -41,6 +42,7 @@ export declare class TelemetryBatcher {
41
42
  private readonly serverUrl;
42
43
  private readonly apiKey;
43
44
  private readonly sessionId;
45
+ private readonly metadata;
44
46
  private readonly maxBatchSize;
45
47
  private readonly redactKeys;
46
48
  private readonly onTrigger;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-batcher.d.ts","sourceRoot":"","sources":["../src/telemetry-batcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyD;IACnF,OAAO,CAAC,YAAY,CAAQ;gBAEhB,IAAI,EAAE,uBAAuB;IAgBzC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAW7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAMd,IAAI;IAiEZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAShC"}
1
+ {"version":3,"file":"telemetry-batcher.d.ts","sourceRoot":"","sources":["../src/telemetry-batcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyD;IACnF,OAAO,CAAC,YAAY,CAAQ;gBAEhB,IAAI,EAAE,uBAAuB;IAiBzC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAW7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAMd,IAAI;IAiEZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAShC"}
@@ -9,6 +9,7 @@ export class TelemetryBatcher {
9
9
  serverUrl;
10
10
  apiKey;
11
11
  sessionId;
12
+ metadata;
12
13
  maxBatchSize;
13
14
  redactKeys;
14
15
  onTrigger;
@@ -17,6 +18,7 @@ export class TelemetryBatcher {
17
18
  this.serverUrl = opts.serverUrl.replace(/\/$/, '');
18
19
  this.apiKey = opts.apiKey;
19
20
  this.sessionId = opts.sessionId;
21
+ this.metadata = opts.metadata;
20
22
  this.maxBatchSize = opts.maxBatchSize ?? 50;
21
23
  this.redactKeys = opts.redactKeys ?? [];
22
24
  this.onTrigger = opts.onTrigger;
@@ -61,7 +63,7 @@ export class TelemetryBatcher {
61
63
  // Stream the JSON body to avoid buffering large payloads (e.g. events
62
64
  // with streamRaw can exceed 100 MB). Node.js fetch (undici) supports
63
65
  // Readable as body and uses chunked Transfer-Encoding automatically.
64
- const body = Readable.from(jsonStreamEvents(this.sessionId, batch));
66
+ const body = Readable.from(jsonStreamEvents(this.sessionId, batch, this.metadata));
65
67
  const res = await getOriginalFetch()(url, {
66
68
  method: 'POST',
67
69
  headers,
@@ -122,8 +124,9 @@ export class TelemetryBatcher {
122
124
  * giant string. Each event is serialized individually so the process never
123
125
  * holds the full serialized body in memory at once.
124
126
  */
125
- function* jsonStreamEvents(sessionId, events) {
126
- yield `{"sessionId":${JSON.stringify(sessionId)},"events":[`;
127
+ function* jsonStreamEvents(sessionId, events, metadata) {
128
+ const metaPart = metadata ? `,"metadata":${JSON.stringify(metadata)}` : '';
129
+ yield `{"sessionId":${JSON.stringify(sessionId)}${metaPart},"events":[`;
127
130
  for (let i = 0; i < events.length; i++) {
128
131
  if (i > 0)
129
132
  yield ',';
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-batcher.js","sourceRoot":"","sources":["../src/telemetry-batcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry-batcher.js","sourceRoot":"","sources":["../src/telemetry-batcher.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.20-alpha-5",
3
+ "version": "0.1.20-alpha-7",
4
4
  "description": "AI-native test runner for ElasticDash workflow testing",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,4 +1,5 @@
1
1
  import { mkdir, writeFile } from 'node:fs/promises'
2
+ import { mkdirSync, writeFileSync } from 'node:fs'
2
3
  import { join } from 'node:path'
3
4
  import { randomBytes } from 'node:crypto'
4
5
  import type { WorkflowEvent } from '../capture/event.js'
@@ -47,18 +48,50 @@ export async function writeTraceToDisk(trace: DiskTrace, cwd?: string): Promise<
47
48
  const filename = `${scrubbed.trace_id}.json`
48
49
  const filepath = join(dir, filename)
49
50
  await writeFile(filepath, JSON.stringify(scrubbed, null, 2), 'utf-8')
51
+ console.log(`[elasticdash] Trace written: ${filepath} (${trace.steps.length} steps)`)
50
52
  } catch (err) {
51
53
  console.warn(`[elasticdash] Failed to write trace file: ${err instanceof Error ? err.message : String(err)}`)
52
54
  }
53
55
  }
54
56
 
57
+ /**
58
+ * Synchronous write for use in process.on('exit') handlers where async is not possible.
59
+ */
60
+ export function writeTraceToDiskSync(trace: DiskTrace, cwd?: string): void {
61
+ const dir = join(cwd ?? process.cwd(), TRACE_DIR)
62
+ try {
63
+ mkdirSync(dir, { recursive: true })
64
+ const scrubbed = scrubSecrets(trace) as DiskTrace
65
+ const filename = `${scrubbed.trace_id}.json`
66
+ const filepath = join(dir, filename)
67
+ writeFileSync(filepath, JSON.stringify(scrubbed, null, 2), 'utf-8')
68
+ } catch (err) {
69
+ // In sync exit handler, console.warn may not flush — best effort
70
+ try { console.warn(`[elasticdash] Failed to write trace file: ${err instanceof Error ? err.message : String(err)}`) } catch {}
71
+ }
72
+ }
73
+
55
74
  export async function maybeCaptureTrace(events: WorkflowEvent[], traceId?: string, cwd?: string): Promise<void> {
56
75
  if (!isTraceCaptureEnabled()) return
76
+ if (events.length === 0) return
57
77
 
58
78
  const filename = generateTraceFilename()
59
79
  const id = filename.replace(/\.json$/, '')
60
80
  const trace = workflowEventsToDiskTrace(events, traceId ?? id)
61
- // Use the generated filename-style id as trace_id for disk traces
62
81
  trace.trace_id = id
63
82
  await writeTraceToDisk(trace, cwd)
64
83
  }
84
+
85
+ /**
86
+ * Synchronous version of maybeCaptureTrace for process exit handlers.
87
+ */
88
+ export function maybeCaptureTraceSync(events: WorkflowEvent[], traceId?: string, cwd?: string): void {
89
+ if (!isTraceCaptureEnabled()) return
90
+ if (events.length === 0) return
91
+
92
+ const filename = generateTraceFilename()
93
+ const id = filename.replace(/\.json$/, '')
94
+ const trace = workflowEventsToDiskTrace(events, traceId ?? id)
95
+ trace.trace_id = id
96
+ writeTraceToDiskSync(trace, cwd)
97
+ }
@@ -316,7 +316,10 @@ export function pushTelemetryEvent(event: WorkflowEvent, explicitCtx?: { runId:
316
316
  if (obsCtx.isRerun) {
317
317
  (event as WorkflowEvent & { isRerun?: boolean }).isRerun = true
318
318
  }
319
- if (obsCtx.eventCollector) obsCtx.eventCollector.push({ ...event })
319
+ if (obsCtx.eventCollector) {
320
+ obsCtx.eventCollector.push({ ...event })
321
+ debugLog(`[elasticdash] pushTelemetryEvent: collected event type=${event.type} name=${('name' in event ? event.name : '?')} (total: ${obsCtx.eventCollector.length})`)
322
+ }
320
323
  obsCtx.batcher.enqueue(event)
321
324
  return
322
325
  }
@@ -14,7 +14,9 @@ import { connectToBackend, disconnectFromBackend } from './socket-connector.js'
14
14
  import { executeTrigger } from './trigger-executor.js'
15
15
  import { scanTools, scanWorkflows } from './execution/tool-runner.js'
16
16
  import { debugLog } from './utils/debug.js'
17
- import { maybeCaptureTrace } from './ci/trace-writer.js'
17
+ import { isTraceCaptureEnabled, maybeCaptureTrace, maybeCaptureTraceSync } from './ci/trace-writer.js'
18
+ import { detectGitInfo } from './ci/git-info.js'
19
+ import type { WorkflowEvent } from './capture/event.js'
18
20
 
19
21
  export interface ObservabilityOptions {
20
22
  serverUrl?: string
@@ -61,10 +63,20 @@ export function initObservability(options?: ObservabilityOptions): Observability
61
63
  const workflows = scanWorkflows(cwd)
62
64
  const defaultWorkflowName = workflows.length === 1 ? workflows[0].name : 'unknown-workflow'
63
65
 
66
+ // Detect git info for session metadata (branch, commit, CI provider)
67
+ // If detection fails, values are omitted — never store 'unknown' placeholders
68
+ let gitInfo: ReturnType<typeof detectGitInfo> = {}
69
+ try { gitInfo = detectGitInfo() } catch { /* not in a git repo — skip */ }
70
+ const sessionMetadata: Record<string, unknown> = {}
71
+ if (gitInfo.branch && gitInfo.branch !== 'unknown') sessionMetadata.branch = gitInfo.branch
72
+ if (gitInfo.commit && gitInfo.commit !== 'unknown') sessionMetadata.commit = gitInfo.commit
73
+ if (gitInfo.ciProvider && gitInfo.ciProvider !== 'local') sessionMetadata.ciProvider = gitInfo.ciProvider
74
+
64
75
  const batcher = new TelemetryBatcher({
65
76
  serverUrl,
66
77
  apiKey,
67
78
  sessionId,
79
+ metadata: Object.keys(sessionMetadata).length > 0 ? sessionMetadata : undefined,
68
80
  batchIntervalMs: options?.batchIntervalMs,
69
81
  maxBatchSize: options?.maxBatchSize,
70
82
  redactKeys,
@@ -117,6 +129,18 @@ export function initObservability(options?: ObservabilityOptions): Observability
117
129
  process.once('beforeExit', onExit)
118
130
  process.once('SIGTERM', onExit)
119
131
  process.once('SIGINT', onExit)
132
+
133
+ // Sync exit handler: last resort to flush any pending trace capture.
134
+ // process.on('exit') only allows synchronous code — the async handlers above
135
+ // may not complete before the process terminates (e.g. SIGINT on a dev server).
136
+ if (isTraceCaptureEnabled()) {
137
+ process.once('exit', () => {
138
+ const exitCtx = getObservabilityContext()
139
+ if (exitCtx?.eventCollector && exitCtx.eventCollector.length > 0) {
140
+ maybeCaptureTraceSync(exitCtx.eventCollector, exitCtx.traceId)
141
+ }
142
+ })
143
+ }
120
144
  }
121
145
 
122
146
  debugLog(`[elasticdash] Observability initialised — sessionId=${sessionId} workflow=${defaultWorkflowName} server=${serverUrl}`)
@@ -167,6 +191,13 @@ export async function shutdownObservability(): Promise<void> {
167
191
  const ctx = getObservabilityContext()
168
192
  if (!ctx) return
169
193
 
194
+ // Flush any pending trace capture before shutdown
195
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
196
+ const events = ctx.eventCollector
197
+ ctx.eventCollector = undefined
198
+ await maybeCaptureTrace(events, ctx.traceId)
199
+ }
200
+
170
201
  // Stop heartbeat
171
202
  if (heartbeatTimer) {
172
203
  clearInterval(heartbeatTimer)
@@ -217,11 +248,28 @@ export async function shutdownObservability(): Promise<void> {
217
248
  export function startTrace(workflowName?: string): string {
218
249
  const ctx = getObservabilityContext()
219
250
  if (!ctx) throw new Error('[elasticdash] startTrace: observability not initialised')
251
+
252
+ // Flush any pending trace capture from a previous startTrace() that had no endTrace()
253
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
254
+ debugLog(`[elasticdash] startTrace: flushing ${ctx.eventCollector.length} events from previous trace`)
255
+ const events = ctx.eventCollector
256
+ ctx.eventCollector = undefined
257
+ maybeCaptureTrace(events, ctx.traceId).catch((err) => {
258
+ debugLog(`[elasticdash] Failed to capture trace: ${err instanceof Error ? err.message : String(err)}`)
259
+ })
260
+ }
261
+
220
262
  const resolvedName = workflowName || ctx.defaultWorkflowName
221
263
  const timestamp = Date.now()
222
264
  const shortId = randomUUID().slice(0, 8)
223
265
  ctx.traceId = `${resolvedName}::${timestamp}::${shortId}`
224
266
 
267
+ // When ELASTICDASH_CAPTURE_TRACE=1, start collecting events for disk trace
268
+ if (isTraceCaptureEnabled()) {
269
+ debugLog(`[elasticdash] startTrace: trace capture enabled, collecting events for ${resolvedName}`)
270
+ ctx.eventCollector = []
271
+ }
272
+
225
273
  // Emit a workflow event so the backend can discover the workflow name
226
274
  // (same as wrapWorkflow, but without wrapping — for streaming handlers)
227
275
  pushTelemetryEvent({
@@ -254,7 +302,19 @@ export function startTrace(workflowName?: string): string {
254
302
  */
255
303
  export function endTrace(): void {
256
304
  const ctx = getObservabilityContext()
305
+ debugLog(`[elasticdash] endTrace called, obsCtx=${!!ctx}, eventCollector=${ctx?.eventCollector?.length ?? 'none'}`)
257
306
  if (!ctx) return
307
+
308
+ // Flush collected events to disk if trace capture is enabled
309
+ if (ctx.eventCollector && ctx.eventCollector.length > 0) {
310
+ debugLog(`[elasticdash] endTrace: flushing ${ctx.eventCollector.length} events to disk for traceId=${ctx.traceId}`)
311
+ const events = ctx.eventCollector
312
+ ctx.eventCollector = undefined
313
+ maybeCaptureTrace(events, ctx.traceId).catch((err) => {
314
+ debugLog(`[elasticdash] Failed to capture trace: ${err instanceof Error ? err.message : String(err)}`)
315
+ })
316
+ }
317
+
258
318
  const timestamp = Date.now()
259
319
  const shortId = randomUUID().slice(0, 8)
260
320
  ctx.traceId = `${ctx.defaultWorkflowName}::${timestamp}::${shortId}`
@@ -39,6 +39,7 @@ export interface TelemetryBatcherOptions {
39
39
  serverUrl: string
40
40
  apiKey?: string
41
41
  sessionId: string
42
+ metadata?: Record<string, unknown>
42
43
  batchIntervalMs?: number
43
44
  maxBatchSize?: number
44
45
  redactKeys?: string[]
@@ -51,6 +52,7 @@ export class TelemetryBatcher {
51
52
  private readonly serverUrl: string
52
53
  private readonly apiKey: string | undefined
53
54
  private readonly sessionId: string
55
+ private readonly metadata: Record<string, unknown> | undefined
54
56
  private readonly maxBatchSize: number
55
57
  private readonly redactKeys: string[]
56
58
  private readonly onTrigger: ((trigger: TriggerSignal) => Promise<void>) | undefined
@@ -60,6 +62,7 @@ export class TelemetryBatcher {
60
62
  this.serverUrl = opts.serverUrl.replace(/\/$/, '')
61
63
  this.apiKey = opts.apiKey
62
64
  this.sessionId = opts.sessionId
65
+ this.metadata = opts.metadata
63
66
  this.maxBatchSize = opts.maxBatchSize ?? 50
64
67
  this.redactKeys = opts.redactKeys ?? []
65
68
  this.onTrigger = opts.onTrigger
@@ -106,7 +109,7 @@ export class TelemetryBatcher {
106
109
  // Stream the JSON body to avoid buffering large payloads (e.g. events
107
110
  // with streamRaw can exceed 100 MB). Node.js fetch (undici) supports
108
111
  // Readable as body and uses chunked Transfer-Encoding automatically.
109
- const body = Readable.from(jsonStreamEvents(this.sessionId, batch))
112
+ const body = Readable.from(jsonStreamEvents(this.sessionId, batch, this.metadata))
110
113
 
111
114
  const res = await getOriginalFetch()(url, {
112
115
  method: 'POST',
@@ -170,8 +173,9 @@ export class TelemetryBatcher {
170
173
  * giant string. Each event is serialized individually so the process never
171
174
  * holds the full serialized body in memory at once.
172
175
  */
173
- function* jsonStreamEvents(sessionId: string, events: WorkflowEvent[]): Generator<string> {
174
- yield `{"sessionId":${JSON.stringify(sessionId)},"events":[`
176
+ function* jsonStreamEvents(sessionId: string, events: WorkflowEvent[], metadata?: Record<string, unknown>): Generator<string> {
177
+ const metaPart = metadata ? `,"metadata":${JSON.stringify(metadata)}` : ''
178
+ yield `{"sessionId":${JSON.stringify(sessionId)}${metaPart},"events":[`
175
179
  for (let i = 0; i < events.length; i++) {
176
180
  if (i > 0) yield ','
177
181
  yield JSON.stringify(events[i])