@newrelic/preflight 1.4.47 → 1.5.1

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 (75) hide show
  1. package/dist/alerts/local-alert-engine.d.ts +1 -1
  2. package/dist/alerts/local-alert-engine.d.ts.map +1 -1
  3. package/dist/alerts/local-alert-engine.js +2 -2
  4. package/dist/alerts/local-alert-engine.js.map +1 -1
  5. package/dist/dashboard/dashboard-server.d.ts +2 -2
  6. package/dist/dashboard/dashboard-server.d.ts.map +1 -1
  7. package/dist/dashboard/dashboard-server.js +2 -2
  8. package/dist/dashboard/dashboard-server.js.map +1 -1
  9. package/dist/dashboard/index.d.ts +1 -1
  10. package/dist/dashboard/index.d.ts.map +1 -1
  11. package/dist/dashboard/live-event-bus.d.ts +32 -0
  12. package/dist/dashboard/live-event-bus.d.ts.map +1 -1
  13. package/dist/dashboard/live-event-bus.js.map +1 -1
  14. package/dist/dashboard/routes/api-handler.d.ts +46 -0
  15. package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
  16. package/dist/dashboard/routes/api-handler.js +188 -5
  17. package/dist/dashboard/routes/api-handler.js.map +1 -1
  18. package/dist/dashboard/subagent-timeline-store.d.ts +156 -0
  19. package/dist/dashboard/subagent-timeline-store.d.ts.map +1 -0
  20. package/dist/dashboard/subagent-timeline-store.js +674 -0
  21. package/dist/dashboard/subagent-timeline-store.js.map +1 -0
  22. package/dist/dashboard/workflow-store.d.ts +85 -0
  23. package/dist/dashboard/workflow-store.d.ts.map +1 -0
  24. package/dist/dashboard/workflow-store.js +330 -0
  25. package/dist/dashboard/workflow-store.js.map +1 -0
  26. package/dist/hooks/event-processor.d.ts +86 -1
  27. package/dist/hooks/event-processor.d.ts.map +1 -1
  28. package/dist/hooks/event-processor.js +182 -0
  29. package/dist/hooks/event-processor.js.map +1 -1
  30. package/dist/hooks/subagent-watcher.d.ts +187 -0
  31. package/dist/hooks/subagent-watcher.d.ts.map +1 -0
  32. package/dist/hooks/subagent-watcher.js +797 -0
  33. package/dist/hooks/subagent-watcher.js.map +1 -0
  34. package/dist/hooks/workflow-script-parser.d.ts +44 -0
  35. package/dist/hooks/workflow-script-parser.d.ts.map +1 -0
  36. package/dist/hooks/workflow-script-parser.js +255 -0
  37. package/dist/hooks/workflow-script-parser.js.map +1 -0
  38. package/dist/hooks/workflow-watcher.d.ts +67 -0
  39. package/dist/hooks/workflow-watcher.d.ts.map +1 -0
  40. package/dist/hooks/workflow-watcher.js +453 -0
  41. package/dist/hooks/workflow-watcher.js.map +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +316 -12
  44. package/dist/index.js.map +1 -1
  45. package/dist/metrics/cost-tracker.d.ts +113 -17
  46. package/dist/metrics/cost-tracker.d.ts.map +1 -1
  47. package/dist/metrics/cost-tracker.js +151 -8
  48. package/dist/metrics/cost-tracker.js.map +1 -1
  49. package/dist/metrics/recommendation-engine.d.ts +1 -1
  50. package/dist/metrics/recommendation-engine.js +1 -1
  51. package/dist/metrics/workflow-run-tracker.d.ts +140 -0
  52. package/dist/metrics/workflow-run-tracker.d.ts.map +1 -0
  53. package/dist/metrics/workflow-run-tracker.js +306 -0
  54. package/dist/metrics/workflow-run-tracker.js.map +1 -0
  55. package/dist/storage/local-store.d.ts +1 -1
  56. package/dist/storage/local-store.js +2 -2
  57. package/dist/storage/local-store.js.map +1 -1
  58. package/dist/storage/session-store.d.ts +8 -0
  59. package/dist/storage/session-store.d.ts.map +1 -1
  60. package/dist/storage/session-store.js +1 -1
  61. package/dist/storage/session-store.js.map +1 -1
  62. package/dist/storage/types.d.ts +40 -1
  63. package/dist/storage/types.d.ts.map +1 -1
  64. package/dist/tools/extended-analytics-tools.d.ts +1 -1
  65. package/dist/tools/extended-analytics-tools.js +1 -1
  66. package/dist/transport/nr-ingest.d.ts +153 -2
  67. package/dist/transport/nr-ingest.d.ts.map +1 -1
  68. package/dist/transport/nr-ingest.js +275 -0
  69. package/dist/transport/nr-ingest.js.map +1 -1
  70. package/dist/web/assets/index-B4DkT4Go.css +2 -0
  71. package/dist/web/assets/index-g9I2w7LV.js +64 -0
  72. package/dist/web/index.html +2 -2
  73. package/package.json +1 -1
  74. package/dist/web/assets/index-CrBs4WEp.js +0 -64
  75. package/dist/web/assets/index-DwBQxRYb.css +0 -2
