crbro-memory 2.6.0 → 2.7.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.
Files changed (60) hide show
  1. package/README.md +515 -487
  2. package/SECURITY.md +222 -0
  3. package/bin/crbro.mjs +241 -6
  4. package/dist/engine/backup.d.ts.map +1 -1
  5. package/dist/engine/backup.js +5 -1
  6. package/dist/engine/backup.js.map +1 -1
  7. package/dist/engine/cortex.d.ts +61 -0
  8. package/dist/engine/cortex.d.ts.map +1 -1
  9. package/dist/engine/cortex.js +270 -24
  10. package/dist/engine/cortex.js.map +1 -1
  11. package/dist/engine/hookverify.d.ts +42 -0
  12. package/dist/engine/hookverify.d.ts.map +1 -0
  13. package/dist/engine/hookverify.js +169 -0
  14. package/dist/engine/hookverify.js.map +1 -0
  15. package/dist/engine/maintenance.d.ts.map +1 -1
  16. package/dist/engine/maintenance.js +15 -2
  17. package/dist/engine/maintenance.js.map +1 -1
  18. package/dist/engine/postmortem.d.ts +73 -0
  19. package/dist/engine/postmortem.d.ts.map +1 -0
  20. package/dist/engine/postmortem.js +423 -0
  21. package/dist/engine/postmortem.js.map +1 -0
  22. package/dist/engine/prefrontal.d.ts +1 -0
  23. package/dist/engine/prefrontal.d.ts.map +1 -1
  24. package/dist/engine/prefrontal.js +8 -2
  25. package/dist/engine/prefrontal.js.map +1 -1
  26. package/dist/engine/secrets.d.ts +9 -0
  27. package/dist/engine/secrets.d.ts.map +1 -1
  28. package/dist/engine/secrets.js +7 -0
  29. package/dist/engine/secrets.js.map +1 -1
  30. package/dist/engine/triggers.d.ts +8 -2
  31. package/dist/engine/triggers.d.ts.map +1 -1
  32. package/dist/engine/triggers.js +21 -11
  33. package/dist/engine/triggers.js.map +1 -1
  34. package/dist/engine/usage.d.ts +61 -0
  35. package/dist/engine/usage.d.ts.map +1 -0
  36. package/dist/engine/usage.js +252 -0
  37. package/dist/engine/usage.js.map +1 -0
  38. package/dist/search/index.d.ts +40 -0
  39. package/dist/search/index.d.ts.map +1 -1
  40. package/dist/search/index.js +186 -5
  41. package/dist/search/index.js.map +1 -1
  42. package/dist/server.d.ts.map +1 -1
  43. package/dist/server.js +98 -10
  44. package/dist/server.js.map +1 -1
  45. package/dist/sync/materialize.d.ts.map +1 -1
  46. package/dist/sync/materialize.js +54 -1
  47. package/dist/sync/materialize.js.map +1 -1
  48. package/dist/types/index.d.ts +28 -0
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/dist/utils/ids.d.ts +6 -0
  51. package/dist/utils/ids.d.ts.map +1 -1
  52. package/dist/utils/ids.js +14 -4
  53. package/dist/utils/ids.js.map +1 -1
  54. package/dist/utils/transcripts.d.ts +63 -0
  55. package/dist/utils/transcripts.d.ts.map +1 -0
  56. package/dist/utils/transcripts.js +242 -0
  57. package/dist/utils/transcripts.js.map +1 -0
  58. package/hooks/crbro-lifecycle.mjs +608 -0
  59. package/hooks/crbro-subagent.mjs +17 -4
  60. package/package.json +2 -1
@@ -24,6 +24,7 @@ exports.keysOfEntry = keysOfEntry;
24
24
  exports.buildTriggerIndex = buildTriggerIndex;
25
25
  exports.lessonsFor = lessonsFor;
26
26
  exports.triggerIndexPath = triggerIndexPath;
