log10x-mcp 1.12.16 → 1.12.18

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.
@@ -94,6 +94,8 @@ export interface ExistingResultsResponse {
94
94
  truncated: boolean;
95
95
  /** Number of `.jsonl` worker files read. */
96
96
  jsonlObjectCount: number;
97
+ /** Worker files that failed to download after retries (events incomplete). */
98
+ failedWorkerFiles?: number;
97
99
  /** True when the `_DONE.json` marker exists. False when the query is mid-flight. */
98
100
  done: boolean;
99
101
  /** Resolved target prefix the result paths used. */
@@ -213,6 +215,12 @@ export interface RetrieverQueryResponse {
213
215
  eventsMatched: number;
214
216
  workerFiles: number;
215
217
  truncated: boolean;
218
+ /**
219
+ * Worker JSONL files that failed to download after retries. > 0 means
220
+ * the event set (and event-derived rollups) are INCOMPLETE — surface a
221
+ * partial caveat; the full set is still intact in S3.
222
+ */
223
+ failedWorkerFiles?: number;
216
224
  /** Per-slice summary record count when summaries were requested. */
217
225
  summariesMatched?: number;
218
226
  /** Distinct slice subdirs observed. */
@@ -326,6 +334,34 @@ export declare function clearRetrieverResolutionCacheForTest(): void;
326
334
  export declare function normalizeTimeExpression(expr: string): string;
327
335
  /** Expose for validation at the tool layer. */
328
336
  export declare function parseTimeExpression(expr: string): string;
337
+ /**
338
+ * Run `fn` over `items` with at most `concurrency` calls in flight, preserving
339
+ * input order in the returned array. The first rejection propagates and an
340
+ * abort flag stops idle workers from pulling new items — so one failed S3 read
341
+ * aborts the whole fetch (matching the old serial loop's throw-on-error
342
+ * semantics) instead of silently returning a partial result set.
343
+ *
344
+ * Why bounded (not Promise.all over everything): the Retriever fans out to
345
+ * dozens of stream workers, each writing its own JSONL. An unbounded fan-in
346
+ * would spawn an `aws s3 cp` subprocess per file simultaneously (each buffering
347
+ * up to 64 MB) and can trip S3 503 SlowDown on a hot prefix. A small pool
348
+ * captures the bandwidth win without the blowup.
349
+ */
350
+ export declare function mapWithConcurrency<T, R>(items: readonly T[], concurrency: number, fn: (item: T, index: number) => Promise<R>): Promise<R[]>;
351
+ /**
352
+ * Like mapWithConcurrency but per-item failures do NOT abort the run:
353
+ * failed slots return undefined and are reported in `failures`. Used by the
354
+ * result-download paths so one persistently-failing worker file (e.g. S3
355
+ * 503 SlowDown that outlives retries) degrades the fetch to partial instead
356
+ * of losing the whole query.
357
+ */
358
+ export declare function mapWithConcurrencySettled<T, R>(items: readonly T[], concurrency: number, fn: (item: T, index: number) => Promise<R>): Promise<{
359
+ results: Array<R | undefined>;
360
+ failures: Array<{
361
+ index: number;
362
+ error: Error;
363
+ }>;
364
+ }>;
329
365
  /**
330
366
  * Normalize a retriever event's timestamp to epoch-ms.
331
367
  *
@@ -115,11 +115,17 @@ export async function fetchExistingResults(queryId, options) {
115
115
  jsonlKeys.push(obj.Key);
116
116
  }
117
117
  }
118
+ // Download the per-worker JSONL results concurrently (bounded pool) with
119
+ // per-file retry; a file that still fails after retries degrades the fetch
120
+ // to partial (failedWorkerFiles > 0) instead of losing the whole query.
121
+ // Order-preserving + flattened, so the downstream sort + cap matches the
122
+ // old serial loop.
118
123
  const events = [];
119
- for (const key of jsonlKeys) {
120
- const content = await s3Get(bucket, key);
121
- events.push(...parseJsonl(content));
122
- }
124
+ const eventDl = await mapWithConcurrencySettled(jsonlKeys, RETRIEVER_DOWNLOAD_CONCURRENCY, async (key) => parseJsonl(await s3GetWithRetry(bucket, key)));
125
+ const failedWorkerFiles = eventDl.failures.length;
126
+ for (const chunk of eventDl.results)
127
+ if (chunk)
128
+ events.push(...chunk);
123
129
  events.sort((a, b) => eventTimestampMs(a) - eventTimestampMs(b));
124
130
  // Backfill legacy fields the same way runRetrieverQuery does so callers
125
131
  // see a consistent event shape regardless of which path produced them.
@@ -135,7 +141,7 @@ export async function fetchExistingResults(queryId, options) {
135
141
  ev.severity = ev.severity_level;
136
142
  }
137
143
  }
138
- return { events, truncated, jsonlObjectCount: jsonlKeys.length, done, target };
144
+ return { events, truncated, jsonlObjectCount: jsonlKeys.length, done, target, ...(failedWorkerFiles > 0 ? { failedWorkerFiles } : {}) };
139
145
  }
140
146
  /**
141
147
  * Build a Bloom-filter `search` expression from a Reporter-named pattern
@@ -588,6 +594,11 @@ async function submitViaSqs(body, timeoutMs) {
588
594
  clearTimeout(timer);
589
595
  }
590
596
  }
597
+ // NOTE on pagination: `aws s3api list-objects-v2` AUTO-PAGINATES by default —
598
+ // the CLI follows NextContinuationToken internally and merges all pages into
599
+ // one Contents array (verified live: 54,597 keys returned on a single call vs
600
+ // 1,000 with --no-paginate). Do NOT add manual token loops here. The real
601
+ // ceiling is maxBuffer: ~150 bytes/key JSON means 32 MB covers ~200k keys.
591
602
  async function s3List(bucket, prefix) {
592
603
  try {
593
604
  const { stdout } = await execFileP('aws', [
@@ -625,6 +636,92 @@ async function s3Get(bucket, key) {
625
636
  ], { maxBuffer: 64 * 1024 * 1024 });
626
637
  return stdout;
627
638
  }
639
+ /**
640
+ * Run `fn` over `items` with at most `concurrency` calls in flight, preserving
641
+ * input order in the returned array. The first rejection propagates and an
642
+ * abort flag stops idle workers from pulling new items — so one failed S3 read
643
+ * aborts the whole fetch (matching the old serial loop's throw-on-error
644
+ * semantics) instead of silently returning a partial result set.
645
+ *
646
+ * Why bounded (not Promise.all over everything): the Retriever fans out to
647
+ * dozens of stream workers, each writing its own JSONL. An unbounded fan-in
648
+ * would spawn an `aws s3 cp` subprocess per file simultaneously (each buffering
649
+ * up to 64 MB) and can trip S3 503 SlowDown on a hot prefix. A small pool
650
+ * captures the bandwidth win without the blowup.
651
+ */
652
+ export async function mapWithConcurrency(items, concurrency, fn) {
653
+ const results = new Array(items.length);
654
+ let next = 0;
655
+ let aborted = false;
656
+ async function worker() {
657
+ while (!aborted) {
658
+ const i = next++;
659
+ if (i >= items.length)
660
+ return;
661
+ try {
662
+ results[i] = await fn(items[i], i);
663
+ }
664
+ catch (e) {
665
+ aborted = true;
666
+ throw e;
667
+ }
668
+ }
669
+ }
670
+ const pool = Math.max(1, Math.min(concurrency, items.length));
671
+ await Promise.all(Array.from({ length: pool }, () => worker()));
672
+ return results;
673
+ }
674
+ /**
675
+ * Like mapWithConcurrency but per-item failures do NOT abort the run:
676
+ * failed slots return undefined and are reported in `failures`. Used by the
677
+ * result-download paths so one persistently-failing worker file (e.g. S3
678
+ * 503 SlowDown that outlives retries) degrades the fetch to partial instead
679
+ * of losing the whole query.
680
+ */
681
+ export async function mapWithConcurrencySettled(items, concurrency, fn) {
682
+ // fill() makes failed slots EXPLICIT undefined (not array holes) so
683
+ // consumers can rely on results.length === items.length with in-band
684
+ // undefined markers.
685
+ const results = new Array(items.length).fill(undefined);
686
+ const failures = [];
687
+ let next = 0;
688
+ async function worker() {
689
+ while (true) {
690
+ const i = next++;
691
+ if (i >= items.length)
692
+ return;
693
+ try {
694
+ results[i] = await fn(items[i], i);
695
+ }
696
+ catch (e) {
697
+ failures.push({ index: i, error: e instanceof Error ? e : new Error(String(e)) });
698
+ }
699
+ }
700
+ }
701
+ const pool = Math.max(1, Math.min(concurrency, items.length));
702
+ await Promise.all(Array.from({ length: pool }, () => worker()));
703
+ return { results, failures };
704
+ }
705
+ /**
706
+ * s3Get with bounded retry. S3 503 SlowDown / transient network errors on a
707
+ * hot prefix are retryable; two backed-off retries clear the vast majority.
708
+ */
709
+ async function s3GetWithRetry(bucket, key, attempts = 3) {
710
+ let lastErr;
711
+ for (let i = 0; i < attempts; i++) {
712
+ try {
713
+ return await s3Get(bucket, key);
714
+ }
715
+ catch (e) {
716
+ lastErr = e;
717
+ if (i < attempts - 1)
718
+ await new Promise((r) => setTimeout(r, 500 * (i + 1) * (i + 1)));
719
+ }
720
+ }
721
+ throw lastErr;
722
+ }
723
+ /** Bounded concurrency for the per-worker S3 result downloads. */
724
+ const RETRIEVER_DOWNLOAD_CONCURRENCY = Number(process.env.LOG10X_RETRIEVER_DOWNLOAD_CONCURRENCY) || 8;
628
725
  function parseJsonl(content) {
629
726
  const events = [];
630
727
  for (const line of content.split(/\r?\n/)) {
@@ -845,12 +942,17 @@ options) {
845
942
  // defaults to true so existing tools keep getting raw events.
846
943
  const writeResults = req.writeResults ?? true;
847
944
  const writeSummaries = req.writeSummaries ?? false;
945
+ // `pattern` is deprecated on this request shape, but direct callers
946
+ // (investigate stage-1) still pass it without `search` — and the old body
947
+ // builder silently dropped it, scanning UNFILTERED. Translate it here so
948
+ // the API layer can never silently widen a scoped query.
949
+ const effectiveSearch = req.search || (req.pattern ? buildPatternSearch(req.pattern) : '');
848
950
  const body = {
849
951
  id: queryId,
850
952
  name: req.name || `mcp-${queryId.slice(0, 8)}`,
851
953
  from: normalizeTimeExpression(req.from),
852
954
  to: normalizeTimeExpression(req.to || 'now'),
853
- search: req.search || '',
955
+ search: effectiveSearch,
854
956
  filters: req.filters || [],
855
957
  ...(req.logLevels ? { logLevels: req.logLevels } : {}),
856
958
  writeResults,
@@ -948,11 +1050,17 @@ options) {
948
1050
  jsonlKeys.push(obj.Key);
949
1051
  }
950
1052
  }
1053
+ // Download the per-worker JSONL results concurrently (bounded pool) with
1054
+ // per-file retry; a file that still fails after retries degrades the fetch
1055
+ // to partial (failedWorkerFiles > 0) instead of losing the whole query.
1056
+ // Order-preserving + flattened, so the downstream sort + cap matches the
1057
+ // old serial loop.
951
1058
  const events = [];
952
- for (const key of jsonlKeys) {
953
- const content = await s3Get(bucket, key);
954
- events.push(...parseJsonl(content));
955
- }
1059
+ const eventDl = await mapWithConcurrencySettled(jsonlKeys, RETRIEVER_DOWNLOAD_CONCURRENCY, async (key) => parseJsonl(await s3GetWithRetry(bucket, key)));
1060
+ const failedWorkerFiles = eventDl.failures.length;
1061
+ for (const chunk of eventDl.results)
1062
+ if (chunk)
1063
+ events.push(...chunk);
956
1064
  events.sort((a, b) => eventTimestampMs(a) - eventTimestampMs(b));
957
1065
  // qrs/ summaries — pulled in parallel with events, parsed with slice
958
1066
  // bounds extracted from the S3 key path. Each writer outputs JSONL
@@ -966,14 +1074,16 @@ options) {
966
1074
  const summaryObjects = await s3List(bucket, summariesPrefix);
967
1075
  summaries = [];
968
1076
  const distinctSlices = new Set();
969
- for (const obj of summaryObjects) {
970
- if (!obj.Key.endsWith('.jsonl'))
971
- continue;
972
- const sliceSegment = parseSliceSegment(obj.Key, summariesPrefix);
973
- if (!sliceSegment)
974
- continue;
1077
+ // Download summary files concurrently too; order-preserving so the pushed
1078
+ // summary order matches the old serial loop.
1079
+ const summaryFiles = summaryObjects
1080
+ .filter((obj) => obj.Key.endsWith('.jsonl'))
1081
+ .map((obj) => ({ obj, seg: parseSliceSegment(obj.Key, summariesPrefix) }))
1082
+ .filter((x) => x.seg !== null);
1083
+ const summaryDl = await mapWithConcurrencySettled(summaryFiles, RETRIEVER_DOWNLOAD_CONCURRENCY, async ({ obj, seg }) => ({ seg, content: await s3GetWithRetry(bucket, obj.Key) }));
1084
+ const summaryContents = summaryDl.results.filter((x) => x !== undefined);
1085
+ for (const { seg: sliceSegment, content } of summaryContents) {
975
1086
  distinctSlices.add(`${sliceSegment.fromMs}_${sliceSegment.toMs}`);
976
- const content = await s3Get(bucket, obj.Key);
977
1087
  for (const line of content.split(/\r?\n/)) {
978
1088
  const trimmed = line.trim();
979
1089
  if (!trimmed)
@@ -1059,6 +1169,7 @@ options) {
1059
1169
  eventsMatched: events.length,
1060
1170
  workerFiles: jsonlKeys.length,
1061
1171
  truncated,
1172
+ ...(failedWorkerFiles > 0 ? { failedWorkerFiles } : {}),
1062
1173
  ...(summaries ? { summariesMatched: summaries.length, slicesObserved } : {}),
1063
1174
  },
1064
1175
  events: finalEvents,
@@ -1 +1 @@
1
- {"version":3,"file":"retriever-api.js","sourceRoot":"","sources":["../../src/lib/retriever-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retriever-api.js","sourceRoot":"","sources":["../../src/lib/retriever-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Summaries-sourced rollups for retriever query results.
3
+ *
4
+ * The engine writes per-slice pre-aggregated summaries under
5
+ * `qrs/{queryId}/{sliceFrom}_{sliceTo}/{worker}.jsonl` — each row carries
6
+ * `summaryVolume` (event count), `summaryBytes`, and the deployment's named
7
+ * enrichment fields (severity_level, tenx_user_service, ...). Summing those
8
+ * rows yields WHOLE-MATCH rollups at a cost independent of match size,
9
+ * unlike the event-derived rollups which only see the capped download
10
+ * (the >limit-match wart).
11
+ *
12
+ * Honesty rules enforced by the CALLER (retriever-query.ts):
13
+ * - Summaries are only used when the query had NO filters[] — whether the
14
+ * engine's summary writer applies filters before aggregating is
15
+ * unverified, so filtered queries keep event-derived rollups rather
16
+ * than risk overcounting.
17
+ * - Per-dimension coverage fallback: a deployment whose enrichmentFields
18
+ * omit severity/service produces summary rows WITHOUT those keys
19
+ * (absent, not empty). Such a dimension falls back to event-derived
20
+ * counts (raw events always carry the fields). `coverage` reports
21
+ * which dimensions the summaries can actually serve.
22
+ * - The envelope stamps `rollup_basis` so a receipt reader knows whether
23
+ * by_* reflects the whole match (qrs_summaries) or the capped download
24
+ * (events_capped), or a per-dimension mix.
25
+ */
26
+ import type { RetrieverSummary } from './retriever-api.js';
27
+ export interface SummaryRollups {
28
+ by_severity: Record<string, number>;
29
+ by_service: Record<string, number>;
30
+ by_day: Record<string, number>;
31
+ /** Sum of summaryVolume across all rows = whole-match event count. */
32
+ total_volume: number;
33
+ /** Sum of summaryBytes across all rows. */
34
+ total_bytes: number;
35
+ /**
36
+ * Which dimensions the summary rows can serve: true when at least one
37
+ * row carries the field. False = the deployment's enrichmentFields do
38
+ * not include it — fall back to event-derived counts for that dimension.
39
+ */
40
+ coverage: {
41
+ severity: boolean;
42
+ service: boolean;
43
+ };
44
+ }
45
+ export type RollupBasis = 'qrs_summaries' | 'events_capped' | 'mixed';
46
+ /**
47
+ * Multi-dimension reducer over summary rows: each dimension independently
48
+ * sums `summaryVolume`. (Distinct from retriever-series' single-group_by
49
+ * aggregation — this produces the three flat maps the query envelope needs.)
50
+ */
51
+ export declare function computeSummaryRollups(summaries: readonly RetrieverSummary[]): SummaryRollups;
52
+ export interface RollupSelection {
53
+ by_severity: Record<string, number>;
54
+ by_service: Record<string, number>;
55
+ by_day: Record<string, number>;
56
+ rollup_basis: RollupBasis;
57
+ }
58
+ /**
59
+ * Pick the rollup maps + provenance stamp. Pure so the gating (the part
60
+ * that decides whether the agent sees whole-match or capped counts) is
61
+ * unit-testable without the tool harness.
62
+ *
63
+ * Rules: summaries are never used under filters[] (the engine summary
64
+ * writer's filter behavior is unverified — overcount risk). A dimension
65
+ * the summaries cannot serve falls back to the event-derived map.
66
+ * 'qrs_summaries' is stamped ONLY when all three dimensions came from
67
+ * summaries; any blend stamps 'mixed'.
68
+ */
69
+ export declare function selectRollups(args: {
70
+ eventDerived: {
71
+ by_severity: Record<string, number>;
72
+ by_service: Record<string, number>;
73
+ by_day: Record<string, number>;
74
+ };
75
+ summaries: readonly RetrieverSummary[] | undefined;
76
+ filtersActive: boolean;
77
+ }): RollupSelection;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Summaries-sourced rollups for retriever query results.
3
+ *
4
+ * The engine writes per-slice pre-aggregated summaries under
5
+ * `qrs/{queryId}/{sliceFrom}_{sliceTo}/{worker}.jsonl` — each row carries
6
+ * `summaryVolume` (event count), `summaryBytes`, and the deployment's named
7
+ * enrichment fields (severity_level, tenx_user_service, ...). Summing those
8
+ * rows yields WHOLE-MATCH rollups at a cost independent of match size,
9
+ * unlike the event-derived rollups which only see the capped download
10
+ * (the >limit-match wart).
11
+ *
12
+ * Honesty rules enforced by the CALLER (retriever-query.ts):
13
+ * - Summaries are only used when the query had NO filters[] — whether the
14
+ * engine's summary writer applies filters before aggregating is
15
+ * unverified, so filtered queries keep event-derived rollups rather
16
+ * than risk overcounting.
17
+ * - Per-dimension coverage fallback: a deployment whose enrichmentFields
18
+ * omit severity/service produces summary rows WITHOUT those keys
19
+ * (absent, not empty). Such a dimension falls back to event-derived
20
+ * counts (raw events always carry the fields). `coverage` reports
21
+ * which dimensions the summaries can actually serve.
22
+ * - The envelope stamps `rollup_basis` so a receipt reader knows whether
23
+ * by_* reflects the whole match (qrs_summaries) or the capped download
24
+ * (events_capped), or a per-dimension mix.
25
+ */
26
+ /**
27
+ * Multi-dimension reducer over summary rows: each dimension independently
28
+ * sums `summaryVolume`. (Distinct from retriever-series' single-group_by
29
+ * aggregation — this produces the three flat maps the query envelope needs.)
30
+ */
31
+ export function computeSummaryRollups(summaries) {
32
+ const by_severity = {};
33
+ const by_service = {};
34
+ const by_day = {};
35
+ let total_volume = 0;
36
+ let total_bytes = 0;
37
+ let sawSeverity = false;
38
+ let sawService = false;
39
+ for (const row of summaries) {
40
+ const vol = Number.isFinite(row.summaryVolume) ? row.summaryVolume : 0;
41
+ if (vol <= 0)
42
+ continue;
43
+ total_volume += vol;
44
+ total_bytes += Number.isFinite(row.summaryBytes) ? row.summaryBytes : 0;
45
+ const rec = row;
46
+ const sev = rec['severity_level'];
47
+ if (typeof sev === 'string' && sev.length > 0) {
48
+ sawSeverity = true;
49
+ by_severity[sev] = (by_severity[sev] ?? 0) + vol;
50
+ }
51
+ else {
52
+ // Field-absent rows bucket as 'unknown' so the map sums to
53
+ // total_volume, matching the event-path convention.
54
+ by_severity['unknown'] = (by_severity['unknown'] ?? 0) + vol;
55
+ }
56
+ const svc = rec['tenx_user_service'];
57
+ if (typeof svc === 'string' && svc.length > 0) {
58
+ sawService = true;
59
+ by_service[svc] = (by_service[svc] ?? 0) + vol;
60
+ }
61
+ else {
62
+ by_service['unknown'] = (by_service['unknown'] ?? 0) + vol;
63
+ }
64
+ // Day attribution from the slice's lower bound. Slices are typically
65
+ // ~1 minute, so midnight-straddling error is negligible at day grain.
66
+ if (Number.isFinite(row.sliceFromMs) && row.sliceFromMs > 0) {
67
+ const day = new Date(row.sliceFromMs).toISOString().slice(0, 10);
68
+ by_day[day] = (by_day[day] ?? 0) + vol;
69
+ }
70
+ }
71
+ return {
72
+ by_severity,
73
+ by_service,
74
+ by_day,
75
+ total_volume,
76
+ total_bytes,
77
+ coverage: { severity: sawSeverity, service: sawService },
78
+ };
79
+ }
80
+ /**
81
+ * Pick the rollup maps + provenance stamp. Pure so the gating (the part
82
+ * that decides whether the agent sees whole-match or capped counts) is
83
+ * unit-testable without the tool harness.
84
+ *
85
+ * Rules: summaries are never used under filters[] (the engine summary
86
+ * writer's filter behavior is unverified — overcount risk). A dimension
87
+ * the summaries cannot serve falls back to the event-derived map.
88
+ * 'qrs_summaries' is stamped ONLY when all three dimensions came from
89
+ * summaries; any blend stamps 'mixed'.
90
+ */
91
+ export function selectRollups(args) {
92
+ const ev = args.eventDerived;
93
+ if (args.filtersActive || !args.summaries || args.summaries.length === 0) {
94
+ return { ...ev, rollup_basis: 'events_capped' };
95
+ }
96
+ const sr = computeSummaryRollups(args.summaries);
97
+ const useSev = sr.coverage.severity;
98
+ const useSvc = sr.coverage.service;
99
+ const useDay = Object.keys(sr.by_day).length > 0;
100
+ return {
101
+ by_severity: useSev ? sr.by_severity : ev.by_severity,
102
+ by_service: useSvc ? sr.by_service : ev.by_service,
103
+ by_day: useDay ? sr.by_day : ev.by_day,
104
+ rollup_basis: useSev && useSvc && useDay ? 'qrs_summaries' : 'mixed',
105
+ };
106
+ }
107
+ //# sourceMappingURL=retriever-rollups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retriever-rollups.js","sourceRoot":"","sources":["../../src/lib/retriever-rollups.ts"],"names":[],"mappings":"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"}