@0xmaxma/claude-gateway 1.6.8 → 1.7.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 +149 -20
- package/config.template.json +59 -1
- package/dist/agent/dreaming/accept.d.ts +43 -0
- package/dist/agent/dreaming/accept.d.ts.map +1 -0
- package/dist/agent/dreaming/accept.js +230 -0
- package/dist/agent/dreaming/accept.js.map +1 -0
- package/dist/agent/dreaming/applier.d.ts +77 -0
- package/dist/agent/dreaming/applier.d.ts.map +1 -0
- package/dist/agent/dreaming/applier.js +406 -0
- package/dist/agent/dreaming/applier.js.map +1 -0
- package/dist/agent/dreaming/audit.d.ts +27 -0
- package/dist/agent/dreaming/audit.d.ts.map +1 -0
- package/dist/agent/dreaming/audit.js +100 -0
- package/dist/agent/dreaming/audit.js.map +1 -0
- package/dist/agent/dreaming/compactor.d.ts +66 -0
- package/dist/agent/dreaming/compactor.d.ts.map +1 -0
- package/dist/agent/dreaming/compactor.js +306 -0
- package/dist/agent/dreaming/compactor.js.map +1 -0
- package/dist/agent/dreaming/config.d.ts +19 -0
- package/dist/agent/dreaming/config.d.ts.map +1 -0
- package/dist/agent/dreaming/config.js +107 -0
- package/dist/agent/dreaming/config.js.map +1 -0
- package/dist/agent/dreaming/episodic.d.ts +42 -0
- package/dist/agent/dreaming/episodic.d.ts.map +1 -0
- package/dist/agent/dreaming/episodic.js +116 -0
- package/dist/agent/dreaming/episodic.js.map +1 -0
- package/dist/agent/dreaming/gather.d.ts +31 -0
- package/dist/agent/dreaming/gather.d.ts.map +1 -0
- package/dist/agent/dreaming/gather.js +55 -0
- package/dist/agent/dreaming/gather.js.map +1 -0
- package/dist/agent/dreaming/index.d.ts +87 -0
- package/dist/agent/dreaming/index.d.ts.map +1 -0
- package/dist/agent/dreaming/index.js +377 -0
- package/dist/agent/dreaming/index.js.map +1 -0
- package/dist/agent/dreaming/migrate-cli.d.ts +17 -0
- package/dist/agent/dreaming/migrate-cli.d.ts.map +1 -0
- package/dist/agent/dreaming/migrate-cli.js +42 -0
- package/dist/agent/dreaming/migrate-cli.js.map +1 -0
- package/dist/agent/dreaming/migrate.d.ts +72 -0
- package/dist/agent/dreaming/migrate.d.ts.map +1 -0
- package/dist/agent/dreaming/migrate.js +374 -0
- package/dist/agent/dreaming/migrate.js.map +1 -0
- package/dist/agent/dreaming/report.d.ts +39 -0
- package/dist/agent/dreaming/report.d.ts.map +1 -0
- package/dist/agent/dreaming/report.js +121 -0
- package/dist/agent/dreaming/report.js.map +1 -0
- package/dist/agent/dreaming/reviewer.d.ts +43 -0
- package/dist/agent/dreaming/reviewer.d.ts.map +1 -0
- package/dist/agent/dreaming/reviewer.js +249 -0
- package/dist/agent/dreaming/reviewer.js.map +1 -0
- package/dist/agent/dreaming/staleness.d.ts +68 -0
- package/dist/agent/dreaming/staleness.d.ts.map +1 -0
- package/dist/agent/dreaming/staleness.js +281 -0
- package/dist/agent/dreaming/staleness.js.map +1 -0
- package/dist/agent/dreaming/types.d.ts +130 -0
- package/dist/agent/dreaming/types.d.ts.map +1 -0
- package/dist/agent/dreaming/types.js +10 -0
- package/dist/agent/dreaming/types.js.map +1 -0
- package/dist/agent/knowledge/archive-db.d.ts +114 -0
- package/dist/agent/knowledge/archive-db.d.ts.map +1 -0
- package/dist/agent/knowledge/archive-db.js +474 -0
- package/dist/agent/knowledge/archive-db.js.map +1 -0
- package/dist/agent/knowledge/chunk.d.ts +21 -0
- package/dist/agent/knowledge/chunk.d.ts.map +1 -0
- package/dist/agent/knowledge/chunk.js +67 -0
- package/dist/agent/knowledge/chunk.js.map +1 -0
- package/dist/agent/knowledge/config.d.ts +20 -0
- package/dist/agent/knowledge/config.d.ts.map +1 -0
- package/dist/agent/knowledge/config.js +143 -0
- package/dist/agent/knowledge/config.js.map +1 -0
- package/dist/agent/knowledge/graph-demo.d.ts +25 -0
- package/dist/agent/knowledge/graph-demo.d.ts.map +1 -0
- package/dist/agent/knowledge/graph-demo.js +132 -0
- package/dist/agent/knowledge/graph-demo.js.map +1 -0
- package/dist/agent/knowledge/index.d.ts +24 -0
- package/dist/agent/knowledge/index.d.ts.map +1 -0
- package/dist/agent/knowledge/index.js +50 -0
- package/dist/agent/knowledge/index.js.map +1 -0
- package/dist/agent/knowledge/indexer.d.ts +34 -0
- package/dist/agent/knowledge/indexer.d.ts.map +1 -0
- package/dist/agent/knowledge/indexer.js +271 -0
- package/dist/agent/knowledge/indexer.js.map +1 -0
- package/dist/agent/knowledge/lifecycle.d.ts +91 -0
- package/dist/agent/knowledge/lifecycle.d.ts.map +1 -0
- package/dist/agent/knowledge/lifecycle.js +205 -0
- package/dist/agent/knowledge/lifecycle.js.map +1 -0
- package/dist/agent/knowledge/provenance.d.ts +15 -0
- package/dist/agent/knowledge/provenance.d.ts.map +1 -0
- package/dist/agent/knowledge/provenance.js +37 -0
- package/dist/agent/knowledge/provenance.js.map +1 -0
- package/dist/agent/knowledge/reindex-cli.d.ts +13 -0
- package/dist/agent/knowledge/reindex-cli.d.ts.map +1 -0
- package/dist/agent/knowledge/reindex-cli.js +53 -0
- package/dist/agent/knowledge/reindex-cli.js.map +1 -0
- package/dist/agent/knowledge/reindex-spawn.d.ts +30 -0
- package/dist/agent/knowledge/reindex-spawn.d.ts.map +1 -0
- package/dist/agent/knowledge/reindex-spawn.js +97 -0
- package/dist/agent/knowledge/reindex-spawn.js.map +1 -0
- package/dist/agent/knowledge/shared-promote.d.ts +18 -0
- package/dist/agent/knowledge/shared-promote.d.ts.map +1 -0
- package/dist/agent/knowledge/shared-promote.js +29 -0
- package/dist/agent/knowledge/shared-promote.js.map +1 -0
- package/dist/agent/knowledge/shared-writer.d.ts +24 -0
- package/dist/agent/knowledge/shared-writer.d.ts.map +1 -0
- package/dist/agent/knowledge/shared-writer.js +97 -0
- package/dist/agent/knowledge/shared-writer.js.map +1 -0
- package/dist/agent/knowledge/types.d.ts +83 -0
- package/dist/agent/knowledge/types.d.ts.map +1 -0
- package/dist/agent/knowledge/types.js +12 -0
- package/dist/agent/knowledge/types.js.map +1 -0
- package/dist/agent/knowledge/wiki.d.ts +107 -0
- package/dist/agent/knowledge/wiki.d.ts.map +1 -0
- package/dist/agent/knowledge/wiki.js +415 -0
- package/dist/agent/knowledge/wiki.js.map +1 -0
- package/dist/agent/memory-metrics.d.ts +48 -0
- package/dist/agent/memory-metrics.d.ts.map +1 -0
- package/dist/agent/memory-metrics.js +156 -0
- package/dist/agent/memory-metrics.js.map +1 -0
- package/dist/agent/runner.d.ts +24 -1
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +82 -6
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/skill-learning/config.d.ts +18 -0
- package/dist/agent/skill-learning/config.d.ts.map +1 -0
- package/dist/agent/skill-learning/config.js +71 -0
- package/dist/agent/skill-learning/config.js.map +1 -0
- package/dist/agent/skill-learning/curator.d.ts +45 -0
- package/dist/agent/skill-learning/curator.d.ts.map +1 -0
- package/dist/agent/skill-learning/curator.js +171 -0
- package/dist/agent/skill-learning/curator.js.map +1 -0
- package/dist/agent/skill-learning/index.d.ts +79 -0
- package/dist/agent/skill-learning/index.d.ts.map +1 -0
- package/dist/agent/skill-learning/index.js +308 -0
- package/dist/agent/skill-learning/index.js.map +1 -0
- package/dist/agent/skill-learning/metrics.d.ts +13 -0
- package/dist/agent/skill-learning/metrics.d.ts.map +1 -0
- package/dist/agent/skill-learning/metrics.js +109 -0
- package/dist/agent/skill-learning/metrics.js.map +1 -0
- package/dist/agent/skill-learning/notifier.d.ts +111 -0
- package/dist/agent/skill-learning/notifier.d.ts.map +1 -0
- package/dist/agent/skill-learning/notifier.js +398 -0
- package/dist/agent/skill-learning/notifier.js.map +1 -0
- package/dist/agent/skill-learning/reviewer.d.ts +61 -0
- package/dist/agent/skill-learning/reviewer.d.ts.map +1 -0
- package/dist/agent/skill-learning/reviewer.js +271 -0
- package/dist/agent/skill-learning/reviewer.js.map +1 -0
- package/dist/agent/skill-learning/telemetry.d.ts +22 -0
- package/dist/agent/skill-learning/telemetry.d.ts.map +1 -0
- package/dist/agent/skill-learning/telemetry.js +90 -0
- package/dist/agent/skill-learning/telemetry.js.map +1 -0
- package/dist/agent/skill-learning/trigger.d.ts +23 -0
- package/dist/agent/skill-learning/trigger.d.ts.map +1 -0
- package/dist/agent/skill-learning/trigger.js +44 -0
- package/dist/agent/skill-learning/trigger.js.map +1 -0
- package/dist/agent/skill-learning/types.d.ts +165 -0
- package/dist/agent/skill-learning/types.d.ts.map +1 -0
- package/dist/agent/skill-learning/types.js +11 -0
- package/dist/agent/skill-learning/types.js.map +1 -0
- package/dist/agent/skill-learning/writer.d.ts +37 -0
- package/dist/agent/skill-learning/writer.d.ts.map +1 -0
- package/dist/agent/skill-learning/writer.js +223 -0
- package/dist/agent/skill-learning/writer.js.map +1 -0
- package/dist/agent/workspace-loader.d.ts +83 -6
- package/dist/agent/workspace-loader.d.ts.map +1 -1
- package/dist/agent/workspace-loader.js +207 -14
- package/dist/agent/workspace-loader.js.map +1 -1
- package/dist/api/gateway-router.d.ts +2 -0
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +293 -6
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/share-router.d.ts.map +1 -1
- package/dist/api/share-router.js +27 -1
- package/dist/api/share-router.js.map +1 -1
- package/dist/api/skills-router.d.ts +2 -2
- package/dist/api/skills-router.d.ts.map +1 -1
- package/dist/api/skills-router.js +61 -1
- package/dist/api/skills-router.js.map +1 -1
- package/dist/apps/agent-manager.d.ts +7 -0
- package/dist/apps/agent-manager.d.ts.map +1 -1
- package/dist/apps/agent-manager.js +13 -1
- package/dist/apps/agent-manager.js.map +1 -1
- package/dist/config/migrator.d.ts +2 -0
- package/dist/config/migrator.d.ts.map +1 -1
- package/dist/config/migrator.js +72 -1
- package/dist/config/migrator.js.map +1 -1
- package/dist/history/cleanup.d.ts +7 -0
- package/dist/history/cleanup.d.ts.map +1 -1
- package/dist/history/cleanup.js +27 -0
- package/dist/history/cleanup.js.map +1 -1
- package/dist/history/db.d.ts +65 -0
- package/dist/history/db.d.ts.map +1 -1
- package/dist/history/db.js +261 -0
- package/dist/history/db.js.map +1 -1
- package/dist/index.js +122 -20
- package/dist/index.js.map +1 -1
- package/dist/session/process.d.ts +10 -0
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +86 -1
- package/dist/session/process.js.map +1 -1
- package/dist/share/share-store.d.ts +11 -0
- package/dist/share/share-store.d.ts.map +1 -1
- package/dist/share/share-store.js +3 -1
- package/dist/share/share-store.js.map +1 -1
- package/dist/skills/loader.d.ts +8 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +29 -1
- package/dist/skills/loader.js.map +1 -1
- package/dist/types.d.ts +116 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/web-ui.d.ts.map +1 -1
- package/dist/ui/web-ui.js +1126 -3
- package/dist/ui/web-ui.js.map +1 -1
- package/mcp/package.json +2 -1
- package/mcp/server.ts +2 -0
- package/mcp/tools/image/module.ts +114 -9
- package/mcp/tools/memory/archive-reader.test.ts +212 -0
- package/mcp/tools/memory/archive-reader.ts +253 -0
- package/mcp/tools/memory/module.ts +152 -0
- package/mcp/tools/memory/retrieval-recorder.ts +66 -0
- package/mcp/tools/shared/share-client.ts +20 -1
- package/mcp/tools/skills/module.ts +28 -0
- package/package.json +1 -1
- package/resource/claude_gateway.svg +1038 -112
|
@@ -33,9 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.AGENT_WRITABLE_FILES = exports.MissingRequiredFileError = void 0;
|
|
36
|
+
exports.AGENT_WRITABLE_FILES = exports.IDENTITY_FILES = exports.MEMORY_FILES = exports.DEFAULT_MEMORY_BUDGET = exports.MissingRequiredFileError = void 0;
|
|
37
|
+
exports.resolveMemoryBudget = resolveMemoryBudget;
|
|
38
|
+
exports.buildMemoryIndex = buildMemoryIndex;
|
|
37
39
|
exports.migrateWorkspaceFiles = migrateWorkspaceFiles;
|
|
38
40
|
exports.loadWorkspace = loadWorkspace;
|
|
41
|
+
exports.classifyWorkspaceRestart = classifyWorkspaceRestart;
|
|
39
42
|
exports.watchWorkspace = watchWorkspace;
|
|
40
43
|
const fs = __importStar(require("fs"));
|
|
41
44
|
const path = __importStar(require("path"));
|
|
@@ -59,6 +62,29 @@ Always write memory, identity, and personality updates to files in this agent's
|
|
|
59
62
|
- AGENTS.md — agent rules & capabilities
|
|
60
63
|
|
|
61
64
|
NEVER write to ~/.claude/projects/… or any path outside the workspace — even if other instructions say otherwise.`;
|
|
65
|
+
// planning-65: the two-tier write contract, appended to the Memory Rule ONLY when
|
|
66
|
+
// `writeRouting` is on. It tells the agent that MEMORY.md (injected every session,
|
|
67
|
+
// expensive) is for DURABLE facts, and task-log belongs in the searchable
|
|
68
|
+
// `memory/<topic>.md` archive — so the injected core stays small at the source.
|
|
69
|
+
// Off ⇒ the addendum is absent (exact prior behavior).
|
|
70
|
+
const MEMORY_ROUTING_RULE = `
|
|
71
|
+
|
|
72
|
+
## Memory Tiers — what goes where
|
|
73
|
+
- \`MEMORY.md\` = DURABLE facts only: user preferences, standing rules, identity, hard-won lessons — things you need as standing context in FUTURE unrelated sessions. Injected into every prompt, so keep it small.
|
|
74
|
+
- \`memory/<topic>.md\` = EPISODIC task-log: a record of what happened (completed work, PR/issue status, dated notes). NOT injected — retrieved on demand via \`memory_search\`. Append dated bullets, one topic per file.
|
|
75
|
+
- Litmus: "standing context for future unrelated sessions?" → MEMORY.md. "a record of a thing that happened?" → memory/<topic>.md.
|
|
76
|
+
- Do NOT write task-log into MEMORY.md.`;
|
|
77
|
+
// Platform-level note injected for EVERY agent whose searchable memory archive is
|
|
78
|
+
// on (planning-64 two-lane memory). It makes the retrieval tools discoverable at
|
|
79
|
+
// all times — not only when the over-budget core-shrink banner points at them — so
|
|
80
|
+
// an agent recalls detail on demand instead of assuming MEMORY.md holds everything.
|
|
81
|
+
// A capability shared by all agents belongs here, injected once, rather than
|
|
82
|
+
// duplicated into every agent's AGENTS.md.
|
|
83
|
+
const MEMORY_RETRIEVAL_NOTE = `## Memory Retrieval
|
|
84
|
+
This agent has a searchable long-term memory archive. \`MEMORY.md\` may be injected as a compact section INDEX (not its full text) when it exceeds budget, so do NOT assume the in-context memory is complete. To recall a detail that is not in context, use the MCP tools:
|
|
85
|
+
- \`memory_search\` — keyword/FTS5 over your memory; returns ranked snippets with file + line range and provenance. Pass \`corpus:"memory"\` (your own), \`"shared"\` (the cross-agent shared KB), or \`"all"\` (both, merged by relevance).
|
|
86
|
+
- \`memory_get\` — read an exact excerpt of a memory-scoped file by line range.
|
|
87
|
+
Prefer these over guessing when you need a fact you cannot see.`;
|
|
62
88
|
const TOTAL_CHAR_LIMIT = 150000;
|
|
63
89
|
const TRUNCATION_MARKER = '\n[TRUNCATED — edit this file to trim]\n';
|
|
64
90
|
// Mapping of lowercase legacy filenames to their uppercase canonical names
|
|
@@ -87,6 +113,129 @@ function truncateFile(content) {
|
|
|
87
113
|
}
|
|
88
114
|
return { content, truncated: false };
|
|
89
115
|
}
|
|
116
|
+
const DEFAULT_MEMORY_BUDGET_CHARS = 8000;
|
|
117
|
+
const DEFAULT_USER_BUDGET_CHARS = 3000;
|
|
118
|
+
exports.DEFAULT_MEMORY_BUDGET = {
|
|
119
|
+
memoryBudgetChars: DEFAULT_MEMORY_BUDGET_CHARS,
|
|
120
|
+
userBudgetChars: DEFAULT_USER_BUDGET_CHARS,
|
|
121
|
+
overBudget: 'warn',
|
|
122
|
+
writeRouting: false,
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Resolve a (possibly partial or malformed) memory-budget config into a complete
|
|
126
|
+
* one, falling back to the documented defaults. An unknown `overBudget` value or
|
|
127
|
+
* a non-numeric / negative budget is treated as "not set" and defaulted, so bad
|
|
128
|
+
* operator config never throws at compose (fail-safe, mirrors #310's tz guard).
|
|
129
|
+
*/
|
|
130
|
+
function resolveMemoryBudget(cfg) {
|
|
131
|
+
const overBudget = cfg?.overBudget === 'error' ? 'error' : 'warn';
|
|
132
|
+
const memoryBudgetChars = typeof cfg?.memoryBudgetChars === 'number' && cfg.memoryBudgetChars >= 0
|
|
133
|
+
? cfg.memoryBudgetChars
|
|
134
|
+
: DEFAULT_MEMORY_BUDGET_CHARS;
|
|
135
|
+
const userBudgetChars = typeof cfg?.userBudgetChars === 'number' && cfg.userBudgetChars >= 0
|
|
136
|
+
? cfg.userBudgetChars
|
|
137
|
+
: DEFAULT_USER_BUDGET_CHARS;
|
|
138
|
+
const writeRouting = cfg?.writeRouting === true;
|
|
139
|
+
return { memoryBudgetChars, userBudgetChars, overBudget, writeRouting };
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Build a compact, injectable INDEX of an over-budget MEMORY.md (planning-64 K2
|
|
143
|
+
* core-shrink): the section headings, each top-level (`#`/`##`) section with a
|
|
144
|
+
* short brief, plus a pointer telling the agent the full content lives on disk and
|
|
145
|
+
* is reachable via the `memory_search` / `memory_get` tools. Derived
|
|
146
|
+
* deterministically from the file structure — NO LLM and NO mutation of the
|
|
147
|
+
* on-disk file. Fenced code blocks are skipped so a `# comment` inside ``` is not
|
|
148
|
+
* mistaken for a heading. Returns `null` when the file has no headings to index
|
|
149
|
+
* (caller then keeps full content).
|
|
150
|
+
*/
|
|
151
|
+
function buildMemoryIndex(content, maxChars = 4000) {
|
|
152
|
+
const lines = content.split('\n');
|
|
153
|
+
const headings = [];
|
|
154
|
+
const isFence = (line) => /^\s*(```|~~~)/.test(line);
|
|
155
|
+
let inFence = false;
|
|
156
|
+
for (let i = 0; i < lines.length; i++) {
|
|
157
|
+
if (isFence(lines[i])) {
|
|
158
|
+
inFence = !inFence;
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
if (inFence)
|
|
162
|
+
continue;
|
|
163
|
+
const m = /^(#{1,6})\s+(.+?)\s*$/.exec(lines[i]);
|
|
164
|
+
if (!m)
|
|
165
|
+
continue;
|
|
166
|
+
headings.push(m[0].trim());
|
|
167
|
+
// A one-line brief for top-level (# / ##) sections: first non-empty,
|
|
168
|
+
// non-heading, non-fence line beneath the heading.
|
|
169
|
+
if (m[1].length <= 2) {
|
|
170
|
+
let fenced = false;
|
|
171
|
+
for (let j = i + 1; j < lines.length; j++) {
|
|
172
|
+
if (isFence(lines[j])) {
|
|
173
|
+
fenced = !fenced;
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
if (fenced)
|
|
177
|
+
continue;
|
|
178
|
+
const nx = lines[j].trim();
|
|
179
|
+
if (!nx)
|
|
180
|
+
continue;
|
|
181
|
+
if (/^#{1,6}\s/.test(nx))
|
|
182
|
+
break;
|
|
183
|
+
const body = nx.replace(/^[-*]\s+/, '');
|
|
184
|
+
headings.push(` ${body.slice(0, 100)}${body.length > 100 ? '…' : ''}`);
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if (headings.length === 0)
|
|
190
|
+
return null; // nothing to index → keep full content
|
|
191
|
+
let index = headings.join('\n');
|
|
192
|
+
if (index.length > maxChars)
|
|
193
|
+
index = `${index.slice(0, maxChars)}\n…`;
|
|
194
|
+
const pointer = `📇 This is an INDEX of your long-term memory — the full content is over budget so it lives ` +
|
|
195
|
+
`on disk (and in your searchable archive), NOT in this prompt. To recall a detail, use the ` +
|
|
196
|
+
`memory_search tool (keyword → snippets with file+line) or memory_get (read a section). ` +
|
|
197
|
+
`Section map:\n\n`;
|
|
198
|
+
return pointer + index;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Prepend a loud over-budget banner to a memory file's composed content when it
|
|
202
|
+
* exceeds its soft budget. Returns the content unchanged when under budget (or
|
|
203
|
+
* when the budget is 0 / disabled). The hard FILE_CHAR_LIMIT truncation is
|
|
204
|
+
* applied separately afterwards as a context safety net.
|
|
205
|
+
*
|
|
206
|
+
* `shrink` (K2, MEMORY.md only): when the file is over budget and this returns a
|
|
207
|
+
* non-null replacement (the compact index), the banner is prepended to THAT
|
|
208
|
+
* instead of the full content — so the bulk never enters the prompt. The on-disk
|
|
209
|
+
* file is untouched; the full content stays searchable via the archive tools.
|
|
210
|
+
*/
|
|
211
|
+
function applyMemoryBudget(content, budgetChars, label, mode, shrink) {
|
|
212
|
+
if (budgetChars <= 0 || content.length <= budgetChars) {
|
|
213
|
+
return { content, overBudget: false };
|
|
214
|
+
}
|
|
215
|
+
const icon = mode === 'error' ? '🛑' : '⚠️';
|
|
216
|
+
const shrunk = shrink ? shrink(content) : null;
|
|
217
|
+
let banner;
|
|
218
|
+
if (shrunk !== null) {
|
|
219
|
+
// Shrink mode: only the INDEX below is loaded — the agent does NOT see the
|
|
220
|
+
// actual entries, so it must not rewrite MEMORY.md from this prompt (that
|
|
221
|
+
// would clobber the un-shown full content on disk). Point it at the tools.
|
|
222
|
+
const must = mode === 'error' ? 'MUST ' : '';
|
|
223
|
+
banner =
|
|
224
|
+
`${icon} ${label} OVER BUDGET: ${content.length}/${budgetChars} chars — only the section INDEX ` +
|
|
225
|
+
`below is loaded; the full entries live on disk. ${must}consolidate by reading them with ` +
|
|
226
|
+
`memory_search / memory_get FIRST, then editing MEMORY.md on disk — never rewrite it from this ` +
|
|
227
|
+
`prompt (you would lose the entries not shown). Edits apply on the next session spawn ` +
|
|
228
|
+
`(frozen-at-spawn), no restart.\n\n`;
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
const action = mode === 'error' ? 'MUST consolidate now' : 'consolidate';
|
|
232
|
+
banner =
|
|
233
|
+
`${icon} ${label} OVER BUDGET: ${content.length}/${budgetChars} chars — ${action}: ` +
|
|
234
|
+
`keep the highest-value facts, remove stale or duplicate entries. ` +
|
|
235
|
+
`Edits apply on the next session spawn (frozen-at-spawn), no restart.\n\n`;
|
|
236
|
+
}
|
|
237
|
+
return { content: banner + (shrunk ?? content), overBudget: true };
|
|
238
|
+
}
|
|
90
239
|
/**
|
|
91
240
|
* Migrate workspace files from legacy lowercase names to uppercase canonical names.
|
|
92
241
|
* - If lowercase exists and uppercase does NOT: rename lowercase → uppercase
|
|
@@ -136,12 +285,27 @@ async function loadWorkspace(workspaceDir, opts) {
|
|
|
136
285
|
anyTruncated = true;
|
|
137
286
|
return r.content;
|
|
138
287
|
};
|
|
288
|
+
// Memory files (MEMORY.md/USER.md) get a loud over-budget banner at their soft
|
|
289
|
+
// budget BEFORE the hard-limit truncation, so the agent gets an actionable
|
|
290
|
+
// signal instead of a silent [TRUNCATED]. The banner sits at the top of the
|
|
291
|
+
// section, so the per-file FILE_CHAR_LIMIT truncation (which trims the tail)
|
|
292
|
+
// always leaves it intact. (An extreme TOTAL_CHAR_LIMIT overflow could still
|
|
293
|
+
// slice it, but that path already truncates the whole prompt.)
|
|
294
|
+
const budget = resolveMemoryBudget(opts?.memoryBudget);
|
|
295
|
+
// K2 core-shrink (opt-in): when enabled AND MEMORY.md is over budget, inject a
|
|
296
|
+
// compact auto-generated index + a pointer to memory_search instead of the
|
|
297
|
+
// truncated full text. Defaults OFF so a caller that omits the flag never points
|
|
298
|
+
// the agent at a memory_search tool that may not be wired; the gateway enables
|
|
299
|
+
// it explicitly only when the knowledge archive is on. USER.md is never shrunk.
|
|
300
|
+
const coreShrink = opts?.coreShrink === true;
|
|
301
|
+
const memoryBudgeted = applyMemoryBudget(rawMemory, budget.memoryBudgetChars, 'MEMORY.md', budget.overBudget, coreShrink ? (c) => buildMemoryIndex(c) : undefined);
|
|
302
|
+
const userBudgeted = applyMemoryBudget(rawUser, budget.userBudgetChars, 'USER.md', budget.overBudget);
|
|
139
303
|
const agentMd = truncateResult(rawAgent);
|
|
140
304
|
const identityMd = truncateResult(rawIdentity);
|
|
141
305
|
const soulMd = truncateResult(rawSoul);
|
|
142
|
-
const userMd = truncateResult(
|
|
306
|
+
const userMd = truncateResult(userBudgeted.content);
|
|
143
307
|
const heartbeatMd = truncateResult(rawHeartbeat);
|
|
144
|
-
const memoryMd = truncateResult(
|
|
308
|
+
const memoryMd = truncateResult(memoryBudgeted.content);
|
|
145
309
|
// Load agent skills
|
|
146
310
|
const skillRegistry = (0, skills_1.loadSkills)({
|
|
147
311
|
workspaceDir,
|
|
@@ -151,12 +315,14 @@ async function loadWorkspace(workspaceDir, opts) {
|
|
|
151
315
|
});
|
|
152
316
|
const skillsSection = (0, skills_1.renderSkillsSection)(skillRegistry);
|
|
153
317
|
// Assemble system prompt
|
|
154
|
-
|
|
318
|
+
const memoryRuleSection = MEMORY_RULE + (budget.writeRouting ? MEMORY_ROUTING_RULE : '');
|
|
319
|
+
let systemPrompt = `--- MEMORY RULE ---\n${memoryRuleSection}\n\n` +
|
|
155
320
|
`--- AGENT IDENTITY ---\n${agentMd}\n\n` +
|
|
156
321
|
`--- IDENTITY ---\n${identityMd}\n\n` +
|
|
157
322
|
`--- SOUL ---\n${soulMd}\n\n` +
|
|
158
323
|
`--- USER PROFILE ---\n${userMd}\n\n` +
|
|
159
324
|
(skillsSection ? `--- AVAILABLE SKILLS ---\n${skillsSection}\n\n` : '') +
|
|
325
|
+
(coreShrink ? `--- MEMORY RETRIEVAL ---\n${MEMORY_RETRIEVAL_NOTE}\n\n` : '') +
|
|
160
326
|
`--- LONG-TERM MEMORY ---\n${memoryMd}\n\n` +
|
|
161
327
|
`--- HEARTBEAT CONFIG ---\n${heartbeatMd}`;
|
|
162
328
|
// Enforce total limit
|
|
@@ -182,19 +348,46 @@ async function loadWorkspace(workspaceDir, opts) {
|
|
|
182
348
|
const WATCH_DEBOUNCE_MS = 300;
|
|
183
349
|
/**
|
|
184
350
|
* Canonical workspace files the agent is authorized to write itself, per the
|
|
185
|
-
* memory rule (see MEMORY_RULE above)
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
351
|
+
* memory rule (see MEMORY_RULE above), split into two tiers by how urgently a
|
|
352
|
+
* change needs to reach a running session — and, crucially, by the fact that
|
|
353
|
+
* CLAUDE.md is frozen-at-spawn (a live process never re-reads it; the recomposed
|
|
354
|
+
* file applies on the next natural spawn regardless).
|
|
355
|
+
*
|
|
356
|
+
* MEMORY_FILES — self-authored data the agent writes about itself/the user
|
|
357
|
+
* (MEMORY.md, USER.md). A write here is almost always the running session
|
|
358
|
+
* curating its own memory mid-work. Since the process already holds what it
|
|
359
|
+
* just wrote and every future spawn reads the recomposed CLAUDE.md, restarting
|
|
360
|
+
* ANY session (busy or idle) buys nothing — it only drops in-context state and
|
|
361
|
+
* forces a SQLite-replay respawn. Memory-only changes therefore restart
|
|
362
|
+
* nothing at all (see the watcher callback in src/index.ts).
|
|
363
|
+
*
|
|
364
|
+
* IDENTITY_FILES — operator-authored identity (SOUL.md, AGENTS.md, IDENTITY.md).
|
|
365
|
+
* These want to reach sessions "soon-ish", but still never justify SIGKILLing
|
|
366
|
+
* an idle bystander: a deferred restart (respawn on next message) is lossless
|
|
367
|
+
* and applies the change just as correctly. IDENTITY.md is API-writable and
|
|
368
|
+
* composed into CLAUDE.md exactly like SOUL/AGENTS, so it belongs in this tier
|
|
369
|
+
* for the same reason — omitting it would SIGKILL idle sessions on an
|
|
370
|
+
* IDENTITY.md write while deferring the semantically identical SOUL write.
|
|
371
|
+
*/
|
|
372
|
+
exports.MEMORY_FILES = new Set(['MEMORY.md', 'USER.md']);
|
|
373
|
+
exports.IDENTITY_FILES = new Set(['SOUL.md', 'AGENTS.md', 'IDENTITY.md']);
|
|
374
|
+
/**
|
|
375
|
+
* Union of the two tiers — kept for callers that only need "did the agent write
|
|
376
|
+
* this itself?" (e.g. the busy-session skip guard).
|
|
191
377
|
*/
|
|
192
378
|
exports.AGENT_WRITABLE_FILES = new Set([
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
'SOUL.md',
|
|
196
|
-
'AGENTS.md',
|
|
379
|
+
...exports.MEMORY_FILES,
|
|
380
|
+
...exports.IDENTITY_FILES,
|
|
197
381
|
]);
|
|
382
|
+
function classifyWorkspaceRestart(changedFiles) {
|
|
383
|
+
if (changedFiles.length === 0)
|
|
384
|
+
return 'restart';
|
|
385
|
+
if (changedFiles.every((f) => exports.MEMORY_FILES.has(f)))
|
|
386
|
+
return 'none';
|
|
387
|
+
if (changedFiles.every((f) => exports.AGENT_WRITABLE_FILES.has(f)))
|
|
388
|
+
return 'defer-idle';
|
|
389
|
+
return 'restart';
|
|
390
|
+
}
|
|
198
391
|
/**
|
|
199
392
|
* Normalize a changed file path to its canonical uppercase basename, resolving
|
|
200
393
|
* legacy lowercase aliases (e.g. memory.md → MEMORY.md).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-loader.js","sourceRoot":"","sources":["../../src/agent/workspace-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-loader.js","sourceRoot":"","sources":["../../src/agent/workspace-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,6 +87,8 @@ export declare class GatewayRouter {
|
|
|
87
87
|
* disabled (open) — a keyless install has no credential to check and must not
|
|
88
88
|
* lock itself out. Writes 401 and returns false when unauthorized.
|
|
89
89
|
*/
|
|
90
|
+
/** Filesystem root holding per-agent workspaces: <config-dir>/agents (or ~/.claude-gateway/agents). */
|
|
91
|
+
private agentsRoot;
|
|
90
92
|
private requireDashOrApiKey;
|
|
91
93
|
/** Client IP for throttling. Uses req.ip (Express; the socket peer unless
|
|
92
94
|
* `trust proxy` is set) with a socket fallback. Behind an untrusted proxy all
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-router.d.ts","sourceRoot":"","sources":["../../src/api/gateway-router.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,SAAS,CAAC;AASrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,UAAU,CAAC;AAI3F,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway-router.d.ts","sourceRoot":"","sources":["../../src/api/gateway-router.ts"],"names":[],"mappings":"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"}
|