@@ -25,6 +25,9 @@ function mapToolNameOrOriginal(adapter, rawToolName) {
25
25
  const mapped = adapter.mapToolName(rawToolName);
26
26
  return mapped === 'Unknown' ? rawToolName : mapped;
27
27
  }
28
+ function numAttr(v) {
29
+ return typeof v === 'number' && Number.isFinite(v) && v >= 0 ? v : 0;
30
+ }
28
31
  const DEFAULT_POLL_INTERVAL_MS = 100;
29
32
  const DEFAULT_ORPHAN_TIMEOUT_MS = 60_000;
30
33
  const DEFAULT_MAX_PENDING = 2_000;
@@ -35,7 +38,32 @@ export class HookEventProcessor {
35
38
  drainAllSessions;
36
39
  onRecord;
37
40
  onTokenEvent;
41
+ onWorkflowAgent;
42
+ onSubagentTurn;
43
+ onObservabilityHealth;
44
+ onSubagentToken;
45
+ onWorkflowRun;
38
46
  platformAdapter;
47
+ /**
48
+ * Dedup ring of `(agentId, messageId)` for recent subagent turns. Cursor
49
+ * recovery may re-read a line after a crash mid-write; double-counting would
50
+ * be silent, so we drop on the seen-set (capped at 4096 to bound memory).
51
+ */
52
+ subagentDedup = new Set();
53
+ subagentDedupOrder = [];
54
+ /**
55
+ * Dedup ring of `(workflowRunId, timestamp)` for recent workflow_run
56
+ * events, mirroring subagentDedup above. This path only matters for
57
+ * `--local` mode's buffer.jsonl route — `--stdio` mode's WorkflowWatcher
58
+ * calls ingestScriptWorkflowRun() directly in-process, bypassing the
59
+ * buffer/crash-recovery path entirely. The `.drain` file crash-recovery
60
+ * path can re-deliver the same buffered line after a crash mid-write;
61
+ * without this, that redelivery emits a duplicate AiWorkflowRun event
62
+ * (doubling cost/token metrics for that run) since a new poll cycle's
63
+ * legitimate re-emission for the SAME run uses a different timestamp.
64
+ */
65
+ workflowRunDedup = new Set();
66
+ workflowRunDedupOrder = [];
39
67
  pending = new Map();
40
68
  maxPendingEvents;
41
69
  intervalId = null;
@@ -50,6 +78,11 @@ export class HookEventProcessor {
50
78
  this.maxPendingEvents = options.maxPendingEvents ?? DEFAULT_MAX_PENDING;
51
79
  this.onRecord = options.onRecord;
52
80
  this.onTokenEvent = options.onTokenEvent ?? null;
81
+ this.onWorkflowAgent = options.onWorkflowAgent ?? null;
82
+ this.onSubagentTurn = options.onSubagentTurn ?? null;
83
+ this.onObservabilityHealth = options.onObservabilityHealth ?? null;
84
+ this.onSubagentToken = options.onSubagentToken ?? null;
85
+ this.onWorkflowRun = options.onWorkflowRun ?? null;
53
86
  this.platformAdapter = options.platformAdapter ?? createDefaultRegistry().getActive();
54
87
  this.boundBeforeExit = () => {
55
88
  this.stop();
@@ -140,6 +173,15 @@ export class HookEventProcessor {
140
173
  else if (event.mode === 'post') {
141
174
  this.handlePostEvent(event);
142
175
  }
176
+ else if (event.mode === 'subagent_token') {
177
+ this.handleSubagentTokenEvent(event);
178
+ }
179
+ else if (event.mode === 'observability_health') {
180
+ this.handleObservabilityHealthEvent(event);
181
+ }
182
+ else if (event.mode === 'workflow_run') {
183
+ this.handleWorkflowRunEvent(event);
184
+ }
143
185
  }
144
186
  catch (err) {
145
187
  logger.warn('Error processing hook event', {
@@ -367,6 +409,133 @@ export class HookEventProcessor {
367
409
  }
368
410
  return oldestKey;
369
411
  }
412
+ handleSubagentTokenEvent(event) {
413
+ if (!this.onSubagentTurn && !this.onSubagentToken)
414
+ return;
415
+ const agentId = event.agentId ?? '';
416
+ const messageId = event.messageId ?? '';
417
+ if (!agentId || !messageId)
418
+ return;
419
+ const dedupKey = `${agentId}|${messageId}`;
420
+ if (this.subagentDedup.has(dedupKey))
421
+ return;
422
+ this.subagentDedup.add(dedupKey);
423
+ this.subagentDedupOrder.push(dedupKey);
424
+ if (this.subagentDedupOrder.length > 4096) {
425
+ const evicted = this.subagentDedupOrder.shift();
426
+ if (evicted)
427
+ this.subagentDedup.delete(evicted);
428
+ }
429
+ const turn = {
430
+ timestampMs: typeof event.timestamp === 'number' && Number.isFinite(event.timestamp)
431
+ ? event.timestamp
432
+ : Date.now(),
433
+ parentSessionId: event.sessionId ?? '',
434
+ agentId,
435
+ workflowRunId: event.workflowRunId ?? null,
436
+ messageId,
437
+ turnUuid: event.turnUuid ?? '',
438
+ model: event.model ?? 'unknown',
439
+ inputTokens: numAttr(event.inputTokens),
440
+ outputTokens: numAttr(event.outputTokens),
441
+ cacheReadTokens: numAttr(event.cacheReadTokens),
442
+ cacheCreationTokens: numAttr(event.cacheCreationTokens),
443
+ reasoningTokens: numAttr(event.reasoningTokens),
444
+ stopReason: event.stopReason ?? null,
445
+ schemaFingerprint: event.schemaFingerprint ?? '',
446
+ };
447
+ if (this.onSubagentTurn) {
448
+ try {
449
+ this.onSubagentTurn(turn);
450
+ }
451
+ catch (err) {
452
+ logger.warn('onSubagentTurn callback failed', {
453
+ error: err instanceof Error ? err.message : String(err),
454
+ });
455
+ }
456
+ }
457
+ if (this.onSubagentToken) {
458
+ const tokenEvent = {
459
+ mode: 'subagent_token',
460
+ timestamp: turn.timestampMs,
461
+ agentId: turn.agentId,
462
+ workflowRunId: turn.workflowRunId,
463
+ messageId: turn.messageId,
464
+ model: turn.model,
465
+ usage: {
466
+ inputTokens: turn.inputTokens,
467
+ outputTokens: turn.outputTokens,
468
+ cacheCreationTokens: turn.cacheCreationTokens,
469
+ cacheReadTokens: turn.cacheReadTokens,
470
+ reasoningTokens: turn.reasoningTokens,
471
+ },
472
+ parentSessionId: turn.parentSessionId,
473
+ };
474
+ try {
475
+ this.onSubagentToken(tokenEvent);
476
+ }
477
+ catch (err) {
478
+ logger.warn('onSubagentToken callback failed', {
479
+ error: err instanceof Error ? err.message : String(err),
480
+ });
481
+ }
482
+ }
483
+ }
484
+ handleWorkflowRunEvent(event) {
485
+ if (!this.onWorkflowRun)
486
+ return;
487
+ const dedupKey = `${event.workflowRunId}|${event.timestamp}`;
488
+ if (this.workflowRunDedup.has(dedupKey))
489
+ return;
490
+ this.workflowRunDedup.add(dedupKey);
491
+ this.workflowRunDedupOrder.push(dedupKey);
492
+ if (this.workflowRunDedupOrder.length > 4096) {
493
+ const evicted = this.workflowRunDedupOrder.shift();
494
+ if (evicted)
495
+ this.workflowRunDedup.delete(evicted);
496
+ }
497
+ try {
498
+ this.onWorkflowRun(event);
499
+ }
500
+ catch (err) {
501
+ logger.warn('onWorkflowRun callback failed', {
502
+ error: err instanceof Error ? err.message : String(err),
503
+ });
504
+ }
505
+ }
506
+ handleObservabilityHealthEvent(event) {
507
+ if (!this.onObservabilityHealth)
508
+ return;
509
+ const frame = {
510
+ timestamp: typeof event.timestamp === 'number' && Number.isFinite(event.timestamp)
511
+ ? event.timestamp
512
+ : Date.now(),
513
+ watcher: event.watcher ?? 'subagent',
514
+ filesWatched: numAttr(event.filesWatched),
515
+ linesRead: numAttr(event.linesRead),
516
+ bytesRead: numAttr(event.bytesRead),
517
+ parseErrors: numAttr(event.parseErrors),
518
+ schemaDrifts: numAttr(event.schemaDrifts),
519
+ lastError: event.lastError && typeof event.lastError === 'object'
520
+ ? event.lastError
521
+ : null,
522
+ ...(typeof event.event === 'string' ? { event: event.event } : {}),
523
+ ...(typeof event.dimension === 'string' ? { dimension: event.dimension } : {}),
524
+ ...(typeof event.fingerprint === 'string' ? { fingerprint: event.fingerprint } : {}),
525
+ ...(typeof event.workflowRunId === 'string' ? { workflowRunId: event.workflowRunId } : {}),
526
+ ...(typeof event.costSelfCheckDeltaPct === 'number'
527
+ ? { costSelfCheckDeltaPct: event.costSelfCheckDeltaPct }
528
+ : {}),
529
+ };
530
+ try {
531
+ this.onObservabilityHealth(frame);
532
+ }
533
+ catch (err) {
534
+ logger.warn('onObservabilityHealth callback failed', {
535
+ error: err instanceof Error ? err.message : String(err),
536
+ });
537
+ }
538
+ }
370
539
  emitRecord(record) {
371
540
  try {
372
541
  this.onRecord(record);
@@ -377,6 +546,19 @@ export class HookEventProcessor {
377
546
  error: err instanceof Error ? err.message : String(err),
378
547
  });
379
548
  }
549
+ // Workflow observability — additively notify any registered tracker when
550
+ // an Agent tool call completes. Failures here MUST NOT propagate.
551
+ if (this.onWorkflowAgent !== null && record.toolName === 'Agent') {
552
+ try {
553
+ this.onWorkflowAgent(record);
554
+ }
555
+ catch (err) {
556
+ logger.warn('onWorkflowAgent callback failed', {
557
+ recordId: record.id,
558
+ error: err instanceof Error ? err.message : String(err),
559
+ });
560
+ }
561
+ }
380
562
  }
381
563
  }
382
564
  //# sourceMappingURL=event-processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-processor.js","sourceRoot":"","sources":["../../src/hooks/event-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-processor.js","sourceRoot":"","sources":["../../src/hooks/event-processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Subagent Watcher — polls Claude Code subagent JSONL transcripts and emits
3
+ * one `mode: 'subagent_token'` line per assistant turn into the parent
4
+ * session's hook buffer.
5
+ *
6
+ * This closes a cost-correctness gap: subagent tokens (visible only
7
+ * inside `~/.claude/projects/<slug>/<sessionId>/subagents/agent-*.jsonl`) never
8
+ * reached `CostTracker.recordTokenUsage()` because the existing collector at
9
+ * `collector-script.ts:178-219 readLastAssistantUsage()` only tails the parent
10
+ * session's transcript.
11
+ *
12
+ * Watches two paths under each session directory:
13
+ * - `subagents/agent-{id}.jsonl` (ad-hoc Task calls)
14
+ * - `subagents/workflows/wf_{runId}/agent-{id}.jsonl` (workflow-spawned)
15
+ *
16
+ * Cursor durability: byte cursors persisted to
17
+ * `~/.newrelic-preflight/.subagent-pos-<parentSessionId>-<agentId>` survive restart.
18
+ * On crash mid-emit the next poll re-reads from the previous cursor →
19
+ * potential duplicates which downstream dedupes by (agent_id, message.id).
20
+ *
21
+ * Startup-discovery budget: only files with mtime in the last 24h are eligible
22
+ * for cold scan (configurable via `NR_AI_WATCHER_DISCOVERY_HOURS`); older
23
+ * files emit `discovery_skipped` once each. Backfill of older files is
24
+ * a separate, future concern.
25
+ */
26
+ import type { LocalStore } from '../storage/local-store.js';
27
+ /**
28
+ * Event emitted into the parent buffer for each new assistant turn observed
29
+ * in a subagent JSONL. Mirrors the wire shape of the existing 'token' mode
30
+ * but adds the subagent-attribution fields.
31
+ */
32
+ export interface SubagentTokenEvent {
33
+ readonly mode: 'subagent_token';
34
+ readonly tool: 'subagent';
35
+ readonly timestamp: number;
36
+ readonly sessionId: string;
37
+ readonly agentId: string;
38
+ readonly workflowRunId: string | null;
39
+ readonly messageId: string;
40
+ readonly turnUuid: string;
41
+ readonly model: string;
42
+ readonly inputTokens: number;
43
+ readonly outputTokens: number;
44
+ readonly cacheReadTokens: number;
45
+ readonly cacheCreationTokens: number;
46
+ readonly reasoningTokens: number;
47
+ readonly stopReason: string | null;
48
+ readonly schemaFingerprint: string;
49
+ }
50
+ /**
51
+ * Health event emitted by the watcher itself. Written with
52
+ * `mode: 'observability_health'` so the event-processor routes it to a
53
+ * dedicated handler distinct from the token / pre / post families.
54
+ */
55
+ export interface ObservabilityHealthEvent {
56
+ readonly mode: 'observability_health';
57
+ readonly tool: 'observability_health';
58
+ readonly timestamp: number;
59
+ readonly watcher: 'workflow' | 'subagent';
60
+ readonly filesWatched: number;
61
+ readonly linesRead: number;
62
+ readonly bytesRead: number;
63
+ readonly parseErrors: number;
64
+ readonly schemaDrifts: number;
65
+ readonly lastError: {
66
+ code: string;
67
+ class: string;
68
+ } | null;
69
+ readonly event?: 'schema_drift' | 'plane_overlap' | 'parser_skip' | 'discovered_workflow' | 'discovery_skipped' | 'late_arrival_dropped' | 'oversized_line_dropped' | 'watcher_disabled_by_lock' | 'cost_self_check';
70
+ readonly dimension?: 'usage_keys' | 'content_block_types' | 'wf_progress_types';
71
+ readonly fingerprint?: string;
72
+ readonly workflowRunId?: string;
73
+ readonly costSelfCheckDeltaPct?: number;
74
+ }
75
+ export interface SubagentWatcherOptions {
76
+ /** Storage path for cursor + fingerprint state (defaults to ~/.newrelic-preflight). */
77
+ readonly storagePath?: string;
78
+ /** ~/.claude/projects directory; defaults to homedir-relative. */
79
+ readonly projectsDir?: string;
80
+ /** Poll interval in ms. Default 2000. */
81
+ readonly pollIntervalMs?: number;
82
+ /** Cold-scan eligibility window. Default 24h. */
83
+ readonly discoveryHours?: number;
84
+ /** LocalStore (used to peek the parent buffer path naming convention). */
85
+ readonly localStore?: LocalStore;
86
+ /**
87
+ * If provided, watcher only processes files belonging to this session id.
88
+ * Default: process every session id under projectsDir (matches `--local`
89
+ * drainAll semantics).
90
+ */
91
+ readonly parentSessionId?: string;
92
+ /**
93
+ * Optional ground-truth cost computation hook. Called once per
94
+ * COST_SELF_CHECK_MS to compute current `costTracker.totalUsd` for the
95
+ * runtime self-check. Returns delta in percent (0-100); when this
96
+ * hook is omitted, the self-check is skipped.
97
+ */
98
+ readonly costSelfCheck?: () => {
99
+ trackedUsd: number;
100
+ groundTruthUsd: number;
101
+ };
102
+ }
103
+ export interface SubagentWatcherHealth {
104
+ readonly filesWatched: number;
105
+ readonly linesRead: number;
106
+ readonly bytesRead: number;
107
+ readonly parseErrors: number;
108
+ readonly schemaDrifts: number;
109
+ /** Lock-based disable is not implemented yet (forward-declared); always false. */
110
+ readonly watcherDisabledByLock: boolean;
111
+ }
112
+ export declare class SubagentWatcher {
113
+ private readonly storagePath;
114
+ private readonly projectsDir;
115
+ private readonly pollIntervalMs;
116
+ private readonly discoveryHours;
117
+ private readonly parentSessionFilter;
118
+ private readonly costSelfCheck;
119
+ private intervalId;
120
+ private healthIntervalId;
121
+ private running;
122
+ private readonly partialByPath;
123
+ private filesWatched;
124
+ private linesRead;
125
+ private bytesRead;
126
+ private parseErrors;
127
+ private schemaDrifts;
128
+ private lastError;
129
+ private seenFingerprints;
130
+ private readonly discoverySkippedAnnounced;
131
+ private readonly agentIdMismatchAnnounced;
132
+ private lastCostSelfCheckMs;
133
+ constructor(options?: SubagentWatcherOptions);
134
+ start(): void;
135
+ stop(): void;
136
+ /**
137
+ * Single poll cycle. Public so tests can drive deterministically without
138
+ * waiting on the interval timer.
139
+ */
140
+ poll(): void;
141
+ /** Reset counters; for tests. */
142
+ resetHealth(): void;
143
+ /** Public snapshot of watcher health counters for the dashboard panel. */
144
+ getHealthStats(): SubagentWatcherHealth;
145
+ private discoverFiles;
146
+ /** Returns the file's Stats when it passes the mtime cutoff, else null — callers reuse the Stats instead of re-statting the same path. */
147
+ private filterByMtime;
148
+ /** Emits a discovery_skipped health event, once per path, when a file
149
+ * shaped like `agent-*.jsonl` doesn't match AGENT_ID_RE — makes an id-format
150
+ * drift observable instead of a silent stop in subagent token capture. */
151
+ private announceAgentIdMismatch;
152
+ private processFile;
153
+ /**
154
+ * Drop in-memory partial-line state for files that are no longer discovered
155
+ * (e.g. session directory removed, file aged past the discovery window). This
156
+ * keeps `partialByPath` bounded by the live file set rather than the
157
+ * all-time-seen file set. The persisted cursor file is left untouched — if the
158
+ * file reappears, we resume from it.
159
+ */
160
+ private evictStalePartials;
161
+ /**
162
+ * Parse a JSONL line, return non-null only when it's a valid assistant turn
163
+ * with usage. Sets parseErrors counter on JSON parse failures.
164
+ */
165
+ private tryParseLine;
166
+ private cursorPath;
167
+ private readCursor;
168
+ private writeCursor;
169
+ /**
170
+ * Append to the parent's per-session buffer file. Mirrors the path-naming
171
+ * used by `LocalStore` so `HookEventProcessor.poll()` will pick it up.
172
+ */
173
+ private appendToParentBuffer;
174
+ private appendHealth;
175
+ private handleSchemaFingerprint;
176
+ private loadFingerprints;
177
+ private persistFingerprints;
178
+ private emitHealth;
179
+ private maybeRunCostSelfCheck;
180
+ private recordError;
181
+ }
182
+ /**
183
+ * Stable cursor file path computation, exported for tests that want to
184
+ * pre-create cursor state without instantiating the watcher.
185
+ */
186
+ export declare function buildSubagentCursorPath(storagePath: string, parentSessionId: string, agentId: string): string;
187
+ //# sourceMappingURL=subagent-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-watcher.d.ts","sourceRoot":"","sources":["../../src/hooks/subagent-watcher.ts"],"names":[],"mappings":"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"}