@felan-ai/ext-codebase-memory 0.2.0 → 0.2.1

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/dist/config.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export declare const CODEBASE_MEMORY_CONFIG: import("@felan-ai/agent-core").ExtensionConfigDefinition<{
2
+ readonly mode: import("@felan-ai/agent-core").ExtensionConfigField<"curated" | "direct" | "proxy">;
2
3
  readonly maxCacheBytes: import("@felan-ai/agent-core").ExtensionConfigField<number>;
3
4
  }>;
4
5
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB;;EAYjC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB;;;EAgBjC,CAAC"}
package/dist/config.js CHANGED
@@ -3,6 +3,10 @@ export const CODEBASE_MEMORY_CONFIG = defineExtensionConfig({
3
3
  id: 'codebaseMemory',
4
4
  title: 'Codebase Memory',
5
5
  fields: {
6
+ mode: configField.enum(['curated', 'direct', 'proxy'], {
7
+ default: 'curated',
8
+ description: 'Model-facing Codebase Memory tool surface',
9
+ }),
6
10
  maxCacheBytes: configField.number({
7
11
  default: 0,
8
12
  description: 'Maximum bytes retained by the Codebase Memory LRU cache; 0 uses the runtime default',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;IAC1D,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE;QACN,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC;YAChC,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,qFAAqF;YAClG,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;gBAClG,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,gCAAgC;SACrC,CAAC;KACH;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;IAC1D,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE;QACN,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;YACrD,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,2CAA2C;SACzD,CAAC;QACF,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC;YAChC,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,qFAAqF;YAClG,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;gBAClG,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,gCAAgC;SACrC,CAAC;KACH;CACF,CAAC,CAAC"}
@@ -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,8uBAA4uB,CAAC;AAEjyB,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,CA0F1G;AAkDD,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,8uBAA4uB,CAAC;AAEjyB,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,CA2F1G;AAwDD,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
@@ -31,8 +31,9 @@ export function createCodebaseMemoryExtension(options = {}) {
31
31
  const maxCacheBytes = typeof configured === 'number' && configured > 0 ? configured : undefined;
32
32
  projects = new ProjectService(pi.runtime, client, maxCacheBytes, telemetry);
33
33
  const symbols = new SymbolService(client, projects);
34
- pi.registerCapability({ id: 'codebase-memory', instructions: CODEBASE_MEMORY_CAPABILITY_INSTRUCTIONS });
35
- registerTools(pi, client, projects, symbols);
34
+ const mode = pi.config.mode === 'direct' || pi.config.mode === 'proxy' ? pi.config.mode : 'curated';
35
+ pi.registerCapability({ id: 'codebase-memory', instructions: capabilityInstructions(mode) });
36
+ registerTools(pi, client, projects, symbols, mode);
36
37
  registerGrepAugmentation(pi, client, projects, telemetry);
37
38
  };
38
39
  if (detection.available)
@@ -98,6 +99,13 @@ export function createCodebaseMemoryExtension(options = {}) {
98
99
  associateExtensionConfig(extension, CODEBASE_MEMORY_CONFIG);
99
100
  return extension;
100
101
  }
102
+ function capabilityInstructions(mode) {
103
+ if (mode === 'direct')
104
+ return 'Use the Codebase Memory tools for structural code exploration. These tools map directly to the bounded codebase-memory-mcp command surface.';
105
+ if (mode === 'proxy')
106
+ return 'Use codebase_memory with an allowed command and arguments for structural code exploration. The command surface is bounded.';
107
+ return CODEBASE_MEMORY_CAPABILITY_INSTRUCTIONS;
108
+ }
101
109
  function detectionMessage(detection) {
102
110
  return detection.available ? 'Codebase Memory installed. Restart Felan to activate it.' : detection.reason;
103
111
  }
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":"AAAA,OAAO,EACL,wBAAwB,GAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAgC,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAA0C,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAoB,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,uCAAuC,GAAG,yuBAAyuB,CAAC;AAWjyB,MAAM,UAAU,6BAA6B,CAAC,UAA0C,EAAE;IACxF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;;YAC9E,OAAO,CAAC,IAAI,CAAC,qBAAqB,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAmB,KAAK,EAAE,EAAE,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,GAAiB,MAAM,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,WAAuC,CAAC;QAC5C,IAAI,QAAoC,CAAC;QACzC,IAAI,kBAA4C,CAAC;QAEjD,MAAM,QAAQ,GAAG,KAAK,EAAE,SAAqD,EAAE,EAAE;YAC/E,WAAW,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;YAC3C,MAAM,aAAa,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,QAAQ,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACpG,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7F,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACnD,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,IAAI,SAAS,CAAC,SAAS;YAAE,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;aAC9C,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpC,GAAG,CAAC,OAAO,EAAE,sFAAsF,EAAE;gBACnG,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI;gBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC,CAAC;QACL,CAAC;QAED,EAAE,CAAC,eAAe,CAAC,iBAAiB,EAAE;YACpC,WAAW,EAAE,oEAAoE;YACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC3D,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2CAA2C,EAAE,SAAS,CAAC,CAAC;oBACtE,OAAO;gBACT,CAAC;gBACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,yBAAyB,EAAE,oGAAoG,CAAC;wBAAE,OAAO;oBACnK,SAAS,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;oBAC3G,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBAC/C,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACnF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,SAAS,CAAC,SAAS;wBACjB,CAAC,CAAC,yFAAyF;wBAC3F,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,8CAA8C,EACrE,SAAS,CACV,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACnD,CAAC;SACF,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACrC,IAAI,kBAAkB;gBAAE,kBAAkB,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1D,kBAAkB,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC1D,SAAS,GAAG,IAAI,CAAC;oBACjB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,8FAA8F,EAAE,MAAM,CAAC,CAAC;gBACxH,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACjC,kBAAkB,GAAG,OAAO,CAAC;YAC7B,KAAK,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC9C,IAAI,kBAAkB;gBAAE,kBAAkB,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1D,kBAAkB,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;oBAAS,CAAC;gBACT,MAAM,WAAW,EAAE,OAAO,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,wBAAwB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAC5D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAoC;IAClE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,6IAA6I,CAAC;IAC5K,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,4HAA4H,CAAC;IAC1J,OAAO,uCAAuC,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAuB;IAC/C,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;AAC7G,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAwB,EAAE,GAAqB,EAAE,OAAsB;IAC5F,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO;IACvC,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,4BAA4B,CAAC,KAAK,CAAC;YAAE,OAAO;QAChD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAgB,CAAC;IACrB,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO;IACvC,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,oBAAoB,MAAM,CAAC,MAAM,kHAAkH,EACnJ,SAAS,CACV,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC5H,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;IACxD,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc;IAClD,OAAO,KAAK,YAAY,KAAK;WACxB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,kEAAkE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,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"}
@@ -0,0 +1,13 @@
1
+ import { Type, type TObject } from 'typebox';
2
+ export declare const RAW_COMMANDS: readonly ["index_repository", "search_graph", "query_graph", "trace_path", "get_graph_schema", "get_architecture", "index_status", "check_index_coverage", "detect_changes", "get_code_snippet", "search_code", "list_projects"];
3
+ export type RawCommand = typeof RAW_COMMANDS[number];
4
+ export type CodebaseMemoryMode = 'curated' | 'direct' | 'proxy';
5
+ export declare const RAW_COMMAND_SCHEMA: Type.TUnion<[Type.TLiteral<Type.TLiteralValue>, ...Type.TLiteral<Type.TLiteralValue>[]]>;
6
+ export declare const RAW_TOOL_CATALOG: ReadonlyArray<{
7
+ name: RawCommand;
8
+ description: string;
9
+ parameters: TObject;
10
+ projectScoped: boolean;
11
+ }>;
12
+ export declare function validateRawArguments(command: string, args: unknown): Record<string, unknown>;
13
+ //# sourceMappingURL=raw-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-catalog.d.ts","sourceRoot":"","sources":["../src/raw-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAM7C,eAAO,MAAM,YAAY,kOAaf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChE,eAAO,MAAM,kBAAkB,0FAA8I,CAAC;AAE9K,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC;IAC3C,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB,CA2JA,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAe5F"}
@@ -0,0 +1,191 @@
1
+ import { Type } from 'typebox';
2
+ import { Check } from 'typebox/value';
3
+ // Static schemas from codebase-memory-mcp 0.10.8, src/mcp/mcp.c at
4
+ // 46ae198fc11cda80e817acbc5f5908d7c2de7032. Project selection and full indexing
5
+ // are host-controlled; backend defaults are documented but never applied here.
6
+ export const RAW_COMMANDS = [
7
+ 'index_repository',
8
+ 'search_graph',
9
+ 'query_graph',
10
+ 'trace_path',
11
+ 'get_graph_schema',
12
+ 'get_architecture',
13
+ 'index_status',
14
+ 'check_index_coverage',
15
+ 'detect_changes',
16
+ 'get_code_snippet',
17
+ 'search_code',
18
+ 'list_projects',
19
+ ];
20
+ export const RAW_COMMAND_SCHEMA = Type.Union(RAW_COMMANDS.map((command) => Type.Literal(command)));
21
+ export const RAW_TOOL_CATALOG = [
22
+ {
23
+ name: 'index_repository',
24
+ description: 'Fully index the current repository into the knowledge graph. Coverage metadata is best-effort; missing flags do not guarantee completeness.',
25
+ parameters: Type.Object({
26
+ repo_path: Type.Optional(Type.String({ minLength: 1, description: 'Path to the repository. Omit to index the current repository.' })),
27
+ }, { additionalProperties: false }),
28
+ projectScoped: false,
29
+ },
30
+ {
31
+ name: 'search_graph',
32
+ description: 'Search graph definitions and relationships using BM25 query, regex patterns, or semantic keyword arrays. Results are paginated via offset and limit; inspect total and has_more.',
33
+ parameters: Type.Object({
34
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
35
+ query: Type.Optional(Type.String({ description: 'Natural-language or keyword full-text search using BM25 ranking. Tokens are split on whitespace; camelCase identifiers are indexed as individual words (updateCloudClient → update, cloud, client). Results are ranked with structural boosting: Functions/Methods +10, Routes +8, Classes/Interfaces +5. Noise labels (File/Folder/Module/Variable) are filtered out. When provided, name_pattern is ignored.' })),
36
+ label: Type.Optional(Type.String()),
37
+ name_pattern: Type.Optional(Type.String()),
38
+ qn_pattern: Type.Optional(Type.String()),
39
+ file_pattern: Type.Optional(Type.String()),
40
+ relationship: Type.Optional(Type.String()),
41
+ min_degree: Type.Optional(Type.Integer()),
42
+ max_degree: Type.Optional(Type.Integer()),
43
+ exclude_entry_points: Type.Optional(Type.Boolean()),
44
+ include_connected: Type.Optional(Type.Boolean()),
45
+ semantic_query: Type.Optional(Type.Array(Type.String(), { description: 'MUST be an ARRAY of keyword strings (e.g. ["send","pubsub","publish"]) — NOT a single string. Each keyword is scored independently via per-keyword min-cosine; results reflect functions that score well on ALL keywords. Requires moderate/full index mode. Results appear in the \'semantic_results\' field (separate from \'results\').' })),
46
+ limit: Type.Optional(Type.Integer({ description: 'Max results per call. Default 50. Response carries \'total\' (full match count) and \'has_more\' (true if truncated) so callers can detect the limit and paginate.' })),
47
+ offset: Type.Optional(Type.Integer({ default: 0, description: 'Skip the first N matching nodes. Combine with \'limit\' to page: increment offset by limit and re-call while has_more is true.' })),
48
+ format: Type.Optional(Type.Union([Type.Literal('tree'), Type.Literal('json')], { default: 'tree', description: 'Response encoding. tree (default): prefix-grouped text rows. json: the SAME tree model as structured JSON (groups + column-ordered row arrays).' })),
49
+ fields: Type.Optional(Type.Array(Type.String(), { description: 'Extra per-node property columns, e.g. complexity, cognitive, signature, docstring, return_type, is_test, lines(int). Core row columns (qn/label/file/lines/in/out) are always present — do not request them here. Missing values emit as empty cells.' })),
50
+ detail: Type.Optional(Type.Union([Type.Literal('ids'), Type.Literal('default')], { default: 'default', description: 'ids: bare qualified-name enumeration (one column) — cheapest form for wide sweeps where per-row metadata is noise. default: full rows.' })),
51
+ }, { additionalProperties: false }),
52
+ projectScoped: true,
53
+ },
54
+ {
55
+ name: 'query_graph',
56
+ description: 'Execute a Cypher query for graph patterns and aggregations. Results have a hard 100k row ceiling; use LIMIT or search_graph pagination for broad queries.',
57
+ parameters: Type.Object({
58
+ query: Type.String({ description: 'Cypher query' }),
59
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
60
+ graph: Type.Optional(Type.Union([Type.Literal('code'), Type.Literal('missed')], { default: 'code', description: 'Which graph to query: the code knowledge graph (default) or the missed graph (only files not fully indexed, laid out as their file structure).' })),
61
+ max_rows: Type.Optional(Type.Integer({ description: 'Optional row limit. Default: unlimited up to a 100k row ceiling. No offset support — use search_graph for paginated browsing.' })),
62
+ }, { additionalProperties: false }),
63
+ projectScoped: true,
64
+ },
65
+ {
66
+ name: 'trace_path',
67
+ description: 'Trace callers, callees, data flow, or cross-service paths from a function. Results support bounded pages and continuation cursors.',
68
+ parameters: Type.Object({
69
+ function_name: Type.String(),
70
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
71
+ direction: Type.Optional(Type.Union([Type.Literal('inbound'), Type.Literal('outbound'), Type.Literal('both')], { default: 'both' })),
72
+ depth: Type.Optional(Type.Integer({ default: 3 })),
73
+ limit: Type.Optional(Type.Integer({ default: 100, minimum: 1, maximum: 5000, description: 'Rows per page. callees_total/callers_total always carry the exact full counts; when a page is truncated the response carries next — see cursor.' })),
74
+ cursor: Type.Optional(Type.String({ description: 'Resume token from a previous response\'s \'next\' field. Pass it back with ALL other arguments identical to get the following page with no duplicates. Cursors outlive nothing: after a reindex you get a stale_cursor error — just re-run the original query.' })),
75
+ mode: Type.Optional(Type.Union([Type.Literal('calls'), Type.Literal('data_flow'), Type.Literal('cross_service')], { default: 'calls', description: 'calls: follow CALLS edges. data_flow: follow CALLS+DATA_FLOWS with arg expressions. cross_service: follow HTTP_CALLS+ASYNC_CALLS+DATA_FLOWS through Routes, plus CROSS_* cross-repo edges (CROSS_HTTP_CALLS/ASYNC_CALLS/CHANNEL/GRPC_CALLS/GRAPHQL_CALLS/TRPC_CALLS) to hop into other services.' })),
76
+ parameter_name: Type.Optional(Type.String({ description: 'For data_flow mode: scope trace to a specific parameter name' })),
77
+ edge_types: Type.Optional(Type.Array(Type.String())),
78
+ risk_labels: Type.Optional(Type.Boolean({ default: false, description: 'Add risk classification (CRITICAL/HIGH/MEDIUM/LOW) based on hop distance' })),
79
+ include_tests: Type.Optional(Type.Boolean({ default: false, description: 'Include test files in results. When false (default), test files are filtered out. When true, test nodes are included with a test column/marker.' })),
80
+ format: Type.Optional(Type.Union([Type.Literal('tree'), Type.Literal('json')], { default: 'tree', description: 'Response encoding. tree (default): prefix-grouped text rows. json: the SAME tree model as structured JSON (groups + column-ordered row arrays).' })),
81
+ include_evidence: Type.Optional(Type.Boolean({ default: false, description: 'Add how each hop was resolved: a strategy class (lsp | language_rule | heuristic | unresolved) and the resolver\'s confidence. Off by default — it adds two columns per row. Use it to judge whether an edge is trustworthy, not to find edges.' })),
82
+ }, { additionalProperties: false }),
83
+ projectScoped: true,
84
+ },
85
+ {
86
+ name: 'get_graph_schema',
87
+ description: 'Get graph node labels, relationship types, and properties for constructing queries.',
88
+ parameters: Type.Object({
89
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
90
+ }, { additionalProperties: false }),
91
+ projectScoped: true,
92
+ },
93
+ {
94
+ name: 'get_architecture',
95
+ description: 'Get architecture summaries, directory structure, dependencies, and selected architectural aspects.',
96
+ parameters: Type.Object({
97
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
98
+ path: Type.Optional(Type.String({ description: 'Optional directory prefix to scope architecture (e.g. apps/hoa)' })),
99
+ aspects: Type.Optional(Type.Array(Type.Union([Type.Literal('all'), Type.Literal('overview'), Type.Literal('structure'), Type.Literal('dependencies'), Type.Literal('routes'), Type.Literal('languages'), Type.Literal('packages'), Type.Literal('entry_points'), Type.Literal('hotspots'), Type.Literal('boundaries'), Type.Literal('layers'), Type.Literal('file_tree'), Type.Literal('clusters'), Type.Literal('cycles')]), { description: 'Aspects to include. \'all\' = everything; \'overview\' = compact summary (all except file_tree); omit = all. \'cycles\' is opt-in ONLY (never via all/overview): it scans the whole call graph for circular CALLS dependencies (SCCs of size > 1).' })),
100
+ }, { additionalProperties: false }),
101
+ projectScoped: true,
102
+ },
103
+ {
104
+ name: 'index_status',
105
+ description: 'Get indexing status and best-effort coverage metadata, including skipped, partially parsed, and deliberately excluded files.',
106
+ parameters: Type.Object({
107
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
108
+ verbose: Type.Optional(Type.Boolean({ default: false, description: 'Include the git context block (worktree/shadow path variants). Only needed when debugging where an index lives — omitted by default to keep the status lean.' })),
109
+ }, { additionalProperties: false }),
110
+ projectScoped: true,
111
+ },
112
+ {
113
+ name: 'check_index_coverage',
114
+ description: 'Check authoritative coverage metadata for repository-relative paths or bounded scopes. At least one of paths or scopes is required by the backend. Absence of recorded gaps does not guarantee completeness.',
115
+ parameters: Type.Object({
116
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
117
+ paths: Type.Optional(Type.Array(Type.String(), { maxItems: 128, description: 'Repository-relative files to check exactly. Required if \'scopes\' is omitted.' })),
118
+ scopes: Type.Optional(Type.Array(Type.String(), { maxItems: 32, description: 'Repository-relative path prefixes; use . for the project root. Required if \'paths\' is omitted.' })),
119
+ scope_limit: Type.Optional(Type.Integer({ default: 200, minimum: 1, maximum: 1000 })),
120
+ scope_offset: Type.Optional(Type.Integer({ default: 0, minimum: 0 })),
121
+ }, { additionalProperties: false }),
122
+ projectScoped: true,
123
+ },
124
+ {
125
+ name: 'detect_changes',
126
+ description: 'Map a git diff to changed files and transitive graph impact. Inspect impacted_total and truncated for result completeness.',
127
+ parameters: Type.Object({
128
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
129
+ scope: Type.Optional(Type.Union([Type.Literal('files'), Type.Literal('impact')], { description: 'files: changed files only (no traversal). impact (default): files + the transitive impact set.' })),
130
+ direction: Type.Optional(Type.Union([Type.Literal('inbound'), Type.Literal('outbound'), Type.Literal('both')], { default: 'inbound', description: 'inbound (default) = the blast radius: transitive CALLERS of the changed symbols. outbound = what the changed code depends on. both = union.' })),
131
+ depth: Type.Optional(Type.Integer({ default: 2, description: 'Max traversal hops from the changed symbols.' })),
132
+ limit: Type.Optional(Type.Integer({ default: 200, maximum: 5000, description: 'Per-symbol impacted rows shown (nearest hops first). impacted_total is always exact and the impacted_modules rollup always complete regardless.' })),
133
+ base_branch: Type.Optional(Type.String({ default: 'main' })),
134
+ since: Type.Optional(Type.String({ description: 'Git ref or tag to compare from (e.g. HEAD~5, v0.5.0). Diffs <ref>...HEAD.' })),
135
+ format: Type.Optional(Type.Union([Type.Literal('tree'), Type.Literal('json')], { default: 'tree' })),
136
+ }, { additionalProperties: false }),
137
+ projectScoped: true,
138
+ },
139
+ {
140
+ name: 'get_code_snippet',
141
+ description: 'Read source code for a symbol. First use search_graph to find its qualified_name; whole-file results are capped by the backend.',
142
+ parameters: Type.Object({
143
+ qualified_name: Type.String({ description: 'Full qualified_name from search_graph, or short function name' }),
144
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
145
+ include_neighbors: Type.Optional(Type.Boolean({ default: false })),
146
+ }, { additionalProperties: false }),
147
+ projectScoped: true,
148
+ },
149
+ {
150
+ name: 'search_code',
151
+ description: 'Search repository source text with optional regex and path filters. Returns enriched symbol context; inspect total_grep_matches and total_results for truncation.',
152
+ parameters: Type.Object({
153
+ pattern: Type.String(),
154
+ project: Type.Optional(Type.String({ description: 'Current project. May be omitted; the host injects it and rejects a different project.' })),
155
+ file_pattern: Type.Optional(Type.String({ description: 'Glob for grep --include (e.g. *.go)' })),
156
+ path_filter: Type.Optional(Type.String({ description: 'Regex filter on result file paths (e.g. ^src/ or \\.(go|ts)$)' })),
157
+ mode: Type.Optional(Type.Union([Type.Literal('compact'), Type.Literal('full'), Type.Literal('files')], { default: 'compact', description: 'compact: signatures+metadata (default). full: with source. files: just file list.' })),
158
+ context: Type.Optional(Type.Integer({ description: 'Lines of context around each match (like grep -C). Only used in compact mode.' })),
159
+ regex: Type.Optional(Type.Boolean({ default: false })),
160
+ debug: Type.Optional(Type.Boolean({ default: false, description: 'Include scope_ms, scan_ms, and enrich_ms phase timing diagnostics.' })),
161
+ limit: Type.Optional(Type.Integer({ description: 'Max enriched results per call. Default 10. Response includes \'total_grep_matches\' and \'total_results\' so callers can detect truncation. No offset parameter — raise limit or narrow with file_pattern / path_filter to see more.', default: 10, minimum: 1 })),
162
+ }, { additionalProperties: false }),
163
+ projectScoped: true,
164
+ },
165
+ {
166
+ name: 'list_projects',
167
+ description: 'List indexed projects with bounded pagination and optional detailed metadata.',
168
+ parameters: Type.Object({
169
+ offset: Type.Optional(Type.Integer({ minimum: 0, default: 0 })),
170
+ limit: Type.Optional(Type.Integer({ minimum: 1, maximum: 100, default: 50 })),
171
+ include_details: Type.Optional(Type.Boolean({ default: false, description: 'Include branch, node/edge counts and database size. Slower.' })),
172
+ metadata_only: Type.Optional(Type.Boolean({ description: 'Deprecated compatibility alias for include_details=false.' })),
173
+ }, { additionalProperties: false }),
174
+ projectScoped: false,
175
+ },
176
+ ];
177
+ export function validateRawArguments(command, args) {
178
+ const tool = RAW_TOOL_CATALOG.find((entry) => entry.name === command);
179
+ if (!tool) {
180
+ throw new Error(`Unsupported Codebase Memory command: ${command.slice(0, 80)}`);
181
+ }
182
+ if (args === null || typeof args !== 'object' || Array.isArray(args)) {
183
+ throw new Error(`Invalid arguments for ${tool.name}: expected an object.`);
184
+ }
185
+ if (!Check(tool.parameters, args)) {
186
+ const required = tool.parameters.required?.join(', ') || 'none';
187
+ throw new Error(`Invalid arguments for ${tool.name}: expected the command schema; required fields: ${required}. Unknown fields are not allowed.`);
188
+ }
189
+ return args;
190
+ }
191
+ //# sourceMappingURL=raw-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-catalog.js","sourceRoot":"","sources":["../src/raw-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CbmClient } from './client.js';
2
+ import type { ProjectService } from './services.js';
3
+ export declare function dispatchRawCommand(client: CbmClient, projects: ProjectService, command: string, input: unknown, signal?: AbortSignal): Promise<unknown>;
4
+ //# sourceMappingURL=raw-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-dispatch.d.ts","sourceRoot":"","sources":["../src/raw-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC,CA2BlB"}
@@ -0,0 +1,29 @@
1
+ import { RAW_TOOL_CATALOG, validateRawArguments } from './raw-catalog.js';
2
+ export async function dispatchRawCommand(client, projects, command, input, signal) {
3
+ const args = validateRawArguments(command, input);
4
+ signal?.throwIfAborted();
5
+ if (command === 'index_repository') {
6
+ const repoPath = args.repo_path;
7
+ if (repoPath !== undefined && !repoPath.trim()) {
8
+ throw new Error('Codebase Memory repo_path must not be blank');
9
+ }
10
+ const result = await projects.index(signal, repoPath);
11
+ return result.status === 'indexed' ? result.data : result;
12
+ }
13
+ const tool = RAW_TOOL_CATALOG.find((entry) => entry.name === command);
14
+ if (!tool.projectScoped) {
15
+ return (await client.call(command, args, signal === undefined ? {} : { signal })).data;
16
+ }
17
+ const rejection = await projects.autoIndexRejectionReason(signal);
18
+ if (rejection) {
19
+ return {
20
+ error: `This folder is not auto-indexed due to: ${rejection}. Index it only after explicit user approval/request.`,
21
+ };
22
+ }
23
+ const project = await projects.project(signal);
24
+ if (args.project !== undefined && args.project !== project) {
25
+ throw new Error('Codebase Memory queries must use the active project; omit project to select it automatically');
26
+ }
27
+ return (await client.call(command, { ...args, project }, signal === undefined ? {} : { signal })).data;
28
+ }
29
+ //# sourceMappingURL=raw-dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-dispatch.js","sourceRoot":"","sources":["../src/raw-dispatch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,QAAwB,EACxB,OAAe,EACf,KAAc,EACd,MAAoB;IAEpB,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAA+B,CAAC;QACtD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAE,CAAC;IACvE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,KAAK,EAAE,2CAA2C,SAAS,uDAAuD;SACnH,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzG,CAAC"}
package/dist/tools.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { FelanExtensionAPI } from '@felan-ai/agent-core';
2
2
  import type { CbmClient } from './client.js';
3
3
  import { type ProjectService, type SymbolService } from './services.js';
4
- export declare function registerTools(pi: FelanExtensionAPI, client: CbmClient, projects: ProjectService, symbols: SymbolService): void;
4
+ import { type CodebaseMemoryMode } from './raw-catalog.js';
5
+ export declare function registerTools(pi: FelanExtensionAPI, client: CbmClient, projects: ProjectService, symbols: SymbolService, mode?: CodebaseMemoryMode): void;
5
6
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAyB,MAAM,sBAAsB,CAAC;AAGrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAiBlF,wBAAgB,aAAa,CAC3B,EAAE,EAAE,iBAAiB,EACrB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,GACrB,IAAI,CAyHN"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAyB,MAAM,sBAAsB,CAAC;AAGrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EAAwC,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAiBjG,wBAAgB,aAAa,CAC3B,EAAE,EAAE,iBAAiB,EACrB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,kBAA8B,GACnC,IAAI,CAyJN"}
package/dist/tools.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { Text } from '@earendil-works/pi-tui';
2
2
  import { Type } from 'typebox';
3
3
  import { asRecord } from './services.js';
4
+ import { dispatchRawCommand } from './raw-dispatch.js';
5
+ import { RAW_COMMAND_SCHEMA, RAW_TOOL_CATALOG } from './raw-catalog.js';
4
6
  const MaxSymbolLines = Type.Optional(Type.Integer({ minimum: 1, maximum: 220, default: 220 }));
5
7
  const MaxSearchAndReadSymbolLines = Type.Optional(Type.Integer({ minimum: 1, maximum: 220, default: 120 }));
6
8
  const ProxyCommand = Type.Union([
@@ -15,7 +17,38 @@ const ProxyCommand = Type.Union([
15
17
  Type.Literal('detect_changes'),
16
18
  ]);
17
19
  const PROXY_COMMANDS = new Set(ProxyCommand.anyOf.map((entry) => entry.const));
18
- export function registerTools(pi, client, projects, symbols) {
20
+ export function registerTools(pi, client, projects, symbols, mode = 'curated') {
21
+ if (mode !== 'curated') {
22
+ const entries = mode === 'proxy' ? [RAW_TOOL_CATALOG[0]] : RAW_TOOL_CATALOG;
23
+ for (const entry of entries) {
24
+ pi.registerTool({
25
+ name: mode === 'proxy' ? 'codebase_memory' : entry.name,
26
+ label: mode === 'proxy' ? 'codebase_memory' : entry.name,
27
+ description: mode === 'proxy'
28
+ ? 'Proxy an allowed Codebase Memory command.'
29
+ : entry.description,
30
+ promptSnippet: mode === 'proxy' ? 'Run an allowed Codebase Memory command' : entry.description,
31
+ parameters: mode === 'proxy'
32
+ ? Type.Object({
33
+ command: RAW_COMMAND_SCHEMA,
34
+ arguments: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
35
+ }, { additionalProperties: false })
36
+ : entry.parameters,
37
+ execute: async (_id, params, signal) => {
38
+ if (mode === 'proxy') {
39
+ const input = params;
40
+ return toolResult(await dispatchRawCommand(client, projects, input.command, input.arguments ?? {}, signal));
41
+ }
42
+ return toolResult(await dispatchRawCommand(client, projects, entry.name, params, signal));
43
+ },
44
+ renderCall(params, theme) {
45
+ const input = asRecord(params);
46
+ return renderToolCall(theme, mode === 'proxy' ? 'codebase_memory' : entry.name, mode === 'proxy' ? input.command : firstString(input.query, input.pattern, input.qualified_name, input.file_pattern));
47
+ },
48
+ });
49
+ }
50
+ return;
51
+ }
19
52
  const tools = [
20
53
  {
21
54
  name: 'codebase_memory',
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@felan-ai/ext-codebase-memory",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Portable Codebase Memory tools and grep augmentation for Felan",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,14 +25,14 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
- "@earendil-works/pi-tui": "0.85.0",
28
+ "@earendil-works/pi-tui": "0.85.1",
29
29
  "typebox": "1.1.38"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@felan-ai/agent-core": "^0.5.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@felan-ai/agent-core": "0.5.9"
35
+ "@felan-ai/agent-core": "0.5.10"
36
36
  },
37
37
  "publishConfig": {
38
38
  "access": "public",