matryoshka-rlm 0.2.3 → 0.2.5
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 +44 -6
- package/dist/engine/handle-session.d.ts +149 -0
- package/dist/engine/handle-session.d.ts.map +1 -0
- package/dist/engine/handle-session.js +240 -0
- package/dist/engine/handle-session.js.map +1 -0
- package/dist/engine/nucleus-engine.d.ts.map +1 -1
- package/dist/engine/nucleus-engine.js +4 -1
- package/dist/engine/nucleus-engine.js.map +1 -1
- package/dist/lattice-mcp-server.d.ts +11 -6
- package/dist/lattice-mcp-server.d.ts.map +1 -1
- package/dist/lattice-mcp-server.js +217 -97
- package/dist/lattice-mcp-server.js.map +1 -1
- package/dist/persistence/checkpoint.d.ts +63 -0
- package/dist/persistence/checkpoint.d.ts.map +1 -0
- package/dist/persistence/checkpoint.js +110 -0
- package/dist/persistence/checkpoint.js.map +1 -0
- package/dist/persistence/fts5-search.d.ts +66 -0
- package/dist/persistence/fts5-search.d.ts.map +1 -0
- package/dist/persistence/fts5-search.js +141 -0
- package/dist/persistence/fts5-search.js.map +1 -0
- package/dist/persistence/handle-ops.d.ts +56 -0
- package/dist/persistence/handle-ops.d.ts.map +1 -0
- package/dist/persistence/handle-ops.js +167 -0
- package/dist/persistence/handle-ops.js.map +1 -0
- package/dist/persistence/handle-registry.d.ts +59 -0
- package/dist/persistence/handle-registry.d.ts.map +1 -0
- package/dist/persistence/handle-registry.js +129 -0
- package/dist/persistence/handle-registry.js.map +1 -0
- package/dist/persistence/index.d.ts +19 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +13 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/predicate-compiler.d.ts +28 -0
- package/dist/persistence/predicate-compiler.d.ts.map +1 -0
- package/dist/persistence/predicate-compiler.js +135 -0
- package/dist/persistence/predicate-compiler.js.map +1 -0
- package/dist/persistence/session-db.d.ts +97 -0
- package/dist/persistence/session-db.d.ts.map +1 -0
- package/dist/persistence/session-db.js +313 -0
- package/dist/persistence/session-db.js.map +1 -0
- package/dist/synthesis/evolutionary.d.ts +2 -13
- package/dist/synthesis/evolutionary.d.ts.map +1 -1
- package/dist/synthesis/evolutionary.js +2 -35
- package/dist/synthesis/evolutionary.js.map +1 -1
- package/dist/synthesis/index.d.ts +0 -1
- package/dist/synthesis/index.d.ts.map +1 -1
- package/dist/synthesis/index.js +0 -2
- package/dist/synthesis/index.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -63,6 +63,28 @@ The Lattice engine (`src/logic/`) processes Nucleus commands:
|
|
|
63
63
|
|
|
64
64
|
Lattice uses **miniKanren** (a relational programming engine) for pattern classification and filtering operations.
|
|
65
65
|
|
|
66
|
+
### SQLite Handle-Based Persistence
|
|
67
|
+
|
|
68
|
+
For large result sets, RLM uses a handle-based architecture (`src/persistence/`) that achieves **97%+ token savings**:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Traditional: LLM sees full array [15,000 tokens for 1000 results]
|
|
72
|
+
Handle-based: LLM sees stub [50 tokens: "$res1: Array(1000) [preview...]"]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**How it works:**
|
|
76
|
+
1. Results are stored in SQLite with FTS5 full-text indexing
|
|
77
|
+
2. LLM receives only handle references (`$res1`, `$res2`, etc.)
|
|
78
|
+
3. Operations execute server-side, returning new handles
|
|
79
|
+
4. Full data is only materialized when needed
|
|
80
|
+
|
|
81
|
+
**Components:**
|
|
82
|
+
- `SessionDB` - In-memory SQLite with FTS5 for fast full-text search
|
|
83
|
+
- `HandleRegistry` - Stores arrays, returns compact handle references
|
|
84
|
+
- `HandleOps` - Server-side filter/map/count/sum on handles
|
|
85
|
+
- `FTS5Search` - Phrase queries, boolean operators, relevance ranking
|
|
86
|
+
- `CheckpointManager` - Save/restore session state
|
|
87
|
+
|
|
66
88
|
### Pre-Search Optimization
|
|
67
89
|
|
|
68
90
|
Before calling the LLM, the system extracts keywords from your query and pre-runs grep:
|
|
@@ -104,6 +126,7 @@ The LLM never writes JavaScript. It outputs Nucleus commands that Lattice execut
|
|
|
104
126
|
| **Nucleus Adapter** | Prompts LLM to output Nucleus commands |
|
|
105
127
|
| **Lattice Parser** | Parses S-expressions to AST |
|
|
106
128
|
| **Lattice Solver** | Executes commands against document |
|
|
129
|
+
| **SQLite Persistence** | Handle-based storage with FTS5 (97% token savings) |
|
|
107
130
|
| **miniKanren** | Relational engine for classification |
|
|
108
131
|
| **Pre-Search** | Extracts keywords and pre-runs grep |
|
|
109
132
|
| **RAG Hints** | Few-shot examples from past successes |
|
|
@@ -221,7 +244,7 @@ rlm-mcp --test
|
|
|
221
244
|
|
|
222
245
|
### Lattice MCP Server
|
|
223
246
|
|
|
224
|
-
For direct access to the Nucleus engine without LLM orchestration, use `lattice-mcp`. This is useful when you want to run precise, programmatic queries.
|
|
247
|
+
For direct access to the Nucleus engine without LLM orchestration, use `lattice-mcp`. This is useful when you want to run precise, programmatic queries with **80%+ token savings** compared to reading files directly.
|
|
225
248
|
|
|
226
249
|
#### Lattice MCP Tools
|
|
227
250
|
|
|
@@ -248,15 +271,22 @@ For direct access to the Nucleus engine without LLM orchestration, use `lattice-
|
|
|
248
271
|
}
|
|
249
272
|
```
|
|
250
273
|
|
|
251
|
-
#### Usage Pattern
|
|
274
|
+
#### Efficient Usage Pattern
|
|
252
275
|
|
|
253
276
|
```
|
|
254
|
-
1. lattice_load("/path/to/file.txt")
|
|
255
|
-
2. lattice_query('(grep "ERROR")')
|
|
256
|
-
3. lattice_query('(
|
|
257
|
-
4.
|
|
277
|
+
1. lattice_load("/path/to/large-file.txt") # Load document (use for >500 lines)
|
|
278
|
+
2. lattice_query('(grep "ERROR")') # Search - shows preview of first 20
|
|
279
|
+
3. lattice_query('(filter RESULTS ...)') # Narrow down - updates RESULTS
|
|
280
|
+
4. lattice_query('(count RESULTS)') # Get count without listing all
|
|
281
|
+
5. lattice_close() # Free memory when done
|
|
258
282
|
```
|
|
259
283
|
|
|
284
|
+
**Token efficiency tips:**
|
|
285
|
+
- Use `(count RESULTS)` instead of viewing all results
|
|
286
|
+
- Chain `grep → filter → count/sum` to refine progressively
|
|
287
|
+
- Results show preview (first 20), use filter to narrow down
|
|
288
|
+
- Previous results available as `_1`, `_2`, etc.
|
|
289
|
+
|
|
260
290
|
### Programmatic
|
|
261
291
|
|
|
262
292
|
```typescript
|
|
@@ -449,6 +479,14 @@ src/
|
|
|
449
479
|
│ ├── lc-solver.ts # Command executor (uses miniKanren)
|
|
450
480
|
│ ├── type-inference.ts
|
|
451
481
|
│ └── constraint-resolver.ts
|
|
482
|
+
├── persistence/ # SQLite handle-based storage (97% token savings)
|
|
483
|
+
│ ├── session-db.ts # In-memory SQLite with FTS5
|
|
484
|
+
│ ├── handle-registry.ts # Handle creation and stubs
|
|
485
|
+
│ ├── handle-ops.ts # Server-side operations
|
|
486
|
+
│ ├── fts5-search.ts # Full-text search
|
|
487
|
+
│ └── checkpoint.ts # Session persistence
|
|
488
|
+
├── engine/ # Nucleus execution engine
|
|
489
|
+
│ └── nucleus-engine.ts
|
|
452
490
|
├── minikanren/ # Relational programming engine
|
|
453
491
|
├── synthesis/ # Program synthesis (Barliman-style)
|
|
454
492
|
│ └── evalo/ # Extractor DSL
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HandleSession - Handle-based document analysis session
|
|
3
|
+
*
|
|
4
|
+
* Wraps NucleusEngine with handle-based persistence for 97%+ token savings.
|
|
5
|
+
* Query results are stored in SQLite and only handle stubs are returned to the LLM.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Result of a handle-based query execution
|
|
9
|
+
*/
|
|
10
|
+
export interface HandleResult {
|
|
11
|
+
success: boolean;
|
|
12
|
+
/** Handle reference (e.g., "$res1") if result is an array */
|
|
13
|
+
handle?: string;
|
|
14
|
+
/** Handle stub for LLM context (e.g., "$res1: Array(1000) [preview...]") */
|
|
15
|
+
stub?: string;
|
|
16
|
+
/** Scalar value if result is not an array */
|
|
17
|
+
value?: unknown;
|
|
18
|
+
/** Execution logs */
|
|
19
|
+
logs: string[];
|
|
20
|
+
/** Error message if failed */
|
|
21
|
+
error?: string;
|
|
22
|
+
/** Inferred type */
|
|
23
|
+
type?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Options for expanding a handle
|
|
27
|
+
*/
|
|
28
|
+
export interface ExpandOptions {
|
|
29
|
+
/** Maximum number of items to return (default: all) */
|
|
30
|
+
limit?: number;
|
|
31
|
+
/** Offset for pagination */
|
|
32
|
+
offset?: number;
|
|
33
|
+
/** Format: 'full' returns all fields, 'lines' returns just line content */
|
|
34
|
+
format?: "full" | "lines";
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Result of expanding a handle
|
|
38
|
+
*/
|
|
39
|
+
export interface ExpandResult {
|
|
40
|
+
success: boolean;
|
|
41
|
+
data?: unknown[];
|
|
42
|
+
total?: number;
|
|
43
|
+
offset?: number;
|
|
44
|
+
limit?: number;
|
|
45
|
+
error?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* HandleSession - combines NucleusEngine with handle-based storage
|
|
49
|
+
*/
|
|
50
|
+
export declare class HandleSession {
|
|
51
|
+
private engine;
|
|
52
|
+
private db;
|
|
53
|
+
private registry;
|
|
54
|
+
private ops;
|
|
55
|
+
private documentPath;
|
|
56
|
+
private documentSize;
|
|
57
|
+
private loadedAt;
|
|
58
|
+
private lastAccessedAt;
|
|
59
|
+
private queryCount;
|
|
60
|
+
constructor();
|
|
61
|
+
/**
|
|
62
|
+
* Load a document from file
|
|
63
|
+
*/
|
|
64
|
+
loadFile(filePath: string): Promise<{
|
|
65
|
+
lineCount: number;
|
|
66
|
+
size: number;
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* Load a document from string content
|
|
70
|
+
*/
|
|
71
|
+
loadContent(content: string, path?: string): {
|
|
72
|
+
lineCount: number;
|
|
73
|
+
size: number;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Check if a document is loaded
|
|
77
|
+
*/
|
|
78
|
+
isLoaded(): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Get document statistics
|
|
81
|
+
*/
|
|
82
|
+
getStats(): {
|
|
83
|
+
path: string;
|
|
84
|
+
lineCount: number;
|
|
85
|
+
size: number;
|
|
86
|
+
loadedAt: Date | null;
|
|
87
|
+
} | null;
|
|
88
|
+
/**
|
|
89
|
+
* Execute a Nucleus query and return handle-based result
|
|
90
|
+
*
|
|
91
|
+
* Arrays are stored in SQLite and a handle stub is returned.
|
|
92
|
+
* Scalars are returned directly.
|
|
93
|
+
*/
|
|
94
|
+
execute(command: string): HandleResult;
|
|
95
|
+
/**
|
|
96
|
+
* Expand a handle to get full data
|
|
97
|
+
*
|
|
98
|
+
* Use this when the LLM needs to see actual data for decision-making.
|
|
99
|
+
*/
|
|
100
|
+
expand(handle: string, options?: ExpandOptions): ExpandResult;
|
|
101
|
+
/**
|
|
102
|
+
* Get a preview of handle contents (first N items)
|
|
103
|
+
*/
|
|
104
|
+
preview(handle: string, n?: number): unknown[];
|
|
105
|
+
/**
|
|
106
|
+
* Get a random sample from a handle
|
|
107
|
+
*/
|
|
108
|
+
sample(handle: string, n?: number): unknown[];
|
|
109
|
+
/**
|
|
110
|
+
* Describe handle contents (schema + stats)
|
|
111
|
+
*/
|
|
112
|
+
describe(handle: string): {
|
|
113
|
+
count: number;
|
|
114
|
+
fields: string[];
|
|
115
|
+
sample: unknown[];
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Get current handle bindings as stubs
|
|
119
|
+
*/
|
|
120
|
+
getBindings(): Record<string, string>;
|
|
121
|
+
/**
|
|
122
|
+
* Build context string with all handle stubs
|
|
123
|
+
*/
|
|
124
|
+
buildContext(): string;
|
|
125
|
+
/**
|
|
126
|
+
* Reset bindings but keep document loaded
|
|
127
|
+
*/
|
|
128
|
+
reset(): void;
|
|
129
|
+
/**
|
|
130
|
+
* Get session info
|
|
131
|
+
*/
|
|
132
|
+
getSessionInfo(): {
|
|
133
|
+
documentPath: string;
|
|
134
|
+
documentSize: number;
|
|
135
|
+
loadedAt: Date | null;
|
|
136
|
+
lastAccessedAt: Date | null;
|
|
137
|
+
queryCount: number;
|
|
138
|
+
handleCount: number;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Close the session and free resources
|
|
142
|
+
*/
|
|
143
|
+
close(): void;
|
|
144
|
+
/**
|
|
145
|
+
* Get command reference
|
|
146
|
+
*/
|
|
147
|
+
static getCommandReference(): string;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=handle-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-session.d.ts","sourceRoot":"","sources":["../../src/engine/handle-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HandleSession - Handle-based document analysis session
|
|
3
|
+
*
|
|
4
|
+
* Wraps NucleusEngine with handle-based persistence for 97%+ token savings.
|
|
5
|
+
* Query results are stored in SQLite and only handle stubs are returned to the LLM.
|
|
6
|
+
*/
|
|
7
|
+
import { readFile } from "node:fs/promises";
|
|
8
|
+
import { NucleusEngine } from "./nucleus-engine.js";
|
|
9
|
+
import { SessionDB } from "../persistence/session-db.js";
|
|
10
|
+
import { HandleRegistry } from "../persistence/handle-registry.js";
|
|
11
|
+
import { HandleOps } from "../persistence/handle-ops.js";
|
|
12
|
+
/**
|
|
13
|
+
* HandleSession - combines NucleusEngine with handle-based storage
|
|
14
|
+
*/
|
|
15
|
+
export class HandleSession {
|
|
16
|
+
engine;
|
|
17
|
+
db;
|
|
18
|
+
registry;
|
|
19
|
+
ops;
|
|
20
|
+
documentPath = "";
|
|
21
|
+
documentSize = 0;
|
|
22
|
+
loadedAt = null;
|
|
23
|
+
lastAccessedAt = null;
|
|
24
|
+
queryCount = 0;
|
|
25
|
+
constructor() {
|
|
26
|
+
this.engine = new NucleusEngine();
|
|
27
|
+
this.db = new SessionDB();
|
|
28
|
+
this.registry = new HandleRegistry(this.db);
|
|
29
|
+
this.ops = new HandleOps(this.db, this.registry);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Load a document from file
|
|
33
|
+
*/
|
|
34
|
+
async loadFile(filePath) {
|
|
35
|
+
const content = await readFile(filePath, "utf-8");
|
|
36
|
+
return this.loadContent(content, filePath);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Load a document from string content
|
|
40
|
+
*/
|
|
41
|
+
loadContent(content, path = "<string>") {
|
|
42
|
+
// Load into NucleusEngine for query execution
|
|
43
|
+
this.engine.loadContent(content);
|
|
44
|
+
// Also load into SessionDB for FTS5 search and handle storage
|
|
45
|
+
const lineCount = this.db.loadDocument(content);
|
|
46
|
+
this.documentPath = path;
|
|
47
|
+
this.documentSize = content.length;
|
|
48
|
+
this.loadedAt = new Date();
|
|
49
|
+
this.lastAccessedAt = new Date();
|
|
50
|
+
this.queryCount = 0;
|
|
51
|
+
return { lineCount, size: content.length };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Check if a document is loaded
|
|
55
|
+
*/
|
|
56
|
+
isLoaded() {
|
|
57
|
+
return this.engine.isLoaded();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get document statistics
|
|
61
|
+
*/
|
|
62
|
+
getStats() {
|
|
63
|
+
const engineStats = this.engine.getStats();
|
|
64
|
+
if (!engineStats)
|
|
65
|
+
return null;
|
|
66
|
+
return {
|
|
67
|
+
path: this.documentPath,
|
|
68
|
+
lineCount: engineStats.lineCount,
|
|
69
|
+
size: this.documentSize,
|
|
70
|
+
loadedAt: this.loadedAt,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Execute a Nucleus query and return handle-based result
|
|
75
|
+
*
|
|
76
|
+
* Arrays are stored in SQLite and a handle stub is returned.
|
|
77
|
+
* Scalars are returned directly.
|
|
78
|
+
*/
|
|
79
|
+
execute(command) {
|
|
80
|
+
this.lastAccessedAt = new Date();
|
|
81
|
+
this.queryCount++;
|
|
82
|
+
// Execute via NucleusEngine
|
|
83
|
+
const result = this.engine.execute(command);
|
|
84
|
+
if (!result.success) {
|
|
85
|
+
return {
|
|
86
|
+
success: false,
|
|
87
|
+
logs: result.logs,
|
|
88
|
+
error: result.error,
|
|
89
|
+
type: result.type,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
// If result is an array, store in handle registry
|
|
93
|
+
if (Array.isArray(result.value)) {
|
|
94
|
+
const handle = this.registry.store(result.value);
|
|
95
|
+
this.registry.setResults(handle);
|
|
96
|
+
// Get the stub for LLM context
|
|
97
|
+
const stub = this.registry.getStub(handle);
|
|
98
|
+
return {
|
|
99
|
+
success: true,
|
|
100
|
+
handle,
|
|
101
|
+
stub,
|
|
102
|
+
logs: result.logs,
|
|
103
|
+
type: result.type,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
// Scalar result - return directly
|
|
107
|
+
return {
|
|
108
|
+
success: true,
|
|
109
|
+
value: result.value,
|
|
110
|
+
logs: result.logs,
|
|
111
|
+
type: result.type,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Expand a handle to get full data
|
|
116
|
+
*
|
|
117
|
+
* Use this when the LLM needs to see actual data for decision-making.
|
|
118
|
+
*/
|
|
119
|
+
expand(handle, options = {}) {
|
|
120
|
+
this.lastAccessedAt = new Date();
|
|
121
|
+
const data = this.registry.get(handle);
|
|
122
|
+
if (data === null) {
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
error: `Invalid handle: ${handle}`,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
const total = data.length;
|
|
129
|
+
const offset = options.offset ?? 0;
|
|
130
|
+
const limit = options.limit ?? total;
|
|
131
|
+
// Slice the data
|
|
132
|
+
let sliced = data.slice(offset, offset + limit);
|
|
133
|
+
// Format if requested
|
|
134
|
+
if (options.format === "lines") {
|
|
135
|
+
sliced = sliced.map((item) => {
|
|
136
|
+
if (typeof item === "object" && item !== null) {
|
|
137
|
+
const obj = item;
|
|
138
|
+
// Extract line content
|
|
139
|
+
const line = obj.line ?? obj.content ?? obj.text;
|
|
140
|
+
if (line !== undefined) {
|
|
141
|
+
const lineNum = obj.lineNum ?? obj.lineNumber ?? obj.num;
|
|
142
|
+
if (lineNum !== undefined) {
|
|
143
|
+
return `[${lineNum}] ${line}`;
|
|
144
|
+
}
|
|
145
|
+
return String(line);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return item;
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
success: true,
|
|
153
|
+
data: sliced,
|
|
154
|
+
total,
|
|
155
|
+
offset,
|
|
156
|
+
limit,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get a preview of handle contents (first N items)
|
|
161
|
+
*/
|
|
162
|
+
preview(handle, n = 5) {
|
|
163
|
+
this.lastAccessedAt = new Date();
|
|
164
|
+
return this.ops.preview(handle, n);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get a random sample from a handle
|
|
168
|
+
*/
|
|
169
|
+
sample(handle, n = 5) {
|
|
170
|
+
this.lastAccessedAt = new Date();
|
|
171
|
+
return this.ops.sample(handle, n);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Describe handle contents (schema + stats)
|
|
175
|
+
*/
|
|
176
|
+
describe(handle) {
|
|
177
|
+
this.lastAccessedAt = new Date();
|
|
178
|
+
return this.ops.describe(handle);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Get current handle bindings as stubs
|
|
182
|
+
*/
|
|
183
|
+
getBindings() {
|
|
184
|
+
const handles = this.registry.listHandles();
|
|
185
|
+
const bindings = {};
|
|
186
|
+
for (const handle of handles) {
|
|
187
|
+
bindings[handle] = this.registry.getStub(handle);
|
|
188
|
+
}
|
|
189
|
+
// Mark current RESULTS
|
|
190
|
+
const resultsHandle = this.registry.getResults();
|
|
191
|
+
if (resultsHandle) {
|
|
192
|
+
bindings["RESULTS"] = `-> ${resultsHandle}`;
|
|
193
|
+
}
|
|
194
|
+
return bindings;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Build context string with all handle stubs
|
|
198
|
+
*/
|
|
199
|
+
buildContext() {
|
|
200
|
+
return this.registry.buildContext();
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Reset bindings but keep document loaded
|
|
204
|
+
*/
|
|
205
|
+
reset() {
|
|
206
|
+
// Clear handles
|
|
207
|
+
const handles = this.registry.listHandles();
|
|
208
|
+
for (const handle of handles) {
|
|
209
|
+
this.registry.delete(handle);
|
|
210
|
+
}
|
|
211
|
+
// Reset engine state
|
|
212
|
+
this.engine.reset();
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Get session info
|
|
216
|
+
*/
|
|
217
|
+
getSessionInfo() {
|
|
218
|
+
return {
|
|
219
|
+
documentPath: this.documentPath,
|
|
220
|
+
documentSize: this.documentSize,
|
|
221
|
+
loadedAt: this.loadedAt,
|
|
222
|
+
lastAccessedAt: this.lastAccessedAt,
|
|
223
|
+
queryCount: this.queryCount,
|
|
224
|
+
handleCount: this.registry.listHandles().length,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Close the session and free resources
|
|
229
|
+
*/
|
|
230
|
+
close() {
|
|
231
|
+
this.db.close();
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get command reference
|
|
235
|
+
*/
|
|
236
|
+
static getCommandReference() {
|
|
237
|
+
return NucleusEngine.getCommandReference();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=handle-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-session.js","sourceRoot":"","sources":["../../src/engine/handle-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nucleus-engine.d.ts","sourceRoot":"","sources":["../../src/engine/nucleus-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqGD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAa;gBAEpB,OAAO,GAAE,oBAAyB;IAI9C;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAYlC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,QAAQ,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMxD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAyEzC;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE;IAIjD;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAatC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9C;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"nucleus-engine.d.ts","sourceRoot":"","sources":["../../src/engine/nucleus-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqGD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAa;gBAEpB,OAAO,GAAE,oBAAyB;IAI9C;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAYlC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,QAAQ,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMxD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAyEzC;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE;IAIjD;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAatC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9C;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM;CAgDrC;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAI3G;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAItG"}
|
|
@@ -316,10 +316,13 @@ SYNTHESIS:
|
|
|
316
316
|
(synthesize (example "in1" out1) (example "in2" out2) ...)
|
|
317
317
|
Synthesize function from examples
|
|
318
318
|
|
|
319
|
-
VARIABLES:
|
|
319
|
+
VARIABLES (for use in queries):
|
|
320
320
|
RESULTS Last array result (auto-bound)
|
|
321
321
|
_1, _2, _3, ... Results from turn N (auto-bound)
|
|
322
322
|
context Raw document content
|
|
323
|
+
|
|
324
|
+
NOTE: $res1, $res2, etc. are handle stubs for lattice_expand only.
|
|
325
|
+
Use RESULTS or _1, _2, _3 to reference previous results in queries.
|
|
323
326
|
`;
|
|
324
327
|
}
|
|
325
328
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nucleus-engine.js","sourceRoot":"","sources":["../../src/engine/nucleus-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"nucleus-engine.js","sourceRoot":"","sources":["../../src/engine/nucleus-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Lattice MCP Server
|
|
3
|
+
* Lattice MCP Server - Handle-Based Document Analysis
|
|
4
4
|
*
|
|
5
|
-
* A stateful document analysis tool
|
|
6
|
-
*
|
|
5
|
+
* A stateful document analysis tool that achieves 97%+ token savings by
|
|
6
|
+
* storing results in SQLite and returning only handle references to the LLM.
|
|
7
|
+
*
|
|
8
|
+
* KEY CONCEPT:
|
|
9
|
+
* - Query results are stored server-side, LLM sees only compact stubs
|
|
10
|
+
* - Use lattice_expand when you need to see actual data for decision-making
|
|
11
|
+
* - Chain operations via RESULTS without transferring full datasets
|
|
7
12
|
*
|
|
8
13
|
* SESSION LIFECYCLE:
|
|
9
14
|
* - Sessions auto-expire after inactivity (default: 10 minutes)
|
|
10
15
|
* - Loading a new document closes the previous session
|
|
11
16
|
* - Explicit lattice_close tool for cleanup
|
|
12
|
-
* - Memory is freed when session ends
|
|
13
17
|
*
|
|
14
18
|
* Usage:
|
|
15
19
|
* 1. lattice_load - Load a document (starts session)
|
|
16
|
-
* 2. lattice_query - Run queries (
|
|
17
|
-
* 3.
|
|
20
|
+
* 2. lattice_query - Run queries (returns handle stubs, not full data)
|
|
21
|
+
* 3. lattice_expand - Get full data when you need to inspect results
|
|
22
|
+
* 4. lattice_close - End session
|
|
18
23
|
*/
|
|
19
24
|
export {};
|
|
20
25
|
//# sourceMappingURL=lattice-mcp-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lattice-mcp-server.d.ts","sourceRoot":"","sources":["../src/lattice-mcp-server.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"lattice-mcp-server.d.ts","sourceRoot":"","sources":["../src/lattice-mcp-server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
|