@felan-ai/ext-codebase-memory 0.1.1 → 0.1.2

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 CHANGED
@@ -16,9 +16,14 @@ four model tools:
16
16
  - `search_code` searches indexed source text.
17
17
 
18
18
  The extension starts one background index at session startup without delaying
19
- session readiness. It shows `cbm: idx` only while indexing and `cbm: install`
20
- only while installing, then clears the status. It has no file watcher or
21
- periodic refresh. After edits, the model can call
19
+ session readiness. The first index or query lazily starts one stdio MCP
20
+ frontend for the session; subsequent calls reuse and multiplex that frontend.
21
+ It closes it during `session_shutdown`, leaving shared daemon coordination and
22
+ the shared runtime directory to Codebase Memory. Runtimes without the optional
23
+ stdio capability use the bounded one-shot CLI fallback. It shows `cbm: idx`
24
+ only while indexing and `cbm: install` only while installing, then clears the
25
+ status. Cache-size accounting is deferred after indexing and never extends
26
+ that status. It has no file watcher or periodic refresh. After edits, the model can call
22
27
  `codebase_memory({ command: "index_repository" })`, and local users can run
23
28
  `/codebase-memory refresh`. Direct file reads, grep, compiler output, and tests
24
29
  remain authoritative because an index can be stale.
@@ -51,12 +56,14 @@ added inside that already scoped runtime storage.
51
56
 
52
57
  Daemon coordination remains keyed by that agent-storage root. POSIX runtimes
53
58
  use an owner-private `/tmp/felan-cbm-<key>` rendezvous so CBM's Unix socket path
54
- stays below platform limits; Windows keeps the rendezvous under
59
+ stays below platform limits. The host runtime creates or validates this
60
+ directory with mode `0700`, rejects symlinks and unsafe ownership, and checks
61
+ the canonical sticky `/tmp` parent. Windows keeps the rendezvous under
55
62
  `AgentRuntime.storage('agent')/codebase-memory/runtime`.
56
63
 
57
64
  - Query timeout: 60 seconds
58
65
  - Index timeout: 20 minutes
59
- - Combined process output: 5 MiB
66
+ - Maximum CBM response/output: 5 MiB
60
67
  - Maximum symbol read: 220 lines
61
68
  - Cache LRU: 2 GiB for host runtimes; 500 MiB for Docker and Daytona
62
69
 
package/dist/client.d.ts CHANGED
@@ -31,6 +31,8 @@ export declare class CbmClient {
31
31
  readonly runtimeRoot: string;
32
32
  constructor(runtime: AgentRuntime, invocation: CbmInvocation);
33
33
  call(command: string, args: Record<string, unknown>, options?: CbmCallOptions): Promise<CbmCallResult>;
34
+ close(): Promise<void>;
35
+ reset(): Promise<void>;
34
36
  }
35
37
  export declare function detectCbm(runtime: AgentRuntime): Promise<CbmDetection>;
