@newrelic/preflight 1.4.46 → 1.5.0
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/dist/dashboard/index.d.ts +1 -1
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/live-event-bus.d.ts +32 -0
- package/dist/dashboard/live-event-bus.d.ts.map +1 -1
- package/dist/dashboard/live-event-bus.js.map +1 -1
- package/dist/dashboard/routes/api-handler.d.ts +46 -0
- package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
- package/dist/dashboard/routes/api-handler.js +188 -5
- package/dist/dashboard/routes/api-handler.js.map +1 -1
- package/dist/dashboard/subagent-timeline-store.d.ts +156 -0
- package/dist/dashboard/subagent-timeline-store.d.ts.map +1 -0
- package/dist/dashboard/subagent-timeline-store.js +674 -0
- package/dist/dashboard/subagent-timeline-store.js.map +1 -0
- package/dist/dashboard/workflow-store.d.ts +85 -0
- package/dist/dashboard/workflow-store.d.ts.map +1 -0
- package/dist/dashboard/workflow-store.js +330 -0
- package/dist/dashboard/workflow-store.js.map +1 -0
- package/dist/hooks/event-processor.d.ts +86 -1
- package/dist/hooks/event-processor.d.ts.map +1 -1
- package/dist/hooks/event-processor.js +182 -0
- package/dist/hooks/event-processor.js.map +1 -1
- package/dist/hooks/subagent-watcher.d.ts +182 -0
- package/dist/hooks/subagent-watcher.d.ts.map +1 -0
- package/dist/hooks/subagent-watcher.js +765 -0
- package/dist/hooks/subagent-watcher.js.map +1 -0
- package/dist/hooks/workflow-script-parser.d.ts +44 -0
- package/dist/hooks/workflow-script-parser.d.ts.map +1 -0
- package/dist/hooks/workflow-script-parser.js +255 -0
- package/dist/hooks/workflow-script-parser.js.map +1 -0
- package/dist/hooks/workflow-watcher.d.ts +65 -0
- package/dist/hooks/workflow-watcher.d.ts.map +1 -0
- package/dist/hooks/workflow-watcher.js +402 -0
- package/dist/hooks/workflow-watcher.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +315 -11
- package/dist/index.js.map +1 -1
- package/dist/metrics/cost-tracker.d.ts +113 -17
- package/dist/metrics/cost-tracker.d.ts.map +1 -1
- package/dist/metrics/cost-tracker.js +151 -8
- package/dist/metrics/cost-tracker.js.map +1 -1
- package/dist/metrics/workflow-run-tracker.d.ts +140 -0
- package/dist/metrics/workflow-run-tracker.d.ts.map +1 -0
- package/dist/metrics/workflow-run-tracker.js +306 -0
- package/dist/metrics/workflow-run-tracker.js.map +1 -0
- package/dist/storage/session-store.d.ts +8 -0
- package/dist/storage/session-store.d.ts.map +1 -1
- package/dist/storage/session-store.js +1 -1
- package/dist/storage/session-store.js.map +1 -1
- package/dist/storage/types.d.ts +40 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/transport/nr-ingest.d.ts +153 -2
- package/dist/transport/nr-ingest.d.ts.map +1 -1
- package/dist/transport/nr-ingest.js +276 -1
- package/dist/transport/nr-ingest.js.map +1 -1
- package/dist/web/assets/index-B4DkT4Go.css +2 -0
- package/dist/web/assets/index-CWwZdwYX.js +64 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/index-C5S1WHiP.js +0 -64
- 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,182 @@
|
|
|
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 lastCostSelfCheckMs;
|
|
132
|
+
constructor(options?: SubagentWatcherOptions);
|
|
133
|
+
start(): void;
|
|
134
|
+
stop(): void;
|
|
135
|
+
/**
|
|
136
|
+
* Single poll cycle. Public so tests can drive deterministically without
|
|
137
|
+
* waiting on the interval timer.
|
|
138
|
+
*/
|
|
139
|
+
poll(): void;
|
|
140
|
+
/** Reset counters; for tests. */
|
|
141
|
+
resetHealth(): void;
|
|
142
|
+
/** Public snapshot of watcher health counters for the dashboard panel. */
|
|
143
|
+
getHealthStats(): SubagentWatcherHealth;
|
|
144
|
+
private discoverFiles;
|
|
145
|
+
/** Returns the file's Stats when it passes the mtime cutoff, else null — callers reuse the Stats instead of re-statting the same path. */
|
|
146
|
+
private filterByMtime;
|
|
147
|
+
private processFile;
|
|
148
|
+
/**
|
|
149
|
+
* Drop in-memory partial-line state for files that are no longer discovered
|
|
150
|
+
* (e.g. session directory removed, file aged past the discovery window). This
|
|
151
|
+
* keeps `partialByPath` bounded by the live file set rather than the
|
|
152
|
+
* all-time-seen file set. The persisted cursor file is left untouched — if the
|
|
153
|
+
* file reappears, we resume from it.
|
|
154
|
+
*/
|
|
155
|
+
private evictStalePartials;
|
|
156
|
+
/**
|
|
157
|
+
* Parse a JSONL line, return non-null only when it's a valid assistant turn
|
|
158
|
+
* with usage. Sets parseErrors counter on JSON parse failures.
|
|
159
|
+
*/
|
|
160
|
+
private tryParseLine;
|
|
161
|
+
private cursorPath;
|
|
162
|
+
private readCursor;
|
|
163
|
+
private writeCursor;
|
|
164
|
+
/**
|
|
165
|
+
* Append to the parent's per-session buffer file. Mirrors the path-naming
|
|
166
|
+
* used by `LocalStore` so `HookEventProcessor.poll()` will pick it up.
|
|
167
|
+
*/
|
|
168
|
+
private appendToParentBuffer;
|
|
169
|
+
private appendHealth;
|
|
170
|
+
private handleSchemaFingerprint;
|
|
171
|
+
private loadFingerprints;
|
|
172
|
+
private persistFingerprints;
|
|
173
|
+
private emitHealth;
|
|
174
|
+
private maybeRunCostSelfCheck;
|
|
175
|
+
private recordError;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Stable cursor file path computation, exported for tests that want to
|
|
179
|
+
* pre-create cursor state without instantiating the watcher.
|
|
180
|
+
*/
|
|
181
|
+
export declare function buildSubagentCursorPath(storagePath: string, parentSessionId: string, agentId: string): string;
|
|
182
|
+
//# 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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"}
|