matryoshka-rlm 0.2.32 → 0.2.34

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 (62) hide show
  1. package/README.md +27 -24
  2. package/config.example.json +10 -2
  3. package/dist/adapters/nucleus.d.ts.map +1 -1
  4. package/dist/adapters/nucleus.js +25 -1
  5. package/dist/adapters/nucleus.js.map +1 -1
  6. package/dist/config/grammar-config.d.ts +9 -50
  7. package/dist/config/grammar-config.d.ts.map +1 -1
  8. package/dist/config/grammar-config.js +17 -68
  9. package/dist/config/grammar-config.js.map +1 -1
  10. package/dist/config/index.d.ts +4 -2
  11. package/dist/config/index.d.ts.map +1 -1
  12. package/dist/config/index.js +4 -2
  13. package/dist/config/index.js.map +1 -1
  14. package/dist/config/paths.d.ts +3 -0
  15. package/dist/config/paths.d.ts.map +1 -0
  16. package/dist/config/paths.js +7 -0
  17. package/dist/config/paths.js.map +1 -0
  18. package/dist/config.d.ts +23 -1
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +37 -10
  21. package/dist/config.js.map +1 -1
  22. package/dist/fsm/rlm-states.d.ts +11 -0
  23. package/dist/fsm/rlm-states.d.ts.map +1 -1
  24. package/dist/fsm/rlm-states.js +18 -0
  25. package/dist/fsm/rlm-states.js.map +1 -1
  26. package/dist/index.js +3 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/llm/deepseek.d.ts +1 -1
  29. package/dist/llm/deepseek.d.ts.map +1 -1
  30. package/dist/llm/deepseek.js +4 -49
  31. package/dist/llm/deepseek.js.map +1 -1
  32. package/dist/llm/glm.d.ts +1 -1
  33. package/dist/llm/glm.d.ts.map +1 -1
  34. package/dist/llm/glm.js +6 -49
  35. package/dist/llm/glm.js.map +1 -1
  36. package/dist/llm/index.d.ts +4 -3
  37. package/dist/llm/index.d.ts.map +1 -1
  38. package/dist/llm/index.js +4 -3
  39. package/dist/llm/index.js.map +1 -1
  40. package/dist/llm/ollama.js +1 -1
  41. package/dist/llm/ollama.js.map +1 -1
  42. package/dist/llm/openai-compat.d.ts +9 -0
  43. package/dist/llm/openai-compat.d.ts.map +1 -0
  44. package/dist/llm/openai-compat.js +58 -0
  45. package/dist/llm/openai-compat.js.map +1 -0
  46. package/dist/llm/types.d.ts +1 -1
  47. package/dist/llm/types.d.ts.map +1 -1
  48. package/dist/mcp-server.js +1 -1
  49. package/dist/mcp-server.js.map +1 -1
  50. package/dist/synthesis/knowledge-base.d.ts +5 -2
  51. package/dist/synthesis/knowledge-base.d.ts.map +1 -1
  52. package/dist/synthesis/knowledge-base.js +5 -2
  53. package/dist/synthesis/knowledge-base.js.map +1 -1
  54. package/dist/treesitter/builtin-grammars.d.ts +1 -1
  55. package/dist/treesitter/builtin-grammars.js +1 -1
  56. package/dist/treesitter/index.d.ts +1 -1
  57. package/dist/treesitter/index.js +1 -1
  58. package/dist/treesitter/language-map.d.ts +1 -1
  59. package/dist/treesitter/language-map.d.ts.map +1 -1
  60. package/dist/treesitter/language-map.js +25 -4
  61. package/dist/treesitter/language-map.js.map +1 -1
  62. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Matryoshka
2
2
 