36
38
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAOrE,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAC5C,eAAO,MAAM,gBAAgB,QAAkB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,SAAS;;IAMlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,UAAU,EAAE,aAAa;IANpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAIV,OAAO,EAAE,YAAY,EAC7B,UAAU,EAAE,aAAa;IAS9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CA0BjH;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA2B5E"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAwC,MAAM,sBAAsB,CAAC;AAO/F,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAC5C,eAAO,MAAM,gBAAgB,QAAkB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,SAAS;;IASlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,UAAU,EAAE,aAAa;IATpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAOV,OAAO,EAAE,YAAY,EAC7B,UAAU,EAAE,aAAa;IAS9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAa1G,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAiE7B;AA6JD,wBAAsB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA2B5E"}
package/dist/client.js CHANGED
@@ -9,6 +9,9 @@ export class CbmClient {
9
9
  cacheRoot;
10
10
  runtimeRoot;
11
11
  #runtimeStoragePath;
12
+ #session;
13
+ #sessionStart;
14
+ #closed = false;
12
15
  constructor(runtime, invocation) {
13
16
  this.runtime = runtime;
14
17
  this.invocation = invocation;
@@ -20,23 +23,85 @@ export class CbmClient {
20
23
  }
21
24
  async call(command, args, options = {}) {
22
25
  const timeout = options.timeoutMs ?? (command === 'index_repository' ? INDEX_TIMEOUT_MS : QUERY_TIMEOUT_MS);
23
- if (this.#runtimeStoragePath) {
24
- await this.runtime.storage('agent').mkdir(this.#runtimeStoragePath, { recursive: true });
26
+ if (this.#closed)
27
+ throw new Error('Codebase Memory client is closed');
28
+ if (!this.runtime.processes?.startStdio)
29
+ return this.#callOneShot(command, args, options, timeout);
30
+ const session = await this.#getSession();
31
+ try {
32
+ return await session.call(command, args, timeout, options.signal);
33
+ }
34
+ catch (error) {
35
+ if (!session.isUsable)
36
+ this.#session = undefined;
37
+ throw error;
25
38
  }
39
+ }
40
+ async close() {
41
+ this.#closed = true;
42
+ await this.#closeSession();
43
+ }
44
+ async reset() {
45
+ this.#closed = false;
46
+ await this.#closeSession();
47
+ }
48
+ async #closeSession() {
49
+ const session = this.#session;
50
+ const starting = this.#sessionStart;
51
+ this.#session = undefined;
52
+ this.#sessionStart = undefined;
53
+ await session?.close();
54
+ await starting?.catch(() => undefined);
55
+ }
56
+ async #getSession() {
57
+ const startStdio = this.runtime.processes?.startStdio;
58
+ if (!startStdio)
59
+ throw new Error('Codebase Memory stdio transport is unavailable');
60
+ if (this.#sessionStart)
61
+ return this.#sessionStart;
62
+ if (this.#session)
63
+ return this.#session;
64
+ this.#sessionStart ??= this.#startSession(startStdio).finally(() => { this.#sessionStart = undefined; });
65
+ const session = await this.#sessionStart;
66
+ if (!this.#closed)
67
+ this.#session = session;
68
+ return session;
69
+ }
70
+ async #startSession(startStdio) {
71
+ const runtimeDirectory = this.#runtimeStoragePath
72
+ ? await this.runtime.storage('agent').mkdir(this.#runtimeStoragePath, { recursive: true }).then(() => this.runtimeRoot)
73
+ : this.runtime.privateRuntime
74
+ ? await this.runtime.privateRuntime.ensureDirectory(this.runtimeRoot.slice('/tmp/'.length))
75
+ : (() => { throw new Error('Codebase Memory requires a private runtime directory capability'); })();
76
+ const process = await startStdio(this.invocation.command, [], {
77
+ cwd: this.runtime.cwd,
78
+ env: { CBM_CACHE_DIR: this.cacheRoot, CBM_RUNTIME_DIR: runtimeDirectory },
79
+ });
80
+ const session = new CbmMcpSession(process);
81
+ if (!this.#closed)
82
+ this.#session = session;
83
+ try {
84
+ await session.start();
85
+ return session;
86
+ }
87
+ catch (error) {
88
+ if (this.#session === session)
89
+ this.#session = undefined;
90
+ await session.close().catch(() => { });
91
+ throw error;
92
+ }
93
+ }
94
+ async #callOneShot(command, args, options, timeout) {
95
+ const runtimeDirectory = this.#runtimeStoragePath
96
+ ? await this.runtime.storage('agent').mkdir(this.#runtimeStoragePath, { recursive: true }).then(() => this.runtimeRoot)
97
+ : this.runtime.privateRuntime
98
+ ? await this.runtime.privateRuntime.ensureDirectory(this.runtimeRoot.slice('/tmp/'.length))
99
+ : (() => { throw new Error('Codebase Memory requires a private runtime directory capability'); })();
26
100
  const encoded = JSON.stringify(args);
27
- const invocation = [
28
- shellQuote(this.invocation.command),
29
- 'cli',
30
- '--json',
31
- shellQuote(command),
32
- shellQuote(encoded),
33
- ].join(' ');
34
- const shellCommand = this.#runtimeStoragePath
35
- ? invocation
36
- : `umask 077 && mkdir -p -- ${shellQuote(this.runtimeRoot)} && ${invocation}`;
37
- const result = await this.runtime.shell(shellCommand, {
101
+ const invocation = [shellQuote(this.invocation.command), 'cli', '--json', shellQuote(command), shellQuote(encoded)].join(' ');
102
+ const result = await this.runtime.shell(invocation, {
38
103
  cwd: this.runtime.cwd,
39
- env: { CBM_CACHE_DIR: this.cacheRoot, CBM_RUNTIME_DIR: this.runtimeRoot },
104
+ env: { CBM_CACHE_DIR: this.cacheRoot, CBM_RUNTIME_DIR: runtimeDirectory },
40
105
  maxOutputBytes: MAX_OUTPUT_BYTES,
41
106
  shellFlavor: 'posix',
42
107
  ...(options.signal === undefined ? {} : { signal: options.signal }),
@@ -45,6 +110,186 @@ export class CbmClient {
45
110
  return parseResult(command, result);
46
111
  }
47
112
  }
113
+ class CbmMcpSession {
114
+ process;
115
+ #nextId = 1;
116
+ #stdoutOffset = 0;
117
+ #stderrOffset = 0;
118
+ #reader;
119
+ #stderrReader;
120
+ #pending = new Map();
121
+ #buffer = '';
122
+ #stderr = '';
123
+ #usable = true;
124
+ #closed = false;
125
+ #stdoutDecoder = new TextDecoder();
126
+ #stderrDecoder = new TextDecoder();
127
+ constructor(process) {
128
+ this.process = process;
129
+ }
130
+ get isUsable() { return this.#usable && !this.#closed; }
131
+ async start() {
132
+ this.#reader = this.#readStdout();
133
+ this.#stderrReader = this.#readStderr();
134
+ await this.#request('initialize', {
135
+ protocolVersion: '2024-11-05',
136
+ capabilities: {},
137
+ clientInfo: { name: 'felan', version: '0.19.2' },
138
+ }, 30_000);
139
+ await this.process.write(new TextEncoder().encode(`${JSON.stringify({ jsonrpc: '2.0', method: 'notifications/initialized', params: {} })}\n`));
140
+ }
141
+ call(command, args, timeout, signal) {
142
+ return this.#request('tools/call', { name: command, arguments: args }, timeout, signal);
143
+ }
144
+ async close() {
145
+ if (this.#closed)
146
+ return;
147
+ this.#closed = true;
148
+ this.#usable = false;
149
+ const error = new Error('Codebase Memory session closed');
150
+ for (const pending of this.#pending.values())
151
+ pending.reject(error);
152
+ this.#pending.clear();
153
+ await this.process.closeInput().catch(() => { });
154
+ await waitForProcess(this.process, 500).catch(() => { });
155
+ await this.process.dispose().catch(() => { });
156
+ await Promise.allSettled([this.#reader, this.#stderrReader].filter((value) => value !== undefined));
157
+ }
158
+ #request(method, params, timeoutMs, signal) {
159
+ if (!this.isUsable)
160
+ return Promise.reject(new Error('Codebase Memory session is unavailable'));
161
+ const id = this.#nextId++;
162
+ const message = `${JSON.stringify({ jsonrpc: '2.0', id, method, params })}\n`;
163
+ return new Promise((resolve, reject) => {
164
+ let timer;
165
+ const abort = () => {
166
+ if (!this.#pending.delete(id))
167
+ return;
168
+ if (timer)
169
+ clearTimeout(timer);
170
+ void this.process.write(new TextEncoder().encode(`${JSON.stringify({
171
+ jsonrpc: '2.0',
172
+ method: 'notifications/cancelled',
173
+ params: { requestId: id, reason: signal?.aborted ? 'cancelled' : 'timeout' },
174
+ })}\n`)).catch((error) => this.#fail(error));
175
+ reject(new Error(`${method} timed out or was cancelled`));
176
+ };
177
+ this.#pending.set(id, { resolve: (value) => { if (timer)
178
+ clearTimeout(timer); signal?.removeEventListener('abort', abort); resolve(value); }, reject: (error) => { if (timer)
179
+ clearTimeout(timer); signal?.removeEventListener('abort', abort); reject(error); } });
180
+ if (signal?.aborted) {
181
+ abort();
182
+ return;
183
+ }
184
+ signal?.addEventListener('abort', abort, { once: true });
185
+ timer = setTimeout(abort, timeoutMs);
186
+ void this.process.write(new TextEncoder().encode(message)).catch((error) => this.#fail(error));
187
+ });
188
+ }
189
+ async #readStdout() {
190
+ try {
191
+ while (this.isUsable) {
192
+ const snapshot = await this.process.readStdout(this.#stdoutOffset, { waitMs: 1_000, maxBytes: MAX_OUTPUT_BYTES });
193
+ this.#stdoutOffset = snapshot.nextOffset;
194
+ this.#buffer += this.#stdoutDecoder.decode(snapshot.output, { stream: snapshot.running });
195
+ if (Buffer.byteLength(this.#buffer) > MAX_OUTPUT_BYTES) {
196
+ this.#fail(new Error('Codebase Memory stdout exceeded the output limit'));
197
+ return;
198
+ }
199
+ let newline = this.#buffer.indexOf('\n');
200
+ while (newline >= 0) {
201
+ const line = this.#buffer.slice(0, newline).replace(/\r$/u, '');
202
+ this.#buffer = this.#buffer.slice(newline + 1);
203
+ newline = this.#buffer.indexOf('\n');
204
+ try {
205
+ this.#handle(JSON.parse(line));
206
+ }
207
+ catch (error) {
208
+ this.#fail(error);
209
+ return;
210
+ }
211
+ }
212
+ if (!snapshot.running) {
213
+ this.#fail(new Error('Codebase Memory frontend exited'));
214
+ return;
215
+ }
216
+ }
217
+ }
218
+ catch (error) {
219
+ this.#fail(error);
220
+ }
221
+ }
222
+ async #readStderr() {
223
+ try {
224
+ while (this.isUsable) {
225
+ const snapshot = await this.process.readStderr(this.#stderrOffset, { waitMs: 1_000, maxBytes: MAX_OUTPUT_BYTES });
226
+ this.#stderrOffset = snapshot.nextOffset;
227
+ this.#stderr += this.#stderrDecoder.decode(snapshot.output, { stream: snapshot.running });
228
+ if (Buffer.byteLength(this.#stderr) > MAX_OUTPUT_BYTES)
229
+ this.#stderr = this.#stderr.slice(-MAX_OUTPUT_BYTES);
230
+ if (!snapshot.running)
231
+ return;
232
+ }
233
+ }
234
+ catch (error) {
235
+ this.#fail(error);
236
+ }
237
+ }
238
+ #handle(message) {
239
+ const id = message.id;
240
+ if (id === undefined && typeof message.method === 'string')
241
+ return;
242
+ if (typeof id !== 'number' || !Number.isSafeInteger(id))
243
+ throw new Error('Codebase Memory returned an invalid JSON-RPC response');
244
+ const pending = this.#pending.get(id);
245
+ if (!pending)
246
+ throw new Error(`Codebase Memory returned an unknown response id: ${id}`);
247
+ this.#pending.delete(id);
248
+ if (message.error && typeof message.error === 'object') {
249
+ pending.reject(new Error(sanitize(JSON.stringify(message.error))));
250
+ return;
251
+ }
252
+ const result = asRecord(message.result);
253
+ const text = result.content instanceof Array
254
+ ? result.content.find((block) => asRecord(block).type === 'text' && typeof asRecord(block).text === 'string')
255
+ : undefined;
256
+ const textValue = asRecord(text).text;
257
+ const value = typeof textValue === 'string' ? textValue : JSON.stringify(result) ?? '{}';
258
+ let data = value;
259
+ try {
260
+ data = JSON.parse(value);
261
+ }
262
+ catch { /* Preserve non-JSON upstream text. */ }
263
+ if (result.isError) {
264
+ pending.reject(new Error(sanitize(typeof data === 'string' ? data : JSON.stringify(data))));
265
+ return;
266
+ }
267
+ pending.resolve({ data, stderr: sanitize(this.#stderr) });
268
+ }
269
+ #fail(reason) {
270
+ if (!this.isUsable)
271
+ return;
272
+ this.#usable = false;
273
+ const error = reason instanceof Error ? reason : new Error(String(reason));
274
+ for (const pending of this.#pending.values())
275
+ pending.reject(error);
276
+ this.#pending.clear();
277
+ void this.process.dispose().catch(() => { });
278
+ }
279
+ }
280
+ async function waitForProcess(process, timeoutMs) {
281
+ const started = Date.now();
282
+ let offset = 0;
283
+ while (Date.now() - started < timeoutMs) {
284
+ const snapshot = await process.readStdout(offset, { waitMs: Math.min(50, timeoutMs), maxBytes: 1 });
285
+ offset = snapshot.nextOffset;
286
+ if (!snapshot.running)
287
+ return;
288
+ }
289
+ }
290
+ function asRecord(value) {
291
+ return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : {};
292
+ }
48
293
  export async function detectCbm(runtime) {
49
294
  const candidates = [
50
295
  {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type FelanExtension } from '@felan-ai/agent-core';
2
2
  import { type CodebaseMemoryTelemetry } from './cache.js';
3
- export declare const CODEBASE_MEMORY_CAPABILITY_INSTRUCTIONS = "Use Codebase Memory for structural code exploration before broad raw searches: read_symbol reads a known symbol, search_and_read_symbols finds and reads likely implementations, search_code searches indexed text, and codebase_memory proxies other structural queries or refreshes with {command:\"index_repository\"}. A background index starts at session startup and refreshes only when the model calls index_repository or the user invokes /codebase-memory. It may be stale after edits. Direct reads, grep, compiler output, and tests remain authoritative; grep output can include bounded Codebase Memory augmentation. Keep symbol reads focused and at no more than 220 lines per symbol.";
3
+ export declare const CODEBASE_MEMORY_CAPABILITY_INSTRUCTIONS = "Use Codebase Memory for structural code exploration before broad raw searches: read_symbol reads a known symbol, search_and_read_symbols finds and reads likely implementations, search_code searches indexed text, and codebase_memory proxies other structural queries or refreshes with {command:\"index_repository\"}. A background index starts at session startup through a lazy session-scoped MCP frontend and refreshes only when the model calls index_repository or the user invokes /codebase-memory. It may be stale after edits. Direct reads, grep, compiler output, and tests remain authoritative; grep output can include bounded Codebase Memory augmentation. Keep symbol reads focused and at no more than 220 lines per symbol.";
4
4
  export interface CodebaseMemoryExtensionOptions {
5
5
  readonly telemetry?: CodebaseMemoryTelemetry;
6
6
  readonly log?: (level: 'error' | 'info', message: string, fields: Record<string, unknown>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAQ1D,eAAO,MAAM,uCAAuC,+qBAA6qB,CAAC;AAEluB,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACpG;AAMD,wBAAgB,6BAA6B,CAAC,OAAO,GAAE,8BAAmC,GAAG,cAAc,CAoF1G;AAoBD,QAAA,MAAM,uBAAuB,gBAAkC,CAAC;AAChE,eAAe,uBAAuB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,uBAAuB,IAAI,+BAA+B,EAC1D,SAAS,IAAI,4BAA4B,GAC1C,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,IAAI,4BAA4B,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAQ1D,eAAO,MAAM,uCAAuC,0tBAAwtB,CAAC;AAE7wB,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACpG;AAMD,wBAAgB,6BAA6B,CAAC,OAAO,GAAE,8BAAmC,GAAG,cAAc,CAuF1G;AAoBD,QAAA,MAAM,uBAAuB,gBAAkC,CAAC;AAChE,eAAe,uBAAuB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,uBAAuB,IAAI,+BAA+B,EAC1D,SAAS,IAAI,4BAA4B,GAC1C,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,IAAI,4BAA4B,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { registerGrepAugmentation } from './grep-augmentation.js';
6
6
  import { installManagedCbm } from './installer.js';
7
7
  import { ProjectService, SymbolService } from './services.js';
8
8
  import { registerTools } from './tools.js';
9
- export const CODEBASE_MEMORY_CAPABILITY_INSTRUCTIONS = `Use Codebase Memory for structural code exploration before broad raw searches: read_symbol reads a known symbol, search_and_read_symbols finds and reads likely implementations, search_code searches indexed text, and codebase_memory proxies other structural queries or refreshes with {command:"index_repository"}. A background index starts at session startup and refreshes only when the model calls index_repository or the user invokes /codebase-memory. It may be stale after edits. Direct reads, grep, compiler output, and tests remain authoritative; grep output can include bounded Codebase Memory augmentation. Keep symbol reads focused and at no more than 220 lines per symbol.`;
9
+ export const CODEBASE_MEMORY_CAPABILITY_INSTRUCTIONS = `Use Codebase Memory for structural code exploration before broad raw searches: read_symbol reads a known symbol, search_and_read_symbols finds and reads likely implementations, search_code searches indexed text, and codebase_memory proxies other structural queries or refreshes with {command:"index_repository"}. A background index starts at session startup through a lazy session-scoped MCP frontend and refreshes only when the model calls index_repository or the user invokes /codebase-memory. It may be stale after edits. Direct reads, grep, compiler output, and tests remain authoritative; grep output can include bounded Codebase Memory augmentation. Keep symbol reads focused and at no more than 220 lines per symbol.`;
10
10
  export function createCodebaseMemoryExtension(options = {}) {
11
11
  const log = options.log ?? ((level, message, fields) => {
12
12
  if (level === 'error')
@@ -21,10 +21,11 @@ export function createCodebaseMemoryExtension(options = {}) {
21
21
  });
22
22
  let detection = await detectCbm(pi.runtime);
23
23
  let hintShown = false;
24
+ let client;
24
25
  let projects;
25
26
  let activeIndexSession;
26
27
  const activate = (available) => {
27
- const client = new CbmClient(pi.runtime, available.invocation);
28
+ client = new CbmClient(pi.runtime, available.invocation);
28
29
  const configured = pi.config.maxCacheBytes;
29
30
  const maxCacheBytes = typeof configured === 'number' && configured > 0 ? configured : undefined;
30
31
  projects = new ProjectService(pi.runtime, client, maxCacheBytes, telemetry);
@@ -66,10 +67,11 @@ export function createCodebaseMemoryExtension(options = {}) {
66
67
  await refresh(projects, ctx);
67
68
  },
68
69
  });
69
- pi.on('session_start', (_event, ctx) => {
70
+ pi.on('session_start', async (_event, ctx) => {
70
71
  if (activeIndexSession)
71
72
  activeIndexSession.active = false;
72
73
  activeIndexSession = undefined;
74
+ await client?.reset();
73
75
  if (!projects) {
74
76
  if (pi.runtime.kind === 'host' && ctx.hasUI && !hintShown) {
75
77
  hintShown = true;
@@ -81,11 +83,12 @@ export function createCodebaseMemoryExtension(options = {}) {
81
83
  activeIndexSession = session;
82
84
  void refresh(projects, ctx, session);
83
85
  });
84
- pi.on('session_shutdown', (_event, ctx) => {
86
+ pi.on('session_shutdown', async (_event, ctx) => {
85
87
  if (activeIndexSession)
86
88
  activeIndexSession.active = false;
87
89
  activeIndexSession = undefined;
88
90
  ctx.ui.setStatus('codebase-memory', undefined);
91
+ await client?.close();
89
92
  });
90
93
  };
91
94
  associateExtensionConfig(extension, CODEBASE_MEMORY_CONFIG);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class ProjectService {
5
5
  #private;
6
6
  private readonly runtime;
7
7
  private readonly client;
8
+ private readonly telemetry;
8
9
  constructor(runtime: AgentRuntime, client: CbmClient, maxCacheBytes: number | undefined, telemetry: CodebaseMemoryTelemetry);
9
10
  gitRoot(signal?: AbortSignal, timeout?: number): Promise<string>;
10
11
  index(signal?: AbortSignal): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAgB,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAI1D,qBAAa,cAAc;;IAKvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,SAAS,EAClC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,EAAE,uBAAuB;IAO9B,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAUhE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAgC7C,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYzE;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAa,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAA5C,MAAM,EAAE,SAAS,EAAmB,QAAQ,EAAE,cAAc;IAEnF,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAmC7E,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAoB7F;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhE"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAgB,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAK1D,qBAAa,cAAc;;IAKvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAHT,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,SAAS,EAClC,aAAa,EAAE,MAAM,GAAG,SAAS,EAChB,SAAS,EAAE,uBAAuB;IAO/C,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAUhE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C7C,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYzE;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAa,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAA5C,MAAM,EAAE,SAAS,EAAmB,QAAQ,EAAE,cAAc;IAEnF,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAmC7E,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAoB7F;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhE"}
package/dist/services.js CHANGED
@@ -1,17 +1,20 @@
1
1
  import { CacheManager } from './cache.js';
2
2
  import { CbmClient, INDEX_TIMEOUT_MS } from './client.js';
3
3
  const activeIndexes = new Map();
4
+ const cacheAccounts = new Map();
4
5
  export class ProjectService {
5
6
  runtime;
6
7
  client;
8
+ telemetry;
7
9
  #cache;
8
10
  #project;
9
11
  constructor(runtime, client, maxCacheBytes, telemetry) {
10
12
  this.runtime = runtime;
11
13
  this.client = client;
14
+ this.telemetry = telemetry;
12
15
  this.#cache = new CacheManager(runtime, maxCacheBytes, telemetry, async (project) => {
13
16
  await client.call('delete_project', { project }).catch(() => { });
14
- }, () => this.#cacheSize());
17
+ });
15
18
  }
16
19
  async gitRoot(signal, timeout = 10_000) {
17
20
  const result = await this.runtime.exec('git', ['rev-parse', '--show-toplevel'], {
@@ -36,22 +39,36 @@ export class ProjectService {
36
39
  const project = typeof record.project === 'string' ? record.project : projectName(root);
37
40
  this.#project = project;
38
41
  await this.#cache.record(project, 0);
42
+ void this.#accountCache();
39
43
  return data;
40
44
  }).finally(() => { activeIndexes.delete(key); });
41
45
  activeIndexes.set(key, request);
42
46
  return request;
43
47
  }
44
- async #cacheSize() {
48
+ async #accountCache() {
49
+ const key = this.client.cacheRoot;
50
+ const existing = cacheAccounts.get(key);
51
+ if (existing)
52
+ return existing;
53
+ const account = this.#accountCacheOnce().finally(() => {
54
+ if (cacheAccounts.get(key) === account)
55
+ cacheAccounts.delete(key);
56
+ });
57
+ cacheAccounts.set(key, account);
58
+ return account;
59
+ }
60
+ async #accountCacheOnce() {
45
61
  try {
46
62
  const listed = await this.client.call('list_projects', {});
47
63
  const projects = arrayProperty(listed.data, 'projects');
48
- return projects.reduce((sum, project) => {
64
+ const bytes = projects.reduce((sum, project) => {
49
65
  const bytes = asRecord(project).size_bytes;
50
66
  return typeof bytes === 'number' && Number.isFinite(bytes) ? sum + bytes : sum;
51
67
  }, 0);
68
+ this.telemetry('cache_size', { bytes, maxBytes: this.#cache.maxBytes, projects: projects.length });
52
69
  }
53
70
  catch {
54
- return this.#cache.maxBytes + 1;
71
+ return;
55
72
  }
56
73
  }
57
74
  async project(signal, timeoutMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAgC,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;AAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEvD,MAAM,OAAO,cAAc;IAKN;IACA;IAEA;IAPV,MAAM,CAAe;IAC9B,QAAQ,CAAqB;IAE7B,YACmB,OAAqB,EACrB,MAAiB,EAClC,aAAiC,EAChB,SAAkC;QAHlC,YAAO,GAAP,OAAO,CAAc;QACrB,WAAM,GAAN,MAAM,CAAW;QAEjB,cAAS,GAAT,SAAS,CAAyB;QAEnD,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAClF,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAoB,EAAE,OAAO,GAAG,MAAM;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE;YAC9E,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,cAAc,EAAE,EAAE,GAAG,IAAI;YACzB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,OAAO;SACR,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,SAAS,IAAI,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YACtF,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACpD,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;gBAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;gBAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YACjF,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACrG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,OAAO,CAAC,MAAoB,EAAE,SAAkB;QACpD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE;YACzD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QAClH,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,GAAG,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACK;IAAoC;IAAjE,YAA6B,MAAiB,EAAmB,QAAwB;QAA5D,WAAM,GAAN,MAAM,CAAW;QAAmB,aAAQ,GAAR,QAAQ,CAAgB;IAAG,CAAC;IAE7F,KAAK,CAAC,IAAI,CAAC,MAA+B,EAAE,MAAoB;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE;YACpD,OAAO;YACP,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;gBACxB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,EAAE;SACV,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,MAAM,aAAa,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,OAAO,CAAC,CAAC,aAAa;mBACf,SAAS,CAAC,IAAI,KAAK,aAAa;mBAChC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC;mBACpD,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,aAAa,KAAK,MAAM,CAAC,cAAc,CAAC;mBACnE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO;gBACP,UAAU,EAAE,OAAO;gBACnB,KAAK,EAAE,qEAAqE;aAC7E,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC;QACxD,IAAI,OAAO,aAAa,KAAK,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;QACzG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/I,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA+B,EAAE,MAAoB;QACvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE;YACpD,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,MAAM,EAAE,MAAM;SACf,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;YACvD,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;YACzD,IAAI,OAAO,aAAa,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/I,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,GAAW;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;IAC7F,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CACtE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1F,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC;AACtH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,GAAW,EAAE,GAAW,EAAE,QAAgB;IAC1E,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,cAAuB;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;QAC3D,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IACtG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AACpF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@felan-ai/ext-codebase-memory",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Portable Codebase Memory tools and grep augmentation for Felan",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -32,7 +32,7 @@
32
32
  "@felan-ai/agent-core": "^0.5.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@felan-ai/agent-core": "0.5.6"
35
+ "@felan-ai/agent-core": "0.5.7"
36
36
  },
37
37
  "publishConfig": {
38
38
  "access": "public",