kern-ai 0.15.0 → 0.17.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 +20 -12
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +134 -14
- package/dist/app.js.map +1 -1
- package/dist/config.d.ts +4 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +43 -7
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +13 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +66 -27
- package/dist/context.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +9 -0
- package/dist/daemon.js.map +1 -1
- package/dist/index.js +124 -11
- package/dist/index.js.map +1 -1
- package/dist/init.js +1 -2
- package/dist/init.js.map +1 -1
- package/dist/install.d.ts +7 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +268 -0
- package/dist/install.js.map +1 -0
- package/dist/interfaces/telegram.js +3 -3
- package/dist/interfaces/telegram.js.map +1 -1
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +4 -3
- package/dist/kernel.js.map +1 -1
- package/dist/log.d.ts +5 -0
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +22 -2
- package/dist/log.js.map +1 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +50 -1
- package/dist/memory.js.map +1 -1
- package/dist/notes.d.ts +1 -0
- package/dist/notes.d.ts.map +1 -1
- package/dist/notes.js +7 -7
- package/dist/notes.js.map +1 -1
- package/dist/queue.js +1 -1
- package/dist/queue.js.map +1 -1
- package/dist/recall.js +3 -3
- package/dist/recall.js.map +1 -1
- package/dist/runtime.d.ts +10 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +40 -10
- package/dist/runtime.js.map +1 -1
- package/dist/segments.d.ts +96 -0
- package/dist/segments.d.ts.map +1 -0
- package/dist/segments.js +707 -0
- package/dist/segments.js.map +1 -0
- package/dist/server.d.ts +16 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +128 -0
- package/dist/server.js.map +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +51 -19
- package/dist/status.js.map +1 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +3 -15
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +16 -15
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/index.d.ts +59 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/kern.d.ts +10 -1
- package/dist/tools/kern.d.ts.map +1 -1
- package/dist/tools/kern.js +70 -5
- package/dist/tools/kern.js.map +1 -1
- package/dist/tools/pwsh.d.ts +5 -0
- package/dist/tools/pwsh.d.ts.map +1 -0
- package/dist/tools/pwsh.js +33 -0
- package/dist/tools/pwsh.js.map +1 -0
- package/dist/tools/recall.d.ts +1 -1
- package/dist/tools/shell.d.ts +20 -0
- package/dist/tools/shell.d.ts.map +1 -0
- package/dist/tools/shell.js +69 -0
- package/dist/tools/shell.js.map +1 -0
- package/dist/web-daemon.d.ts.map +1 -1
- package/dist/web-daemon.js +9 -3
- package/dist/web-daemon.js.map +1 -1
- package/dist/web.d.ts +2 -0
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +7 -2
- package/dist/web.js.map +1 -1
- package/docs/commands.md +50 -8
- package/docs/config.md +7 -5
- package/docs/interfaces.md +14 -0
- package/docs/memory.md +61 -1
- package/docs/tools.md +19 -3
- package/package.json +1 -1
- package/templates/KERN.md +2 -0
- package/templates/web/index.html +865 -15
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Most agent frameworks give you sessions that reset, memory that's a black box, o
|
|
|
11
11
|
- **One brain** — a single continuous session across every interface. Message from Telegram, pick up in the terminal, continue in the browser. The agent always knows what happened.
|
|
12
12
|
- **Context-aware** — the agent knows who's talking and where. It sees the user, the channel, and the interface — so it can adjust tone, filter context, and keep track of different conversations within the same session.
|
|
13
13
|
- **A folder is the agent** — AGENTS.md defines behavior, IDENTITY.md defines who it is, knowledge/ and notes/ are its memory. Everything is plain text, git-tracked, and inspectable.
|
|
14
|
-
- **No infra** — no server
|
|
14
|
+
- **No external infra** — no hosted server or managed database required. Runs locally with a folder, SQLite, an API key, and `npm install -g kern-ai`.
|
|
15
15
|
|
|
16
16
|
kern pairs with [agent-kernel](https://github.com/oguzbilgic/agent-kernel) — the kernel defines how an agent remembers, kern runs it.
|
|
17
17
|
|
|
@@ -67,17 +67,19 @@ kern init <name> # create or configure an agent
|
|
|
67
67
|
kern start [name|path] # start agents in background
|
|
68
68
|
kern stop [name] # stop agents
|
|
69
69
|
kern restart [name] # restart agents
|
|
70
|
+
kern install [name|--web] # install systemd services (auto-restart, boot persistence)
|
|
71
|
+
kern uninstall [name] # remove systemd services
|
|
70
72
|
kern tui [name] # interactive chat
|
|
71
73
|
kern web <start|stop|status|token> # web UI server
|
|
72
|
-
kern logs [name] #
|
|
73
|
-
kern list # show all agents
|
|
74
|
+
kern logs [name] # follow agent logs
|
|
75
|
+
kern list # show all agents and web status
|
|
74
76
|
kern remove <name> # unregister an agent
|
|
75
77
|
kern backup <name> # backup agent to .tar.gz
|
|
76
78
|
kern restore <file> # restore agent from backup
|
|
77
|
-
kern import opencode
|
|
79
|
+
kern import opencode # import session from OpenCode
|
|
78
80
|
```
|
|
79
81
|
|
|
80
|
-
Agents auto-register when you init, start, or run them. `kern list` shows every agent with
|
|
82
|
+
Agents auto-register when you init, start, or run them. `kern list` shows every agent and the web daemon with running state and mode (systemd/daemon).
|
|
81
83
|
|
|
82
84
|
### Web UI
|
|
83
85
|
|
|
@@ -131,14 +133,16 @@ Invite the bot to channels where it should listen.
|
|
|
131
133
|
|
|
132
134
|
## Memory
|
|
133
135
|
|
|
134
|
-
Agents remember across sessions through
|
|
136
|
+
Agents remember across sessions through three mechanisms:
|
|
135
137
|
|
|
136
138
|
- **Files** — `knowledge/` for mutable state, `notes/` for daily logs. The agent reads and writes these through tools. Git-tracked, inspectable, portable.
|
|
137
139
|
- **Recall** — semantic search over all past conversations. Messages are embedded and stored in a local SQLite database (`recall.db`). The agent uses the `recall` tool to search by query with optional date filters, or load raw messages from a specific session.
|
|
140
|
+
- **Segments** — messages are automatically grouped into topic-coherent segments, summarized, and rolled up into a hierarchy (L0 → L1 → L2). When old messages are trimmed from context, compressed summaries are injected in their place — the agent sees its full conversation history at decreasing resolution.
|
|
138
141
|
|
|
139
142
|
On startup, the agent's system prompt is automatically injected with:
|
|
140
143
|
- The latest daily note (full content)
|
|
141
144
|
- An LLM-generated summary of the previous 5 daily notes
|
|
145
|
+
- Compressed conversation history from segments (when messages have been trimmed)
|
|
142
146
|
|
|
143
147
|
This means the agent boots with recent context — no manual reading required. Summaries are cached in SQLite and regenerated in the background on day rollover.
|
|
144
148
|
|
|
@@ -157,10 +161,12 @@ Interval in minutes. Default 60 (1 hour). Set to 0 to disable.
|
|
|
157
161
|
## Logging
|
|
158
162
|
|
|
159
163
|
```bash
|
|
160
|
-
kern logs [name]
|
|
164
|
+
kern logs [name] # follow logs (default)
|
|
165
|
+
kern logs [name] -n 50 # last 50 lines, exit
|
|
166
|
+
kern logs [name] --level warn # warnings and errors only
|
|
161
167
|
```
|
|
162
168
|
|
|
163
|
-
Structured,
|
|
169
|
+
Structured, leveled logs with colored labels. Stored in `.kern/logs/kern.log`. All levels written, filter on read.
|
|
164
170
|
|
|
165
171
|
## Configuration
|
|
166
172
|
|
|
@@ -171,13 +177,13 @@ Structured, colored logs for queue, runtime, interfaces, and server. Logs stored
|
|
|
171
177
|
"model": "anthropic/claude-opus-4.6",
|
|
172
178
|
"provider": "openrouter",
|
|
173
179
|
"toolScope": "full",
|
|
174
|
-
"maxSteps": 30,
|
|
175
180
|
"maxContextTokens": 50000,
|
|
176
|
-
"maxToolResultChars": 20000
|
|
181
|
+
"maxToolResultChars": 20000,
|
|
182
|
+
"historyBudget": 0.2
|
|
177
183
|
}
|
|
178
184
|
```
|
|
179
185
|
|
|
180
|
-
`maxContextTokens` controls the sliding context window — older messages are trimmed to stay within budget. `maxToolResultChars` caps individual tool results in context (full results stay in session JSONL and are searchable via recall). Set to `0` to disable.
|
|
186
|
+
`maxContextTokens` controls the sliding context window — older messages are trimmed to stay within budget. `maxToolResultChars` caps individual tool results in context (full results stay in session JSONL and are searchable via recall). `historyBudget` controls what fraction of the context window is reserved for compressed segment summaries when old messages are trimmed (default 20%). Set to `0` to disable.
|
|
181
187
|
|
|
182
188
|
Agent auth tokens are auto-generated on first start and stored in `.kern/.env`. The web proxy injects them automatically — no manual setup needed.
|
|
183
189
|
|
|
@@ -194,10 +200,12 @@ Controls the `kern web` server. Optional — defaults apply if the file doesn't
|
|
|
194
200
|
|
|
195
201
|
### Tool scopes
|
|
196
202
|
|
|
197
|
-
- **full** — bash, read, write, edit, glob, grep, webfetch, kern, message, recall
|
|
203
|
+
- **full** — shell (bash/pwsh), read, write, edit, glob, grep, webfetch, kern, message, recall
|
|
198
204
|
- **write** — read, write, edit, glob, grep, webfetch, kern, message, recall
|
|
199
205
|
- **read** — read, glob, grep, webfetch, kern, recall
|
|
200
206
|
|
|
207
|
+
Shell tool is platform-specific: `bash` on Unix/Linux, `pwsh` on Windows. Selected automatically.
|
|
208
|
+
|
|
201
209
|
### Providers
|
|
202
210
|
|
|
203
211
|
- **openrouter** — any model via OpenRouter (default)
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AA8DA,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuZhF"}
|
package/dist/app.js
CHANGED
|
@@ -7,25 +7,35 @@ import { loadConfig } from "./config.js";
|
|
|
7
7
|
import { readFile, appendFile } from "fs/promises";
|
|
8
8
|
import { join, basename } from "path";
|
|
9
9
|
import { randomBytes } from "crypto";
|
|
10
|
-
import { registerAgent, setPortAndToken } from "./registry.js";
|
|
10
|
+
import { registerAgent, setPortAndToken, setPid } from "./registry.js";
|
|
11
11
|
import { AgentServer } from "./server.js";
|
|
12
12
|
import { PairingManager } from "./pairing.js";
|
|
13
13
|
import { setMessageSender } from "./tools/message.js";
|
|
14
14
|
import { setRecallIndex } from "./tools/recall.js";
|
|
15
15
|
import { RecallIndex } from "./recall.js";
|
|
16
|
+
import { SegmentIndex } from "./segments.js";
|
|
16
17
|
import { MemoryDB } from "./memory.js";
|
|
17
18
|
import { MessageQueue } from "./queue.js";
|
|
18
|
-
import { getStatusData as getStatusDataFn, setQueueStatusFn, setInterfaceStatusFn, setRecallStatsFn } from "./tools/kern.js";
|
|
19
|
+
import { getStatusData as getStatusDataFn, setQueueStatusFn, setInterfaceStatusFn, setRecallStatsFn, setSegmentStatsFn } from "./tools/kern.js";
|
|
19
20
|
import { log } from "./log.js";
|
|
20
21
|
async function handleSlashCommand(cmd, userId, iface, agentName) {
|
|
21
22
|
switch (cmd) {
|
|
22
23
|
case "/restart": {
|
|
23
24
|
log("kern", `restart requested by ${userId} via ${iface}`);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
const { spawn } = await import("child_process");
|
|
26
|
+
const child = spawn("kern", ["restart", agentName], { stdio: "pipe" });
|
|
27
|
+
const result = await new Promise((resolve) => {
|
|
28
|
+
let stderr = "";
|
|
29
|
+
child.stderr.on("data", (chunk) => {
|
|
30
|
+
stderr += chunk.toString();
|
|
31
|
+
});
|
|
32
|
+
child.on("close", (code) => resolve({ code, stderr: stderr.trim() }));
|
|
33
|
+
child.on("error", (err) => resolve({ code: 1, stderr: err.message }));
|
|
34
|
+
});
|
|
35
|
+
if (result.code === 0) {
|
|
36
|
+
return "Restart initiated.";
|
|
37
|
+
}
|
|
38
|
+
return `Restart failed: ${result.stderr || `exit code ${result.code}`}`;
|
|
29
39
|
}
|
|
30
40
|
case "/status": {
|
|
31
41
|
const { formatStatus } = await import("./tools/kern.js");
|
|
@@ -96,12 +106,25 @@ export async function startApp(agentDir, forceCli = false) {
|
|
|
96
106
|
}
|
|
97
107
|
}).catch((err) => {
|
|
98
108
|
recallBuilding = false;
|
|
99
|
-
log("recall", `backfill failed: ${err.message}`);
|
|
109
|
+
log.error("recall", `backfill failed: ${err.message}`);
|
|
100
110
|
});
|
|
101
111
|
}
|
|
102
112
|
}
|
|
103
113
|
catch (err) {
|
|
104
|
-
log("recall", `init failed: ${err.message} — recall disabled`);
|
|
114
|
+
log.error("recall", `init failed: ${err.message} — recall disabled`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Initialize semantic segments (uses same embedding infra as recall)
|
|
118
|
+
let segmentIndex = null;
|
|
119
|
+
let segmentRunning = false;
|
|
120
|
+
if (config.recall !== false) {
|
|
121
|
+
try {
|
|
122
|
+
segmentIndex = new SegmentIndex(memoryDB, config.provider);
|
|
123
|
+
runtime.setSegmentIndex(segmentIndex);
|
|
124
|
+
setSegmentStatsFn(() => segmentIndex ? segmentIndex.getStats() : null);
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
log.error("segments", `init failed: ${err.message} — segments disabled`);
|
|
105
128
|
}
|
|
106
129
|
}
|
|
107
130
|
const agentName = basename(agentDir);
|
|
@@ -155,12 +178,17 @@ export async function startApp(agentDir, forceCli = false) {
|
|
|
155
178
|
server.broadcast(event);
|
|
156
179
|
msg.onEvent?.(event);
|
|
157
180
|
});
|
|
158
|
-
// Index new messages for recall (async, non-blocking)
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if (
|
|
181
|
+
// Index new messages for recall + segments (async, non-blocking)
|
|
182
|
+
const sessionId = runtime.getSessionId();
|
|
183
|
+
if (sessionId) {
|
|
184
|
+
if (recallIndex) {
|
|
162
185
|
recallIndex.indexSession(sessionId).catch((err) => {
|
|
163
|
-
log("recall", `indexing failed: ${err.message}`);
|
|
186
|
+
log.error("recall", `indexing failed: ${err.message}`);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (segmentIndex) {
|
|
190
|
+
segmentIndex.indexSession(sessionId).catch((err) => {
|
|
191
|
+
log.error("segments", `indexing failed: ${err.message}`);
|
|
164
192
|
});
|
|
165
193
|
}
|
|
166
194
|
}
|
|
@@ -199,8 +227,100 @@ export async function startApp(agentDir, forceCli = false) {
|
|
|
199
227
|
...m,
|
|
200
228
|
}));
|
|
201
229
|
});
|
|
230
|
+
server.setSystemPromptFn(async () => {
|
|
231
|
+
const latestSystem = await runtime.getSystemPrompt();
|
|
232
|
+
const built = runtime.buildPromptContext();
|
|
233
|
+
return { system: built.system || latestSystem };
|
|
234
|
+
});
|
|
235
|
+
server.setContextSegmentsFn(() => {
|
|
236
|
+
if (!segmentIndex)
|
|
237
|
+
return { segments: [], tokenCount: 0 };
|
|
238
|
+
const sessionId = runtime.getSessionId();
|
|
239
|
+
if (!sessionId)
|
|
240
|
+
return { segments: [], tokenCount: 0 };
|
|
241
|
+
const messages = runtime.getMessages();
|
|
242
|
+
const built = runtime.buildPromptContext();
|
|
243
|
+
const historyBudget = Math.round(config.maxContextTokens * (config.historyBudget || 0));
|
|
244
|
+
const trimmedCount = Math.max(0, messages.length - (built.messages?.length || messages.length));
|
|
245
|
+
if (trimmedCount <= 0 || historyBudget <= 0)
|
|
246
|
+
return { segments: [], tokenCount: 0 };
|
|
247
|
+
const history = segmentIndex.composeHistory(sessionId, trimmedCount, historyBudget);
|
|
248
|
+
if (!history)
|
|
249
|
+
return { segments: [], tokenCount: 0 };
|
|
250
|
+
return {
|
|
251
|
+
tokenCount: history.tokens,
|
|
252
|
+
segments: history.segments.map((seg) => ({
|
|
253
|
+
id: seg.id,
|
|
254
|
+
level: seg.level,
|
|
255
|
+
msg_start: seg.msg_start,
|
|
256
|
+
msg_end: seg.msg_end,
|
|
257
|
+
})),
|
|
258
|
+
};
|
|
259
|
+
});
|
|
260
|
+
server.setSegmentsFn((sessionId) => {
|
|
261
|
+
if (!segmentIndex)
|
|
262
|
+
return { segments: [], stats: { segments: 0, level0: 0 } };
|
|
263
|
+
return segmentIndex.getSegments(sessionId);
|
|
264
|
+
});
|
|
265
|
+
server.setSegmentsRebuildFn(async () => {
|
|
266
|
+
if (!segmentIndex)
|
|
267
|
+
throw new Error("segments not enabled");
|
|
268
|
+
if (segmentRunning) {
|
|
269
|
+
log("segments", "rebuild already running");
|
|
270
|
+
return { status: "already running" };
|
|
271
|
+
}
|
|
272
|
+
const sessionId = runtime.getSessionId();
|
|
273
|
+
if (!sessionId)
|
|
274
|
+
throw new Error("no session");
|
|
275
|
+
segmentRunning = true;
|
|
276
|
+
try {
|
|
277
|
+
segmentIndex.clear();
|
|
278
|
+
log("segments", "cleared — starting rebuild");
|
|
279
|
+
const created = await segmentIndex.indexSession(sessionId);
|
|
280
|
+
log("segments", `rebuild complete: ${created} segments`);
|
|
281
|
+
return { status: "done", segments: created };
|
|
282
|
+
}
|
|
283
|
+
finally {
|
|
284
|
+
segmentRunning = false;
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
server.setSegmentsStopFn(() => {
|
|
288
|
+
if (!segmentIndex)
|
|
289
|
+
return;
|
|
290
|
+
segmentIndex.stop();
|
|
291
|
+
segmentRunning = false;
|
|
292
|
+
});
|
|
293
|
+
server.setSegmentsCleanFn(() => {
|
|
294
|
+
if (!segmentIndex)
|
|
295
|
+
return;
|
|
296
|
+
segmentIndex.clear();
|
|
297
|
+
});
|
|
298
|
+
server.setSegmentsStartFn(async () => {
|
|
299
|
+
if (!segmentIndex)
|
|
300
|
+
throw new Error("segments not enabled");
|
|
301
|
+
if (segmentRunning)
|
|
302
|
+
return { status: "already running" };
|
|
303
|
+
const sessionId = runtime.getSessionId();
|
|
304
|
+
if (!sessionId)
|
|
305
|
+
throw new Error("no session");
|
|
306
|
+
segmentRunning = true;
|
|
307
|
+
try {
|
|
308
|
+
const created = await segmentIndex.indexSession(sessionId);
|
|
309
|
+
log("segments", `indexed ${created} new segments`);
|
|
310
|
+
return { status: "done", segments: created };
|
|
311
|
+
}
|
|
312
|
+
finally {
|
|
313
|
+
segmentRunning = false;
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
server.setSegmentResummarizeFn(async (id) => {
|
|
317
|
+
if (!segmentIndex)
|
|
318
|
+
throw new Error("segments not enabled");
|
|
319
|
+
return segmentIndex.resummarizeSegment(id);
|
|
320
|
+
});
|
|
202
321
|
const port = await server.start("127.0.0.1");
|
|
203
322
|
await setPortAndToken(agentName, port, process.env.KERN_AUTH_TOKEN || null);
|
|
323
|
+
await setPid(agentName, process.pid);
|
|
204
324
|
// Start Telegram if configured
|
|
205
325
|
const telegramToken = process.env.TELEGRAM_BOT_TOKEN;
|
|
206
326
|
let telegramBot = null;
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -6,13 +6,12 @@ export interface KernConfig {
|
|
|
6
6
|
maxSteps: number;
|
|
7
7
|
maxContextTokens: number;
|
|
8
8
|
maxToolResultChars: number;
|
|
9
|
+
historyBudget: number;
|
|
10
|
+
recall: boolean;
|
|
11
|
+
autoRecall: boolean;
|
|
9
12
|
heartbeatInterval: number;
|
|
10
|
-
autoRecall?: boolean;
|
|
11
|
-
telegram?: {
|
|
12
|
-
allowedUsers?: number[];
|
|
13
|
-
showTools?: boolean;
|
|
14
|
-
};
|
|
15
13
|
}
|
|
14
|
+
export declare const configDefaults: KernConfig;
|
|
16
15
|
export declare function getToolsForScope(scope: ToolScope): string[];
|
|
17
16
|
export declare function loadConfig(agentDir: string): Promise<KernConfig>;
|
|
18
17
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,UAAU;IAEzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IAGtB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IAGpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAUD,eAAO,MAAM,cAAc,EAAE,UAW5B,CAAC;AA6BF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAE3D;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BtE"}
|
package/dist/config.js
CHANGED
|
@@ -2,20 +2,50 @@ import { readFile } from "fs/promises";
|
|
|
2
2
|
import { join } from "path";
|
|
3
3
|
import { existsSync } from "fs";
|
|
4
4
|
import { config as loadDotenv } from "dotenv";
|
|
5
|
+
import { log } from "./log.js";
|
|
6
|
+
const shell = process.platform === "win32" ? "pwsh" : "bash";
|
|
5
7
|
const TOOL_SCOPES = {
|
|
6
|
-
full: [
|
|
8
|
+
full: [shell, "read", "write", "edit", "glob", "grep", "webfetch", "kern", "message", "recall"],
|
|
7
9
|
write: ["read", "write", "edit", "glob", "grep", "webfetch", "kern", "message", "recall"],
|
|
8
10
|
read: ["read", "glob", "grep", "webfetch", "kern", "recall"],
|
|
9
11
|
};
|
|
10
|
-
const
|
|
12
|
+
export const configDefaults = {
|
|
11
13
|
model: "anthropic/claude-opus-4.6",
|
|
12
14
|
provider: "openrouter",
|
|
13
15
|
toolScope: "full",
|
|
14
16
|
maxSteps: 30,
|
|
15
17
|
maxContextTokens: 50000,
|
|
16
18
|
maxToolResultChars: 20000,
|
|
19
|
+
historyBudget: 0.2,
|
|
20
|
+
recall: true,
|
|
21
|
+
autoRecall: false,
|
|
17
22
|
heartbeatInterval: 60,
|
|
18
23
|
};
|
|
24
|
+
const FIELD_TYPES = {
|
|
25
|
+
model: "string",
|
|
26
|
+
provider: "string",
|
|
27
|
+
toolScope: "string",
|
|
28
|
+
maxSteps: "number",
|
|
29
|
+
maxContextTokens: "number",
|
|
30
|
+
maxToolResultChars: "number",
|
|
31
|
+
historyBudget: "number",
|
|
32
|
+
recall: "boolean",
|
|
33
|
+
autoRecall: "boolean",
|
|
34
|
+
heartbeatInterval: "number",
|
|
35
|
+
};
|
|
36
|
+
function validateConfig(userConfig) {
|
|
37
|
+
for (const key of Object.keys(userConfig)) {
|
|
38
|
+
if (!(key in FIELD_TYPES)) {
|
|
39
|
+
log.warn("config", `unknown field "${key}" — ignored`);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const expected = FIELD_TYPES[key];
|
|
43
|
+
const actual = typeof userConfig[key];
|
|
44
|
+
if (actual !== expected) {
|
|
45
|
+
log.warn("config", `"${key}" should be ${expected}, got ${actual} — using default`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
19
49
|
export function getToolsForScope(scope) {
|
|
20
50
|
return TOOL_SCOPES[scope] || TOOL_SCOPES.full;
|
|
21
51
|
}
|
|
@@ -28,17 +58,23 @@ export async function loadConfig(agentDir) {
|
|
|
28
58
|
// Load .kern/config.json
|
|
29
59
|
const configPath = join(agentDir, ".kern", "config.json");
|
|
30
60
|
if (!existsSync(configPath)) {
|
|
31
|
-
return
|
|
61
|
+
return configDefaults;
|
|
32
62
|
}
|
|
33
63
|
try {
|
|
34
64
|
const raw = await readFile(configPath, "utf-8");
|
|
35
65
|
const userConfig = JSON.parse(raw);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
66
|
+
validateConfig(userConfig);
|
|
67
|
+
// Filter out unknown and wrong-type fields
|
|
68
|
+
const cleaned = {};
|
|
69
|
+
for (const [key, value] of Object.entries(userConfig)) {
|
|
70
|
+
if (key in FIELD_TYPES && typeof value === FIELD_TYPES[key]) {
|
|
71
|
+
cleaned[key] = value;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return { ...configDefaults, ...cleaned };
|
|
39
75
|
}
|
|
40
76
|
catch {
|
|
41
|
-
return
|
|
77
|
+
return configDefaults;
|
|
42
78
|
}
|
|
43
79
|
}
|
|
44
80
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ModelMessage } from "ai";
|
|
|
2
2
|
import { type KernConfig } from "./config.js";
|
|
3
3
|
import type { RecallIndex } from "./recall.js";
|
|
4
4
|
import type { MemoryDB } from "./memory.js";
|
|
5
|
+
import type { SegmentIndex } from "./segments.js";
|
|
5
6
|
export declare function loadSystemPrompt(agentDir: string, config: KernConfig, memoryDB?: MemoryDB | null): Promise<string>;
|
|
6
7
|
export interface SessionStats {
|
|
7
8
|
totalMessages: number;
|
|
@@ -9,11 +10,21 @@ export interface SessionStats {
|
|
|
9
10
|
windowTokens: number;
|
|
10
11
|
windowMessages: number;
|
|
11
12
|
truncatedCount: number;
|
|
13
|
+
historyTokens: number;
|
|
14
|
+
historyLevelCounts: Record<number, number>;
|
|
12
15
|
}
|
|
13
|
-
export
|
|
16
|
+
export interface PrepareContextOptions {
|
|
17
|
+
messages: ModelMessage[];
|
|
18
|
+
config: KernConfig;
|
|
19
|
+
sessionId?: string;
|
|
20
|
+
segmentIndex?: SegmentIndex | null;
|
|
21
|
+
}
|
|
22
|
+
export interface PreparedContext {
|
|
23
|
+
systemAdditions: string[];
|
|
14
24
|
messages: ModelMessage[];
|
|
15
25
|
stats: SessionStats;
|
|
16
|
-
}
|
|
26
|
+
}
|
|
27
|
+
export declare function prepareContext({ messages, config, sessionId, segmentIndex }: PrepareContextOptions): PreparedContext;
|
|
17
28
|
export interface RecallResult {
|
|
18
29
|
query: string;
|
|
19
30
|
chunks: number;
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,IAAI,CAAC;AAKvD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,IAAI,CAAC;AAKvD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAiBlD,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAmExH;AAyHD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC;CACrB;AAGD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,qBAAqB,GAAG,eAAe,CA+CpH;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;AAGD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CAAE,CAAC,CAyCpE"}
|