knitbrain 0.1.2 → 0.2.0
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 +66 -23
- package/dist/engine/agents.d.ts +4 -0
- package/dist/engine/agents.js +3 -2
- package/dist/engine/agents.js.map +1 -1
- package/dist/engine/feedback.js +1 -1
- package/dist/engine/feedback.js.map +1 -1
- package/dist/evals.d.ts +53 -0
- package/dist/evals.js +189 -0
- package/dist/evals.js.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/learn.d.ts +39 -0
- package/dist/learn.js +289 -0
- package/dist/learn.js.map +1 -0
- package/dist/lib.d.ts +37 -0
- package/dist/lib.js +17 -0
- package/dist/lib.js.map +1 -0
- package/dist/mcp/instructions.d.ts +7 -0
- package/dist/mcp/instructions.js +29 -0
- package/dist/mcp/instructions.js.map +1 -0
- package/dist/mcp/tools.js +47 -12
- package/dist/mcp/tools.js.map +1 -1
- package/dist/optimizer/ast.d.ts +11 -0
- package/dist/optimizer/ast.js +99 -29
- package/dist/optimizer/ast.js.map +1 -1
- package/dist/optimizer/code.js +1 -1
- package/dist/optimizer/code.js.map +1 -1
- package/dist/optimizer/router.d.ts +3 -1
- package/dist/optimizer/router.js +32 -7
- package/dist/optimizer/router.js.map +1 -1
- package/dist/optimizer/structured.d.ts +43 -0
- package/dist/optimizer/structured.js +196 -0
- package/dist/optimizer/structured.js.map +1 -0
- package/dist/optimizer/text.js +38 -7
- package/dist/optimizer/text.js.map +1 -1
- package/dist/optimizer/types.d.ts +4 -2
- package/dist/platforms.d.ts +11 -1
- package/dist/platforms.js +34 -1
- package/dist/platforms.js.map +1 -1
- package/dist/proxy/cache-aligner.d.ts +25 -4
- package/dist/proxy/cache-aligner.js +45 -4
- package/dist/proxy/cache-aligner.js.map +1 -1
- package/dist/proxy/optimize-request.d.ts +10 -0
- package/dist/proxy/optimize-request.js +96 -6
- package/dist/proxy/optimize-request.js.map +1 -1
- package/dist/proxy/server.js +2 -2
- package/dist/proxy/server.js.map +1 -1
- package/dist/server.js +5 -1
- package/dist/server.js.map +1 -1
- package/dist/setup.d.ts +1 -1
- package/dist/setup.js +30 -1
- package/dist/setup.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +11 -2
package/dist/learn.js
ADDED
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { createReadStream, existsSync, readdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { basename, join, resolve } from "node:path";
|
|
4
|
+
import { createInterface } from "node:readline";
|
|
5
|
+
const FAIL_TEXT = /\b(does not exist|No such file|not found|command not found|ModuleNotFoundError|No module named|ENOENT|Permission denied|is a directory|InputValidationError)\b/i;
|
|
6
|
+
const TOO_LARGE = /\b(exceeds maximum|too large|File content \(\d+|truncated)\b/i;
|
|
7
|
+
/** Secrets must never reach CLAUDE.md (it's often committed). */
|
|
8
|
+
const SECRET = /\b(hf_|sk-|ghp_|gho_|github_pat_|xox[abps]-|AKIA|ASIA)[A-Za-z0-9_-]{8,}/;
|
|
9
|
+
const SECRET_WORDS = /\b(password|secret|api[_-]?key|token)\s*[:=]/i;
|
|
10
|
+
/** A learning is publishable only if it's short, single-line, and secret-free. */
|
|
11
|
+
function publishable(text) {
|
|
12
|
+
return text.length <= 220 && !text.includes("\n") && !SECRET.test(text) && !SECRET_WORDS.test(text);
|
|
13
|
+
}
|
|
14
|
+
/** Generic basenames that collide across unrelated files — useless as anchors. */
|
|
15
|
+
const GENERIC_BASENAMES = new Set([
|
|
16
|
+
"route.ts",
|
|
17
|
+
"route.js",
|
|
18
|
+
"index.ts",
|
|
19
|
+
"index.js",
|
|
20
|
+
"index.tsx",
|
|
21
|
+
"page.tsx",
|
|
22
|
+
"layout.tsx",
|
|
23
|
+
"main.py",
|
|
24
|
+
"main.go",
|
|
25
|
+
"mod.rs",
|
|
26
|
+
"lib.rs",
|
|
27
|
+
"__init__.py",
|
|
28
|
+
"types.ts",
|
|
29
|
+
"utils.ts",
|
|
30
|
+
"README.md",
|
|
31
|
+
"CLAUDE.md",
|
|
32
|
+
"package.json",
|
|
33
|
+
]);
|
|
34
|
+
/** Parse one transcript: ordered tool events (use+result matched by id). */
|
|
35
|
+
export async function parseSession(file) {
|
|
36
|
+
const uses = new Map();
|
|
37
|
+
const events = [];
|
|
38
|
+
let seq = 0;
|
|
39
|
+
const rl = createInterface({ input: createReadStream(file), crlfDelay: Infinity });
|
|
40
|
+
for await (const line of rl) {
|
|
41
|
+
let msg;
|
|
42
|
+
try {
|
|
43
|
+
msg = JSON.parse(line);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
const content = msg?.message?.content;
|
|
49
|
+
if (!Array.isArray(content))
|
|
50
|
+
continue;
|
|
51
|
+
for (const block of content) {
|
|
52
|
+
if (block["type"] === "tool_use" && typeof block["id"] === "string") {
|
|
53
|
+
uses.set(block["id"], {
|
|
54
|
+
tool: String(block["name"] ?? ""),
|
|
55
|
+
input: block["input"] ?? {},
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (block["type"] === "tool_result" && typeof block["tool_use_id"] === "string") {
|
|
59
|
+
const use = uses.get(block["tool_use_id"]);
|
|
60
|
+
if (!use)
|
|
61
|
+
continue;
|
|
62
|
+
const raw = block["content"];
|
|
63
|
+
const text = typeof raw === "string"
|
|
64
|
+
? raw
|
|
65
|
+
: Array.isArray(raw)
|
|
66
|
+
? raw
|
|
67
|
+
.filter((b) => b.type === "text")
|
|
68
|
+
.map((b) => b.text ?? "")
|
|
69
|
+
.join("\n")
|
|
70
|
+
: "";
|
|
71
|
+
// Trust the explicit flag; the regex is only a fallback when the
|
|
72
|
+
// transcript doesn't carry one (ordinary output often CONTAINS the
|
|
73
|
+
// words "not found" without being a failure).
|
|
74
|
+
const error = block["is_error"] === true ||
|
|
75
|
+
(block["is_error"] === undefined && FAIL_TEXT.test(text.slice(0, 500)));
|
|
76
|
+
events.push({ tool: use.tool, input: use.input, error, errText: text.slice(0, 500), seq: (seq += 1) });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return events;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The FILE a command targets (a token with a path-like extension), ignoring
|
|
84
|
+
* redirections and pipe tails. High precision beats recall here: a wrong
|
|
85
|
+
* "correction" in CLAUDE.md misleads every future session.
|
|
86
|
+
*/
|
|
87
|
+
function targetFile(cmd) {
|
|
88
|
+
const m = /(?:^|\s)((?:[\w./~-]+\/)?[\w.-]+\.(?:py|ts|tsx|js|mjs|go|rs|java|rb|sh|json|yml|yaml|toml|md))(?=\s|$)/.exec(cmd);
|
|
89
|
+
return m?.[1] ?? "";
|
|
90
|
+
}
|
|
91
|
+
/** Mine one session's events for failure→success corrections. */
|
|
92
|
+
export function mineSession(events) {
|
|
93
|
+
const out = [];
|
|
94
|
+
const WINDOW = 12; // a fix usually lands within a few steps of the failure
|
|
95
|
+
for (let i = 0; i < events.length; i += 1) {
|
|
96
|
+
const ev = events[i];
|
|
97
|
+
if (!ev.error)
|
|
98
|
+
continue;
|
|
99
|
+
const later = events.slice(i + 1, i + 1 + WINDOW).filter((e) => !e.error);
|
|
100
|
+
// 1. FILE PATH CORRECTIONS — failed file op, later success on the same
|
|
101
|
+
// basename. Generic basenames (route.ts, index.ts) collide across
|
|
102
|
+
// unrelated files, so they're excluded.
|
|
103
|
+
const failedPath = typeof ev.input["file_path"] === "string" ? ev.input["file_path"] : "";
|
|
104
|
+
if (failedPath && ["Read", "Edit", "Write"].includes(ev.tool) && !GENERIC_BASENAMES.has(basename(failedPath))) {
|
|
105
|
+
const fix = later.find((e) => typeof e.input["file_path"] === "string" &&
|
|
106
|
+
e.input["file_path"] !== failedPath &&
|
|
107
|
+
basename(e.input["file_path"]) === basename(failedPath));
|
|
108
|
+
if (fix) {
|
|
109
|
+
const text = `\`${failedPath}\` → actually at \`${fix.input["file_path"]}\``;
|
|
110
|
+
if (publishable(text))
|
|
111
|
+
out.push({ category: "paths", text, count: 1 });
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// 2. COMMAND CORRECTIONS — failed command, later success on the SAME
|
|
116
|
+
// target file with a different runner (python3 x.py → uv run python
|
|
117
|
+
// x.py). Single-line, short commands only: a correction must be
|
|
118
|
+
// readable and unambiguous or it's noise.
|
|
119
|
+
const failedCmd = typeof ev.input["command"] === "string" ? ev.input["command"] : "";
|
|
120
|
+
if (failedCmd && ev.tool === "Bash" && !failedCmd.includes("\n") && failedCmd.length <= 120) {
|
|
121
|
+
const target = targetFile(failedCmd);
|
|
122
|
+
const fix = later.find((e) => e.tool === "Bash" &&
|
|
123
|
+
typeof e.input["command"] === "string" &&
|
|
124
|
+
!e.input["command"].includes("\n") &&
|
|
125
|
+
e.input["command"].length <= 120 &&
|
|
126
|
+
e.input["command"] !== failedCmd &&
|
|
127
|
+
target.length > 0 &&
|
|
128
|
+
targetFile(e.input["command"]) === target);
|
|
129
|
+
if (fix) {
|
|
130
|
+
const text = `use \`${fix.input["command"]}\` (not \`${failedCmd}\`)`;
|
|
131
|
+
if (publishable(text))
|
|
132
|
+
out.push({ category: "commands", text, count: 1 });
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// 4. LARGE FILES — reads that blew the size limit need offset/limit.
|
|
137
|
+
// Ephemeral paths (/tmp task outputs) won't exist next session — skip.
|
|
138
|
+
if (ev.tool === "Read" && failedPath && TOO_LARGE.test(ev.errText) && !/^(\/private)?\/tmp\//.test(failedPath)) {
|
|
139
|
+
const text = `\`${failedPath}\` is too large for a whole-file Read — use offset/limit`;
|
|
140
|
+
if (publishable(text))
|
|
141
|
+
out.push({ category: "large-files", text, count: 1 });
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// 3. ENVIRONMENT FACTS — runners that failed repeatedly and never succeeded.
|
|
145
|
+
const firstTok = (c) => c.trim().split(/\s+/)[0] ?? "";
|
|
146
|
+
// Shell builtins / generic helpers say nothing about the environment.
|
|
147
|
+
const NOISE_RUNNERS = new Set(["cd", "echo", "ls", "cat", "#", "[", "for", "if", "while", "sleep", "true"]);
|
|
148
|
+
const cmdStats = new Map();
|
|
149
|
+
for (const e of events) {
|
|
150
|
+
if (e.tool !== "Bash" || typeof e.input["command"] !== "string")
|
|
151
|
+
continue;
|
|
152
|
+
const tok = firstTok(e.input["command"]);
|
|
153
|
+
if (!tok || tok.length < 2 || NOISE_RUNNERS.has(tok))
|
|
154
|
+
continue;
|
|
155
|
+
const s = cmdStats.get(tok) ?? { fail: 0, ok: 0 };
|
|
156
|
+
if (e.error)
|
|
157
|
+
s.fail += 1;
|
|
158
|
+
else
|
|
159
|
+
s.ok += 1;
|
|
160
|
+
cmdStats.set(tok, s);
|
|
161
|
+
}
|
|
162
|
+
for (const [tok, s] of cmdStats) {
|
|
163
|
+
if (s.fail >= 3 && s.ok === 0) {
|
|
164
|
+
out.push({
|
|
165
|
+
category: "environment",
|
|
166
|
+
text: `\`${tok}\` failed ${s.fail}× and never succeeded in past sessions — prefer an alternative`,
|
|
167
|
+
count: 1,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return out;
|
|
172
|
+
}
|
|
173
|
+
/** Merge duplicate learnings across sessions, summing evidence counts. */
|
|
174
|
+
export function mergeLearnings(all) {
|
|
175
|
+
const map = new Map();
|
|
176
|
+
for (const l of all) {
|
|
177
|
+
const key = `${l.category}:${l.text}`;
|
|
178
|
+
const cur = map.get(key);
|
|
179
|
+
if (cur)
|
|
180
|
+
cur.count += l.count;
|
|
181
|
+
else
|
|
182
|
+
map.set(key, { ...l });
|
|
183
|
+
}
|
|
184
|
+
return [...map.values()].sort((a, b) => b.count - a.count);
|
|
185
|
+
}
|
|
186
|
+
const START = "<!-- knitbrain:learn:start -->";
|
|
187
|
+
const END = "<!-- knitbrain:learn:end -->";
|
|
188
|
+
const TITLES = {
|
|
189
|
+
paths: "File locations (corrected from failed lookups)",
|
|
190
|
+
commands: "Command patterns (what actually worked)",
|
|
191
|
+
environment: "Environment facts",
|
|
192
|
+
"large-files": "Known large files (Read with offset/limit)",
|
|
193
|
+
};
|
|
194
|
+
/** Render the marker-managed CLAUDE.md section. */
|
|
195
|
+
export function renderSection(learnings) {
|
|
196
|
+
const lines = [START, "## Learned from past sessions (knitbrain learn)", ""];
|
|
197
|
+
lines.push("*Auto-generated by `knitbrain learn --apply` — edits inside the markers are overwritten.*", "");
|
|
198
|
+
for (const cat of ["paths", "commands", "environment", "large-files"]) {
|
|
199
|
+
const items = learnings.filter((l) => l.category === cat);
|
|
200
|
+
if (items.length === 0)
|
|
201
|
+
continue;
|
|
202
|
+
lines.push(`### ${TITLES[cat]}`);
|
|
203
|
+
for (const l of items)
|
|
204
|
+
lines.push(`- ${l.text}${l.count > 1 ? ` (seen ${l.count}×)` : ""}`);
|
|
205
|
+
lines.push("");
|
|
206
|
+
}
|
|
207
|
+
lines.push(END);
|
|
208
|
+
return lines.join("\n");
|
|
209
|
+
}
|
|
210
|
+
/** Write/replace the marker section in the project's CLAUDE.md. */
|
|
211
|
+
export function applyToClaudeMd(projectRoot, section) {
|
|
212
|
+
const path = join(projectRoot, "CLAUDE.md");
|
|
213
|
+
const existing = existsSync(path) ? readFileSync(path, "utf8") : "";
|
|
214
|
+
let next;
|
|
215
|
+
if (existing.includes(START) && existing.includes(END)) {
|
|
216
|
+
const pre = existing.slice(0, existing.indexOf(START));
|
|
217
|
+
const post = existing.slice(existing.indexOf(END) + END.length);
|
|
218
|
+
next = pre + section + post;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
next = existing.length > 0 ? `${existing.replace(/\n+$/, "")}\n\n${section}\n` : `${section}\n`;
|
|
222
|
+
}
|
|
223
|
+
writeFileSync(path, next);
|
|
224
|
+
return path;
|
|
225
|
+
}
|
|
226
|
+
/** Claude Code's transcript-directory slug for a project path. */
|
|
227
|
+
export function projectSlug(projectRoot) {
|
|
228
|
+
return resolve(projectRoot).replace(/[/.]/g, "-");
|
|
229
|
+
}
|
|
230
|
+
/** Transcript files for one project (or all projects with --all). */
|
|
231
|
+
export function transcriptsFor(projectRoot, all) {
|
|
232
|
+
const base = join(homedir(), ".claude", "projects");
|
|
233
|
+
if (!existsSync(base))
|
|
234
|
+
return [];
|
|
235
|
+
const slug = projectSlug(projectRoot);
|
|
236
|
+
const files = [];
|
|
237
|
+
for (const dir of readdirSync(base)) {
|
|
238
|
+
if (!all && dir !== slug)
|
|
239
|
+
continue;
|
|
240
|
+
const pd = join(base, dir);
|
|
241
|
+
try {
|
|
242
|
+
if (!statSync(pd).isDirectory())
|
|
243
|
+
continue;
|
|
244
|
+
for (const f of readdirSync(pd))
|
|
245
|
+
if (f.endsWith(".jsonl"))
|
|
246
|
+
files.push(join(pd, f));
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
/* skip unreadable */
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return files;
|
|
253
|
+
}
|
|
254
|
+
/** CLI entry: `knitbrain learn [--apply] [--all] [--project <path>]`. */
|
|
255
|
+
export async function runLearn(args, log = console.log) {
|
|
256
|
+
const apply = args.includes("--apply");
|
|
257
|
+
const all = args.includes("--all");
|
|
258
|
+
const pIdx = args.indexOf("--project");
|
|
259
|
+
const projectRoot = pIdx >= 0 && args[pIdx + 1] ? resolve(args[pIdx + 1]) : process.cwd();
|
|
260
|
+
const files = transcriptsFor(projectRoot, all);
|
|
261
|
+
log(`[learn] project: ${projectRoot}${all ? " (+ all projects)" : ""}`);
|
|
262
|
+
log(`[learn] transcripts: ${files.length}`);
|
|
263
|
+
if (files.length === 0) {
|
|
264
|
+
log("[learn] no transcripts found — has this project been worked on with Claude Code?");
|
|
265
|
+
return 0;
|
|
266
|
+
}
|
|
267
|
+
const collected = [];
|
|
268
|
+
for (const f of files)
|
|
269
|
+
collected.push(...mineSession(await parseSession(f)));
|
|
270
|
+
const learnings = mergeLearnings(collected);
|
|
271
|
+
if (learnings.length === 0) {
|
|
272
|
+
log("[learn] no failure→success corrections found — clean sessions, nothing to write");
|
|
273
|
+
return 0;
|
|
274
|
+
}
|
|
275
|
+
log(`[learn] ${learnings.length} corrections mined from real failures:`);
|
|
276
|
+
for (const l of learnings.slice(0, 30))
|
|
277
|
+
log(` [${l.category}] ${l.text}${l.count > 1 ? ` (×${l.count})` : ""}`);
|
|
278
|
+
if (learnings.length > 30)
|
|
279
|
+
log(` … and ${learnings.length - 30} more`);
|
|
280
|
+
if (apply) {
|
|
281
|
+
const path = applyToClaudeMd(projectRoot, renderSection(learnings));
|
|
282
|
+
log(`[learn] written to ${path} (marker-managed section)`);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
log("[learn] dry-run — pass --apply to write these into CLAUDE.md");
|
|
286
|
+
}
|
|
287
|
+
return learnings.length;
|
|
288
|
+
}
|
|
289
|
+
//# sourceMappingURL=learn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learn.js","sourceRoot":"","sources":["../src/learn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3G,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA2BhD,MAAM,SAAS,GACb,iKAAiK,CAAC;AACpK,MAAM,SAAS,GAAG,+DAA+D,CAAC;AAElF,iEAAiE;AACjE,MAAM,MAAM,GAAG,yEAAyE,CAAC;AACzF,MAAM,YAAY,GAAG,+CAA+C,CAAC;AAErE,kFAAkF;AAClF,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtG,CAAC;AAED,kFAAkF;AAClF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;IACV,YAAY;IACZ,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,cAAc;CACf,CAAC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4D,CAAC;IACjF,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAI,GAA2C,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,KAAK,MAAM,KAAK,IAAI,OAAyC,EAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACpB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjC,KAAK,EAAG,KAAK,CAAC,OAAO,CAA6B,IAAI,EAAE;iBACzD,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,aAAa,IAAI,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAChF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC7B,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ;oBACrB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;wBAClB,CAAC,CAAE,GAA+C;6BAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;6BAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;6BACxB,IAAI,CAAC,IAAI,CAAC;wBACf,CAAC,CAAC,EAAE,CAAC;gBACX,iEAAiE;gBACjE,mEAAmE;gBACnE,8CAA8C;gBAC9C,MAAM,KAAK,GACT,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;oBAC1B,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,CAAC,GAAG,wGAAwG,CAAC,IAAI,CACrH,GAAG,CACJ,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,wDAAwD;IAE3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,KAAK;YAAE,SAAS;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE1E,uEAAuE;QACvE,qEAAqE;QACrE,2CAA2C;QAC3C,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC9G,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ;gBACxC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,UAAU;gBACnC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAW,CAAC,KAAK,QAAQ,CAAC,UAAU,CAAC,CACpE,CAAC;YACF,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,KAAK,UAAU,sBAAsB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAW,IAAI,CAAC;gBACvF,IAAI,WAAW,CAAC,IAAI,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,IAAI,SAAS,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC5F,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,MAAM;gBACjB,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ;gBACtC,CAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC,MAAM,IAAI,GAAG;gBAC5C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS;gBAChC,MAAM,CAAC,MAAM,GAAG,CAAC;gBACjB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAW,CAAC,KAAK,MAAM,CACtD,CAAC;YACF,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,KAAK,CAAC,SAAS,CAAW,aAAa,SAAS,KAAK,CAAC;gBAChF,IAAI,WAAW,CAAC,IAAI,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1E,SAAS;YACX,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,0EAA0E;QAC1E,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/G,MAAM,IAAI,GAAG,KAAK,UAAU,0DAA0D,CAAC;YACvF,IAAI,WAAW,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,sEAAsE;IACtE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5G,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ;YAAE,SAAS;QAC1E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAW,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/D,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,CAAC,KAAK;YAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;;YACpB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACf,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC;gBACP,QAAQ,EAAE,aAAa;gBACvB,IAAI,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC,IAAI,gEAAgE;gBACjG,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,GAAe;IAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,GAAG;YAAE,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;;YACzB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,KAAK,GAAG,gCAAgC,CAAC;AAC/C,MAAM,GAAG,GAAG,8BAA8B,CAAC;AAE3C,MAAM,MAAM,GAAyC;IACnD,KAAK,EAAE,gDAAgD;IACvD,QAAQ,EAAE,yCAAyC;IACnD,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,4CAA4C;CAC5D,CAAC;AAEF,mDAAmD;AACnD,MAAM,UAAU,aAAa,CAAC,SAAqB;IACjD,MAAM,KAAK,GAAa,CAAC,KAAK,EAAE,iDAAiD,EAAE,EAAE,CAAC,CAAC;IACvF,KAAK,CAAC,IAAI,CAAC,2FAA2F,EAAE,EAAE,CAAC,CAAC;IAC5G,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,CAAU,EAAE,CAAC;QAC/E,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,OAAe;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,IAAI,IAAY,CAAC;IACjB,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC;IAClG,CAAC;IACD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,GAAY;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;YAC1C,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc,EAAE,MAA8B,OAAO,CAAC,GAAG;IACtF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAE3F,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,CAAC,oBAAoB,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,wBAAwB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,kFAAkF,CAAC,CAAC;QACxF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,SAAS,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAE5C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,iFAAiF,CAAC,CAAC;QACvF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,WAAW,SAAS,CAAC,MAAM,wCAAwC,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAAE,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjH,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE;QAAE,GAAG,CAAC,WAAW,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;IAExE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,GAAG,CAAC,sBAAsB,IAAI,2BAA2B,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,8DAA8D,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,CAAC;AAC1B,CAAC"}
|
package/dist/lib.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type CCRStore } from "./ccr/store.js";
|
|
2
|
+
import { type RouteResult, type CompressOptions } from "./optimizer/router.js";
|
|
3
|
+
import { countTokens } from "./tokenizer.js";
|
|
4
|
+
/**
|
|
5
|
+
* Public library API — use knitbrain inline, no proxy or MCP required.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { createOptimizer } from "knitbrain";
|
|
9
|
+
* const kb = createOptimizer();
|
|
10
|
+
* const r = kb.compress(bigToolOutput);
|
|
11
|
+
* // r.skeleton → hand to the model
|
|
12
|
+
* // kb.retrieve(r.handle) → exact original, byte-for-byte
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* Same router as the proxy and MCP server: detect → route → compress, with
|
|
16
|
+
* the never-expand guard and lossless CCR recovery. Originals live under
|
|
17
|
+
* `~/.knitbrain/ccr` unless `root` is given.
|
|
18
|
+
*/
|
|
19
|
+
export interface Optimizer {
|
|
20
|
+
/** Compress one payload. Lossless: original recoverable via retrieve(). */
|
|
21
|
+
compress(text: string, options?: CompressOptions): RouteResult;
|
|
22
|
+
/** Exact original for a handle a skeleton referenced. Throws if absent. */
|
|
23
|
+
retrieve(handle: string): string;
|
|
24
|
+
/** Whether a handle is still recoverable. */
|
|
25
|
+
has(handle: string): boolean;
|
|
26
|
+
/** Resolves when the tree-sitter AST parsers are warm (optional — the
|
|
27
|
+
* scanner fallback serves code until then). */
|
|
28
|
+
ready(): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
export interface OptimizerOptions {
|
|
31
|
+
/** CCR storage directory (default: `~/.knitbrain/ccr`). */
|
|
32
|
+
root?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare function createOptimizer(options?: OptimizerOptions): Optimizer;
|
|
35
|
+
export { countTokens };
|
|
36
|
+
export type { RouteResult, CompressOptions, CCRStore };
|
|
37
|
+
export type { ContentType } from "./optimizer/types.js";
|
package/dist/lib.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createFileCCRStore } from "./ccr/store.js";
|
|
2
|
+
import { compress as routeCompress } from "./optimizer/router.js";
|
|
3
|
+
import { ensureAst } from "./optimizer/ast.js";
|
|
4
|
+
import { ccrRoot } from "./paths.js";
|
|
5
|
+
import { countTokens } from "./tokenizer.js";
|
|
6
|
+
export function createOptimizer(options = {}) {
|
|
7
|
+
const store = createFileCCRStore(options.root ?? ccrRoot());
|
|
8
|
+
void ensureAst(); // warm the WASM parsers in the background
|
|
9
|
+
return {
|
|
10
|
+
compress: (text, opts) => routeCompress(text, store, opts),
|
|
11
|
+
retrieve: (handle) => store.get(handle),
|
|
12
|
+
has: (handle) => store.has(handle),
|
|
13
|
+
ready: () => ensureAst(),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export { countTokens };
|
|
17
|
+
//# sourceMappingURL=lib.js.map
|
package/dist/lib.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,QAAQ,IAAI,aAAa,EAA0C,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAkC7C,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE;IAC5D,MAAM,KAAK,GAAa,kBAAkB,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IACtE,KAAK,SAAS,EAAE,CAAC,CAAC,0CAA0C;IAC5D,OAAO;QACL,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;QAC1D,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QACvC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handshake instructions — injected at MCP initialize, so EVERY connected
|
|
3
|
+
* agent (Claude Code, Cursor, Codex, …) operates the closed loop without any
|
|
4
|
+
* file setup. This is the adherence layer: the protocol travels with the
|
|
5
|
+
* server, not with per-project config.
|
|
6
|
+
*/
|
|
7
|
+
export declare const INSTRUCTIONS = "knitbrain operating protocol (closed loop \u2014 follow in order):\n\nSESSION START\n1. Call knitbrain_load_session first. If it reports unfinished work, resume that before anything else.\n\nEVERY NON-TRIVIAL TASK\n2. Call knitbrain_run with the task (or knitbrain_classify_task with the files you plan to touch).\n3. ADHERE TO THE VERDICT:\n - autoPlanMode=true \u2192 ENTER YOUR HOST'S PLAN MODE NOW, before any file edit. Present the plan, get approval, then execute.\n - tier=trivial \u2192 just execute; skip ceremony.\n - Follow the returned phases in order (RESEARCH \u2192 PLAN \u2192 EXECUTE \u2192 REVIEW \u2192 LEARN).\n - If the verdict was wrong, say so: knitbrain_record_false_positive \u2014 the classifier self-calibrates after 3 same-direction reports.\n4. Use the returned SKILL; refine it while working; persist with knitbrain_skill_save.\n5. For complex tasks, spawn the proposed agents via your host's sub-agent mechanism; coordinate on knitbrain_team_post.\n\nCONTEXT DISCIPLINE (tokens are the budget)\n6. Big file? knitbrain_read (not raw Read). Big output to keep? knitbrain_optimize. Exact original back? knitbrain_retrieve with the \u27E8ccr:hash\u27E9.\n7. Check knitbrain_context_meter when the session runs long; follow its advice.\n\nBEFORE SAYING DONE\n8. Verify claims (run the tests/build \u2014 don't assert green without output).\n9. Record what you learned: knitbrain_record_learning (and knitbrain_skill_save if the skill improved). The next session starts smarter \u2014 that's the loop.";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handshake instructions — injected at MCP initialize, so EVERY connected
|
|
3
|
+
* agent (Claude Code, Cursor, Codex, …) operates the closed loop without any
|
|
4
|
+
* file setup. This is the adherence layer: the protocol travels with the
|
|
5
|
+
* server, not with per-project config.
|
|
6
|
+
*/
|
|
7
|
+
export const INSTRUCTIONS = `knitbrain operating protocol (closed loop — follow in order):
|
|
8
|
+
|
|
9
|
+
SESSION START
|
|
10
|
+
1. Call knitbrain_load_session first. If it reports unfinished work, resume that before anything else.
|
|
11
|
+
|
|
12
|
+
EVERY NON-TRIVIAL TASK
|
|
13
|
+
2. Call knitbrain_run with the task (or knitbrain_classify_task with the files you plan to touch).
|
|
14
|
+
3. ADHERE TO THE VERDICT:
|
|
15
|
+
- autoPlanMode=true → ENTER YOUR HOST'S PLAN MODE NOW, before any file edit. Present the plan, get approval, then execute.
|
|
16
|
+
- tier=trivial → just execute; skip ceremony.
|
|
17
|
+
- Follow the returned phases in order (RESEARCH → PLAN → EXECUTE → REVIEW → LEARN).
|
|
18
|
+
- If the verdict was wrong, say so: knitbrain_record_false_positive — the classifier self-calibrates after 3 same-direction reports.
|
|
19
|
+
4. Use the returned SKILL; refine it while working; persist with knitbrain_skill_save.
|
|
20
|
+
5. For complex tasks, spawn the proposed agents via your host's sub-agent mechanism; coordinate on knitbrain_team_post.
|
|
21
|
+
|
|
22
|
+
CONTEXT DISCIPLINE (tokens are the budget)
|
|
23
|
+
6. Big file? knitbrain_read (not raw Read). Big output to keep? knitbrain_optimize. Exact original back? knitbrain_retrieve with the ⟨ccr:hash⟩.
|
|
24
|
+
7. Check knitbrain_context_meter when the session runs long; follow its advice.
|
|
25
|
+
|
|
26
|
+
BEFORE SAYING DONE
|
|
27
|
+
8. Verify claims (run the tests/build — don't assert green without output).
|
|
28
|
+
9. Record what you learned: knitbrain_record_learning (and knitbrain_skill_save if the skill improved). The next session starts smarter — that's the loop.`;
|
|
29
|
+
//# sourceMappingURL=instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/mcp/instructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;2JAqB+H,CAAC"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -166,6 +166,8 @@ export const TOOLS = [
|
|
|
166
166
|
output: "data",
|
|
167
167
|
run: (_args, ctx) => {
|
|
168
168
|
ctx.meter.reset(); // new session starts a fresh window
|
|
169
|
+
// (Knowledge self-heals lazily: the first graph query in a fresh
|
|
170
|
+
// project triggers a scan automatically — no manual init step.)
|
|
169
171
|
return JSON.stringify(ctx.memory.loadSession(), null, 2);
|
|
170
172
|
},
|
|
171
173
|
},
|
|
@@ -235,7 +237,14 @@ export const TOOLS = [
|
|
|
235
237
|
run: (args, ctx) => {
|
|
236
238
|
const files = Array.isArray(args["files"]) ? args["files"] : [];
|
|
237
239
|
const scopeAdjust = ctx.calibration.get().scopeAdjust;
|
|
238
|
-
|
|
240
|
+
const cls = classifyTask(str(args, "description"), files, scopeAdjust);
|
|
241
|
+
// The JSON alone is too passive — agents follow imperatives, not flags.
|
|
242
|
+
const directive = cls.autoPlanMode
|
|
243
|
+
? "ENTER YOUR HOST'S PLAN MODE NOW — before any file edit. Present the plan, get approval, then execute the phases in order. Wrong verdict? knitbrain_record_false_positive."
|
|
244
|
+
: cls.tier === "trivial" || cls.tier === "inquiry"
|
|
245
|
+
? "Execute directly — no ceremony. Wrong verdict? knitbrain_record_false_positive."
|
|
246
|
+
: "Execute the phases in order (no plan-mode needed). Wrong verdict? knitbrain_record_false_positive.";
|
|
247
|
+
return JSON.stringify({ ...cls, directive }, null, 2);
|
|
239
248
|
},
|
|
240
249
|
},
|
|
241
250
|
{
|
|
@@ -296,7 +305,7 @@ export const TOOLS = [
|
|
|
296
305
|
additionalProperties: false,
|
|
297
306
|
},
|
|
298
307
|
output: "verbatim",
|
|
299
|
-
run: (args) => {
|
|
308
|
+
run: (args, ctx) => {
|
|
300
309
|
const path = writeAgent(process.cwd(), {
|
|
301
310
|
name: str(args, "name"),
|
|
302
311
|
...(typeof args["description"] === "string" ? { description: args["description"] } : {}),
|
|
@@ -305,7 +314,11 @@ export const TOOLS = [
|
|
|
305
314
|
...(typeof args["reviewGate"] === "boolean" ? { reviewGate: args["reviewGate"] } : {}),
|
|
306
315
|
...(typeof args["contextBudget"] === "number" ? { contextBudget: args["contextBudget"] } : {}),
|
|
307
316
|
});
|
|
308
|
-
|
|
317
|
+
const ev = ctx.team.post("knitbrain", `agent created: ${str(args, "name")} · scope ${typeof args["scope"] === "string" ? args["scope"] : "(whole project)"}`);
|
|
318
|
+
const hubCfg = loadHubConfig();
|
|
319
|
+
if (hubCfg)
|
|
320
|
+
mirrorToHub(hubCfg, { author: "knitbrain", summary: ev.summary, original: `agent created at ${path}` });
|
|
321
|
+
return `created agent at ${path}${hubCfg ? " (announced on hub)" : ""}`;
|
|
309
322
|
},
|
|
310
323
|
},
|
|
311
324
|
{
|
|
@@ -331,15 +344,37 @@ export const TOOLS = [
|
|
|
331
344
|
const skill = found
|
|
332
345
|
? { status: "found", name: found.name, uses: found.uses, body: found.body }
|
|
333
346
|
: { status: "drafted — refine while working, then knitbrain_skill_save", body: ctx.skills.draft(task, seed) };
|
|
334
|
-
// AGENTS
|
|
347
|
+
// AGENTS (puppeteer mode): on complex tasks the agent FILES are
|
|
348
|
+
// written, not just proposed — same persistence model as skills.
|
|
349
|
+
// Each .claude/agents/<name>.md carries guardrails + the task's
|
|
350
|
+
// telegraphic skill body as its mission brief, so a cold sub-agent
|
|
351
|
+
// starts optimized: scoped tools, scoped files, compressed context,
|
|
352
|
+
// findings flowing back through the team board.
|
|
335
353
|
const agents = cls.tier === "complex"
|
|
336
|
-
? proposeAgents(ctx.knowledge.listFiles()).slice(0, 4).map((p) =>
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
354
|
+
? proposeAgents(ctx.knowledge.listFiles()).slice(0, 4).map((p) => {
|
|
355
|
+
const file = writeAgent(process.cwd(), {
|
|
356
|
+
name: p.name,
|
|
357
|
+
scope: p.scope,
|
|
358
|
+
tools: p.tools,
|
|
359
|
+
reviewGate: p.reviewGate,
|
|
360
|
+
brief: `task: ${task}\n${skill.body}`,
|
|
361
|
+
});
|
|
362
|
+
// Agent lifecycle is team-visible: the creation event lands on
|
|
363
|
+
// the board (and mirrors to the hub when joined), so individual
|
|
364
|
+
// and team views see which agents exist, for what, and where.
|
|
365
|
+
const ev = ctx.team.post("knitbrain", `agent created: ${p.name} · scope ${p.scope} · task: ${task}`);
|
|
366
|
+
const hub = loadHubConfig();
|
|
367
|
+
if (hub)
|
|
368
|
+
mirrorToHub(hub, { author: "knitbrain", summary: ev.summary, original: `agent created: ${p.name} · scope ${p.scope} · file ${file} · task: ${task}` });
|
|
369
|
+
return {
|
|
370
|
+
name: p.name,
|
|
371
|
+
scope: p.scope,
|
|
372
|
+
tools: p.tools,
|
|
373
|
+
reviewGate: p.reviewGate,
|
|
374
|
+
file,
|
|
375
|
+
spawn: `agent file WRITTEN — spawn via your host's sub-agent mechanism (Claude Code: Task tool with subagent_type "${p.name}"); it is pre-briefed; findings arrive on knitbrain_team_board`,
|
|
376
|
+
};
|
|
377
|
+
})
|
|
343
378
|
: [];
|
|
344
379
|
// HOST COMMANDS the agent can run itself (autonomous loop).
|
|
345
380
|
const platforms = detectPlatforms({ env: process.env, exists: existsSync, home: homedir() });
|
|
@@ -351,7 +386,7 @@ export const TOOLS = [
|
|
|
351
386
|
host_commands: commands,
|
|
352
387
|
meter: ctx.meter.read(),
|
|
353
388
|
directive: cls.tier === "complex"
|
|
354
|
-
? "
|
|
389
|
+
? "ENTER YOUR HOST'S PLAN MODE NOW (before any file edit). Agent files are already written under .claude/agents/ — after the plan is approved, spawn them in parallel; each is pre-briefed and scope-guarded; consolidate via team board; verify; record learning + skill update."
|
|
355
390
|
: "Execute with the skill. Verify before claiming done. Record learning + skill update if anything non-obvious surfaced.",
|
|
356
391
|
}, null, 2);
|
|
357
392
|
},
|
package/dist/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/optimizer/ast.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { CCRStore } from "../ccr/store.js";
|
|
2
2
|
import type { CompressResult } from "./types.js";
|
|
3
|
+
/** Grammars shipped in @vscode/tree-sitter-wasm that we load. */
|
|
4
|
+
declare const GRAMMARS: readonly ["typescript", "tsx", "python", "go", "rust", "java", "cpp", "c-sharp", "ruby", "php", "bash"];
|
|
5
|
+
type Grammar = (typeof GRAMMARS)[number];
|
|
3
6
|
/** Whether the WASM parsers are loaded and usable right now (sync check). */
|
|
4
7
|
export declare function astReady(): boolean;
|
|
5
8
|
/** Test seam: reset to cold state (parsers are kept — re-init is cheap). */
|
|
@@ -10,6 +13,13 @@ export declare function resetAstForTest(): void;
|
|
|
10
13
|
* the scanner fallback serves all code forever — never throws.
|
|
11
14
|
*/
|
|
12
15
|
export declare function ensureAst(): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Cheap language hint → ordered grammar candidates. Parsing is the expensive
|
|
18
|
+
* step (the profiler routes thousands of blocks), so we try at most 3-4
|
|
19
|
+
* grammars per block instead of all eleven. TS/TSX stay in every list as the
|
|
20
|
+
* generalist fallback — their error recovery elides most brace-language code.
|
|
21
|
+
*/
|
|
22
|
+
export declare function grammarCandidates(text: string): Grammar[];
|
|
13
23
|
/**
|
|
14
24
|
* Compress source code via tree-sitter: keep imports, signatures, types,
|
|
15
25
|
* decorators, class headers; elide function/method bodies. Returns null when
|
|
@@ -17,3 +27,4 @@ export declare function ensureAst(): Promise<void>;
|
|
|
17
27
|
* scanner. Lossless: pristine original in CCR.
|
|
18
28
|
*/
|
|
19
29
|
export declare function compressCodeAst(original: string, ccr: CCRStore): CompressResult | null;
|
|
30
|
+
export {};
|