matryoshka-rlm 0.2.31 → 0.2.33
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 +124 -24
- package/config.example.json +10 -2
- package/dist/adapters/nucleus.d.ts.map +1 -1
- package/dist/adapters/nucleus.js +76 -55
- package/dist/adapters/nucleus.js.map +1 -1
- package/dist/config/grammar-config.d.ts +9 -50
- package/dist/config/grammar-config.d.ts.map +1 -1
- package/dist/config/grammar-config.js +17 -68
- package/dist/config/grammar-config.js.map +1 -1
- package/dist/config/index.d.ts +4 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -2
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +3 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +7 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config.d.ts +23 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +37 -10
- package/dist/config.js.map +1 -1
- package/dist/engine/handle-session.d.ts +19 -0
- package/dist/engine/handle-session.d.ts.map +1 -1
- package/dist/engine/handle-session.js +2 -0
- package/dist/engine/handle-session.js.map +1 -1
- package/dist/engine/nucleus-engine.d.ts +24 -0
- package/dist/engine/nucleus-engine.d.ts.map +1 -1
- package/dist/engine/nucleus-engine.js +15 -2
- package/dist/engine/nucleus-engine.js.map +1 -1
- package/dist/fsm/rlm-states.d.ts +31 -0
- package/dist/fsm/rlm-states.d.ts.map +1 -1
- package/dist/fsm/rlm-states.js +246 -7
- package/dist/fsm/rlm-states.js.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lattice-mcp-server.d.ts.map +1 -1
- package/dist/lattice-mcp-server.js +111 -0
- package/dist/lattice-mcp-server.js.map +1 -1
- package/dist/llm/deepseek.d.ts +1 -1
- package/dist/llm/deepseek.d.ts.map +1 -1
- package/dist/llm/deepseek.js +4 -49
- package/dist/llm/deepseek.js.map +1 -1
- package/dist/llm/glm.d.ts +1 -1
- package/dist/llm/glm.d.ts.map +1 -1
- package/dist/llm/glm.js +6 -49
- package/dist/llm/glm.js.map +1 -1
- package/dist/llm/index.d.ts +4 -3
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +4 -3
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/ollama.js +1 -1
- package/dist/llm/ollama.js.map +1 -1
- package/dist/llm/openai-compat.d.ts +9 -0
- package/dist/llm/openai-compat.d.ts.map +1 -0
- package/dist/llm/openai-compat.js +58 -0
- package/dist/llm/openai-compat.js.map +1 -0
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/logic/lc-parser.d.ts.map +1 -1
- package/dist/logic/lc-parser.js +121 -1
- package/dist/logic/lc-parser.js.map +1 -1
- package/dist/logic/lc-solver.d.ts +66 -0
- package/dist/logic/lc-solver.d.ts.map +1 -1
- package/dist/logic/lc-solver.js +284 -0
- package/dist/logic/lc-solver.js.map +1 -1
- package/dist/logic/type-inference.d.ts.map +1 -1
- package/dist/logic/type-inference.js +8 -0
- package/dist/logic/type-inference.js.map +1 -1
- package/dist/logic/types.d.ts +118 -2
- package/dist/logic/types.d.ts.map +1 -1
- package/dist/mcp-server.js +1 -1
- package/dist/mcp-server.js.map +1 -1
- package/dist/rlm.d.ts +51 -1
- package/dist/rlm.d.ts.map +1 -1
- package/dist/rlm.js +209 -6
- package/dist/rlm.js.map +1 -1
- package/dist/synthesis/knowledge-base.d.ts +5 -2
- package/dist/synthesis/knowledge-base.d.ts.map +1 -1
- package/dist/synthesis/knowledge-base.js +5 -2
- package/dist/synthesis/knowledge-base.js.map +1 -1
- package/dist/treesitter/builtin-grammars.d.ts +1 -1
- package/dist/treesitter/builtin-grammars.js +1 -1
- package/dist/treesitter/index.d.ts +1 -1
- package/dist/treesitter/index.js +1 -1
- package/dist/treesitter/language-map.d.ts +1 -1
- package/dist/treesitter/language-map.d.ts.map +1 -1
- package/dist/treesitter/language-map.js +25 -4
- package/dist/treesitter/language-map.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Matryoshka
|
|
2
2
|
|
|
3
3
|
[](https://github.com/yogthos/Matryoshka/actions/workflows/test.yml)
|
|
4
|
+
[](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
|
|
|
@@ -54,6 +55,103 @@ The LLM outputs commands in the Nucleus DSL—an S-expression language designed
|
|
|
54
55
|
<<<FINAL>>>13000000<<<END>>>
|
|
55
56
|
```
|
|
56
57
|
|
|
58
|
+
#### Feature availability by execution path
|
|
59
|
+
|
|
60
|
+
Matryoshka has two execution paths and not every primitive works in both:
|
|
61
|
+
|
|
62
|
+
| Feature | `runRLM` (CLI / programmatic) | `lattice-mcp` (MCP server) |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `(grep …)`, `(filter …)`, `(map …)`, etc. | ✅ | ✅ |
|
|
65
|
+
| `(llm_query …)`, `(llm_batch …)` | ✅ | ✅ via MCP sampling protocol |
|
|
66
|
+
| `(rlm_query …)`, `(rlm_batch …)` | ✅ (concurrent rlm_batch) | ✅ — child Nucleus session spawns via the same MCP sampling bridge; M suspensions per `rlm_query` call. `rlm_batch` runs **sequentially** (children one at a time) because the multi-turn suspension protocol only carries one pending request at a time — concurrent children would lose suspensions. Round-trip count is the same; wall-clock is N×slower for non-sampling clients. |
|
|
67
|
+
| `(context N)` selector | ✅ (multi-doc via `runRLMFromContent(query, string[])`) | partial — `(context 0)` works; multi-doc loading not exposed via `lattice_load` |
|
|
68
|
+
| `(grep "X" haystack)` | ✅ | ✅ |
|
|
69
|
+
| `(show_vars)` | ✅ | ✅ (internal `_<name>` bindings filtered out) |
|
|
70
|
+
| `FINAL_VAR(name)` resolution | ✅ | N/A — MCP returns query results directly |
|
|
71
|
+
| `maxTimeoutMs` / `maxTokens` / `maxErrors` | ✅ | ❌ — MCP has its own session timeout |
|
|
72
|
+
| `compactionThresholdChars` | ✅ | ❌ — MCP doesn't have a multi-turn FSM history |
|
|
73
|
+
|
|
74
|
+
The resource-limit features remain `runRLM`-only. The recursive primitives (`rlm_query`/`rlm_batch`) work in both paths — the MCP path spawns a child `runRLMFromContent` whose `llmClient` is the same sampling bridge as the parent, so each child turn flows through the existing MCP suspension/sampling protocol.
|
|
75
|
+
|
|
76
|
+
#### Recursive Primitives
|
|
77
|
+
|
|
78
|
+
`rlm_query` spawns a child Nucleus session with its own FSM loop. The child runs to FINAL and returns a string — useful when a sub-task needs multi-turn reasoning over a structured handle:
|
|
79
|
+
|
|
80
|
+
```scheme
|
|
81
|
+
; Child sees the resolved handle as its working document, NOT a
|
|
82
|
+
; JSON-stringified prompt blob. Lets the child use grep/lines/
|
|
83
|
+
; chunk_by_lines over arrays without JSON-syntax noise.
|
|
84
|
+
(rlm_query "extract dates" (context RESULTS))
|
|
85
|
+
|
|
86
|
+
; No (context …) → child's document is the prompt itself.
|
|
87
|
+
(rlm_query "summarize each error type")
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
`rlm_batch` runs the same per-item recursion across a collection. Each item produces one entry in the returned array, in input order. Per-item failures surface as `"Error: rlm_batch item N failed — …"` strings without aborting the rest of the batch:
|
|
91
|
+
|
|
92
|
+
```scheme
|
|
93
|
+
(rlm_batch (chunk_by_lines 100)
|
|
94
|
+
(lambda c (rlm_query "extract metrics" (context c))))
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- **`runRLM`**: children fan out concurrently via a worker pool capped at `maxConcurrentSubcalls` (default 4).
|
|
98
|
+
- **`lattice-mcp`**: children run **sequentially** because the multi-turn suspension protocol can carry only one pending request at a time. Round-trip count is identical to the concurrent path (N children × M turns each); only wall-clock differs.
|
|
99
|
+
|
|
100
|
+
#### Multi-Context Loading
|
|
101
|
+
|
|
102
|
+
Pass `string[]` to `runRLMFromContent` to load multiple documents. Address them via `(context N)`; index 0 is the default for primitives that don't specify a haystack:
|
|
103
|
+
|
|
104
|
+
```scheme
|
|
105
|
+
(grep "DEPLOY" (context 0)) ; deploy.log
|
|
106
|
+
(grep "OUTAGE" (context 2)) ; comms.log
|
|
107
|
+
|
|
108
|
+
; (context N) is just a term — pipe it anywhere a string is expected
|
|
109
|
+
(rlm_query "scan" (context (context 1))) ; child sees doc 1
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Per-doc line numbers come back, so the LLM can cite "doc 0 line 4, doc 2 line 2" with confidence rather than inventing absolute offsets across a concatenation.
|
|
113
|
+
|
|
114
|
+
#### Introspection
|
|
115
|
+
|
|
116
|
+
```scheme
|
|
117
|
+
(show_vars) ; Returns a string summary of every binding currently
|
|
118
|
+
; in scope. Useful before a (filter RESULTS …) or a
|
|
119
|
+
; FINAL_VAR(name) reference when the LLM lost track of
|
|
120
|
+
; what's bound. Same surface as the `lattice_bindings`
|
|
121
|
+
; MCP tool but reachable from inside a query.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Unknown FINAL_VAR markers surface a clear error rather than passing the literal text through:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
<<<FINAL>>>FINAL_VAR(_99)<<<END>>>
|
|
128
|
+
→ "[FINAL_VAR error: unknown binding "_99". Available: _1, RESULTS]"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
#### Resource Limits
|
|
132
|
+
|
|
133
|
+
All optional. With none set, behavior is unchanged:
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
runRLM(query, file, {
|
|
137
|
+
maxTimeoutMs: 30_000, // wall-clock cap, propagates to children
|
|
138
|
+
maxTokens: 100_000, // cumulative chars sent + received
|
|
139
|
+
maxErrors: 5, // consecutive parse/execution errors
|
|
140
|
+
compactionThresholdChars: 50_000, // summarize history when prompt grows past this
|
|
141
|
+
})
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
When a limit hits, the run terminates cleanly with a string of the form:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
[aborted: timeout 32100ms of 30000ms]
|
|
148
|
+
|
|
149
|
+
Best partial answer:
|
|
150
|
+
<the most recent meaningful solver result>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
The partial answer is always preserved when present — completed work is never silently lost on abort.
|
|
154
|
+
|
|
57
155
|
### The Lattice Engine
|
|
58
156
|
|
|
59
157
|
The Lattice engine (`src/logic/`) processes Nucleus commands:
|
|
@@ -150,7 +248,7 @@ npm run build
|
|
|
150
248
|
|
|
151
249
|
## Configuration
|
|
152
250
|
|
|
153
|
-
Copy `config.example.json` to
|
|
251
|
+
Copy `config.example.json` to `~/.config/matryoshka/config.json`:
|
|
154
252
|
|
|
155
253
|
```json
|
|
156
254
|
{
|
|
@@ -159,23 +257,44 @@ Copy `config.example.json` to `config.json` and configure your LLM provider:
|
|
|
159
257
|
},
|
|
160
258
|
"providers": {
|
|
161
259
|
"ollama": {
|
|
162
|
-
"
|
|
260
|
+
"url": "http://localhost:11434/api/generate",
|
|
163
261
|
"model": "qwen3-coder:30b",
|
|
164
262
|
"options": { "temperature": 0.2, "num_ctx": 8192 }
|
|
165
263
|
},
|
|
166
264
|
"deepseek": {
|
|
167
|
-
"
|
|
265
|
+
"url": "https://api.deepseek.com/chat/completions",
|
|
168
266
|
"apiKey": "${DEEPSEEK_API_KEY}",
|
|
169
267
|
"model": "deepseek-chat",
|
|
170
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 }
|
|
171
275
|
}
|
|
172
276
|
},
|
|
173
277
|
"rlm": {
|
|
174
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
|
+
}
|
|
175
291
|
}
|
|
176
292
|
}
|
|
177
293
|
```
|
|
178
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
|
+
|
|
179
298
|
## Usage
|
|
180
299
|
|
|
181
300
|
### CLI
|
|
@@ -344,7 +463,7 @@ import { runRLM } from "matryoshka-rlm/rlm";
|
|
|
344
463
|
import { createLLMClient } from "matryoshka-rlm";
|
|
345
464
|
|
|
346
465
|
const llmClient = createLLMClient("ollama", {
|
|
347
|
-
|
|
466
|
+
url: "http://localhost:11434/api/generate",
|
|
348
467
|
model: "qwen3-coder:30b",
|
|
349
468
|
options: { temperature: 0.2 }
|
|
350
469
|
});
|
|
@@ -464,26 +583,7 @@ Once a package is installed, the language is automatically available for symbol
|
|
|
464
583
|
|
|
465
584
|
#### Custom Language Configuration
|
|
466
585
|
|
|
467
|
-
For languages without built-in mappings,
|
|
468
|
-
|
|
469
|
-
```json
|
|
470
|
-
{
|
|
471
|
-
"grammars": {
|
|
472
|
-
"ocaml": {
|
|
473
|
-
"package": "tree-sitter-ocaml",
|
|
474
|
-
"extensions": [".ml", ".mli"],
|
|
475
|
-
"moduleExport": "ocaml",
|
|
476
|
-
"symbols": {
|
|
477
|
-
"value_definition": "function",
|
|
478
|
-
"type_definition": "type",
|
|
479
|
-
"module_definition": "module"
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
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.
|
|
487
587
|
|
|
488
588
|
### Control Flow
|
|
489
589
|
|
package/config.example.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
},
|
|
5
5
|
"providers": {
|
|
6
6
|
"ollama": {
|
|
7
|
-
"
|
|
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
|
-
"
|
|
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;
|
|
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"}
|
package/dist/adapters/nucleus.js
CHANGED
|
@@ -18,56 +18,50 @@ function buildSystemPrompt(contextLength, toolInterfaces, hints) {
|
|
|
18
18
|
if (!Number.isFinite(contextLength) || contextLength < 0)
|
|
19
19
|
contextLength = 0;
|
|
20
20
|
const sizeCategory = contextLength < 2000 ? "SMALL" : "LARGE";
|
|
21
|
-
return `
|
|
21
|
+
return `ONE command per turn.
|
|
22
22
|
|
|
23
23
|
SEARCH:
|
|
24
|
-
(grep "
|
|
25
|
-
(lines START END)
|
|
24
|
+
(grep "pat") → matched lines + lineNums
|
|
25
|
+
(lines START END) → line range, 1-indexed
|
|
26
26
|
|
|
27
|
-
CHUNK (slice
|
|
28
|
-
(chunk_by_size N)
|
|
29
|
-
(chunk_by_lines N)
|
|
30
|
-
(chunk_by_regex "pat")
|
|
31
|
-
|
|
32
|
-
to fire a sub-LLM per chunk of a document too big for the root window
|
|
27
|
+
CHUNK (slice big doc for map):
|
|
28
|
+
(chunk_by_size N) → N-char slices
|
|
29
|
+
(chunk_by_lines N) → N-line slices
|
|
30
|
+
(chunk_by_regex "pat") → split on regex
|
|
31
|
+
use w/ (map … (lambda c (llm_query "..." (chunk c))))
|
|
33
32
|
|
|
34
33
|
TRANSFORM:
|
|
35
34
|
(filter RESULTS (lambda x (match x "pat" 0)))
|
|
36
35
|
(map RESULTS (lambda x (match x "pat" 1)))
|
|
37
36
|
(count RESULTS) (sum RESULTS)
|
|
38
37
|
|
|
39
|
-
SUB-LLM (
|
|
40
|
-
(llm_query "
|
|
41
|
-
|
|
42
|
-
(
|
|
43
|
-
— one sub-LLM call PER ITEM, returns an array of strings
|
|
44
|
-
(filter RESULTS (lambda x (match (llm_query "keep?: {item}" (item x)) "keep" 0)))
|
|
45
|
-
— semantic predicate, keep items whose sub-LLM response matches
|
|
38
|
+
SUB-LLM (work grep can't do):
|
|
39
|
+
(llm_query "...{items}" (items RESULTS)) → one call over binding
|
|
40
|
+
(map RESULTS (lambda x (llm_query "..." (item x)))) → per-item
|
|
41
|
+
(filter RESULTS (lambda x (match (llm_query "..." (item x)) "keep" 0)))
|
|
46
42
|
Rules:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
paraphrase) that don't reduce to regex patterns
|
|
43
|
+
prompt literal w/ {name} placeholders
|
|
44
|
+
each (name TERM) fills one placeholder
|
|
45
|
+
use for classify/summarize/paraphrase, not regex
|
|
51
46
|
|
|
52
|
-
CODE
|
|
47
|
+
CODE:
|
|
53
48
|
(list_symbols) (list_symbols "function")
|
|
54
49
|
(get_symbol_body "name") (find_references "name")
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
50
|
+
(callers "name") (callees "name")
|
|
51
|
+
(ancestors "Class") (descendants "Class")
|
|
52
|
+
(implementations "IFace") (dependents "name")
|
|
53
|
+
(symbol_graph "name" depth)
|
|
54
|
+
(communities) (community_of "name")
|
|
55
|
+
(god_nodes) (god_nodes 5)
|
|
56
|
+
(surprising_connections) (bridge_nodes)
|
|
57
|
+
(suggest_questions) (graph_report)
|
|
63
58
|
|
|
64
|
-
MULTI-LINE: grep keyword →
|
|
65
|
-
QUERY
|
|
59
|
+
MULTI-LINE: grep keyword → lineNum → (lines N M)
|
|
60
|
+
QUERY: count→count, sum/total→sum, list→grep+FINAL
|
|
66
61
|
ANSWER: <<<FINAL>>>answer<<<END>>>
|
|
67
|
-
|
|
68
|
-
<<<FINAL>>>FINAL_VAR(_2)<<<END>>>
|
|
69
|
-
<<<FINAL>>>
|
|
70
|
-
— use this when inlining a large result would blow the context window
|
|
62
|
+
big answer: FINAL_VAR(name) refs binding
|
|
63
|
+
<<<FINAL>>>FINAL_VAR(_2)<<<END>>>
|
|
64
|
+
<<<FINAL>>>matches: FINAL_VAR(RESULTS)<<<END>>>
|
|
71
65
|
|
|
72
66
|
${hints?.hintsText || ""}${hints?.selfCorrectionText || ""}`;
|
|
73
67
|
}
|
|
@@ -210,7 +204,31 @@ function extractCode(response) {
|
|
|
210
204
|
}
|
|
211
205
|
// Check for plain S-expression in raw text
|
|
212
206
|
// Find opening paren and balance to closing
|
|
213
|
-
const KNOWN_COMMANDS = [
|
|
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
|
+
];
|
|
214
232
|
const MAX_SEXP_ITERATIONS = 200;
|
|
215
233
|
let sexpIterations = 0;
|
|
216
234
|
let searchFrom = firstParen;
|
|
@@ -254,7 +272,13 @@ function extractCode(response) {
|
|
|
254
272
|
const expr = response.slice(parenIdx, end);
|
|
255
273
|
// Check the expression starts with a known command
|
|
256
274
|
const exprContent = expr.slice(1).trim(); // remove leading (
|
|
257
|
-
|
|
275
|
+
// Match identifier characters only — terms like `(show_vars)`
|
|
276
|
+
// (no args) leave a `)` immediately after the head word, so a
|
|
277
|
+
// greedy `\S+` would capture "show_vars)" and miss the
|
|
278
|
+
// KNOWN_COMMANDS lookup. Constraining to identifier chars
|
|
279
|
+
// stops at the closing paren, the leading whitespace, or any
|
|
280
|
+
// non-identifier character.
|
|
281
|
+
const firstWord = exprContent.match(/^([A-Za-z_][A-Za-z0-9_-]*)/)?.[1];
|
|
258
282
|
if (firstWord && KNOWN_COMMANDS.includes(firstWord)) {
|
|
259
283
|
return expr;
|
|
260
284
|
}
|
|
@@ -377,14 +401,14 @@ function extractFinalAnswer(response) {
|
|
|
377
401
|
* Feedback when no LC term found
|
|
378
402
|
*/
|
|
379
403
|
function getNoCodeFeedback() {
|
|
380
|
-
return `
|
|
404
|
+
return `No command. Extract keyword from query:
|
|
381
405
|
|
|
382
|
-
(grep "KEYWORD")
|
|
406
|
+
(grep "KEYWORD") ← e.g., "ERROR", "SALES", "stage"
|
|
383
407
|
|
|
384
|
-
Then
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
408
|
+
Then by query type:
|
|
409
|
+
list/show/what → <<<FINAL>>>item1, item2<<<END>>>
|
|
410
|
+
count → (count RESULTS)
|
|
411
|
+
total/sum → (sum RESULTS)
|
|
388
412
|
|
|
389
413
|
Next:`;
|
|
390
414
|
}
|
|
@@ -410,27 +434,25 @@ function getErrorFeedback(error, code) {
|
|
|
410
434
|
function getSuccessFeedback(resultCount, previousCount, query) {
|
|
411
435
|
const safeQuery = (query || "the query").slice(0, 200);
|
|
412
436
|
if (resultCount === 0 && previousCount && previousCount > 0) {
|
|
413
|
-
return `Filter matched
|
|
437
|
+
return `Filter matched 0. Try different pattern.
|
|
414
438
|
|
|
415
439
|
Next:`;
|
|
416
440
|
}
|
|
417
441
|
if (resultCount === 0) {
|
|
418
|
-
return `No matches. Try different
|
|
442
|
+
return `No matches. Try different terms.
|
|
419
443
|
|
|
420
444
|
Next:`;
|
|
421
445
|
}
|
|
422
446
|
if (resultCount && resultCount > 0) {
|
|
423
|
-
return `Found ${resultCount} matches.
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
- For "total/sum": (sum RESULTS)
|
|
429
|
-
- If too broad: (filter RESULTS (lambda x (match x "specific_term" 0)))
|
|
447
|
+
return `Found ${resultCount} matches. Answer "${safeQuery}"?
|
|
448
|
+
list/show/what → <<<FINAL>>>item1, item2<<<END>>>
|
|
449
|
+
count → (count RESULTS)
|
|
450
|
+
total/sum → (sum RESULTS)
|
|
451
|
+
too broad → (filter RESULTS (lambda x (match x "term" 0)))
|
|
430
452
|
|
|
431
453
|
Next:`;
|
|
432
454
|
}
|
|
433
|
-
return `Done. Output
|
|
455
|
+
return `Done. Output answer.
|
|
434
456
|
|
|
435
457
|
Next:`;
|
|
436
458
|
}
|
|
@@ -439,12 +461,11 @@ Next:`;
|
|
|
439
461
|
*/
|
|
440
462
|
function getRepeatedCodeFeedback(resultCount) {
|
|
441
463
|
if (resultCount === 0) {
|
|
442
|
-
return `Already tried.
|
|
464
|
+
return `Already tried. Try different keyword.
|
|
443
465
|
|
|
444
466
|
Next:`;
|
|
445
467
|
}
|
|
446
468
|
return `Already done. RESULTS has ${resultCount ?? "your"} data.
|
|
447
|
-
|
|
448
469
|
Output: (sum RESULTS) or <<<FINAL>>>answer<<<END>>>
|
|
449
470
|
|
|
450
471
|
Next:`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nucleus.js","sourceRoot":"","sources":["../../src/adapters/nucleus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;GAEG;AACH,SAAS,iBAAiB,CACxB,aAAqB,EACrB,cAAsB,EACtB,KAAgB;IAEhB,mCAAmC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC;QAAE,aAAa,GAAG,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAE9D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDP,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,KAAK,EAAE,kBAAkB,IAAI,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,qFAAqF;AACrF,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;IAC3D,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB;CAC/E,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,IAAa;IAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,wFAAwF;IACxF,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,oCAAoC;IACpC,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sEAAsE;AACtE,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAExC,SAAS,aAAa,CAAC,CAAS;IAC9B,IAAI,CAAC,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;QACvC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC;SACL,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,GAAG,GAAG,IAA+B,CAAC;IAE5C,4EAA4E;IAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE5C,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;YACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,UAAU,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;YAC9C,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;YAC/D,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC;YAC1D,IAAI,UAAU,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9C,OAAO,WAAW,UAAU,wBAAwB,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;YACrF,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;YAC/D,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC;YACzC,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3H,IAAI,UAAU,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9C,OAAO,QAAQ,UAAU,wBAAwB,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;YACzF,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;YACpC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,kBAAkB,aAAa,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC;YAC7D,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,SAAS,CAAC;AAE5C,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;QAChD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC1D,CAAC;IACD,8DAA8D;IAC9D,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAClF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,sDAAsD;IACtD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEzC,0EAA0E;IAC1E,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;QACvE,+DAA+D;QAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;YAC7B,yCAAyC;YACzC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC1D,IAAI,gBAAgB,GAAG,SAAS,EAAE,CAAC;gBACjC,iCAAiC;gBACjC,MAAM,SAAS,GAAG,GAAG,CAAC;gBACtB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;gBACb,KAAK,IAAI,CAAC,GAAG,gBAAgB,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;oBACjC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;oBACjC,IAAI,KAAK,GAAG,SAAS;wBAAE,MAAM;oBAC7B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;wBACZ,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;oBAC3B,OAAO,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,4CAA4C;IAC5C,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,wBAAwB,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAEjsB,MAAM,mBAAmB,GAAG,GAAG,CAAC;IAChC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,UAAU,GAAG,UAAU,CAAC;IAC5B,OAAO,UAAU,IAAI,CAAC,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,cAAc,GAAG,mBAAmB,EAAE,CAAC;QAC/F,cAAc,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC;YAAE,MAAM;QAExB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACb,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,GAAG,KAAK,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC3C,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC5D,IAAI,QAAQ;gBAAE,SAAS;YACvB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,GAAG,CAAC;YACtB,IAAI,KAAK,GAAG,SAAS;gBAAE,MAAM;YAC7B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACZ,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC3C,mDAAmD;YACnD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB;YAC7D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,+DAA+D;YAC/D,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,iEAAiE;IACjE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACrE,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,IAAY,EAAiB,EAAE;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9B,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,yBAAyB,CAAC,CAAC;QACxE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,MAAM,EAAE,CAAC;gBAAC,MAAM,GAAG,KAAK,CAAC;gBAAC,SAAS;YAAC,CAAC;YACzC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC7C,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnD,IAAI,QAAQ;gBAAE,SAAS;YACvB,MAAM,SAAS,GAAG,GAAG,CAAC;YACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,SAAS;oBAAE,OAAO,IAAI,CAAC;YACrC,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACtB,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,yCAAyC;IACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACjG,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAAmC;IAEnC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,0EAA0E;IAC1E,sCAAsC;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpG,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,gFAAgF;IAChF,gDAAgD;IAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC/E,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,oFAAoF;IACpF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACrE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,OAAO;;;;;;;;;MASH,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAa;IACpD,iDAAiD;IACjD,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,mEAAmE,CAAC;IAC7E,CAAC;IAED,OAAO;;;cAGK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,WAAoB,EAAE,aAAsB,EAAE,KAAc;IACtF,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,WAAW,KAAK,CAAC,IAAI,aAAa,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO;;MAEL,CAAC;IACL,CAAC;IAED,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;;MAEL,CAAC;IACL,CAAC;IAED,IAAI,WAAW,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,WAAW;;kCAEG,SAAS;;;;;;MAMrC,CAAC;IACL,CAAC;IAED,OAAO;;MAEH,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,WAAoB;IACnD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;;MAEL,CAAC;IACL,CAAC;IAED,OAAO,6BAA6B,WAAW,IAAI,MAAM;;;;MAIrD,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,iBAAiB;QACjB,WAAW;QACX,kBAAkB;QAClB,iBAAiB;QACjB,gBAAgB;QAChB,kBAAkB;QAClB,uBAAuB;KACxB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"nucleus.js","sourceRoot":"","sources":["../../src/adapters/nucleus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;GAEG;AACH,SAAS,iBAAiB,CACxB,aAAqB,EACrB,cAAsB,EACtB,KAAgB;IAEhB,mCAAmC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC;QAAE,aAAa,GAAG,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAE9D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CP,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,KAAK,EAAE,kBAAkB,IAAI,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,qFAAqF;AACrF,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;IAC3D,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB;CAC/E,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,IAAa;IAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,wFAAwF;IACxF,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,oCAAoC;IACpC,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sEAAsE;AACtE,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAExC,SAAS,aAAa,CAAC,CAAS;IAC9B,IAAI,CAAC,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;QACvC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC;SACL,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,GAAG,GAAG,IAA+B,CAAC;IAE5C,4EAA4E;IAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE5C,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;YACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,UAAU,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;YAC9C,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;YAC/D,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC;YAC1D,IAAI,UAAU,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9C,OAAO,WAAW,UAAU,wBAAwB,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;YACrF,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;YAC/D,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC;YACzC,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3H,IAAI,UAAU,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9C,OAAO,QAAQ,UAAU,wBAAwB,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;YACzF,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;YACpC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,kBAAkB,aAAa,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC;YAC7D,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,SAAS,CAAC;AAE5C,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;QAChD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC1D,CAAC;IACD,8DAA8D;IAC9D,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAClF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,sDAAsD;IACtD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEzC,0EAA0E;IAC1E,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;QACvE,+DAA+D;QAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;YAC7B,yCAAyC;YACzC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC1D,IAAI,gBAAgB,GAAG,SAAS,EAAE,CAAC;gBACjC,iCAAiC;gBACjC,MAAM,SAAS,GAAG,GAAG,CAAC;gBACtB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;gBACb,KAAK,IAAI,CAAC,GAAG,gBAAgB,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;oBACjC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;oBACjC,IAAI,KAAK,GAAG,SAAS;wBAAE,MAAM;oBAC7B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;wBACZ,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;oBAC3B,OAAO,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,4CAA4C;IAC5C,MAAM,cAAc,GAAG;QACrB,qBAAqB;QACrB,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtE,YAAY,EAAE,OAAO;QACrB,iBAAiB;QACjB,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK;QACzC,uBAAuB;QACvB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW;QAClE,eAAe,EAAE,aAAa,EAAE,QAAQ;QACxC,qBAAqB;QACrB,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW;QAChE,WAAW,EAAE,UAAU;QACvB,qBAAqB;QACrB,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS;QAC1E,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY;QAC3D,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW;QAC1D,wBAAwB,EAAE,cAAc,EAAE,mBAAmB;QAC7D,cAAc;QACd,sBAAsB;QACtB,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW;QAClD,0BAA0B;QAC1B,SAAS,EAAE,WAAW;QACtB,WAAW;QACX,eAAe,EAAE,gBAAgB,EAAE,gBAAgB;KACpD,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,CAAC;IAChC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,UAAU,GAAG,UAAU,CAAC;IAC5B,OAAO,UAAU,IAAI,CAAC,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,cAAc,GAAG,mBAAmB,EAAE,CAAC;QAC/F,cAAc,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC;YAAE,MAAM;QAExB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACb,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,GAAG,KAAK,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC3C,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC5D,IAAI,QAAQ;gBAAE,SAAS;YACvB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,GAAG,CAAC;YACtB,IAAI,KAAK,GAAG,SAAS;gBAAE,MAAM;YAC7B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACZ,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC3C,mDAAmD;YACnD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB;YAC7D,8DAA8D;YAC9D,8DAA8D;YAC9D,uDAAuD;YACvD,0DAA0D;YAC1D,6DAA6D;YAC7D,4BAA4B;YAC5B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,+DAA+D;YAC/D,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,iEAAiE;IACjE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACrE,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,IAAY,EAAiB,EAAE;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9B,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,yBAAyB,CAAC,CAAC;QACxE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,MAAM,EAAE,CAAC;gBAAC,MAAM,GAAG,KAAK,CAAC;gBAAC,SAAS;YAAC,CAAC;YACzC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC7C,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnD,IAAI,QAAQ;gBAAE,SAAS;YACvB,MAAM,SAAS,GAAG,GAAG,CAAC;YACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,SAAS;oBAAE,OAAO,IAAI,CAAC;YACrC,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACtB,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,yCAAyC;IACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACjG,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAAmC;IAEnC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,0EAA0E;IAC1E,sCAAsC;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpG,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,gFAAgF;IAChF,gDAAgD;IAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC/E,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,oFAAoF;IACpF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACrE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,OAAO;;;;;;;;;MASH,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAa;IACpD,iDAAiD;IACjD,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,mEAAmE,CAAC;IAC7E,CAAC;IAED,OAAO;;;cAGK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,WAAoB,EAAE,aAAsB,EAAE,KAAc;IACtF,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,WAAW,KAAK,CAAC,IAAI,aAAa,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO;;MAEL,CAAC;IACL,CAAC;IAED,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;;MAEL,CAAC;IACL,CAAC;IAED,IAAI,WAAW,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,WAAW,qBAAqB,SAAS;;;;;;MAMvD,CAAC;IACL,CAAC;IAED,OAAO;;MAEH,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,WAAoB;IACnD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;;MAEL,CAAC;IACL,CAAC;IAED,OAAO,6BAA6B,WAAW,IAAI,MAAM;;;MAGrD,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,iBAAiB;QACjB,WAAW;QACX,kBAAkB;QAClB,iBAAiB;QACjB,gBAAgB;QAChB,kBAAkB;QAClB,uBAAuB;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -1,55 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Grammar configuration
|
|
2
|
+
* Grammar configuration helpers
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Reads grammar configurations from the unified config file
|
|
5
5
|
* and merges with built-in grammars.
|
|
6
6
|
*/
|
|
7
|
-
import type
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
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;
|
|
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"}
|