27
+ exports.loadAllNeurons = loadAllNeurons;
27
28
  exports.writeTriggerIndex = writeTriggerIndex;
28
29
  const node_path_1 = __importDefault(require("node:path"));
29
30
  const fs_js_1 = require("../utils/fs.js");
@@ -207,18 +208,27 @@ function lessonsFor(index, command, max = exports.MAX_LESSONS) {
207
208
  function triggerIndexPath(brain) {
208
209
  return node_path_1.default.join(brain.paths.search, exports.TRIGGER_FILE);
209
210
  }
210
- /** Rebuild from the cortex and write. Derived data: a failure is reported, never thrown. */
211
- async function writeTriggerIndex(brain) {
212
- try {
213
- const neurons = [];
214
- for (const id of await (0, fs_js_1.listJSONFiles)(brain.paths.cortex)) {
215
- try {
216
- const n = await (0, fs_js_1.readJSON)(brain.paths.neuron(id));
217
- if (n)
218
- neurons.push(n);
219
- }
220
- catch { /* corrupted: the integrity check reports it */ }
211
+ /** Every readable neuron of the cortex. A corrupted file is skipped: the integrity check reports it. */
212
+ async function loadAllNeurons(brain) {
213
+ const neurons = [];
214
+ for (const id of await (0, fs_js_1.listJSONFiles)(brain.paths.cortex)) {
215
+ try {
216
+ const n = await (0, fs_js_1.readJSON)(brain.paths.neuron(id));
217
+ if (n)
218
+ neurons.push(n);
221
219
  }
220
+ catch { /* corrupted: the integrity check reports it */ }
221
+ }
222
+ return neurons;
223
+ }
224
+ /**
225
+ * Rebuild from the cortex and write. Derived data: a failure is reported,
226
+ * never thrown. `preloaded` lets consolidate read the cortex once for this
227
+ * and for promotion_candidates (2.7) instead of twice.
228
+ */
229
+ async function writeTriggerIndex(brain, preloaded) {
230
+ try {
231
+ const neurons = preloaded ?? await loadAllNeurons(brain);
222
232
  const index = buildTriggerIndex(neurons);
223
233
  await (0, fs_js_1.writeJSON)(triggerIndexPath(brain), index, { pretty: false });
224
234
  return { entries: index.entries.length, keys: Object.keys(index.keys).length };
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/engine/triggers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/engine/triggers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type FindOptions } from '../utils/transcripts.js';
2
+ export interface TokenCounts {
3
+ input_tokens: number;
4
+ output_tokens: number;
5
+ cache_creation_input_tokens: number;
6
+ cache_read_input_tokens: number;
7
+ /** API responses, after merging the lines of each one. */
8
+ messages: number;
9
+ }
10
+ export type ByModel = Record<string, TokenCounts>;
11
+ export interface SessionUsage {
12
+ project: string;
13
+ session: string;
14
+ last_activity: string;
15
+ main: ByModel;
16
+ subagents: ByModel;
17
+ subagent_files: number;
18
+ }
19
+ export interface UsageReport {
20
+ root: string;
21
+ days: number | null;
22
+ sessions: SessionUsage[];
23
+ by_model: Record<string, {
24
+ main: TokenCounts;
25
+ subagents: TokenCounts;
26
+ total: TokenCounts;
27
+ }>;
28
+ totals: {
29
+ main: TokenCounts;
30
+ subagents: TokenCounts;
31
+ total: TokenCounts;
32
+ };
33
+ files_read: number;
34
+ lines_broken: number;
35
+ lines_oversized: number;
36
+ }
37
+ export declare function zeroCounts(): TokenCounts;
38
+ export declare function tokenTotal(c: TokenCounts): number;
39
+ export interface UsagePick {
40
+ /** message.id, else requestId; null when the line has neither. */
41
+ key: string | null;
42
+ model: string;
43
+ sidechain: boolean;
44
+ /** entry.timestamp in ms, or null when missing or unparseable. */
45
+ at: number | null;
46
+ counts: Omit<TokenCounts, 'messages'>;
47
+ }
48
+ /**
49
+ * The only function that looks at a transcript entry for `usage`, and the only
50
+ * fields it reads. Anything else in the entry, the content above all, is
51
+ * never accessed.
52
+ */
53
+ export declare function pickUsage(entry: any): UsagePick | null;
54
+ export interface UsageOptions extends FindOptions {
55
+ }
56
+ export declare function collectUsage(opts?: UsageOptions): Promise<UsageReport>;
57
+ export declare function fmt(n: number): string;
58
+ export declare function formatUsage(r: UsageReport, opts?: {
59
+ top?: number;
60
+ }): string;
61
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/engine/usage.ts"],"names":[],"mappings":"AA4BA,OAAO,EAA6D,KAAK,WAAW,EAAqC,MAAM,yBAAyB,CAAC;AAEzJ,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,uBAAuB,EAAE,MAAM,CAAC;IAChC,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IAC5F,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAID,wBAAgB,UAAU,IAAI,WAAW,CAExC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAEjD;AAWD,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAsBtD;AAgED,MAAM,WAAW,YAAa,SAAQ,WAAW;CAAG;AAEpD,wBAAsB,YAAY,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAwChF;AAID,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAErC;AAcD,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CA8C/E"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ // ─── Token spend, from metadata only ────────────────────────────
3
+ //
4
+ // `crbro usage`: how many tokens each model took, per session, with the main
5
+ // conversation and its subagents kept apart. A workflow that fans out to a
6
+ // dozen agents can cost more than the conversation that launched it, and that
7
+ // is invisible from inside the conversation.
8
+ //
9
+ // Privacy contract: of each transcript line this reads message.model,
10
+ // message.usage, message.id, requestId, isSidechain and timestamp — nothing else. The
11
+ // content of the conversation is never touched, and lines that cannot carry a
12
+ // usage block are dropped as raw bytes before they are even decoded.
13
+ //
14
+ // One API response is written as several lines (one per content block), each
15
+ // repeating the same message.id and usage, with output_tokens growing until the
16
+ // last one. Summing lines would count a response three or four times, so lines
17
+ // are merged per message id, keeping the largest value of each counter.
18
+ //
19
+ // A resumed or forked session copies the earlier responses into its own .jsonl
20
+ // with the same message.id and usage. So the merge is report-wide, not
21
+ // per-session: the oldest session that holds a response is charged for it and
22
+ // every later copy is skipped.
23
+ //
24
+ // With --days, a response is counted only if its own timestamp is inside the
25
+ // window: a long session resumed today does not bring weeks of spend with it.
26
+ //
27
+ // No prices: they change, differ by plan and are not in the transcript. This
28
+ // counts tokens and says so.
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.zeroCounts = zeroCounts;
31
+ exports.tokenTotal = tokenTotal;
32
+ exports.pickUsage = pickUsage;
33
+ exports.collectUsage = collectUsage;
34
+ exports.fmt = fmt;
35
+ exports.formatUsage = formatUsage;
36
+ const transcripts_js_1 = require("../utils/transcripts.js");
37
+ const FIELDS = ['input_tokens', 'output_tokens', 'cache_creation_input_tokens', 'cache_read_input_tokens'];
38
+ function zeroCounts() {
39
+ return { input_tokens: 0, output_tokens: 0, cache_creation_input_tokens: 0, cache_read_input_tokens: 0, messages: 0 };
40
+ }
41
+ function tokenTotal(c) {
42
+ return c.input_tokens + c.output_tokens + c.cache_creation_input_tokens + c.cache_read_input_tokens;
43
+ }
44
+ function add(into, c) {
45
+ for (const f of FIELDS)
46
+ into[f] += c[f];
47
+ into.messages += c.messages;
48
+ }
49
+ function num(v) {
50
+ return typeof v === 'number' && Number.isFinite(v) && v > 0 ? v : 0;
51
+ }
52
+ /**
53
+ * The only function that looks at a transcript entry for `usage`, and the only
54
+ * fields it reads. Anything else in the entry, the content above all, is
55
+ * never accessed.
56
+ */
57
+ function pickUsage(entry) {
58
+ if (!entry || typeof entry !== 'object' || entry.type !== 'assistant')
59
+ return null;
60
+ const message = entry.message;
61
+ if (!message || typeof message !== 'object')
62
+ return null;
63
+ const usage = message.usage;
64
+ if (!usage || typeof usage !== 'object')
65
+ return null;
66
+ const model = typeof message.model === 'string' && message.model ? message.model : 'unknown';
67
+ const id = typeof message.id === 'string' && message.id ? message.id
68
+ : typeof entry.requestId === 'string' && entry.requestId ? entry.requestId : null;
69
+ const at = typeof entry.timestamp === 'string' ? Date.parse(entry.timestamp) : NaN;
70
+ return {
71
+ key: id,
72
+ model,
73
+ sidechain: entry.isSidechain === true,
74
+ at: Number.isFinite(at) ? at : null,
75
+ counts: {
76
+ input_tokens: num(usage.input_tokens),
77
+ output_tokens: num(usage.output_tokens),
78
+ cache_creation_input_tokens: num(usage.cache_creation_input_tokens),
79
+ cache_read_input_tokens: num(usage.cache_read_input_tokens),
80
+ },
81
+ };
82
+ }
83
+ /** A line that carries a usage block contains this key, unescaped. */
84
+ const USAGE_NEEDLE = '"usage"';
85
+ /**
86
+ * `claimed`: response keys already charged to an older session of this report.
87
+ * `cutoff`: responses timestamped before it are left out (-Infinity = no window).
88
+ */
89
+ async function sessionUsage(s, stats, claimed, cutoff) {
90
+ const merged = new Map();
91
+ let files = 0;
92
+ const toRead = [];
93
+ if (s.main)
94
+ toRead.push({ file: s.main, role: 'main' });
95
+ for (const f of s.subagents)
96
+ toRead.push({ file: f, role: 'subagents' });
97
+ for (const { file, role } of toRead) {
98
+ files++;
99
+ try {
100
+ for await (const { line, entry } of (0, transcripts_js_1.readJsonl)(file, { anyOf: [USAGE_NEEDLE], stats })) {
101
+ const u = pickUsage(entry);
102
+ if (!u)
103
+ continue;
104
+ // "<synthetic>": a message the client wrote itself (an API error, an
105
+ // interruption). No request, no tokens.
106
+ if (u.model.startsWith('<') && FIELDS.every(f => u.counts[f] === 0))
107
+ continue;
108
+ if (u.at !== null && u.at < cutoff)
109
+ continue;
110
+ const key = u.key ?? `${file}#${line}`;
111
+ if (claimed.has(key))
112
+ continue;
113
+ const r = role === 'main' && !u.sidechain ? 'main' : 'subagents';
114
+ const prev = merged.get(key);
115
+ if (!prev) {
116
+ merged.set(key, { model: u.model, role: r, counts: { ...u.counts } });
117
+ }
118
+ else {
119
+ for (const f of FIELDS)
120
+ prev.counts[f] = Math.max(prev.counts[f], u.counts[f]);
121
+ }
122
+ }
123
+ }
124
+ catch { /* unreadable file: counted as read, contributes nothing */ }
125
+ }
126
+ for (const key of merged.keys())
127
+ claimed.add(key);
128
+ const main = {};
129
+ const subagents = {};
130
+ for (const m of merged.values()) {
131
+ const bucket = m.role === 'main' ? main : subagents;
132
+ const c = bucket[m.model] ??= zeroCounts();
133
+ add(c, { ...m.counts, messages: 1 });
134
+ }
135
+ return {
136
+ usage: {
137
+ project: s.project,
138
+ session: s.sessionId,
139
+ last_activity: new Date(s.mtimeMs).toISOString(),
140
+ main,
141
+ subagents,
142
+ subagent_files: s.subagents.length,
143
+ },
144
+ files,
145
+ };
146
+ }
147
+ async function collectUsage(opts = {}) {
148
+ const root = opts.root ?? (0, transcripts_js_1.claudeProjectsRoot)();
149
+ const sessions = await (0, transcripts_js_1.findSessions)({ ...opts, root });
150
+ const stats = (0, transcripts_js_1.newReadStats)();
151
+ const report = {
152
+ root,
153
+ days: opts.days ?? null,
154
+ sessions: [],
155
+ by_model: {},
156
+ totals: { main: zeroCounts(), subagents: zeroCounts(), total: zeroCounts() },
157
+ files_read: 0,
158
+ lines_broken: 0,
159
+ lines_oversized: 0,
160
+ };
161
+ const cutoff = opts.days !== undefined && opts.days > 0 ? Date.now() - opts.days * 86_400_000 : -Infinity;
162
+ // Oldest first, so a response copied into a resumed session is charged to
163
+ // the session where it happened. The report keeps findSessions' order.
164
+ const claimed = new Set();
165
+ const found = [];
166
+ for (const s of [...sessions].reverse()) {
167
+ const { usage, files } = await sessionUsage(s, stats, claimed, cutoff);
168
+ report.files_read += files;
169
+ if (Object.keys(usage.main).length === 0 && Object.keys(usage.subagents).length === 0)
170
+ continue;
171
+ found.push(usage);
172
+ }
173
+ for (const usage of found.reverse()) {
174
+ report.sessions.push(usage);
175
+ for (const role of ['main', 'subagents']) {
176
+ for (const [model, c] of Object.entries(usage[role])) {
177
+ const m = report.by_model[model] ??= { main: zeroCounts(), subagents: zeroCounts(), total: zeroCounts() };
178
+ add(m[role], c);
179
+ add(m.total, c);
180
+ add(report.totals[role], c);
181
+ add(report.totals.total, c);
182
+ }
183
+ }
184
+ }
185
+ report.lines_broken = stats.broken;
186
+ report.lines_oversized = stats.oversized;
187
+ return report;
188
+ }
189
+ // ─── Text output ────────────────────────────────────────────────
190
+ function fmt(n) {
191
+ return String(Math.round(n)).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
192
+ }
193
+ function sumModels(b) {
194
+ const t = zeroCounts();
195
+ for (const c of Object.values(b))
196
+ add(t, c);
197
+ return t;
198
+ }
199
+ function row(label, c, w) {
200
+ const cols = [c.input_tokens, c.output_tokens, c.cache_creation_input_tokens, c.cache_read_input_tokens, c.messages]
201
+ .map(v => fmt(v).padStart(15)).join('');
202
+ return ` ${label.padEnd(w)}${cols}`;
203
+ }
204
+ function formatUsage(r, opts = {}) {
205
+ const top = opts.top ?? 15;
206
+ const L = [];
207
+ const period = r.days ? `last ${r.days} days` : 'all history';
208
+ L.push('');
209
+ L.push(` Token spend — ${period} · ${r.sessions.length} sessions · ${r.files_read} files read`);
210
+ L.push(' Metadata only (message.model and message.usage); the content of the conversations is not read.');
211
+ L.push(' Tokens, not money: the price depends on the plan and is not in the transcript.');
212
+ L.push('');
213
+ if (r.sessions.length === 0) {
214
+ L.push(` No sessions with usage data in ${r.root} for that filter.`);
215
+ L.push('');
216
+ return L.join('\n');
217
+ }
218
+ const models = Object.keys(r.by_model).sort((a, b) => tokenTotal(r.by_model[b].total) - tokenTotal(r.by_model[a].total));
219
+ const w = Math.max(28, ...models.map(m => m.length + 4));
220
+ const head = ['input', 'output', 'cache write', 'cache read', 'responses'].map(h => h.padStart(15)).join('');
221
+ L.push(` ${'By model'.padEnd(w)}${head}`);
222
+ for (const m of models) {
223
+ const b = r.by_model[m];
224
+ L.push(row(m, b.total, w));
225
+ if (b.main.messages)
226
+ L.push(row(' · main', b.main, w));
227
+ if (b.subagents.messages)
228
+ L.push(row(' · subagents', b.subagents, w));
229
+ }
230
+ L.push(row('Total', r.totals.total, w));
231
+ L.push(row(' · main', r.totals.main, w));
232
+ L.push(row(' · subagents', r.totals.subagents, w));
233
+ L.push('');
234
+ const weight = (s) => tokenTotal(sumModels(s.main)) + tokenTotal(sumModels(s.subagents));
235
+ const ranked = [...r.sessions].sort((a, b) => weight(b) - weight(a));
236
+ const shown = ranked.slice(0, top);
237
+ L.push(` By session (${shown.length === ranked.length ? 'all' : `the ${shown.length} with most tokens of ${ranked.length}`}; --session <id> for one, --json for everything):`);
238
+ for (const s of shown) {
239
+ const mn = sumModels(s.main);
240
+ const sb = sumModels(s.subagents);
241
+ const when = s.last_activity.slice(0, 16).replace('T', ' ');
242
+ L.push(` ${when} UTC ${s.session.slice(0, 8)} ${s.project}`);
243
+ L.push(` main ${fmt(tokenTotal(mn))} tokens in ${fmt(mn.messages)} responses · subagents ${fmt(tokenTotal(sb))} in ${fmt(sb.messages)} (${s.subagent_files} files)`);
244
+ }
245
+ if (r.lines_broken || r.lines_oversized) {
246
+ L.push('');
247
+ L.push(` Lines skipped: ${r.lines_broken} unreadable (e.g. the last one of a session still open), ${r.lines_oversized} too long.`);
248
+ }
249
+ L.push('');
250
+ return L.join('\n');
251
+ }
252
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/engine/usage.ts"],"names":[],"mappings":"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"}
@@ -224,6 +224,22 @@ export declare class SearchEngine {
224
224
  * re-indexed; chunks of deleted neurons are removed on the spot.
225
225
  */
226
226
  private materializeResults;
227
+ /**
228
+ * Where the matching entry came from — but only when it is NOT the user's
229
+ * own, so the common case costs nothing: no field, no token. Read from what
230
+ * the entry already carries: a fact's `source` ('team:<author>' from a
231
+ * sync, 'miner', 'import…'), a decision's or map's `by`, and the
232
+ * entry_source sidecar for the rest.
233
+ *
234
+ * A line that came through a shared space keeps its mark even when `by` is
235
+ * this machine's own author name: `by` is self-declared in the shared log
236
+ * and anyone with push access can write any name, so matching it is no
237
+ * proof the line is the user's. Another device of the same person shows
238
+ * as team:<space> with by=<their own name>, which is honest. When the
239
+ * neuron is no longer in shared-map.json (after unshare) the space is not
240
+ * known and origin is plain 'team'.
241
+ */
242
+ private originOf;
227
243
  /**
228
244
  * Does the chunk still describe something the neuron holds as current?
229
245
  * A retired entry (entry_status sidecar) counts as dead, exactly like a
@@ -239,6 +255,24 @@ export declare class SearchEngine {
239
255
  private searchTerm;
240
256
  /** Build and insert every chunk of a neuron. */
241
257
  private insertNeuronChunks;
258
+ /**
259
+ * The neurons about one project, for crbro_boot's `project` (2.7).
260
+ *
261
+ * `project` is a folder path, a repo name or a remote ("owner/repo",
262
+ * "…/repo.git"); only its last segment counts. A neuron matches when its
263
+ * NAME is that project (or the project's leading words: "Invokard" for
264
+ * invokard-plugin), when its system MAP mentions it, or when a fact's
265
+ * KEYS do. Served from the index already in memory — one prefix query for
266
+ * the project's first word, no neuron file read beyond an existence check
267
+ * of the few it returns — so a boot that passes a project pays about one
268
+ * recall term, and a boot that does not pays nothing.
269
+ */
270
+ projectNeurons(project: string, limit?: number): Promise<Array<{
271
+ id: string;
272
+ name: string;
273
+ match: 'name' | 'map' | 'keys';
274
+ heat: number;
275
+ }>>;
242
276
  /**
243
277
  * Index one session log, replacing whatever it had. Called by consolidate
244
278
  * for the day just logged and by rebuild for the whole diary.
@@ -274,4 +308,10 @@ export declare class SearchEngine {
274
308
  */
275
309
  private dropLegacyIndex;
276
310
  }
311
+ /** A fact that has been superseded or retracted must not surface in recall. */
312
+ /**
313
+ * The project a `crbro_boot project=` value names: the last segment of a
314
+ * path, a remote or "owner/repo", without a trailing ".git".
315
+ */
316
+ export declare function projectSlugOf(raw: string): string;
277
317
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAQ,MAAM,mBAAmB,CAAC;AAEpE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,IAAI,CAAC;AAoD/B,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1E;AAED,8FAA8F;AAC9F,eAAO,MAAM,YAAY,gFAAiF,CAAC;AAC3G,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAwCD,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,yGAAyG;IACzG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC/B;AA+ED,qBAAa,YAAY;IAsCX,OAAO,CAAC,KAAK;IArCzB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAA+B;IAEnD;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAkC;IAExD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAA8B;IAC9C,gEAAgE;IAChE,OAAO,CAAC,YAAY,CAA6B;IACjD,gEAAgE;IAChE,OAAO,CAAC,SAAS,CAA8B;IAC/C,sFAAsF;IACtF,OAAO,CAAC,OAAO,CAA8B;IAC7C;;;;;OAKG;IACH,OAAO,CAAC,UAAU,CAAgC;IAClD,8GAA8G;IAC9G,OAAO,CAAC,QAAQ,CAAK;gBAED,KAAK,EAAE,KAAK;IAMhC,6DAA6D;IAC7D,aAAa,IAAI,MAAM;IAMvB;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAMb,MAAM;YAqBN,aAAa;IA8B3B;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA2DhE;;;;;;;;;;OAUG;YACW,OAAO;IAUrB;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAMhC,4EAA4E;YAC9D,OAAO;YAIP,SAAS;IAqCvB;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhD;;;;;;OAMG;YACW,cAAc;IAU5B;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,6EAA6E;IACvE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,mCAAmC;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B,0EAA0E;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;;;;;;;OAQG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,YAAY,GAChF,OAAO,CAAC,YAAY,EAAE,CAAC;IAuH1B;;;;;;OAMG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,YAAiB,GACpF,OAAO,CAAC,YAAY,EAAE,CAAC;IA6E1B;;;;OAIG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAiB,GAC/D,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5I;;;;;;OAMG;YACW,YAAY;IA4C1B,mEAAmE;YACrD,eAAe;IAY7B;;;;;;;;;;;;OAYG;YACW,kBAAkB;IA0HhC;;;;;;;;;;;;;;OAcG;YACW,QAAQ;IAgCtB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA2BjB;;;;;OAKG;YACW,UAAU;IAgDxB,gDAAgD;YAClC,kBAAkB;IA8HhC;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAyD5I;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YASjF,mBAAmB;YAmBnB,GAAG;IAyBjB;;;;;;;OAOG;YACW,kBAAkB;IAmBhC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;IAYjB;;;;OAIG;YACW,eAAe;CAO9B;AAED,+EAA+E;AAC/E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIjD"}