@newrelic/preflight 1.70.0 → 1.71.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/README.md +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
- package/dist/dashboard/routes/api-handler.js +9 -7
- package/dist/dashboard/routes/api-handler.js.map +1 -1
- package/dist/hooks/collector-script.d.ts.map +1 -1
- package/dist/hooks/collector-script.js +14 -8
- package/dist/hooks/collector-script.js.map +1 -1
- package/dist/hooks/copilot-app-usage-watcher.d.ts.map +1 -1
- package/dist/hooks/copilot-app-usage-watcher.js +3 -4
- package/dist/hooks/copilot-app-usage-watcher.js.map +1 -1
- package/dist/hooks/copilot-usage-watcher.d.ts +25 -5
- package/dist/hooks/copilot-usage-watcher.d.ts.map +1 -1
- package/dist/hooks/copilot-usage-watcher.js +254 -92
- package/dist/hooks/copilot-usage-watcher.js.map +1 -1
- package/dist/hooks/event-processor.d.ts +4 -6
- package/dist/hooks/event-processor.d.ts.map +1 -1
- package/dist/hooks/event-processor.js +4 -6
- package/dist/hooks/event-processor.js.map +1 -1
- package/dist/hooks/parent-transcript-watcher.d.ts.map +1 -1
- package/dist/hooks/parent-transcript-watcher.js +5 -4
- package/dist/hooks/parent-transcript-watcher.js.map +1 -1
- package/dist/hooks/subagent-watcher.d.ts +18 -14
- package/dist/hooks/subagent-watcher.d.ts.map +1 -1
- package/dist/hooks/subagent-watcher.js +83 -69
- package/dist/hooks/subagent-watcher.js.map +1 -1
- package/dist/hooks/throttled-warning.d.ts +5 -5
- package/dist/hooks/throttled-warning.d.ts.map +1 -1
- package/dist/hooks/throttled-warning.js +14 -12
- package/dist/hooks/throttled-warning.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/install/cli.d.ts.map +1 -1
- package/dist/install/cli.js +51 -11
- package/dist/install/cli.js.map +1 -1
- package/dist/install/credentials.d.ts +23 -0
- package/dist/install/credentials.d.ts.map +1 -0
- package/dist/install/credentials.js +57 -0
- package/dist/install/credentials.js.map +1 -0
- package/dist/install/setup-wizard.d.ts.map +1 -1
- package/dist/install/setup-wizard.js +3 -3
- package/dist/install/setup-wizard.js.map +1 -1
- package/dist/metrics/local-session-aggregator.d.ts +4 -4
- package/dist/metrics/local-session-aggregator.d.ts.map +1 -1
- package/dist/metrics/local-session-aggregator.js +13 -6
- package/dist/metrics/local-session-aggregator.js.map +1 -1
- package/dist/storage/drain-claims.d.ts +59 -0
- package/dist/storage/drain-claims.d.ts.map +1 -0
- package/dist/storage/drain-claims.js +174 -0
- package/dist/storage/drain-claims.js.map +1 -0
- package/dist/storage/hook-buffer.d.ts +7 -0
- package/dist/storage/hook-buffer.d.ts.map +1 -0
- package/dist/storage/hook-buffer.js +132 -0
- package/dist/storage/hook-buffer.js.map +1 -0
- package/dist/storage/local-store.d.ts +17 -16
- package/dist/storage/local-store.d.ts.map +1 -1
- package/dist/storage/local-store.js +128 -71
- package/dist/storage/local-store.js.map +1 -1
- package/dist/storage/session-store.d.ts +21 -6
- package/dist/storage/session-store.d.ts.map +1 -1
- package/dist/storage/session-store.js +13 -11
- package/dist/storage/session-store.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,10 +15,13 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Cursor durability: byte cursors persisted to
|
|
17
17
|
* `~/.newrelic-preflight/.subagent-pos-<parentSessionId>-<agentId>` survive restart.
|
|
18
|
-
* A read takes effect
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
18
|
+
* A read takes effect once its turns are delivered through the
|
|
19
|
+
* BilledTurnLedger to the parent buffer and its advanced cursor is written. If
|
|
20
|
+
* either fails, the read is redone from the old cursor: the ledger hands back
|
|
21
|
+
* the turns it claimed but did not append and refuses the ones already
|
|
22
|
+
* appended. The ledger buffers each message id once, so a re-read after a
|
|
23
|
+
* restart, a torn cursor or a moved transcript emits nothing it already
|
|
24
|
+
* emitted.
|
|
22
25
|
*
|
|
23
26
|
* Startup-discovery budget: only files with mtime in the last 24h are eligible
|
|
24
27
|
* for cold scan (configurable via `NR_AI_WATCHER_DISCOVERY_HOURS`); older
|
|
@@ -29,13 +32,16 @@
|
|
|
29
32
|
* statted, the poll interval is 5x slower, and `discovery_skipped` is
|
|
30
33
|
* suppressed. Backfill of older files is a separate, future concern.
|
|
31
34
|
*/
|
|
32
|
-
import {
|
|
35
|
+
import { closeSync, existsSync, mkdirSync, openSync, readdirSync, readFileSync, readSync, statSync, writeFileSync, } from 'node:fs';
|
|
33
36
|
import { homedir } from 'node:os';
|
|
34
37
|
import { dirname, join, resolve } from 'node:path';
|
|
35
38
|
import { StringDecoder } from 'node:string_decoder';
|
|
36
39
|
import { createLogger } from '../shared/index.js';
|
|
37
40
|
import { AGENT_ID_RE, normalizeAgentType } from '../lib/agent-id.js';
|
|
41
|
+
import { BilledTurnLedger } from './billed-turn-ledger.js';
|
|
42
|
+
import { ThrottledWarning } from './throttled-warning.js';
|
|
38
43
|
import { parseAssistantTurnLine } from '../lib/subagent-transcript-parser.js';
|
|
44
|
+
import { appendToHookBuffer } from '../storage/hook-buffer.js';
|
|
39
45
|
const logger = createLogger('subagent-watcher');
|
|
40
46
|
// ---------------------------------------------------------------------------
|
|
41
47
|
// Constants
|
|
@@ -97,6 +103,8 @@ export class SubagentWatcher {
|
|
|
97
103
|
costSelfCheck;
|
|
98
104
|
localStore;
|
|
99
105
|
onTurnRead;
|
|
106
|
+
ledger;
|
|
107
|
+
retryWarning = new ThrottledWarning(logger, 'SubagentWatcher read deferred to the next poll');
|
|
100
108
|
intervalId = null;
|
|
101
109
|
healthIntervalId = null;
|
|
102
110
|
running = false;
|
|
@@ -179,6 +187,7 @@ export class SubagentWatcher {
|
|
|
179
187
|
this.costSelfCheck = options.costSelfCheck;
|
|
180
188
|
this.localStore = options.localStore;
|
|
181
189
|
this.onTurnRead = options.onTurnRead;
|
|
190
|
+
this.ledger = options.ledger ?? new BilledTurnLedger({ storagePath: this.storagePath });
|
|
182
191
|
this.loadFingerprints();
|
|
183
192
|
}
|
|
184
193
|
start() {
|
|
@@ -667,8 +676,7 @@ export class SubagentWatcher {
|
|
|
667
676
|
// If the canonical copy for this (parentSessionId, agentId) switched project
|
|
668
677
|
// dirs since the last poll (repo rename → newest-mtime copy now wins in
|
|
669
678
|
// dedupeByCursorKey), the persisted byte offset belongs to the OLD file and
|
|
670
|
-
// is meaningless here. Start fresh
|
|
671
|
-
// by (agentId, messageId) and day-bucketing keeps "spend today" correct.
|
|
679
|
+
// is meaningless here. Start fresh from the top of the new file.
|
|
672
680
|
const switchedFile = persisted.path !== undefined && persisted.path !== file.path;
|
|
673
681
|
const startCursor = switchedFile
|
|
674
682
|
? { bytePos: 0, partialLine: '', path: file.path }
|
|
@@ -722,7 +730,6 @@ export class SubagentWatcher {
|
|
|
722
730
|
this.decoderByPath.set(file.path, decoder);
|
|
723
731
|
}
|
|
724
732
|
const chunk = decoder.write(buf.subarray(0, actuallyRead));
|
|
725
|
-
this.bytesRead += actuallyRead;
|
|
726
733
|
// Carry over any partial-line content from the previous poll. The in-memory
|
|
727
734
|
// map is the fast path; on a cold start (e.g. after restart) we fall back to
|
|
728
735
|
// the partial persisted alongside the byte cursor.
|
|
@@ -750,23 +757,26 @@ export class SubagentWatcher {
|
|
|
750
757
|
// cursor has already advanced past these bytes, so we make forward progress
|
|
751
758
|
// and never revisit them.
|
|
752
759
|
let droppedOversized = false;
|
|
760
|
+
let parseErrors = 0;
|
|
753
761
|
if (newPartial.length > MAX_PARTIAL_LINE_BYTES) {
|
|
754
762
|
droppedOversized = true;
|
|
755
763
|
newPartial = '';
|
|
756
|
-
|
|
764
|
+
parseErrors += 1;
|
|
757
765
|
}
|
|
758
|
-
//
|
|
766
|
+
// Health counters and schema-drift events wait until the read is committed,
|
|
767
|
+
// so a read that is redone counts once.
|
|
759
768
|
const agentType = lines.length > 0 ? this.readAgentType(file.path) : undefined;
|
|
760
|
-
const
|
|
769
|
+
const turns = [];
|
|
770
|
+
let linesRead = 0;
|
|
761
771
|
for (const line of lines) {
|
|
762
772
|
if (!line)
|
|
763
773
|
continue;
|
|
764
|
-
|
|
765
|
-
const parsed = this.tryParseLine(line
|
|
774
|
+
linesRead += 1;
|
|
775
|
+
const { parsed, invalidJson } = this.tryParseLine(line);
|
|
776
|
+
if (invalidJson)
|
|
777
|
+
parseErrors += 1;
|
|
766
778
|
if (parsed === null)
|
|
767
779
|
continue;
|
|
768
|
-
this.handleSchemaFingerprint('usage_keys', parsed.usageKeysFingerprint, file.workflowRunId);
|
|
769
|
-
this.handleSchemaFingerprint('content_block_types', parsed.contentBlockTypesFingerprint, file.workflowRunId);
|
|
770
780
|
const event = {
|
|
771
781
|
mode: 'subagent_token',
|
|
772
782
|
tool: 'subagent',
|
|
@@ -787,23 +797,34 @@ export class SubagentWatcher {
|
|
|
787
797
|
toolUseIds: parsed.toolUseIds,
|
|
788
798
|
...(agentType !== undefined ? { agentType } : {}),
|
|
789
799
|
};
|
|
790
|
-
|
|
800
|
+
turns.push({ ...parsed, event });
|
|
801
|
+
}
|
|
802
|
+
// Deliver the turns, then persist the advanced cursor plus the (bounded)
|
|
803
|
+
// trailing partial so a restart resumes exactly where we left off. If
|
|
804
|
+
// either fails, the next read starts from this read's start again: the
|
|
805
|
+
// ledger refuses the turns already buffered, and onTurnRead hears of them
|
|
806
|
+
// only from the redo. Keeping this read's partial would prepend it to the
|
|
807
|
+
// same bytes. The decoder, which holds this read's trailing bytes, is reset
|
|
808
|
+
// as on a restart, and the mirror is dropped as on a failed read, leaving
|
|
809
|
+
// the file to the next poll.
|
|
810
|
+
try {
|
|
811
|
+
this.ledger.deliver(file.parentSessionId, turns, ({ event }) => this.appendToParentBuffer(file.parentSessionId, event));
|
|
812
|
+
this.writeCursor(cursorPath, nextBytePos, newPartial, file.path);
|
|
791
813
|
}
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
// starts from this read's start again, so nothing this read found takes
|
|
795
|
-
// effect: emitting now would repeat these turns, and keeping its partial
|
|
796
|
-
// would prepend it to the same bytes. The decoder, which holds this read's
|
|
797
|
-
// trailing bytes, is reset as on a restart, and the mirror is dropped as on
|
|
798
|
-
// a failed read, leaving the file to the next poll.
|
|
799
|
-
if (!this.writeCursor(cursorPath, nextBytePos, newPartial, file.path)) {
|
|
814
|
+
catch (err) {
|
|
815
|
+
this.recordError(err, this.retryWarning, file.path);
|
|
800
816
|
this.decoderByPath.delete(file.path);
|
|
801
817
|
this.consumedBytesByPath.delete(file.path);
|
|
802
818
|
return nothingRead;
|
|
803
819
|
}
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
820
|
+
this.retryWarning.succeeded(file.path);
|
|
821
|
+
this.bytesRead += actuallyRead;
|
|
822
|
+
this.linesRead += linesRead;
|
|
823
|
+
this.parseErrors += parseErrors;
|
|
824
|
+
for (const turn of turns) {
|
|
825
|
+
this.handleSchemaFingerprint('usage_keys', turn.usageKeysFingerprint, file.workflowRunId);
|
|
826
|
+
this.handleSchemaFingerprint('content_block_types', turn.contentBlockTypesFingerprint, file.workflowRunId);
|
|
827
|
+
this.notifyTurnRead(turn.event);
|
|
807
828
|
}
|
|
808
829
|
// Keep the in-memory mirror in sync; when the partial is empty, drop the
|
|
809
830
|
// key entirely so a fully-consumed file leaves no residual entry in the map.
|
|
@@ -829,7 +850,7 @@ export class SubagentWatcher {
|
|
|
829
850
|
event: 'oversized_line_dropped',
|
|
830
851
|
});
|
|
831
852
|
}
|
|
832
|
-
return { bytes: actuallyRead, turns:
|
|
853
|
+
return { bytes: actuallyRead, turns: turns.length };
|
|
833
854
|
}
|
|
834
855
|
notifyTurnRead(event) {
|
|
835
856
|
if (this.onTurnRead === undefined)
|
|
@@ -920,29 +941,24 @@ export class SubagentWatcher {
|
|
|
920
941
|
this.agentTypeByPath.set(transcriptPath, agentType);
|
|
921
942
|
return agentType;
|
|
922
943
|
}
|
|
923
|
-
/**
|
|
924
|
-
|
|
925
|
-
* with usage. Sets parseErrors counter on JSON parse failures.
|
|
926
|
-
*/
|
|
927
|
-
tryParseLine(line, _file) {
|
|
944
|
+
/** Parse a JSONL line; `parsed` is non-null only for a valid assistant turn with usage. */
|
|
945
|
+
tryParseLine(line) {
|
|
928
946
|
const { fields, invalidJson } = parseAssistantTurnLine(line);
|
|
929
|
-
|
|
930
|
-
this.parseErrors += 1;
|
|
931
|
-
return null;
|
|
932
|
-
}
|
|
947
|
+
const none = { parsed: null, invalidJson };
|
|
933
948
|
if (!fields)
|
|
934
|
-
return
|
|
949
|
+
return none;
|
|
935
950
|
const model = fields.model;
|
|
936
951
|
if (!model || model === '<synthetic>')
|
|
937
|
-
return
|
|
952
|
+
return none;
|
|
938
953
|
const messageId = fields.messageId;
|
|
939
954
|
if (!messageId)
|
|
940
|
-
return
|
|
955
|
+
return none;
|
|
941
956
|
const timestampMs = fields.rawTimestamp ? Date.parse(fields.rawTimestamp) : Date.now();
|
|
942
957
|
if (!Number.isFinite(timestampMs))
|
|
943
|
-
return
|
|
944
|
-
|
|
958
|
+
return none;
|
|
959
|
+
const parsed = {
|
|
945
960
|
timestampMs,
|
|
961
|
+
undated: !fields.rawTimestamp,
|
|
946
962
|
messageId,
|
|
947
963
|
turnUuid: fields.turnUuid,
|
|
948
964
|
model,
|
|
@@ -956,6 +972,7 @@ export class SubagentWatcher {
|
|
|
956
972
|
contentBlockTypesFingerprint: fields.contentBlockTypesFingerprint,
|
|
957
973
|
toolUseIds: fields.toolUseIds,
|
|
958
974
|
};
|
|
975
|
+
return { parsed, invalidJson: false };
|
|
959
976
|
}
|
|
960
977
|
// -------------------------------------------------------------------------
|
|
961
978
|
// Buffer + cursor I/O
|
|
@@ -978,24 +995,16 @@ export class SubagentWatcher {
|
|
|
978
995
|
return { bytePos: 0, partialLine: '' };
|
|
979
996
|
}
|
|
980
997
|
}
|
|
981
|
-
/** Returns whether the cursor was written; a failure is recorded, not thrown. */
|
|
982
998
|
writeCursor(cursorPath, bytePos, partialLine, sourcePath) {
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
mkdirSync(this.storagePath, { recursive: true, mode: 0o700 });
|
|
986
|
-
}
|
|
987
|
-
const dir = dirname(cursorPath);
|
|
988
|
-
if (!existsSync(dir))
|
|
989
|
-
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
990
|
-
writeFileSync(cursorPath, JSON.stringify({ bytePos, partialLine, path: sourcePath }), {
|
|
991
|
-
mode: 0o600,
|
|
992
|
-
});
|
|
993
|
-
return true;
|
|
994
|
-
}
|
|
995
|
-
catch (err) {
|
|
996
|
-
this.recordError(err);
|
|
997
|
-
return false;
|
|
999
|
+
if (!existsSync(this.storagePath)) {
|
|
1000
|
+
mkdirSync(this.storagePath, { recursive: true, mode: 0o700 });
|
|
998
1001
|
}
|
|
1002
|
+
const dir = dirname(cursorPath);
|
|
1003
|
+
if (!existsSync(dir))
|
|
1004
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
1005
|
+
writeFileSync(cursorPath, JSON.stringify({ bytePos, partialLine, path: sourcePath }), {
|
|
1006
|
+
mode: 0o600,
|
|
1007
|
+
});
|
|
999
1008
|
}
|
|
1000
1009
|
/**
|
|
1001
1010
|
* Append to the parent's per-session buffer file. Mirrors the path-naming
|
|
@@ -1003,15 +1012,10 @@ export class SubagentWatcher {
|
|
|
1003
1012
|
*/
|
|
1004
1013
|
appendToParentBuffer(parentSessionId, event) {
|
|
1005
1014
|
const path = join(this.storagePath, `buffer-${parentSessionId}.jsonl`);
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
mkdirSync(this.storagePath, { recursive: true, mode: 0o700 });
|
|
1009
|
-
}
|
|
1010
|
-
appendFileSync(path, JSON.stringify(event) + '\n', { mode: 0o600 });
|
|
1011
|
-
}
|
|
1012
|
-
catch (err) {
|
|
1013
|
-
this.recordError(err);
|
|
1015
|
+
if (!existsSync(this.storagePath)) {
|
|
1016
|
+
mkdirSync(this.storagePath, { recursive: true, mode: 0o700 });
|
|
1014
1017
|
}
|
|
1018
|
+
appendToHookBuffer(path, JSON.stringify(event) + '\n');
|
|
1015
1019
|
}
|
|
1016
1020
|
appendHealth(event) {
|
|
1017
1021
|
// Health rides through the same parent-buffer pipeline so the
|
|
@@ -1019,8 +1023,15 @@ export class SubagentWatcher {
|
|
|
1019
1023
|
// is in scope we fan out to a shared bucket (`buffer-health.jsonl`) which
|
|
1020
1024
|
// `drainAllBuffers()` covers via its `buffer-*.jsonl` glob; we use a
|
|
1021
1025
|
// sessionless name when the watcher is unfiltered.
|
|
1026
|
+
// A health event is not retried, so a failure is recorded on its own
|
|
1027
|
+
// rather than through the read-retry warning.
|
|
1022
1028
|
const sessionId = this.parentSessionFilter ?? 'health';
|
|
1023
|
-
|
|
1029
|
+
try {
|
|
1030
|
+
this.appendToParentBuffer(sessionId, event);
|
|
1031
|
+
}
|
|
1032
|
+
catch (err) {
|
|
1033
|
+
this.recordError(err);
|
|
1034
|
+
}
|
|
1024
1035
|
}
|
|
1025
1036
|
// -------------------------------------------------------------------------
|
|
1026
1037
|
// Schema-drift sentinels
|
|
@@ -1141,12 +1152,15 @@ export class SubagentWatcher {
|
|
|
1141
1152
|
costSelfCheckDeltaPct: deltaPct,
|
|
1142
1153
|
});
|
|
1143
1154
|
}
|
|
1144
|
-
recordError(err) {
|
|
1155
|
+
recordError(err, throttle, throttleKey) {
|
|
1145
1156
|
const message = err instanceof Error ? err.message : String(err);
|
|
1146
1157
|
const code = err.code ?? 'UNKNOWN';
|
|
1147
1158
|
const cls = err instanceof Error ? err.constructor.name : 'Error';
|
|
1148
1159
|
this.lastError = { code: String(code).slice(0, 80), class: String(cls).slice(0, 80) };
|
|
1149
|
-
|
|
1160
|
+
if (throttle)
|
|
1161
|
+
throttle.warn(err, throttleKey);
|
|
1162
|
+
else
|
|
1163
|
+
logger.warn('SubagentWatcher error', { code, message: message.slice(0, 200) });
|
|
1150
1164
|
}
|
|
1151
1165
|
}
|
|
1152
1166
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-watcher.js","sourceRoot":"","sources":["../../src/hooks/subagent-watcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent-watcher.js","sourceRoot":"","sources":["../../src/hooks/subagent-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,15 @@ import type { Logger } from '../shared/index.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* A warning for a failure the caller retries every poll: logged on the first
|
|
4
4
|
* failure, then at most once a minute with the number suppressed since. A
|
|
5
|
-
* success resets it, so the next failure is logged at once.
|
|
5
|
+
* success resets it, so the next failure is logged at once. Pass a key, such
|
|
6
|
+
* as a file path, so one healthy source cannot reset another's throttle.
|
|
6
7
|
*/
|
|
7
8
|
export declare class ThrottledWarning {
|
|
8
9
|
private readonly logger;
|
|
9
10
|
private readonly message;
|
|
10
|
-
private
|
|
11
|
-
private suppressed;
|
|
11
|
+
private readonly states;
|
|
12
12
|
constructor(logger: Logger, message: string);
|
|
13
|
-
warn(err: unknown): void;
|
|
14
|
-
succeeded(): void;
|
|
13
|
+
warn(err: unknown, key?: string): void;
|
|
14
|
+
succeeded(key?: string): void;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=throttled-warning.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttled-warning.d.ts","sourceRoot":"","sources":["../../src/hooks/throttled-warning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"throttled-warning.d.ts","sourceRoot":"","sources":["../../src/hooks/throttled-warning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AASjD;;;;;GAKG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAGnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM;IAGlC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,IAAI;IAelC,SAAS,CAAC,GAAG,SAAK,GAAG,IAAI;CAG1B"}
|
|
@@ -2,31 +2,33 @@ const WARN_INTERVAL_MS = 60_000;
|
|
|
2
2
|
/**
|
|
3
3
|
* A warning for a failure the caller retries every poll: logged on the first
|
|
4
4
|
* failure, then at most once a minute with the number suppressed since. A
|
|
5
|
-
* success resets it, so the next failure is logged at once.
|
|
5
|
+
* success resets it, so the next failure is logged at once. Pass a key, such
|
|
6
|
+
* as a file path, so one healthy source cannot reset another's throttle.
|
|
6
7
|
*/
|
|
7
8
|
export class ThrottledWarning {
|
|
8
9
|
logger;
|
|
9
10
|
message;
|
|
10
|
-
|
|
11
|
-
suppressed = 0;
|
|
11
|
+
states = new Map();
|
|
12
12
|
constructor(logger, message) {
|
|
13
13
|
this.logger = logger;
|
|
14
14
|
this.message = message;
|
|
15
15
|
}
|
|
16
|
-
warn(err) {
|
|
16
|
+
warn(err, key = '') {
|
|
17
17
|
const nowMs = Date.now();
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const state = this.states.get(key);
|
|
19
|
+
if (state !== undefined && nowMs - state.lastLoggedMs < WARN_INTERVAL_MS) {
|
|
20
|
+
state.suppressed += 1;
|
|
20
21
|
return;
|
|
21
22
|
}
|
|
22
23
|
const error = err instanceof Error ? err.message : String(err);
|
|
23
|
-
this.logger.warn(this.message, {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
this.logger.warn(this.message, {
|
|
25
|
+
error: error.slice(0, 200),
|
|
26
|
+
suppressed: state?.suppressed ?? 0,
|
|
27
|
+
});
|
|
28
|
+
this.states.set(key, { lastLoggedMs: nowMs, suppressed: 0 });
|
|
26
29
|
}
|
|
27
|
-
succeeded() {
|
|
28
|
-
this.
|
|
29
|
-
this.suppressed = 0;
|
|
30
|
+
succeeded(key = '') {
|
|
31
|
+
this.states.delete(key);
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
//# sourceMappingURL=throttled-warning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttled-warning.js","sourceRoot":"","sources":["../../src/hooks/throttled-warning.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"throttled-warning.js","sourceRoot":"","sources":["../../src/hooks/throttled-warning.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAOhC;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IAIR;IACA;IAJF,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEtD,YACmB,MAAc,EACd,OAAe;QADf,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;IAC/B,CAAC;IAEJ,IAAI,CAAC,GAAY,EAAE,GAAG,GAAG,EAAE;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,GAAG,gBAAgB,EAAE,CAAC;YACzE,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1B,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,GAAG,GAAG,EAAE;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF"}
|
package/dist/index.js
CHANGED
|
@@ -926,8 +926,8 @@ async function main() {
|
|
|
926
926
|
sessionTraceId = `local-${Date.now()}`;
|
|
927
927
|
}
|
|
928
928
|
// Per-session buffer scoping: in --stdio mode the LocalStore is bound to
|
|
929
|
-
// this MCP's resolved session_id so drainBuffer() only
|
|
930
|
-
//
|
|
929
|
+
// this MCP's resolved session_id so drainBuffer() reads only this session's
|
|
930
|
+
// buffer, plus this process's own leftover drain claims of other buffers. In --local mode (or the provisional window before session ID
|
|
931
931
|
// resolution) we use an unscoped store that drains all session buffers.
|
|
932
932
|
const isProvisional = options.stdio && sessionTraceId.startsWith('pending-');
|
|
933
933
|
const localStore = options.stdio && !isProvisional
|
|
@@ -2510,6 +2510,7 @@ async function main() {
|
|
|
2510
2510
|
storagePath: config.storagePath,
|
|
2511
2511
|
parentSessionId: isStdioWatcher ? watcherSessionId : undefined,
|
|
2512
2512
|
localStore,
|
|
2513
|
+
ledger: billedTurnLedger,
|
|
2513
2514
|
});
|
|
2514
2515
|
activeCopilotUsageWatcher.start();
|
|
2515
2516
|
logger.info('CopilotUsageWatcher started', {
|
|
@@ -2540,6 +2541,7 @@ async function main() {
|
|
|
2540
2541
|
// Only meaningful when unfiltered (--local) — lets discoverFiles()
|
|
2541
2542
|
// skip sessions that already have a live --stdio owner tailing them.
|
|
2542
2543
|
localStore,
|
|
2544
|
+
ledger: billedTurnLedger,
|
|
2543
2545
|
onTurnRead: (turn) => subagentAttribution.recordSubagentTurn(turn),
|
|
2544
2546
|
};
|
|
2545
2547
|
activeSubagentWatcher = new SubagentWatcher(isStdioWatcher
|