@kenkaiiii/ggcoder 5.37.0 → 5.39.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/dist/app-sidecar.js +31 -18
- package/dist/app-sidecar.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +12 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +15 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -75
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +19 -11
- package/dist/config.test.js.map +1 -1
- package/dist/core/agent-session-tool-tiers.test.d.ts +2 -0
- package/dist/core/agent-session-tool-tiers.test.d.ts.map +1 -0
- package/dist/core/agent-session-tool-tiers.test.js +138 -0
- package/dist/core/agent-session-tool-tiers.test.js.map +1 -0
- package/dist/core/agent-session.d.ts +43 -3
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +77 -11
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents.d.ts +29 -1
- package/dist/core/agents.d.ts.map +1 -1
- package/dist/core/agents.js +47 -97
- package/dist/core/agents.js.map +1 -1
- package/dist/core/agents.test.js +85 -5
- package/dist/core/agents.test.js.map +1 -1
- package/dist/core/bundled-agents.d.ts +3 -0
- package/dist/core/bundled-agents.d.ts.map +1 -0
- package/dist/core/bundled-agents.js +252 -0
- package/dist/core/bundled-agents.js.map +1 -0
- package/dist/core/code-retrieval-chunkers.d.ts +27 -0
- package/dist/core/code-retrieval-chunkers.d.ts.map +1 -0
- package/dist/core/code-retrieval-chunkers.js +264 -0
- package/dist/core/code-retrieval-chunkers.js.map +1 -0
- package/dist/core/code-retrieval-chunkers.test.d.ts +2 -0
- package/dist/core/code-retrieval-chunkers.test.d.ts.map +1 -0
- package/dist/core/code-retrieval-chunkers.test.js +203 -0
- package/dist/core/code-retrieval-chunkers.test.js.map +1 -0
- package/dist/core/code-retrieval.d.ts +6 -0
- package/dist/core/code-retrieval.d.ts.map +1 -1
- package/dist/core/code-retrieval.js +38 -1
- package/dist/core/code-retrieval.js.map +1 -1
- package/dist/core/lsp/client-navigation.test.d.ts +2 -0
- package/dist/core/lsp/client-navigation.test.d.ts.map +1 -0
- package/dist/core/lsp/client-navigation.test.js +119 -0
- package/dist/core/lsp/client-navigation.test.js.map +1 -0
- package/dist/core/lsp/client.d.ts +62 -0
- package/dist/core/lsp/client.d.ts.map +1 -1
- package/dist/core/lsp/client.js +147 -0
- package/dist/core/lsp/client.js.map +1 -1
- package/dist/core/lsp/manager-navigation.test.d.ts +2 -0
- package/dist/core/lsp/manager-navigation.test.d.ts.map +1 -0
- package/dist/core/lsp/manager-navigation.test.js +119 -0
- package/dist/core/lsp/manager-navigation.test.js.map +1 -0
- package/dist/core/lsp/manager.d.ts +35 -1
- package/dist/core/lsp/manager.d.ts.map +1 -1
- package/dist/core/lsp/manager.js +92 -0
- package/dist/core/lsp/manager.js.map +1 -1
- package/dist/core/mcp/deferred-catalog.d.ts +1 -1
- package/dist/core/mcp/deferred-catalog.js +1 -1
- package/dist/core/settings-manager.d.ts +2 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +10 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/shutdown.d.ts +71 -0
- package/dist/core/shutdown.d.ts.map +1 -0
- package/dist/core/shutdown.js +144 -0
- package/dist/core/shutdown.js.map +1 -0
- package/dist/core/shutdown.test.d.ts +2 -0
- package/dist/core/shutdown.test.d.ts.map +1 -0
- package/dist/core/shutdown.test.js +160 -0
- package/dist/core/shutdown.test.js.map +1 -0
- package/dist/core/subagent-manager.d.ts +9 -0
- package/dist/core/subagent-manager.d.ts.map +1 -1
- package/dist/core/subagent-manager.js +45 -12
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-manager.test.js +13 -7
- package/dist/core/subagent-manager.test.js.map +1 -1
- package/dist/modes/agent-home-mode.d.ts.map +1 -1
- package/dist/modes/agent-home-mode.js +15 -11
- package/dist/modes/agent-home-mode.js.map +1 -1
- package/dist/modes/json-mode.d.ts +8 -0
- package/dist/modes/json-mode.d.ts.map +1 -1
- package/dist/modes/json-mode.js +2 -0
- package/dist/modes/json-mode.js.map +1 -1
- package/dist/modes/serve-mode.d.ts +2 -1
- package/dist/modes/serve-mode.d.ts.map +1 -1
- package/dist/modes/serve-mode.js +15 -9
- package/dist/modes/serve-mode.js.map +1 -1
- package/dist/modes/subagent-worker-mode.d.ts +5 -0
- package/dist/modes/subagent-worker-mode.d.ts.map +1 -1
- package/dist/modes/subagent-worker-mode.js.map +1 -1
- package/dist/system-prompt.d.ts +37 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +108 -4
- package/dist/system-prompt.js.map +1 -1
- package/dist/system-prompt.test.js +48 -1
- package/dist/system-prompt.test.js.map +1 -1
- package/dist/system-prompt.tiering.test.d.ts +2 -0
- package/dist/system-prompt.tiering.test.d.ts.map +1 -0
- package/dist/system-prompt.tiering.test.js +103 -0
- package/dist/system-prompt.tiering.test.js.map +1 -0
- package/dist/tools/code-nav.d.ts +30 -0
- package/dist/tools/code-nav.d.ts.map +1 -0
- package/dist/tools/code-nav.js +247 -0
- package/dist/tools/code-nav.js.map +1 -0
- package/dist/tools/code-nav.test.d.ts +2 -0
- package/dist/tools/code-nav.test.d.ts.map +1 -0
- package/dist/tools/code-nav.test.js +109 -0
- package/dist/tools/code-nav.test.js.map +1 -0
- package/dist/tools/grep-parity.test.d.ts +2 -0
- package/dist/tools/grep-parity.test.d.ts.map +1 -0
- package/dist/tools/grep-parity.test.js +92 -0
- package/dist/tools/grep-parity.test.js.map +1 -0
- package/dist/tools/grep-recall.test.d.ts +2 -0
- package/dist/tools/grep-recall.test.d.ts.map +1 -0
- package/dist/tools/grep-recall.test.js +114 -0
- package/dist/tools/grep-recall.test.js.map +1 -0
- package/dist/tools/grep-spawn.test.d.ts +2 -0
- package/dist/tools/grep-spawn.test.d.ts.map +1 -0
- package/dist/tools/grep-spawn.test.js +66 -0
- package/dist/tools/grep-spawn.test.js.map +1 -0
- package/dist/tools/grep.d.ts +13 -3
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +340 -40
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/grep.test.js +11 -8
- package/dist/tools/grep.test.js.map +1 -1
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/prompt-hints.d.ts +9 -0
- package/dist/tools/prompt-hints.d.ts.map +1 -1
- package/dist/tools/prompt-hints.js +61 -8
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/search-code.d.ts.map +1 -1
- package/dist/tools/search-code.js +7 -6
- package/dist/tools/search-code.js.map +1 -1
- package/dist/tools/search-code.test.js +8 -2
- package/dist/tools/search-code.test.js.map +1 -1
- package/dist/tools/subagent-control.d.ts.map +1 -1
- package/dist/tools/subagent-control.js +20 -5
- package/dist/tools/subagent-control.js.map +1 -1
- package/dist/tools/subagent-control.test.js +34 -1
- package/dist/tools/subagent-control.test.js.map +1 -1
- package/dist/tools/subagent-shared.d.ts +19 -0
- package/dist/tools/subagent-shared.d.ts.map +1 -1
- package/dist/tools/subagent-shared.js +32 -5
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/subagent-shared.test.js +42 -8
- package/dist/tools/subagent-shared.test.js.map +1 -1
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +11 -8
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/subagent.test.js +3 -0
- package/dist/tools/subagent.test.js.map +1 -1
- package/dist/tools/tool-search.d.ts.map +1 -1
- package/dist/tools/tool-search.js +2 -1
- package/dist/tools/tool-search.js.map +1 -1
- package/dist/tools/tool-tiers.d.ts +42 -0
- package/dist/tools/tool-tiers.d.ts.map +1 -0
- package/dist/tools/tool-tiers.js +77 -0
- package/dist/tools/tool-tiers.js.map +1 -0
- package/dist/tools/tool-tiers.test.d.ts +2 -0
- package/dist/tools/tool-tiers.test.d.ts.map +1 -0
- package/dist/tools/tool-tiers.test.js +48 -0
- package/dist/tools/tool-tiers.test.js.map +1 -0
- package/dist/ui/hooks/useAgentLoop.js +1 -1
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
import { useFakeHome } from "../test-support/fake-home.js";
|
|
6
|
+
import { DEFERRED_TOOL_NAMES } from "../tools/tool-tiers.js";
|
|
7
|
+
vi.mock("@kenkaiiii/gg-agent", async () => {
|
|
8
|
+
const actual = await vi.importActual("@kenkaiiii/gg-agent");
|
|
9
|
+
return { ...actual, agentLoop: vi.fn(() => (async function* emptyLoop() { })()) };
|
|
10
|
+
});
|
|
11
|
+
vi.mock("./mcp/index.js", async () => {
|
|
12
|
+
const actual = await vi.importActual("./mcp/index.js");
|
|
13
|
+
return {
|
|
14
|
+
...actual,
|
|
15
|
+
MCPClientManager: vi.fn(function MCPClientManagerMock() {
|
|
16
|
+
return { connectAll: vi.fn(async () => []), dispose: vi.fn(async () => { }) };
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
let restoreHome;
|
|
21
|
+
let tempHome;
|
|
22
|
+
let tempProject;
|
|
23
|
+
beforeEach(async () => {
|
|
24
|
+
tempHome = await fs.mkdtemp(path.join(os.tmpdir(), "tiers-home-"));
|
|
25
|
+
tempProject = await fs.mkdtemp(path.join(os.tmpdir(), "tiers-project-"));
|
|
26
|
+
restoreHome = useFakeHome(tempHome);
|
|
27
|
+
await fs.mkdir(path.join(tempHome, ".gg"), { recursive: true });
|
|
28
|
+
await fs.writeFile(path.join(tempHome, ".gg", "auth.json"), JSON.stringify({
|
|
29
|
+
anthropic: {
|
|
30
|
+
accessToken: "test-token",
|
|
31
|
+
refreshToken: "test-refresh",
|
|
32
|
+
expiresAt: Date.now() + 3_600_000,
|
|
33
|
+
},
|
|
34
|
+
}));
|
|
35
|
+
});
|
|
36
|
+
afterEach(async () => {
|
|
37
|
+
restoreHome?.();
|
|
38
|
+
await Promise.all([
|
|
39
|
+
fs.rm(tempHome, { recursive: true, force: true }),
|
|
40
|
+
fs.rm(tempProject, { recursive: true, force: true }),
|
|
41
|
+
]);
|
|
42
|
+
vi.clearAllMocks();
|
|
43
|
+
});
|
|
44
|
+
async function writeSettings(settings) {
|
|
45
|
+
await fs.writeFile(path.join(tempHome, ".gg", "settings.json"), JSON.stringify(settings), "utf-8");
|
|
46
|
+
}
|
|
47
|
+
async function createSession(extra = {}) {
|
|
48
|
+
const { AgentSession } = await import("./agent-session.js");
|
|
49
|
+
const session = new AgentSession({
|
|
50
|
+
provider: "anthropic",
|
|
51
|
+
model: "claude-test",
|
|
52
|
+
cwd: tempProject,
|
|
53
|
+
transient: true,
|
|
54
|
+
projectCustomization: false,
|
|
55
|
+
loadExtensions: false,
|
|
56
|
+
orchestrationPrompt: false,
|
|
57
|
+
selfCorrectionHooks: false,
|
|
58
|
+
...extra,
|
|
59
|
+
});
|
|
60
|
+
await session.initialize();
|
|
61
|
+
return session;
|
|
62
|
+
}
|
|
63
|
+
/** The live tool array is private; tiering is precisely a claim about it. */
|
|
64
|
+
function liveToolNames(session) {
|
|
65
|
+
return session.tools.map((t) => t.name);
|
|
66
|
+
}
|
|
67
|
+
describe("AgentSession built-in tool tiering", () => {
|
|
68
|
+
it("keeps deferred schemas out of the live set but names them in the prompt", async () => {
|
|
69
|
+
const session = await createSession();
|
|
70
|
+
try {
|
|
71
|
+
const live = liveToolNames(session);
|
|
72
|
+
const prompt = String(session.getMessages()[0]?.content ?? "");
|
|
73
|
+
expect(live).toContain("tool_search");
|
|
74
|
+
expect(prompt).toContain("Available on demand (call `tool_search` to load):");
|
|
75
|
+
const deferredHere = DEFERRED_TOOL_NAMES.filter((name) => prompt.includes(`- **${name}**:`));
|
|
76
|
+
expect(deferredHere.length).toBeGreaterThan(0);
|
|
77
|
+
for (const name of deferredHere) {
|
|
78
|
+
expect(live, `${name} should not carry a schema`).not.toContain(name);
|
|
79
|
+
}
|
|
80
|
+
// Core tools are unaffected.
|
|
81
|
+
for (const name of ["read", "edit", "bash", "grep", "code_nav"]) {
|
|
82
|
+
expect(live).toContain(name);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
await session.dispose();
|
|
87
|
+
}
|
|
88
|
+
}, 20_000);
|
|
89
|
+
it("registers tool_search even with no MCP server connected", async () => {
|
|
90
|
+
const session = await createSession();
|
|
91
|
+
try {
|
|
92
|
+
expect(liveToolNames(session).filter((n) => n === "tool_search")).toHaveLength(1);
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
await session.dispose();
|
|
96
|
+
}
|
|
97
|
+
}, 20_000);
|
|
98
|
+
it("appends tool_search after the core tools, never reordering them", async () => {
|
|
99
|
+
const session = await createSession();
|
|
100
|
+
try {
|
|
101
|
+
const live = liveToolNames(session);
|
|
102
|
+
expect(live.indexOf("tool_search")).toBe(live.length - 1);
|
|
103
|
+
expect(live.indexOf("read")).toBeLessThan(live.indexOf("edit"));
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
await session.dispose();
|
|
107
|
+
}
|
|
108
|
+
}, 20_000);
|
|
109
|
+
it("gives allowedTools sessions every requested tool eagerly", async () => {
|
|
110
|
+
const requested = ["read", "grep", "source_path", "screenshot"];
|
|
111
|
+
const session = await createSession({ allowedTools: requested });
|
|
112
|
+
try {
|
|
113
|
+
const live = liveToolNames(session);
|
|
114
|
+
for (const name of requested)
|
|
115
|
+
expect(live, `${name} missing`).toContain(name);
|
|
116
|
+
// No deferral means no catalog and no discovery tool to promote from.
|
|
117
|
+
expect(live).not.toContain("tool_search");
|
|
118
|
+
expect(String(session.getMessages()[0]?.content ?? "")).not.toContain("Available on demand");
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
await session.dispose();
|
|
122
|
+
}
|
|
123
|
+
}, 20_000);
|
|
124
|
+
it("ships every built-in eagerly when deferredBuiltinTools is off", async () => {
|
|
125
|
+
await writeSettings({ deferredBuiltinTools: false });
|
|
126
|
+
const session = await createSession();
|
|
127
|
+
try {
|
|
128
|
+
const live = liveToolNames(session);
|
|
129
|
+
expect(live).toContain("source_path");
|
|
130
|
+
expect(live).toContain("screenshot");
|
|
131
|
+
expect(String(session.getMessages()[0]?.content ?? "")).not.toContain("Available on demand");
|
|
132
|
+
}
|
|
133
|
+
finally {
|
|
134
|
+
await session.dispose();
|
|
135
|
+
}
|
|
136
|
+
}, 20_000);
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=agent-session-tool-tiers.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session-tool-tiers.test.js","sourceRoot":"","sources":["../../src/core/agent-session-tool-tiers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,21 @@ export interface AgentSessionOptions {
|
|
|
22
22
|
model: string;
|
|
23
23
|
cwd: string;
|
|
24
24
|
baseUrl?: string;
|
|
25
|
+
/** Replaces the whole system prompt — nothing else is rendered. */
|
|
25
26
|
systemPrompt?: string;
|
|
27
|
+
/**
|
|
28
|
+
* A sub-agent definition's body, COMPOSED with the standard scaffolding
|
|
29
|
+
* (Tools, project context, return contract, Environment) instead of replacing
|
|
30
|
+
* it — see `buildSubAgentSystemPrompt`.
|
|
31
|
+
*
|
|
32
|
+
* Prefer this over `systemPrompt` for delegated children: a bare replacement
|
|
33
|
+
* leaves the child with no Tools section and no Environment facts, which is
|
|
34
|
+
* precisely how a sub-agent ends up misusing tools it was never told it had.
|
|
35
|
+
* Ignored when `systemPrompt` is set.
|
|
36
|
+
*/
|
|
37
|
+
agentPrompt?: string;
|
|
38
|
+
/** Whether `agentPrompt` composition includes project instruction files. Default `"project"`. */
|
|
39
|
+
agentContext?: "project" | "none";
|
|
26
40
|
/** Synchronous volatile prompt suffix, refreshed immediately before every run. */
|
|
27
41
|
getSystemPromptTail?: () => string;
|
|
28
42
|
sessionId?: string;
|
|
@@ -226,8 +240,14 @@ export declare class AgentSession {
|
|
|
226
240
|
private managerAbortSignal?;
|
|
227
241
|
private readonly managerAbortHandler;
|
|
228
242
|
private mcpManager?;
|
|
229
|
-
/** Deferred MCP tools awaiting discovery via tool_search
|
|
243
|
+
/** Deferred MCP tools awaiting discovery via tool_search. */
|
|
230
244
|
private mcpCatalog?;
|
|
245
|
+
/**
|
|
246
|
+
* Built-in tools held in the catalog instead of the live toolset. Their names
|
|
247
|
+
* still render as one-line hints in the prompt's Tools section, so the model
|
|
248
|
+
* can discover and promote them; a promoted name drops out of this list.
|
|
249
|
+
*/
|
|
250
|
+
private deferredBuiltinToolNames;
|
|
231
251
|
/** Live (connected) MCP tools by name — the reconcile target for cached stubs. */
|
|
232
252
|
private liveMcpTools;
|
|
233
253
|
/** Server name for each cached-only tool, so a stub knows what to wait on. */
|
|
@@ -245,6 +265,8 @@ export declare class AgentSession {
|
|
|
245
265
|
private maxTokens;
|
|
246
266
|
private thinkingLevel?;
|
|
247
267
|
private customSystemPrompt?;
|
|
268
|
+
/** Sub-agent definition body composed into the standard prompt scaffolding. */
|
|
269
|
+
private agentPrompt?;
|
|
248
270
|
/** Stable prompt prefix retained separately from the volatile uncached tail. */
|
|
249
271
|
private baseSystemPrompt;
|
|
250
272
|
/** Shared with the tool layer so plan-mode restrictions read live state. */
|
|
@@ -323,8 +345,8 @@ export declare class AgentSession {
|
|
|
323
345
|
private connectMcpServers;
|
|
324
346
|
/**
|
|
325
347
|
* Route freshly connected MCP tools: deferred into the tool_search catalog
|
|
326
|
-
* (default — keeps ~8k tokens of schema out of every cache-miss turn
|
|
327
|
-
*
|
|
348
|
+
* (default — keeps ~8k tokens of schema out of every cache-miss turn) or
|
|
349
|
+
* pushed eagerly when the user opted out.
|
|
328
350
|
* Allow-listed sessions (Ken) always get the eager path — their fixed tool
|
|
329
351
|
* expectations predate the catalog, and tool_search isn't allow-listed.
|
|
330
352
|
* Promotion pushes onto the live `this.tools` array the running agent loop
|
|
@@ -335,6 +357,10 @@ export declare class AgentSession {
|
|
|
335
357
|
* Register `tool_search` once. Promotion of a cached-only entry waits for its
|
|
336
358
|
* server so the model is told immediately when that capability turns out to
|
|
337
359
|
* be unreachable, instead of promoting a tool that fails on first call.
|
|
360
|
+
*
|
|
361
|
+
* The catalog is created on demand rather than required up front: deferred
|
|
362
|
+
* built-in tools populate it with zero MCP servers connected, so gating
|
|
363
|
+
* registration on an existing catalog would leave those tools unreachable.
|
|
338
364
|
*/
|
|
339
365
|
private ensureToolSearchTool;
|
|
340
366
|
/** Append tools, replacing any same-named entry (cached stub → live tool). */
|
|
@@ -571,8 +597,22 @@ export declare class AgentSession {
|
|
|
571
597
|
ok: false;
|
|
572
598
|
error: string;
|
|
573
599
|
}>;
|
|
600
|
+
/**
|
|
601
|
+
* Names to advertise as available-on-demand. A tool the model already
|
|
602
|
+
* promoted lives in `this.tools` and carries its own schema, so it drops out
|
|
603
|
+
* of the index rather than being listed twice.
|
|
604
|
+
*/
|
|
605
|
+
private deferredToolNamesForPrompt;
|
|
574
606
|
/** Environment facts that vary per session rather than per host. */
|
|
575
607
|
private promptEnvironment;
|
|
608
|
+
/**
|
|
609
|
+
* Build the stable system-prompt prefix for the current tool set and state.
|
|
610
|
+
*
|
|
611
|
+
* Three modes, in precedence order: a full replacement (`systemPrompt`), a
|
|
612
|
+
* composed sub-agent prompt (`agentPrompt` — agent body plus Tools, project
|
|
613
|
+
* context, return contract and Environment), or the standard prompt.
|
|
614
|
+
*/
|
|
615
|
+
private buildBasePrompt;
|
|
576
616
|
/** Rebuild messages[0] from current plan-mode + approved-plan state. */
|
|
577
617
|
private rebuildSystemPromptInPlace;
|
|
578
618
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAEb,KAAK,aAAa,EAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,oBAAoB,EAGrB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAML,KAAK,UAAU,EAEf,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAErB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAgC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAM9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAyChF;;gDAEgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;;;OAQG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qFAAqF;IACrF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wFAAwF;IACxF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wFAAwF;IACxF,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;CAC/B;AAID,oFAAoF;AACpF,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAKR;AAED;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAGR;AAeD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB;;mDAE+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,YAAY;IACvB,QAAQ,CAAC,QAAQ,WAAkB;IACnC,QAAQ,CAAC,aAAa,uBAA8B;IAEpD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,eAAe,CAAyB;IAEhD,OAAO,CAAC,QAAQ,CAAiB;IAMjC,OAAO,CAAC,QAAQ,CAAwB;IAMxC,OAAO,CAAC,gBAAgB,CAAgC;IAKxD,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,KAAK,CAAmB;IAChC;;0EAEsE;IACtE,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAS;IAI/B,OAAO,CAAC,SAAS,CAQf;IACF,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,2BAA2B,CAAK;IACxC,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,aAAa,CAAsE;IAC3F,OAAO,CAAC,gBAAgB,CAA6C;IACrE,8EAA8E;IAC9E,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,oFAAoF;IACpF,OAAO,CAAC,sBAAsB,CAAK;IACnC,0EAA0E;IAC1E,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,mBAAmB,CAAS;IACpC,+EAA+E;IAC/E,OAAO,CAAC,YAAY,CAAK;IACzB,6EAA6E;IAC7E,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,oBAAoB,CAAK;IACjC,kGAAkG;IAClG,OAAO,CAAC,yBAAyB,CAAS;IAC1C,6EAA6E;IAC7E,OAAO,CAAC,eAAe,CAAkD;IACzE,OAAO,CAAC,eAAe,CAAM;IAS7B,OAAO,CAAC,SAAS,CAA6E;IAC9F,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,kBAAkB,CAAC,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAElC;IACF,OAAO,CAAC,UAAU,CAAC,CAAmB;IACtC,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,kFAAkF;IAClF,OAAO,CAAC,YAAY,CAAgC;IACpD,8EAA8E;IAC9E,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,GAAG,CAAS;IACpB;;;0DAGsD;IACtD,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,gFAAgF;IAChF,OAAO,CAAC,gBAAgB,CAAM;IAC9B,4EAA4E;IAC5E,OAAO,CAAC,WAAW,CAAsB;IACzC;;mFAE+E;IAC/E,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,6EAA6E;IAC7E,OAAO,CAAC,eAAe,CAAgB;IAEvC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,oBAAoB,CAAK;IACjC,+EAA+E;IAC/E,OAAO,CAAC,cAAc,CAAM;IAC5B,sFAAsF;IACtF,OAAO,CAAC,cAAc,CAAM;IAC5B;sFACkF;IAClF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuB;IAC1D,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,kBAAkB,CAAK;IAC/B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB,CAA0B;IAEpD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,wBAAwB;IAIhC,wFAAwF;IACxF,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,IAAI,CAAsB;gBAEtB,OAAO,EAAE,mBAAmB;IAYxC;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAUlB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwPjC;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;;;;;OAQG;YACW,iBAAiB;IA6D/B;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAoBnB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB;IAQ1B,+EAA+E;IAC/E,OAAO,CAAC,wBAAwB;IAOhC;;;;;;OAMG;YACW,uBAAuB;IAyBrC,0EAA0E;IAC1E,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,kBAAkB;IAgC1B;;;;;;OAMG;YACW,iBAAiB;IA8B/B;;;;;OAKG;IACG,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjE;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,iBAIX,EACD,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,OAAO,CAAC,IAAI,CAAC;IA8BhB;;;;;;OAMG;IACG,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1F;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAsD5B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA6BtB;;;;OAIG;YACW,cAAc;IA4D5B;;;;;;;;;;OAUG;YACW,oBAAoB;IAgBlC;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAiG/B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAuC9B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqF/B,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,qBAAqB;IAqB7B,oFAAoF;YACtE,OAAO;IA+Xf,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0HjE;;;;;;;;;;OAUG;IACH,OAAO,CAAC,qBAAqB;YAaf,yBAAyB;IAuBvC,kFAAkF;YACpE,mCAAmC;YAWnC,2BAA2B;IAuCnC,OAAO,CACX,mBAAmB,CAAC,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EACD,IAAI,GAAE,QAAQ,GAAG,WAAW,GAAG,QAAmB,GACjD,OAAO,CAAC,IAAI,CAAC;IAgKV,UAAU,CAAC,oBAAoB,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDvD,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,SAAI,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAoCpF;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAM3C,QAAQ,IAAI,iBAAiB;IAa7B;;;;;;;;;;;OAWG;IACH,eAAe,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IA2BnE,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAQnD;;mBAEe;IACf,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,iBAAiB,EAAO,GAAG,MAAM;IAMzE,6EAA6E;IAC7E,kBAAkB,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIzD;;;0BAGsB;IACtB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAOxC,2CAA2C;IAC3C,cAAc,IAAI,MAAM;IAIxB;;;sEAGkE;IAClE,qBAAqB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,iBAAiB,EAAE,CAAA;KAAE,GAAG,IAAI;IASlF;sFACkF;IAClF,UAAU,IAAI,MAAM;IAOpB,+EAA+E;IAC/E,uBAAuB,IAAI,iBAAiB,EAAE;IAI9C,+EAA+E;IACzE,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxD,0FAA0F;IAC1F,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI;IAahF;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD;;;;;OAKG;IACG,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1E,uEAAuE;IACvE,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;;;;;;OAOG;IACG,YAAY,CAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA0BrE,6DAA6D;IACvD,eAAe,CACnB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAYrE,oEAAoE;IACpE,OAAO,CAAC,iBAAiB;IAQzB,wEAAwE;YAC1D,0BAA0B;IAqBxC;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAU/B,WAAW,IAAI,OAAO,EAAE;IAIxB,cAAc,IAAI,iBAAiB,EAAE;YASvB,iBAAiB;YAkBjB,oBAAoB;IAOlC;;4DAEwD;IACxD,WAAW,IAAI,cAAc,EAAE;IAI/B;;6DAEyD;IACzD,mBAAmB,IAAI,sBAAsB,EAAE;IAI/C;;iFAE6E;IAC7E,2BAA2B,IAAI,MAAM;IAIrC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;;;;;;;OASG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpE;;;8EAG0E;YAC5D,iBAAiB;IAe/B;;;;;;;OAOG;IACG,sBAAsB,CAC1B,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,EACtC,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,IAAI,CAAC;IAsBhB;;sEAEkE;YACpD,yBAAyB;IAevC;;iFAE6E;IAC7E,aAAa,IAAI,gBAAgB,EAAE;IAInC;;;;;;;;OAQG;IACG,gBAAgB,CACpB,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,SAAI,GACf,OAAO,CAAC,IAAI,CAAC;IAgBhB;;;;;;OAMG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D,yEAAyE;IACnE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAShF;;4DAEwD;YAC1C,mBAAmB;IAejC;;;;;;OAMG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBzD,2EAA2E;IAC3E,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAI7C;gFAC4E;IAC5E,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;IAKxD,0DAA0D;IAC1D,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAKpC,OAAO,CAAC,uBAAuB;IAO/B;iFAC6E;IAC7E,OAAO,CAAC,gBAAgB;IAOxB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,iBAAiB;IAMzB,mEAAmE;IACnE,kBAAkB,IAAI,MAAM,GAAG,SAAS;IAIlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,OAAO,CAAC,cAAc;YAOR,gBAAgB;YAehB,mBAAmB;IAoHjC;;;;;;;;;OASG;YACW,qBAAqB;YAcrB,qBAAqB;YAIrB,cAAc;IAuB5B,OAAO,CAAC,yBAAyB;IAgDjC;;;;;OAKG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAC1B,OAAO,CAAC,6BAA6B,CAAC;CA2B1C"}
|
|
1
|
+
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,9 @@ import { sourceFingerprint as computeSourceFingerprint } from "./session-compact
|
|
|
18
18
|
import { getAuthStorageKeys, getContextWindow, getModel, getToolResultCharLimit, MODELS, } from "./model-registry.js";
|
|
19
19
|
import { discoverSkills } from "./skills.js";
|
|
20
20
|
import { ensureAppDirs } from "../config.js";
|
|
21
|
-
import { buildSystemPrompt } from "../system-prompt.js";
|
|
21
|
+
import { buildSubAgentSystemPrompt, buildSystemPrompt, } from "../system-prompt.js";
|
|
22
22
|
import { createTools, createWebSearchTool, } from "../tools/index.js";
|
|
23
|
+
import { partitionToolsByTier } from "../tools/tool-tiers.js";
|
|
23
24
|
import { buildProcessCompletionFollowUp } from "./process-gate.js";
|
|
24
25
|
import { buildSubAgentCompletionFollowUp } from "./subagent-manager.js";
|
|
25
26
|
import { applyAsyncSubagentPolicy } from "./subagent-policy.js";
|
|
@@ -181,8 +182,14 @@ export class AgentSession {
|
|
|
181
182
|
void this.subAgentManager?.interruptAll();
|
|
182
183
|
};
|
|
183
184
|
mcpManager;
|
|
184
|
-
/** Deferred MCP tools awaiting discovery via tool_search
|
|
185
|
+
/** Deferred MCP tools awaiting discovery via tool_search. */
|
|
185
186
|
mcpCatalog;
|
|
187
|
+
/**
|
|
188
|
+
* Built-in tools held in the catalog instead of the live toolset. Their names
|
|
189
|
+
* still render as one-line hints in the prompt's Tools section, so the model
|
|
190
|
+
* can discover and promote them; a promoted name drops out of this list.
|
|
191
|
+
*/
|
|
192
|
+
deferredBuiltinToolNames = [];
|
|
186
193
|
/** Live (connected) MCP tools by name — the reconcile target for cached stubs. */
|
|
187
194
|
liveMcpTools = new Map();
|
|
188
195
|
/** Server name for each cached-only tool, so a stub knows what to wait on. */
|
|
@@ -200,6 +207,8 @@ export class AgentSession {
|
|
|
200
207
|
maxTokens;
|
|
201
208
|
thinkingLevel;
|
|
202
209
|
customSystemPrompt;
|
|
210
|
+
/** Sub-agent definition body composed into the standard prompt scaffolding. */
|
|
211
|
+
agentPrompt;
|
|
203
212
|
/** Stable prompt prefix retained separately from the volatile uncached tail. */
|
|
204
213
|
baseSystemPrompt = "";
|
|
205
214
|
/** Shared with the tool layer so plan-mode restrictions read live state. */
|
|
@@ -259,6 +268,7 @@ export class AgentSession {
|
|
|
259
268
|
this.maxTokens = this.resolveMaxTokens(options.model);
|
|
260
269
|
this.thinkingLevel = options.thinkingLevel;
|
|
261
270
|
this.customSystemPrompt = options.systemPrompt;
|
|
271
|
+
this.agentPrompt = options.agentPrompt;
|
|
262
272
|
}
|
|
263
273
|
/**
|
|
264
274
|
* Derive the output-token cap for a model. Follows the active model's
|
|
@@ -339,6 +349,7 @@ export class AgentSession {
|
|
|
339
349
|
additionalRoots: this.additionalRoots,
|
|
340
350
|
allowOutsideWorkspaceWrites: this.settingsManager.get("allowOutsideWorkspaceWrites"),
|
|
341
351
|
}),
|
|
352
|
+
getUseExternalGrep: () => this.settingsManager.get("grepUseRipgrep"),
|
|
342
353
|
authStorage: this.authStorage,
|
|
343
354
|
onFileRead: (filePath) => this.reviewCoverage.recordRead(filePath),
|
|
344
355
|
onFileMutated: (filePath) => {
|
|
@@ -376,6 +387,23 @@ export class AgentSession {
|
|
|
376
387
|
// a hallucinated call can't mutate the repo — and buildSystemPrompt below is
|
|
377
388
|
// fed the same filtered names so the Tools section matches exactly.
|
|
378
389
|
this.tools = this.opts.allowedTools ? tools.filter((t) => this.isToolAllowed(t.name)) : tools;
|
|
390
|
+
// Tier the built-ins: rarely reached schemas move into the tool_search
|
|
391
|
+
// catalog and cost one hint line each instead of a full parameter schema on
|
|
392
|
+
// every request. Allow-listed sessions keep the eager path — their fixed
|
|
393
|
+
// tool expectations predate the catalog, and tool_search isn't allow-listed.
|
|
394
|
+
if (!this.opts.allowedTools && this.settingsManager.get("deferredBuiltinTools")) {
|
|
395
|
+
const { core, deferred } = partitionToolsByTier(this.tools);
|
|
396
|
+
if (deferred.length > 0) {
|
|
397
|
+
// Append-only: `core` preserves the original relative order and
|
|
398
|
+
// tool_search is pushed after it, so the serialized tool block that
|
|
399
|
+
// sits inside the cached prefix stays byte-stable across turns.
|
|
400
|
+
this.tools = core;
|
|
401
|
+
this.deferredBuiltinToolNames = deferred.map((t) => t.name);
|
|
402
|
+
this.mcpCatalog ??= new DeferredToolCatalog();
|
|
403
|
+
this.mcpCatalog.add(deferred);
|
|
404
|
+
this.ensureToolSearchTool();
|
|
405
|
+
}
|
|
406
|
+
}
|
|
379
407
|
this.rebuildReadTool = rebuildReadTool;
|
|
380
408
|
this.processManager = processManager;
|
|
381
409
|
this.lspManager = lspManager;
|
|
@@ -399,8 +427,7 @@ export class AgentSession {
|
|
|
399
427
|
else {
|
|
400
428
|
await this.connectMcpServers();
|
|
401
429
|
}
|
|
402
|
-
const basePrompt = this.
|
|
403
|
-
(await buildSystemPrompt(this.cwd, this.skills, false, undefined, this.tools.map((tool) => tool.name), undefined, this.provider, this.promptEnvironment()));
|
|
430
|
+
const basePrompt = await this.buildBasePrompt(false, undefined);
|
|
404
431
|
this.baseSystemPrompt = basePrompt;
|
|
405
432
|
this.messages = [{ role: "system", content: this.withSystemPromptTail(basePrompt) }];
|
|
406
433
|
// Load or create session. Transient sessions (subagent spawns) never
|
|
@@ -585,8 +612,8 @@ export class AgentSession {
|
|
|
585
612
|
}
|
|
586
613
|
/**
|
|
587
614
|
* Route freshly connected MCP tools: deferred into the tool_search catalog
|
|
588
|
-
* (default — keeps ~8k tokens of schema out of every cache-miss turn
|
|
589
|
-
*
|
|
615
|
+
* (default — keeps ~8k tokens of schema out of every cache-miss turn) or
|
|
616
|
+
* pushed eagerly when the user opted out.
|
|
590
617
|
* Allow-listed sessions (Ken) always get the eager path — their fixed tool
|
|
591
618
|
* expectations predate the catalog, and tool_search isn't allow-listed.
|
|
592
619
|
* Promotion pushes onto the live `this.tools` array the running agent loop
|
|
@@ -616,10 +643,13 @@ export class AgentSession {
|
|
|
616
643
|
* Register `tool_search` once. Promotion of a cached-only entry waits for its
|
|
617
644
|
* server so the model is told immediately when that capability turns out to
|
|
618
645
|
* be unreachable, instead of promoting a tool that fails on first call.
|
|
646
|
+
*
|
|
647
|
+
* The catalog is created on demand rather than required up front: deferred
|
|
648
|
+
* built-in tools populate it with zero MCP servers connected, so gating
|
|
649
|
+
* registration on an existing catalog would leave those tools unreachable.
|
|
619
650
|
*/
|
|
620
651
|
ensureToolSearchTool() {
|
|
621
|
-
|
|
622
|
-
return;
|
|
652
|
+
this.mcpCatalog ??= new DeferredToolCatalog();
|
|
623
653
|
if (this.tools.some((t) => t.name === "tool_search"))
|
|
624
654
|
return;
|
|
625
655
|
this.tools.push(createToolSearchTool(this.mcpCatalog, (promoted) => {
|
|
@@ -1957,8 +1987,7 @@ export class AgentSession {
|
|
|
1957
1987
|
this.autopilotMarkers = [];
|
|
1958
1988
|
this.appMarkers = [];
|
|
1959
1989
|
this.turnMetrics = [];
|
|
1960
|
-
const basePrompt = this.
|
|
1961
|
-
(await buildSystemPrompt(this.cwd, this.skills, false, undefined, this.tools.map((tool) => tool.name), undefined, this.provider, this.promptEnvironment()));
|
|
1990
|
+
const basePrompt = await this.buildBasePrompt(false, undefined);
|
|
1962
1991
|
this.baseSystemPrompt = basePrompt;
|
|
1963
1992
|
this.messages = [{ role: "system", content: this.withSystemPromptTail(basePrompt) }];
|
|
1964
1993
|
// Fresh conversation — new entries must not chain onto the old DAG's leaf.
|
|
@@ -2240,6 +2269,17 @@ export class AgentSession {
|
|
|
2240
2269
|
await this.rebuildSystemPromptInPlace();
|
|
2241
2270
|
return { ok: true, root: resolved };
|
|
2242
2271
|
}
|
|
2272
|
+
/**
|
|
2273
|
+
* Names to advertise as available-on-demand. A tool the model already
|
|
2274
|
+
* promoted lives in `this.tools` and carries its own schema, so it drops out
|
|
2275
|
+
* of the index rather than being listed twice.
|
|
2276
|
+
*/
|
|
2277
|
+
deferredToolNamesForPrompt(liveNames) {
|
|
2278
|
+
if (this.deferredBuiltinToolNames.length === 0)
|
|
2279
|
+
return [];
|
|
2280
|
+
const live = new Set(liveNames);
|
|
2281
|
+
return this.deferredBuiltinToolNames.filter((name) => !live.has(name));
|
|
2282
|
+
}
|
|
2243
2283
|
/** Environment facts that vary per session rather than per host. */
|
|
2244
2284
|
promptEnvironment() {
|
|
2245
2285
|
const networkAllow = this.settingsManager.get("networkMode") === "allowlist"
|
|
@@ -2247,11 +2287,37 @@ export class AgentSession {
|
|
|
2247
2287
|
: [];
|
|
2248
2288
|
return { additionalRoots: this.additionalRoots, networkAllow };
|
|
2249
2289
|
}
|
|
2290
|
+
/**
|
|
2291
|
+
* Build the stable system-prompt prefix for the current tool set and state.
|
|
2292
|
+
*
|
|
2293
|
+
* Three modes, in precedence order: a full replacement (`systemPrompt`), a
|
|
2294
|
+
* composed sub-agent prompt (`agentPrompt` — agent body plus Tools, project
|
|
2295
|
+
* context, return contract and Environment), or the standard prompt.
|
|
2296
|
+
*/
|
|
2297
|
+
async buildBasePrompt(planMode, approvedPlanPath) {
|
|
2298
|
+
if (this.customSystemPrompt)
|
|
2299
|
+
return this.customSystemPrompt;
|
|
2300
|
+
const toolNames = this.tools.map((tool) => tool.name);
|
|
2301
|
+
const deferredToolNames = this.deferredToolNamesForPrompt(toolNames);
|
|
2302
|
+
if (this.agentPrompt !== undefined) {
|
|
2303
|
+
return buildSubAgentSystemPrompt(this.agentPrompt, {
|
|
2304
|
+
cwd: this.cwd,
|
|
2305
|
+
toolNames,
|
|
2306
|
+
deferredToolNames,
|
|
2307
|
+
context: this.opts.agentContext,
|
|
2308
|
+
environment: this.promptEnvironment(),
|
|
2309
|
+
});
|
|
2310
|
+
}
|
|
2311
|
+
return buildSystemPrompt(this.cwd, this.skills, planMode, approvedPlanPath, toolNames, undefined, this.provider, this.promptEnvironment(), deferredToolNames);
|
|
2312
|
+
}
|
|
2250
2313
|
/** Rebuild messages[0] from current plan-mode + approved-plan state. */
|
|
2251
2314
|
async rebuildSystemPromptInPlace() {
|
|
2315
|
+
// A full replacement is verbatim by contract — there is nothing to rebuild.
|
|
2316
|
+
// A composed agent prompt still must be: its Tools section has to follow
|
|
2317
|
+
// late-arriving MCP tools, or a compacted child loses tools it can call.
|
|
2252
2318
|
if (this.customSystemPrompt)
|
|
2253
2319
|
return;
|
|
2254
|
-
const rebuilt = await
|
|
2320
|
+
const rebuilt = await this.buildBasePrompt(this.planModeRef.current, this.approvedPlanPath);
|
|
2255
2321
|
this.baseSystemPrompt = rebuilt;
|
|
2256
2322
|
const content = this.withSystemPromptTail(rebuilt);
|
|
2257
2323
|
if (this.messages[0]?.role === "system") {
|