3
3
  [![Tests](https://github.com/yogthos/Matryoshka/actions/workflows/test.yml/badge.svg)](https://github.com/yogthos/Matryoshka/actions/workflows/test.yml)
4
+ [![SafeSkill 88/100](https://img.shields.io/badge/SafeSkill-88%2F100_Passes%20with%20Notes-yellow)](https://safeskill.dev/scan/yogthos-matryoshka)
4
5
 
5
6
  Process documents 100x larger than your LLM's context window—without vector databases or chunking heuristics.
6
7
 
@@ -247,7 +248,7 @@ npm run build
247
248
 
248
249
  ## Configuration
249
250
 
250
- Copy `config.example.json` to `config.json` and configure your LLM provider:
251
+ Copy `config.example.json` to `~/.config/matryoshka/config.json`:
251
252
 
252
253
  ```json
253
254
  {
@@ -256,23 +257,44 @@ Copy `config.example.json` to `config.json` and configure your LLM provider:
256
257
  },
257
258
  "providers": {
258
259
  "ollama": {
259
- "baseUrl": "http://localhost:11434",
260
+ "url": "http://localhost:11434/api/generate",
260
261
  "model": "qwen3-coder:30b",
261
262
  "options": { "temperature": 0.2, "num_ctx": 8192 }
262
263
  },
263
264
  "deepseek": {
264
- "baseUrl": "https://api.deepseek.com",
265
+ "url": "https://api.deepseek.com/chat/completions",
265
266
  "apiKey": "${DEEPSEEK_API_KEY}",
266
267
  "model": "deepseek-chat",
267
268
  "options": { "temperature": 0.2 }
269
+ },
270
+ "glm": {
271
+ "url": "https://open.bigmodel.cn/api/paas/v4/chat/completions",
272
+ "apiKey": "${ZHIPU_API_KEY}",
273
+ "model": "glm-4-plus",
274
+ "options": { "temperature": 0.2 }
268
275
  }
269
276
  },
270
277
  "rlm": {
271
278
  "maxTurns": 10
279
+ },
280
+ "grammars": {
281
+ "ocaml": {
282
+ "package": "tree-sitter-ocaml",
283
+ "extensions": [".ml", ".mli"],
284
+ "moduleExport": "ocaml",
285
+ "symbols": {
286
+ "value_definition": "function",
287
+ "type_definition": "type",
288
+ "module_definition": "module"
289
+ }
290
+ }
272
291
  }
273
292
  }
274
293
  ```
275
294
 
295
+ - **`llm` / `providers` / `rlm`** — LLM provider selection and RLM tuning (shown above with example providers). Each provider takes a full `url` (the complete API endpoint), an optional `apiKey` (supports `${ENV_VAR}` interpolation), a `model` name, and `options`.
296
+ - **`grammars`** — custom tree-sitter language mappings for symbol extraction (see [Adding Language Support](#adding-language-support) for the full list of built-in languages). Use the [tree-sitter playground](https://tree-sitter.github.io/tree-sitter/playground) to explore node types for your language.
297
+
276
298
  ## Usage
277
299
 
278
300
  ### CLI
@@ -441,7 +463,7 @@ import { runRLM } from "matryoshka-rlm/rlm";
441
463
  import { createLLMClient } from "matryoshka-rlm";
442
464
 
443
465
  const llmClient = createLLMClient("ollama", {
444
- baseUrl: "http://localhost:11434",
466
+ url: "http://localhost:11434/api/generate",
445
467
  model: "qwen3-coder:30b",
446
468
  options: { temperature: 0.2 }
447
469
  });
@@ -561,26 +583,7 @@ Once a package is installed, the language is automatically available for symbol
561
583
 
562
584
  #### Custom Language Configuration
563
585
 
564
- For languages without built-in mappings, create `~/.matryoshka/config.json` mapping tree-sitter node types to symbol kinds (`function`, `method`, `class`, `interface`, `type`, `struct`, `enum`, `trait`, `module`, `variable`, `constant`, `property`):
565
-
566
- ```json
567
- {
568
- "grammars": {
569
- "ocaml": {
570
- "package": "tree-sitter-ocaml",
571
- "extensions": [".ml", ".mli"],
572
- "moduleExport": "ocaml",
573
- "symbols": {
574
- "value_definition": "function",
575
- "type_definition": "type",
576
- "module_definition": "module"
577
- }
578
- }
579
- }
580
- }
581
- ```
582
-
583
- Use the [tree-sitter playground](https://tree-sitter.github.io/tree-sitter/playground) to explore node types for your language.
586
+ For languages without built-in mappings, add a `grammars` entry to your config see the [Configuration](#configuration) section for the full example and details.
584
587
 
585
588
  ### Control Flow
586
589
 
@@ -4,7 +4,7 @@
4
4
  },
5
5
  "providers": {
6
6
  "ollama": {
7
- "baseUrl": "http://localhost:11434",
7
+ "url": "http://localhost:11434/api/generate",
8
8
  "model": "qwen3-coder:30b",
9
9
  "options": {
10
10
  "temperature": 0.2,
@@ -12,12 +12,20 @@
12
12
  }
13
13
  },
14
14
  "deepseek": {
15
- "baseUrl": "https://api.deepseek.com",
15
+ "url": "https://api.deepseek.com/chat/completions",
16
16
  "apiKey": "${DEEPSEEK_API_KEY}",
17
17
  "model": "deepseek-chat",
18
18
  "options": {
19
19
  "temperature": 0.2
20
20
  }
21
+ },
22
+ "glm": {
23
+ "url": "https://open.bigmodel.cn/api/paas/v4/chat/completions",
24
+ "apiKey": "${ZHIPU_API_KEY}",
25
+ "model": "glm-4-plus",
26
+ "options": {
27
+ "temperature": 0.2
28
+ }
21
29
  }
22
30
  },
23
31
  "rlm": {
@@ -1 +1 @@
1
- {"version":3,"file":"nucleus.d.ts","sourceRoot":"","sources":["../../src/adapters/nucleus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AA0bzD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,YAAY,CAWnD"}
1
+ {"version":3,"file":"nucleus.d.ts","sourceRoot":"","sources":["../../src/adapters/nucleus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AAkdzD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,YAAY,CAWnD"}
@@ -204,7 +204,31 @@ function extractCode(response) {
204
204
  }
205
205
  // Check for plain S-expression in raw text
206
206
  // Find opening paren and balance to closing
207
- const KNOWN_COMMANDS = ["grep", "filter", "map", "reduce", "count", "sum", "lines", "fuzzy_search", "bm25", "semantic", "fuse", "dampen", "rerank", "text_stats", "match", "replace", "split", "parseInt", "parseFloat", "parseDate", "parseCurrency", "parseNumber", "coerce", "extract", "synthesize", "lambda", "if", "classify", "predicate", "define-fn", "apply-fn", "list_symbols", "get_symbol_body", "find_references", "callers", "callees", "ancestors", "descendants", "implementations", "dependents", "symbol_graph", "communities", "community_of", "god_nodes", "surprising_connections", "bridge_nodes", "suggest_questions", "graph_report", "llm_query", "llm_batch", "rlm_query", "rlm_batch", "context", "show_vars", "chunk_by_size", "chunk_by_lines", "chunk_by_regex"];
207
+ const KNOWN_COMMANDS = [
208
+ // Search / retrieval
209
+ "grep", "fuzzy_search", "bm25", "semantic", "fuse", "dampen", "rerank",
210
+ "text_stats", "lines",
211
+ // Collection ops
212
+ "filter", "map", "reduce", "count", "sum",
213
+ // String / numeric ops
214
+ "match", "replace", "split", "parseInt", "parseFloat", "parseDate",
215
+ "parseCurrency", "parseNumber", "coerce",
216
+ // Synthesis / lambda
217
+ "extract", "synthesize", "lambda", "if", "classify", "predicate",
218
+ "define-fn", "apply-fn",
219
+ // Symbol / graph ops
220
+ "list_symbols", "get_symbol_body", "find_references", "callers", "callees",
221
+ "ancestors", "descendants", "implementations", "dependents",
222
+ "symbol_graph", "communities", "community_of", "god_nodes",
223
+ "surprising_connections", "bridge_nodes", "suggest_questions",
224
+ "graph_report",
225
+ // Sub-LLM / recursive
226
+ "llm_query", "llm_batch", "rlm_query", "rlm_batch",
227
+ // Context + introspection
228
+ "context", "show_vars",
229
+ // Chunking
230
+ "chunk_by_size", "chunk_by_lines", "chunk_by_regex",
231
+ ];
208
232
  const MAX_SEXP_ITERATIONS = 200;
209
233
  let sexpIterations = 0;
210
234
  let searchFrom = firstParen;
@@ -1 +1 @@
1
- {"version":3,"file":"nucleus.js","sourceRoot":"","sources":["../../src/adapters/nucleus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nucleus.js","sourceRoot":"","sources":["../../src/adapters/nucleus.ts"],"names":[],"mappings":"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"}
@@ -1,55 +1,14 @@
1
1
  /**
2
- * Grammar configuration loader
2
+ * Grammar configuration helpers
3
3
  *
4
- * Loads grammar configurations from ~/.matryoshka/config.json
4
+ * Reads grammar configurations from the unified config file
5
5
  * and merges with built-in grammars.
6
6
  */
7
- import type { SymbolKind } from "../treesitter/types.js";
8
- /**
9
- * Grammar configuration for a language
10
- */
11
- export interface GrammarConfig {
12
- /** npm package name (e.g., "tree-sitter-rust") */
13
- package: string;
14
- /** File extensions (e.g., [".rs"]) */
15
- extensions: string[];
16
- /** Map of AST node types to symbol kinds */
17
- symbols: Record<string, SymbolKind>;
18
- /** Optional: how to extract the grammar from the module */
19
- moduleExport?: string;
20
- }
21
- /**
22
- * Full configuration file structure
23
- */
24
- export interface MatryoshkaConfig {
25
- /** Custom grammar configurations */
26
- grammars?: Record<string, GrammarConfig>;
27
- }
28
- /**
29
- * Default config directory and file paths
30
- */
31
- export declare const CONFIG_DIR: string;
32
- export declare const CONFIG_FILE: string;
33
- export declare function loadConfig(): MatryoshkaConfig;
34
- /**
35
- * Ensure config directory exists
36
- */
37
- export declare function ensureConfigDir(): void;
38
- /**
39
- * Save configuration to ~/.matryoshka/config.json
40
- */
41
- export declare function saveConfig(config: MatryoshkaConfig): void;
42
- /**
43
- * Get custom grammars from config
44
- */
45
- export declare function getCustomGrammars(): Record<string, GrammarConfig>;
46
- export declare function addCustomGrammar(language: string, grammar: GrammarConfig): void;
47
- /**
48
- * Remove a custom grammar from config
49
- */
50
- export declare function removeCustomGrammar(language: string): boolean;
51
- /**
52
- * Example config for reference
53
- */
54
- export declare const EXAMPLE_CONFIG: MatryoshkaConfig;
7
+ import { type Config, type GrammarConfig } from "../config.js";
8
+ export type { GrammarConfig } from "../config.js";
9
+ export { CONFIG_DIR, CONFIG_FILE } from "./paths.js";
10
+ export declare function getCustomGrammars(): Promise<Record<string, GrammarConfig>>;
11
+ export declare function addCustomGrammar(language: string, grammar: GrammarConfig): Promise<void>;
12
+ export declare function removeCustomGrammar(language: string): Promise<boolean>;
13
+ export declare const EXAMPLE_CONFIG: Config;
55
14
  //# sourceMappingURL=grammar-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grammar-config.d.ts","sourceRoot":"","sources":["../../src/config/grammar-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAE1C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,WAAW,QAAkC,CAAC;AAQ3D,wBAAgB,UAAU,IAAI,gBAAgB,CAiB7C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAGzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAGjE;AAWD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAuC/E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAkB5B,CAAC"}
1
+ {"version":3,"file":"grammar-config.d.ts","sourceRoot":"","sources":["../../src/config/grammar-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAA0B,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGvF,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAGhF;AAQD,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC9F;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ5E;AAED,eAAO,MAAM,cAAc,EAAE,MAuB5B,CAAC"}
@@ -1,69 +1,19 @@
1
1
  /**
2
- * Grammar configuration loader
2
+ * Grammar configuration helpers
3
3
  *
4
- * Loads grammar configurations from ~/.matryoshka/config.json
4
+ * Reads grammar configurations from the unified config file
5
5
  * and merges with built-in grammars.
6
6
  */
7
- import { readFileSync, existsSync, mkdirSync, writeFileSync, statSync } from "node:fs";
8
- import { join } from "node:path";
9
- import { homedir } from "node:os";
10
- /**
11
- * Default config directory and file paths
12
- */
13
- export const CONFIG_DIR = join(homedir(), ".matryoshka");
14
- export const CONFIG_FILE = join(CONFIG_DIR, "config.json");
15
- /**
16
- * Load configuration from ~/.matryoshka/config.json
17
- * Returns empty config if file doesn't exist
18
- */
19
- const MAX_CONFIG_FILE_SIZE = 10_000_000; // 10MB
20
- export function loadConfig() {
21
- if (!existsSync(CONFIG_FILE)) {
22
- return {};
23
- }
24
- try {
25
- const stats = statSync(CONFIG_FILE);
26
- if (stats.size > MAX_CONFIG_FILE_SIZE) {
27
- console.warn(`Warning: Config file too large (${stats.size} bytes, max ${MAX_CONFIG_FILE_SIZE})`);
28
- return {};
29
- }
30
- const content = readFileSync(CONFIG_FILE, "utf-8");
31
- return JSON.parse(content);
32
- }
33
- catch (error) {
34
- console.warn(`Warning: Failed to parse ${CONFIG_FILE}: ${error}`);
35
- return {};
36
- }
37
- }
38
- /**
39
- * Ensure config directory exists
40
- */
41
- export function ensureConfigDir() {
42
- if (!existsSync(CONFIG_DIR)) {
43
- mkdirSync(CONFIG_DIR, { recursive: true });
44
- }
45
- }
46
- /**
47
- * Save configuration to ~/.matryoshka/config.json
48
- */
49
- export function saveConfig(config) {
50
- ensureConfigDir();
51
- writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2));
52
- }
53
- /**
54
- * Get custom grammars from config
55
- */
56
- export function getCustomGrammars() {
57
- const config = loadConfig();
7
+ import { loadConfig, saveConfig } from "../config.js";
8
+ export { CONFIG_DIR, CONFIG_FILE } from "./paths.js";
9
+ export async function getCustomGrammars() {
10
+ const config = await loadConfig();
58
11
  return config.grammars ?? {};
59
12
  }
60
- /**
61
- * Add a custom grammar to config
62
- */
63
13
  const DANGEROUS_LANG_NAMES = new Set(["__proto__", "constructor", "prototype", "__defineGetter__", "__defineSetter__", "__lookupGetter__", "__lookupSetter__", "hasOwnProperty", "toString", "valueOf", "toLocaleString", "isPrototypeOf", "propertyIsEnumerable"]);
64
14
  const MAX_EXTENSIONS = 50;
65
15
  const MAX_SYMBOLS = 500;
66
- export function addCustomGrammar(language, grammar) {
16
+ export async function addCustomGrammar(language, grammar) {
67
17
  if (DANGEROUS_LANG_NAMES.has(language) || !/^[a-zA-Z0-9_-]+$/.test(language)) {
68
18
  throw new Error(`Invalid language name: '${language}'`);
69
19
  }
@@ -98,27 +48,26 @@ export function addCustomGrammar(language, grammar) {
98
48
  }
99
49
  }
100
50
  }
101
- const config = loadConfig();
51
+ const config = await loadConfig();
102
52
  config.grammars = config.grammars ?? {};
103
53
  config.grammars[language] = grammar;
104
- saveConfig(config);
54
+ await saveConfig(config);
105
55
  }
106
- /**
107
- * Remove a custom grammar from config
108
- */
109
- export function removeCustomGrammar(language) {
110
- const config = loadConfig();
56
+ export async function removeCustomGrammar(language) {
57
+ const config = await loadConfig();
111
58
  if (!config.grammars || !config.grammars[language]) {
112
59
  return false;
113
60
  }
114
61
  delete config.grammars[language];
115
- saveConfig(config);
62
+ await saveConfig(config);
116
63
  return true;
117
64
  }
118
- /**
119
- * Example config for reference
120
- */
121
65
  export const EXAMPLE_CONFIG = {
66
+ llm: { provider: "ollama" },
67
+ providers: {
68
+ ollama: { url: "http://localhost:11434/api/generate", model: "qwen3-coder:30b" },
69
+ },
70
+ rlm: { maxTurns: 10 },
122
71
  grammars: {
123
72
  rust: {
124
73
  package: "tree-sitter-rust",
@@ -1 +1 @@
1
- {"version":3,"file":"grammar-config.js","sourceRoot":"","sources":["../../src/config/grammar-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grammar-config.js","sourceRoot":"","sources":["../../src/config/grammar-config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Configuration management for matryoshka
3
3
  *
4
- * Loads and manages configuration from ~/.matryoshka/config.json
4
+ * Loads and manages configuration from ~/.config/matryoshka/config.json
5
5
  */
6
- export * from "./grammar-config.js";
6
+ export { loadConfig, saveConfig, ensureConfigDir, resolveConfigPath, type Config, type GrammarConfig, type LLMConfig, type LLMOptions, type ProviderConfig, type RLMConfig, } from "../config.js";
7
+ export { getCustomGrammars, addCustomGrammar, removeCustomGrammar, EXAMPLE_CONFIG, } from "./grammar-config.js";
8
+ export { CONFIG_DIR, CONFIG_FILE } from "./paths.js";
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Configuration management for matryoshka
3
3
  *
4
- * Loads and manages configuration from ~/.matryoshka/config.json
4
+ * Loads and manages configuration from ~/.config/matryoshka/config.json
5
5
  */
6
- export * from "./grammar-config.js";
6
+ export { loadConfig, saveConfig, ensureConfigDir, resolveConfigPath, } from "../config.js";
7
+ export { getCustomGrammars, addCustomGrammar, removeCustomGrammar, EXAMPLE_CONFIG, } from "./grammar-config.js";
8
+ export { CONFIG_DIR, CONFIG_FILE } from "./paths.js";
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,GAOlB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const CONFIG_DIR: string;
2
+ export declare const CONFIG_FILE: string;
3
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,QAEqB,CAAC;AAE7C,eAAO,MAAM,WAAW,QAAkC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { join } from "node:path";
2
+ import { homedir } from "node:os";
3
+ export const CONFIG_DIR = process.env.XDG_CONFIG_HOME
4
+ ? join(process.env.XDG_CONFIG_HOME, "matryoshka")
5
+ : join(homedir(), ".config", "matryoshka");
6
+ export const CONFIG_FILE = join(CONFIG_DIR, "config.json");
7
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe;IACnD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC;IACjD,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC"}
package/dist/config.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { SymbolKind } from "./treesitter/types.js";
1
2
  /**
2
3
  * Configuration file types
3
4
  *
@@ -20,7 +21,7 @@ export interface LLMConfig {
20
21
  options?: LLMOptions;
21
22
  }
22
23
  export interface ProviderConfig {
23
- baseUrl: string;
24
+ url: string;
24
25
  apiKey?: string;
25
26
  model?: string;
26
27
  /** Adapter name for model-specific prompting (e.g., "qwen", "deepseek"). Auto-detected from model name if not specified. */
@@ -30,10 +31,31 @@ export interface ProviderConfig {
30
31
  export interface RLMConfig {
31
32
  maxTurns: number;
32
33
  }
34
+ export interface GrammarConfig {
35
+ /** npm package name (e.g., "tree-sitter-rust") */
36
+ package: string;
37
+ /** File extensions (e.g., [".rs"]) */
38
+ extensions: string[];
39
+ /** Map of AST node types to symbol kinds */
40
+ symbols: Record<string, SymbolKind>;
41
+ /** Optional: how to extract the grammar from the module */
42
+ moduleExport?: string;
43
+ }
33
44
  export interface Config {
34
45
  llm: LLMConfig;
35
46
  providers: Record<string, ProviderConfig>;
36
47
  rlm: RLMConfig;
48
+ /** Custom grammar configurations */
49
+ grammars?: Record<string, GrammarConfig>;
37
50
  }
51
+ /**
52
+ * Resolve the config file path using the standard lookup order:
53
+ * 1. Explicit path if provided
54
+ * 2. ./config.json in CWD (backward compat)
55
+ * 3. ~/.config/matryoshka/config.json (XDG)
56
+ */
57
+ export declare function resolveConfigPath(configPath?: string): string;
38
58
  export declare function loadConfig(configPath?: string): Promise<Config>;
59
+ export declare function ensureConfigDir(): Promise<void>;
60
+ export declare function saveConfig(config: Config): Promise<void>;
39
61
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4HAA4H;IAC5H,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,GAAG,EAAE,SAAS,CAAC;CAChB;AAmFD,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BrE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4HAA4H;IAC5H,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,GAAG,EAAE,SAAS,CAAC;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC1C;AAmFD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAG7D;AAID,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCrE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrD;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D"}