@ai-dossier/cli 0.83.2 → 0.84.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.
@@ -1 +1 @@
1
- {"version":3,"file":"batch-prep.d.ts","sourceRoot":"","sources":["../../src/usage/batch-prep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAqC,KAAK,WAAW,EAAY,MAAM,UAAU,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,oGAAoG;AACpG,eAAO,MAAM,oBAAoB,QAAqB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAGpF;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EACjC,GAAG,GAAE,IAAiB,GACrB,IAAI,CAKN;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CAYjE;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,UAAU,EAAE,CAmB7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAYvF;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAMlE;AAED,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,EAC5B,KAAK,GAAE,WAAkC,GACxC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAyB9B"}
1
+ {"version":3,"file":"batch-prep.d.ts","sourceRoot":"","sources":["../../src/usage/batch-prep.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,20 @@
11
11
  * that session's spend — subagents included — to `batch:<id>`.
12
12
  *
13
13
  * An operator session outlives any one batch, so a record does not claim the
14
- * whole session: it claims the window since the previous record of the same
15
- * session (capped at {@link MAX_PREP_LOOKBACK_MS}) up to its own enqueue time.
16
- * That is an upper bound — unrelated operator work inside the window counts
17
- * too — and the figure is disclosed separately for that reason.
14
+ * whole session — it claims a window ending at its own enqueue time (#899):
15
+ *
16
+ * - `marker`: the window starts at the session's first `ai-dossier run
17
+ * …/batch-issues-preparation` (runs.jsonl records every run with its
18
+ * session id) after the previous enqueue — a deterministic prep start, so
19
+ * hours of unrelated work before the prep began are excluded;
20
+ * - `prev-enqueue`: no marker; the window starts at the session's previous
21
+ * enqueue (an upper bound — unrelated work in between counts);
22
+ * - `lookback-cap`: neither; the window reaches back
23
+ * {@link MAX_PREP_LOOKBACK_MS} (the loosest upper bound).
24
+ *
25
+ * One enqueue that creates several batches yields identical windows. Their
26
+ * rows are split across the batches in proportion to member count, so the
27
+ * per-batch figures always sum to the window's tokens — never double-count.
18
28
  */
19
29
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
30
  if (k2 === undefined) k2 = k;
@@ -50,30 +60,38 @@ var __importStar = (this && this.__importStar) || (function () {
50
60
  };
51
61
  })();
52
62
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.MAX_PREP_LOOKBACK_MS = exports.BATCH_PREP_FILE = void 0;
63
+ exports.PREP_DOSSIER = exports.MAX_PREP_LOOKBACK_MS = exports.BATCH_PREP_FILE = void 0;
54
64
  exports.currentSessionId = currentSessionId;
55
65
  exports.recordBatchPrep = recordBatchPrep;
56
66
  exports.readBatchPrep = readBatchPrep;
67
+ exports.readPrepMarkers = readPrepMarkers;
57
68
  exports.prepWindows = prepWindows;
58
69
  exports.applyPrepWindows = applyPrepWindows;
59
70
  exports.readAllPrepWindows = readAllPrepWindows;
71
+ exports.prepScanRange = prepScanRange;
60
72
  exports.batchPrepTokens = batchPrepTokens;
61
73
  const path = __importStar(require("node:path"));
62
74
  const sched_1 = require("@ai-dossier/sched");
63
75
  const ledger_1 = require("./ledger");
76
+ const store_1 = require("./store");
64
77
  const util_1 = require("./util");
65
78
  exports.BATCH_PREP_FILE = 'batch-prep.jsonl';
66
79
  /** A window never reaches further back than this, however long the session idled before enqueue. */
67
80
  exports.MAX_PREP_LOOKBACK_MS = 6 * 60 * 60 * 1000;
81
+ /** The dossier whose first run in a session marks the start of batch prep (#899). */
82
+ exports.PREP_DOSSIER = 'batch-issues-preparation';
68
83
  /** The calling Claude Code session, or null outside one. */
69
84
  function currentSessionId(env = process.env) {
70
85
  const id = env.CLAUDE_CODE_SESSION_ID;
71
86
  return typeof id === 'string' && /^[A-Za-z0-9._-]{8,128}$/.test(id) ? id : null;
72
87
  }
73
88
  /** Append one record per batch. Never throws (telemetry must not fail an enqueue). */
74
- function recordBatchPrep(schedDir, batches, sessionId, source, now = new Date()) {
89
+ function recordBatchPrep(schedDir, batches, sessionId, source, now = new Date(), members) {
75
90
  for (const batch of [...new Set(batches)]) {
76
91
  const record = { ts: now.toISOString(), batch, session_id: sessionId, source };
92
+ const count = members?.get(batch);
93
+ if (count !== undefined && count > 0)
94
+ record.members = count;
77
95
  (0, sched_1.appendJsonl)(path.join(schedDir, exports.BATCH_PREP_FILE), record);
78
96
  }
79
97
  }
@@ -88,8 +106,36 @@ function readBatchPrep(schedDir) {
88
106
  return [];
89
107
  }
90
108
  }
109
+ /**
110
+ * Prep starts recorded in `runs.jsonl`: every `ai-dossier run` of
111
+ * {@link PREP_DOSSIER} that carries a session id. The log stamps completion, so
112
+ * the start is `timestamp - duration_ms`. Never throws.
113
+ */
114
+ function readPrepMarkers(runsLog) {
115
+ const out = [];
116
+ (0, util_1.forEachLine)(runsLog, (line) => {
117
+ if (!line.includes(exports.PREP_DOSSIER) || !line.includes('"session_id"'))
118
+ return;
119
+ try {
120
+ const e = JSON.parse(line);
121
+ if (!e.session_id || !e.dossier || !e.timestamp)
122
+ return;
123
+ if (e.dossier !== exports.PREP_DOSSIER && !e.dossier.endsWith(`/${exports.PREP_DOSSIER}`))
124
+ return;
125
+ const endMs = Date.parse(e.timestamp);
126
+ if (Number.isNaN(endMs))
127
+ return;
128
+ const startMs = endMs - (typeof e.duration_ms === 'number' ? Math.max(0, e.duration_ms) : 0);
129
+ out.push({ session_id: e.session_id, startMs });
130
+ }
131
+ catch {
132
+ // torn / foreign line
133
+ }
134
+ });
135
+ return out;
136
+ }
91
137
  /** Records → the time window each one claims (see the module comment). */
92
- function prepWindows(records) {
138
+ function prepWindows(records, markers = []) {
93
139
  const sorted = [...records].sort((a, b) => Date.parse(a.ts) - Date.parse(b.ts) || a.batch.localeCompare(b.batch));
94
140
  return sorted.map((r) => {
95
141
  const toMs = Date.parse(r.ts);
@@ -100,43 +146,113 @@ function prepWindows(records) {
100
146
  if (other.session_id === r.session_id && otherMs < toMs)
101
147
  prevMs = Math.max(prevMs, otherMs);
102
148
  }
149
+ // Earliest prep run after the previous enqueue (and not after this one). A marker older than
150
+ // the lookback cap is treated as no marker: a prep run days ago in the same long-lived
151
+ // session is not evidence this batch's prep started then.
152
+ const capMs = toMs - exports.MAX_PREP_LOOKBACK_MS;
153
+ let markerMs = Number.POSITIVE_INFINITY;
154
+ for (const m of markers) {
155
+ if (m.session_id === r.session_id &&
156
+ m.startMs > prevMs &&
157
+ m.startMs >= capMs &&
158
+ m.startMs <= toMs) {
159
+ markerMs = Math.min(markerMs, m.startMs);
160
+ }
161
+ }
162
+ let fromMs;
163
+ let basis;
164
+ if (Number.isFinite(markerMs)) {
165
+ fromMs = markerMs - 1; // rows are matched `ts > fromMs`; include the marker instant
166
+ basis = 'marker';
167
+ }
168
+ else if (prevMs > capMs) {
169
+ fromMs = prevMs;
170
+ basis = 'prev-enqueue';
171
+ }
172
+ else {
173
+ fromMs = capMs;
174
+ basis = 'lookback-cap';
175
+ }
103
176
  return {
104
177
  batch: r.batch,
105
178
  session_id: r.session_id,
106
- fromMs: Math.max(prevMs, toMs - exports.MAX_PREP_LOOKBACK_MS),
179
+ fromMs,
107
180
  toMs,
181
+ basis,
182
+ weight: r.members !== undefined && r.members > 0 ? r.members : 1,
108
183
  };
109
184
  });
110
185
  }
111
186
  /**
112
187
  * Stamp `batch:<id>` onto rows of a prep session (or its subagents) inside a
113
- * window. Rows already attributed to a dispatch keep that attribution; a row
114
- * two windows both claim (two batches from one enqueue call) goes to the first.
188
+ * window. Rows already attributed to a dispatch keep that attribution. Batches
189
+ * created by one enqueue share an identical window; its rows are dealt across
190
+ * them in proportion to their weights (member counts) by a hash of the row's stable
191
+ * key — each row goes whole to one batch, so per-batch sums equal the window total.
115
192
  */
116
193
  function applyPrepWindows(rows, windows) {
117
194
  if (windows.length === 0)
118
195
  return;
196
+ const groups = new Map();
197
+ for (const w of windows) {
198
+ const key = `${w.session_id}\u0000${w.fromMs}\u0000${w.toMs}`;
199
+ const list = groups.get(key);
200
+ if (list)
201
+ list.push(w);
202
+ else
203
+ groups.set(key, [w]);
204
+ }
205
+ const byWindow = [...groups.values()];
119
206
  for (const row of rows) {
120
207
  if (row.unit !== null)
121
208
  continue;
122
209
  const root = row.session_id.split('/')[0];
123
210
  const ts = Date.parse(row.ts);
124
- const hit = windows.find((w) => w.session_id === root && ts > w.fromMs && ts <= w.toMs);
211
+ const hit = byWindow.find((g) => g[0].session_id === root && ts > g[0].fromMs && ts <= g[0].toMs);
125
212
  if (!hit)
126
213
  continue;
127
- row.unit = `batch:${hit.batch}`;
128
- row.batch = hit.batch;
214
+ const winner = hit.length > 1 ? pickWeighted(hit, (0, store_1.rowKey)(row)) : hit[0];
215
+ if (hit.length > 1)
216
+ row.prep_split = hit.length;
217
+ row.unit = `batch:${winner.batch}`;
218
+ row.batch = winner.batch;
129
219
  row.role = 'prep';
220
+ row.prep_basis = winner.basis;
130
221
  }
131
222
  }
132
- /** Every project's records under `schedRoot`, as windows. */
133
- function readAllPrepWindows(schedRoot) {
223
+ /**
224
+ * Pick a window by weight from a hash of the row's stable key — the same row goes to
225
+ * the same batch in every view (`usage`, `sched stats`, a partial collection), and the
226
+ * shares converge on the weights. Batch order is fixed so the pick is reproducible.
227
+ */
228
+ function pickWeighted(windows, key) {
229
+ const ordered = [...windows].sort((a, b) => a.batch.localeCompare(b.batch));
230
+ const total = ordered.reduce((n, w) => n + w.weight, 0);
231
+ const point = (Number.parseInt(key.slice(0, 8), 16) / 0x1_0000_0000) * total;
232
+ let acc = 0;
233
+ for (const w of ordered) {
234
+ acc += w.weight;
235
+ if (point < acc)
236
+ return w;
237
+ }
238
+ return ordered[ordered.length - 1];
239
+ }
240
+ /** Every project's records under `schedRoot`, as windows (markers read from `runsLog`). */
241
+ function readAllPrepWindows(schedRoot, runsLog) {
134
242
  const records = [];
135
243
  for (const project of (0, util_1.safeReaddir)(schedRoot)) {
136
244
  if (project.isDirectory())
137
245
  records.push(...readBatchPrep(path.join(schedRoot, project.name)));
138
246
  }
139
- return prepWindows(records);
247
+ return prepWindows(records, readPrepMarkers(runsLog));
248
+ }
249
+ /** Time range a scan needs for the wanted batches (their windows; siblings share theirs). */
250
+ function prepScanRange(windows, wanted) {
251
+ const w = windows.filter((x) => !wanted || wanted.has(x.batch));
252
+ return {
253
+ sinceMs: Math.min(...w.map((x) => x.fromMs)),
254
+ untilMs: Math.max(...w.map((x) => x.toMs)) + 1,
255
+ };
140
256
  }
141
257
  /**
142
258
  * Prep tokens per batch id recorded in `schedDir`. A batch with no record on
@@ -145,21 +261,39 @@ function readAllPrepWindows(schedRoot) {
145
261
  */
146
262
  function batchPrepTokens(schedDir, batchIds, paths = (0, ledger_1.defaultLedgerPaths)()) {
147
263
  const wanted = batchIds ? new Set(batchIds) : null;
148
- const records = readBatchPrep(schedDir).filter((r) => !wanted || wanted.has(r.batch));
264
+ // Windows come from ALL records: a batch's window is shared with its siblings
265
+ // from the same enqueue, so filtering first would hand it their share.
266
+ const records = readBatchPrep(schedDir);
149
267
  const out = new Map();
150
- if (records.length === 0)
268
+ if (!records.some((r) => !wanted || wanted.has(r.batch)))
151
269
  return out;
152
- const windows = prepWindows(records);
270
+ const windows = prepWindows(records, readPrepMarkers(paths.runsLog));
153
271
  const sessions = new Map();
272
+ const bases = new Map();
154
273
  for (const w of windows) {
155
- out.set(w.batch, out.get(w.batch) ?? { billable_tokens: 0, sessions: 0, messages: 0 });
274
+ if (wanted && !wanted.has(w.batch))
275
+ continue;
276
+ out.set(w.batch, out.get(w.batch) ?? {
277
+ billable_tokens: 0,
278
+ sessions: 0,
279
+ messages: 0,
280
+ basis: w.basis,
281
+ split: false,
282
+ });
156
283
  sessions.set(w.batch, (sessions.get(w.batch) ?? new Set()).add(w.session_id));
284
+ bases.set(w.batch, (bases.get(w.batch) ?? new Set()).add(w.basis));
157
285
  }
158
286
  for (const [batch, set] of sessions)
159
287
  out.get(batch).sessions = set.size;
288
+ for (const [batch, set] of bases) {
289
+ out.get(batch).basis = set.size === 1 ? [...set][0] : 'mixed';
290
+ }
291
+ // Only the wanted batches' windows (siblings share theirs) bound the scan — not every
292
+ // prep record ever written, which would read the whole transcript history.
293
+ const range = prepScanRange(windows, wanted);
160
294
  const { rows } = (0, ledger_1.collectLedger)({
161
- sinceMs: Math.min(...windows.map((w) => w.fromMs)),
162
- untilMs: Math.max(...windows.map((w) => w.toMs)) + 1,
295
+ sinceMs: range.sinceMs,
296
+ untilMs: range.untilMs,
163
297
  paths,
164
298
  });
165
299
  for (const row of rows) {
@@ -170,6 +304,8 @@ function batchPrepTokens(schedDir, batchIds, paths = (0, ledger_1.defaultLedgerP
170
304
  continue;
171
305
  entry.billable_tokens += (0, ledger_1.rowTotal)(row);
172
306
  entry.messages += 1;
307
+ if (row.prep_split)
308
+ entry.split = true;
173
309
  }
174
310
  return out;
175
311
  }
@@ -1 +1 @@
1
- {"version":3,"file":"batch-prep.js","sourceRoot":"","sources":["../../src/usage/batch-prep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-prep.js","sourceRoot":"","sources":["../../src/usage/batch-prep.ts"],"names":[],"mappings":"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"}
@@ -115,7 +115,7 @@ function collectLedger(opts) {
115
115
  }
116
116
  const index = (0, collect_dispatch_1.indexDispatchLogs)(opts.paths.schedRoot, opts.sinceMs);
117
117
  (0, collect_dispatch_1.applyDispatchIndex)(rows, index);
118
- (0, batch_prep_1.applyPrepWindows)(rows, (0, batch_prep_1.readAllPrepWindows)(opts.paths.schedRoot));
118
+ (0, batch_prep_1.applyPrepWindows)(rows, (0, batch_prep_1.readAllPrepWindows)(opts.paths.schedRoot, opts.paths.runsLog));
119
119
  collectors.push({ source: 'sched-dispatch-logs', status: 'ok', rows: index.size });
120
120
  limits.push(...(0, collect_dispatch_1.collectSchedLimitEvents)(opts.paths.schedRoot, opts.sinceMs, opts.untilMs, host));
121
121
  limits.sort((a, b) => a.ts.localeCompare(b.ts));
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/usage/ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/usage/ledger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Persisted, mergeable usage ledger (#782).
3
+ *
4
+ * `ai-dossier usage` (#769) derives rows on demand from stores that rotate
5
+ * (Claude Code transcripts are purged) and that live on one host. The store
6
+ * persists them under `~/.dossier/usage/hosts/<host>.jsonl` — ONE FILE PER HOST,
7
+ * so merging hosts can never conflict: a host's file is only rewritten from that
8
+ * host's own collection, or from an import of that same host's bundle.
9
+ *
10
+ * Records are keyed by a stable content key ({@link rowKey}); re-collecting or
11
+ * re-importing the same rows replaces them in place, so every operation is
12
+ * idempotent. The wire format between hosts ("bundle") is the same JSONL.
13
+ */
14
+ import type { LimitEvent, UsageRow } from './types';
15
+ export declare const BUNDLE_VERSION = 1;
16
+ /** Root of the persisted ledger. */
17
+ export declare function usageStoreDir(env?: NodeJS.ProcessEnv): string;
18
+ /** This host's id in rows — `DOSSIER_USAGE_HOST` overrides `os.hostname()` (e.g. to force `wls`). */
19
+ export declare function localHostId(env?: NodeJS.ProcessEnv): string;
20
+ export declare function isValidHostId(host: string): boolean;
21
+ export declare function hostFile(dir: string, host: string): string;
22
+ /**
23
+ * Stable identity of a row: the message it was read from, not the attribution
24
+ * later joined onto it (issue/batch/unit may be refined by a re-collection).
25
+ */
26
+ export declare function rowKey(r: UsageRow): string;
27
+ export declare function limitKey(l: LimitEvent): string;
28
+ /** One host's persisted records, keyed for upsert. */
29
+ export interface HostData {
30
+ rows: Map<string, UsageRow>;
31
+ limits: Map<string, LimitEvent>;
32
+ /**
33
+ * key → when the owning host last wrote that record (ISO). A merge keeps the
34
+ * newer copy, so a stale relay of a host's rows can never overwrite the host's
35
+ * own fresher attribution. Legacy lines without one read as the oldest.
36
+ */
37
+ at: Map<string, string>;
38
+ }
39
+ export declare function emptyHostData(): HostData;
40
+ /** Parse JSONL text/lines into per-host data. Foreign or malformed lines are counted, never thrown. */
41
+ export declare class Parser {
42
+ readonly byHost: Map<string, HostData>;
43
+ skipped: number;
44
+ header: {
45
+ version: number;
46
+ host: string;
47
+ } | null;
48
+ add(line: string): void;
49
+ private data;
50
+ }
51
+ /** Read one host's file. A missing file is an empty ledger. */
52
+ export declare function readHostFile(file: string): HostData;
53
+ /** Hosts that have a persisted file. */
54
+ export declare function listHosts(dir: string): string[];
55
+ /** Atomic rewrite (tmp + fsync + rename) so a concurrent reader never sees a torn file. */
56
+ export declare function writeHostFile(file: string, data: HostData): void;
57
+ /**
58
+ * Serialize read-merge-write cycles on one host file across processes (a cron
59
+ * `usage sync` racing an interactive one, or a sync racing an `import`): the
60
+ * rename keeps readers safe, the lock keeps two writers from losing each other's rows.
61
+ */
62
+ export declare function withHostLock<T>(file: string, fn: () => T): T;
63
+ export interface MergeStats {
64
+ added: number;
65
+ updated: number;
66
+ unchanged: number;
67
+ }
68
+ /** Upsert `incoming` into `target`: the copy with the newer `at` wins; equal content is unchanged. */
69
+ export declare function mergeHostData(target: HostData, incoming: HostData): MergeStats;
70
+ /** Persist a fresh collection of THIS host's rows/limits into its file (idempotent). */
71
+ export declare function persistLocal(dir: string, host: string, rows: readonly UsageRow[], limits: readonly LimitEvent[]): MergeStats & {
72
+ total: number;
73
+ };
74
+ /** Newest persisted row time for a host, or null — the incremental-sync cursor. */
75
+ export declare function newestTs(dir: string, host: string): number | null;
76
+ /**
77
+ * Bundle text: a header line then every record of the chosen hosts with
78
+ * `ts >= sinceMs`. `hosts` null = every persisted host.
79
+ */
80
+ export declare function buildBundle(dir: string, from: string, hosts: readonly string[] | null, sinceMs: number): {
81
+ text: string;
82
+ rows: number;
83
+ };
84
+ export interface ImportResult extends MergeStats {
85
+ hosts: string[];
86
+ /** The exporting host's own id (bundle header) — may differ from the ssh alias used to reach it. */
87
+ from: string | null;
88
+ skipped: number;
89
+ /** Records claiming this host — ignored: a host's own files come only from its own collection. */
90
+ ignored_local: number;
91
+ }
92
+ /**
93
+ * Merge a bundle into the store, one file per source host. Records for
94
+ * `localHost` are ignored (the local collection is authoritative, and it stops a
95
+ * pushed bundle echoing our own rows back). Idempotent.
96
+ */
97
+ export declare function importBundle(dir: string, text: string, localHost: string): ImportResult;
98
+ /**
99
+ * Rows/limits for a report: the fresh local collection unioned with everything
100
+ * persisted (fresh wins per key), restricted to `hosts` (null = all).
101
+ */
102
+ export declare function mergedView(dir: string, localHost: string, fresh: {
103
+ rows: readonly UsageRow[];
104
+ limits: readonly LimitEvent[];
105
+ }, hosts: readonly string[] | null, sinceMs: number, untilMs: number): {
106
+ rows: UsageRow[];
107
+ limits: LimitEvent[];
108
+ hosts: string[];
109
+ };
110
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/usage/store.ts"],"names":[],"mappings":"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"}