@gajae-code/coding-agent 0.8.2 → 0.9.1
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/CHANGELOG.md +53 -0
- package/dist/types/append-only-mode.d.ts +31 -0
- package/dist/types/capability/rule.d.ts +8 -0
- package/dist/types/cli/fixture-report.d.ts +20 -0
- package/dist/types/cli/fixture-report.test.d.ts +1 -0
- package/dist/types/cli/nofile-limit.d.ts +11 -0
- package/dist/types/cli/update-cli.d.ts +22 -0
- package/dist/types/config/settings-schema.d.ts +119 -1
- package/dist/types/discovery/index.d.ts +1 -0
- package/dist/types/export/html/template.generated.d.ts +1 -1
- package/dist/types/export/ttsr.d.ts +14 -3
- package/dist/types/gjc-runtime/deep-interview-state.d.ts +5 -2
- package/dist/types/gjc-runtime/session-state-sidecar.d.ts +7 -0
- package/dist/types/gjc-runtime/state-writer.d.ts +3 -0
- package/dist/types/gjc-runtime/team-runtime.d.ts +26 -0
- package/dist/types/gjc-runtime/tmux-common.d.ts +1 -0
- package/dist/types/gjc-runtime/ultragoal-receipt-freshness.d.ts +42 -0
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +119 -13
- package/dist/types/goals/runtime.d.ts +1 -0
- package/dist/types/hooks/native-skill-hook.d.ts +12 -0
- package/dist/types/modes/components/assistant-message.d.ts +5 -1
- package/dist/types/modes/components/status-line.d.ts +9 -0
- package/dist/types/modes/components/thinking-selector.d.ts +2 -2
- package/dist/types/modes/controllers/command-controller.d.ts +1 -0
- package/dist/types/modes/controllers/event-controller.d.ts +5 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +1 -0
- package/dist/types/modes/interactive-mode.d.ts +4 -0
- package/dist/types/modes/rpc/rpc-mode.d.ts +1 -3
- package/dist/types/modes/rpc/rpc-socket-security.d.ts +3 -0
- package/dist/types/modes/rpc/rpc-types.d.ts +14 -0
- package/dist/types/modes/shared/agent-wire/event-contract.d.ts +19 -0
- package/dist/types/modes/shared/agent-wire/event-envelope.d.ts +23 -1
- package/dist/types/modes/types.d.ts +3 -0
- package/dist/types/modes/utils/injected-user-submission.d.ts +52 -0
- package/dist/types/modes/utils/ui-helpers.d.ts +1 -0
- package/dist/types/notifications/config-commands.d.ts +9 -0
- package/dist/types/notifications/config.d.ts +22 -0
- package/dist/types/notifications/index.d.ts +2 -0
- package/dist/types/notifications/lifecycle-commands.d.ts +1 -0
- package/dist/types/notifications/lifecycle-control-runtime.d.ts +2 -1
- package/dist/types/notifications/reply-sent-store.d.ts +53 -0
- package/dist/types/notifications/rich-draft.d.ts +68 -0
- package/dist/types/notifications/rich-render.d.ts +90 -0
- package/dist/types/notifications/telegram-daemon-cli.d.ts +3 -3
- package/dist/types/notifications/telegram-daemon.d.ts +30 -0
- package/dist/types/notifications/telegram-reference.d.ts +7 -0
- package/dist/types/notifications/threaded-render.d.ts +14 -0
- package/dist/types/sdk.d.ts +3 -0
- package/dist/types/session/agent-session.d.ts +43 -1
- package/dist/types/session/file-mention-pruning.d.ts +8 -0
- package/dist/types/session/messages.d.ts +4 -0
- package/dist/types/session/session-manager.d.ts +17 -1
- package/dist/types/skill-state/active-state.d.ts +18 -1
- package/dist/types/system-prompt.d.ts +18 -2
- package/dist/types/task/executor.d.ts +1 -0
- package/dist/types/task/fork-context-budget.d.ts +7 -0
- package/dist/types/task/token-log.d.ts +30 -0
- package/dist/types/task/token-log.test.d.ts +1 -0
- package/dist/types/tools/bisect.d.ts +81 -0
- package/dist/types/tools/index.d.ts +1 -0
- package/dist/types/tools/search.d.ts +2 -2
- package/dist/types/utils/file-mentions.d.ts +14 -0
- package/dist/types/utils/git.d.ts +32 -0
- package/dist/types/utils/pasted-image-path.d.ts +30 -0
- package/dist/types/web/scrapers/youtube.d.ts +8 -0
- package/package.json +8 -11
- package/src/append-only-mode.ts +58 -0
- package/src/autoresearch/prompt.md +1 -1
- package/src/autoresearch/tools/log-experiment.ts +1 -1
- package/src/capability/rule.ts +9 -0
- package/src/cli/config-cli.ts +27 -3
- package/src/cli/fixture-report.test.ts +230 -0
- package/src/cli/fixture-report.ts +171 -0
- package/src/cli/nofile-limit.ts +48 -0
- package/src/cli/notify-cli.ts +11 -9
- package/src/cli/update-cli.ts +85 -9
- package/src/cli.ts +26 -0
- package/src/commands/contribution-prep.ts +1 -1
- package/src/config/keybindings.ts +1 -1
- package/src/config/settings-schema.ts +76 -1
- package/src/defaults/gjc/skills/deep-interview/SKILL.md +12 -13
- package/src/defaults/gjc/skills/ralplan/SKILL.md +30 -93
- package/src/defaults/gjc/skills/team/SKILL.md +16 -13
- package/src/defaults/gjc/skills/ultragoal/SKILL.md +59 -4
- package/src/defaults/gjc/skills/ultragoal/pipeline-validation-contracts.md +30 -0
- package/src/defaults/gjc-defaults.ts +9 -0
- package/src/discovery/helpers.ts +10 -0
- package/src/discovery/index.ts +1 -0
- package/src/export/html/template.generated.ts +1 -1
- package/src/export/html/template.js +60 -2
- package/src/export/ttsr.ts +96 -18
- package/src/extensibility/extensions/runner.ts +181 -219
- package/src/extensibility/gjc-plugins/runtime-adapters.ts +156 -44
- package/src/gjc-runtime/deep-interview-state.ts +31 -2
- package/src/gjc-runtime/launch-tmux.ts +6 -0
- package/src/gjc-runtime/session-state-sidecar.ts +208 -13
- package/src/gjc-runtime/state-writer.ts +15 -0
- package/src/gjc-runtime/team-runtime.ts +175 -19
- package/src/gjc-runtime/tmux-common.ts +1 -0
- package/src/gjc-runtime/ultragoal-guard.ts +55 -66
- package/src/gjc-runtime/ultragoal-receipt-freshness.ts +315 -0
- package/src/gjc-runtime/ultragoal-runtime.ts +1602 -143
- package/src/gjc-runtime/workflow-manifest.generated.json +113 -2
- package/src/gjc-runtime/workflow-manifest.ts +74 -1
- package/src/goals/runtime.ts +10 -2
- package/src/hindsight/backend.ts +1 -3
- package/src/hooks/native-skill-hook.ts +95 -4
- package/src/internal-urls/docs-index.generated.ts +18 -9
- package/src/lsp/client.ts +1 -0
- package/src/main.ts +43 -2
- package/src/memories/index.ts +12 -1
- package/src/modes/components/assistant-message.ts +241 -82
- package/src/modes/components/custom-editor.ts +1 -0
- package/src/modes/components/footer.ts +7 -2
- package/src/modes/components/status-line.ts +167 -54
- package/src/modes/components/thinking-selector.ts +10 -8
- package/src/modes/components/tool-execution.ts +44 -19
- package/src/modes/controllers/command-controller.ts +39 -2
- package/src/modes/controllers/event-controller.ts +77 -49
- package/src/modes/controllers/extension-ui-controller.ts +8 -1
- package/src/modes/controllers/input-controller.ts +13 -18
- package/src/modes/controllers/selector-controller.ts +41 -0
- package/src/modes/interactive-mode.ts +14 -1
- package/src/modes/rpc/rpc-mode.ts +32 -12
- package/src/modes/rpc/rpc-socket-security.ts +13 -1
- package/src/modes/rpc/rpc-types.ts +9 -0
- package/src/modes/shared/agent-wire/command-validation.ts +4 -0
- package/src/modes/shared/agent-wire/event-contract.ts +22 -0
- package/src/modes/shared/agent-wire/event-envelope.ts +82 -0
- package/src/modes/shared/agent-wire/scopes.ts +1 -0
- package/src/modes/types.ts +3 -0
- package/src/modes/utils/injected-user-submission.ts +94 -0
- package/src/modes/utils/ui-helpers.ts +17 -4
- package/src/notifications/config-commands.ts +20 -0
- package/src/notifications/config.ts +43 -4
- package/src/notifications/index.ts +105 -9
- package/src/notifications/lifecycle-commands.ts +37 -16
- package/src/notifications/lifecycle-control-runtime.ts +8 -3
- package/src/notifications/reply-sent-store.ts +134 -0
- package/src/notifications/rich-draft.ts +107 -0
- package/src/notifications/rich-render.ts +142 -0
- package/src/notifications/telegram-daemon-cli.ts +54 -7
- package/src/notifications/telegram-daemon-control.ts +2 -2
- package/src/notifications/telegram-daemon.ts +390 -56
- package/src/notifications/telegram-reference.ts +17 -0
- package/src/notifications/threaded-render.ts +45 -2
- package/src/prompts/agents/architect.md +19 -10
- package/src/prompts/agents/critic.md +16 -18
- package/src/prompts/agents/executor.md +14 -11
- package/src/prompts/agents/planner.md +18 -13
- package/src/prompts/ci-green-request.md +3 -8
- package/src/prompts/goals/goal-continuation.md +0 -5
- package/src/prompts/goals/goal-mode-active.md +0 -5
- package/src/prompts/system/agent-creation-architect.md +2 -2
- package/src/prompts/system/plan-mode-active.md +1 -1
- package/src/prompts/system/plan-mode-subagent.md +3 -3
- package/src/prompts/system/project-prompt.md +0 -13
- package/src/prompts/system/subagent-system-prompt.md +3 -2
- package/src/prompts/system/system-prompt.md +26 -19
- package/src/prompts/system/volatile-project-context.md +10 -0
- package/src/prompts/system/web-search.md +4 -7
- package/src/prompts/tools/apply-patch.md +6 -0
- package/src/prompts/tools/ast-edit.md +1 -0
- package/src/prompts/tools/bash.md +1 -1
- package/src/prompts/tools/bisect.md +22 -0
- package/src/prompts/tools/browser.md +1 -1
- package/src/prompts/tools/cron.md +0 -2
- package/src/prompts/tools/eval.md +2 -2
- package/src/prompts/tools/find.md +1 -1
- package/src/prompts/tools/github.md +6 -6
- package/src/prompts/tools/goal.md +1 -3
- package/src/prompts/tools/image-gen.md +12 -5
- package/src/prompts/tools/irc.md +5 -4
- package/src/prompts/tools/job.md +2 -2
- package/src/prompts/tools/lsp.md +1 -1
- package/src/prompts/tools/monitor.md +2 -2
- package/src/prompts/tools/patch.md +2 -2
- package/src/prompts/tools/replace.md +2 -21
- package/src/prompts/tools/rewind.md +1 -1
- package/src/prompts/tools/search-tool-bm25.md +6 -11
- package/src/prompts/tools/search.md +1 -1
- package/src/prompts/tools/skill.md +3 -2
- package/src/prompts/tools/ssh.md +2 -1
- package/src/prompts/tools/subagent.md +2 -2
- package/src/prompts/tools/task.md +4 -5
- package/src/prompts/tools/todo-write.md +1 -1
- package/src/prompts/tools/vim.md +1 -0
- package/src/prompts/tools/web-search.md +2 -0
- package/src/prompts/tools/write.md +8 -2
- package/src/sdk.ts +68 -30
- package/src/session/agent-session.ts +734 -107
- package/src/session/file-mention-pruning.ts +64 -0
- package/src/session/messages.ts +4 -0
- package/src/session/session-manager.ts +59 -2
- package/src/skill-state/active-state.ts +141 -5
- package/src/skill-state/deep-interview-mutation-guard.ts +67 -3
- package/src/slash-commands/builtin-registry.ts +143 -1
- package/src/system-prompt.ts +57 -16
- package/src/task/executor.ts +125 -20
- package/src/task/fork-context-advisory.ts +2 -7
- package/src/task/fork-context-budget.ts +9 -0
- package/src/task/index.ts +4 -3
- package/src/task/output-manager.ts +4 -2
- package/src/task/token-log.test.ts +188 -0
- package/src/task/token-log.ts +179 -0
- package/src/tools/bisect.ts +367 -0
- package/src/tools/index.ts +3 -0
- package/src/tools/output-meta.ts +116 -4
- package/src/tools/search.ts +8 -2
- package/src/tools/skill.ts +15 -0
- package/src/utils/file-mentions.ts +39 -7
- package/src/utils/git.ts +73 -0
- package/src/utils/pasted-image-path.ts +170 -0
- package/src/web/scrapers/youtube.ts +24 -12
package/src/sdk.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
type AgentMessage,
|
|
5
5
|
type AgentTelemetryConfig,
|
|
6
6
|
type AgentTool,
|
|
7
|
-
AppendOnlyContextManager,
|
|
7
|
+
type AppendOnlyContextManager,
|
|
8
8
|
INTENT_FIELD,
|
|
9
9
|
type ThinkingLevel,
|
|
10
10
|
} from "@gajae-code/agent-core";
|
|
@@ -31,7 +31,11 @@ import {
|
|
|
31
31
|
prompt,
|
|
32
32
|
Snowflake,
|
|
33
33
|
} from "@gajae-code/utils";
|
|
34
|
-
|
|
34
|
+
import {
|
|
35
|
+
createAppendOnlyContextManager,
|
|
36
|
+
providerSupportsAppendOnlyAuto,
|
|
37
|
+
resolveAppendOnlyMode,
|
|
38
|
+
} from "./append-only-mode";
|
|
35
39
|
import { type AsyncJob, AsyncJobManager, isBackgroundJobSupportEnabled, jobElapsedMs } from "./async";
|
|
36
40
|
import { loadCapability } from "./capability";
|
|
37
41
|
import { type Rule, ruleCapability, setActiveRules } from "./capability/rule";
|
|
@@ -117,7 +121,12 @@ import {
|
|
|
117
121
|
} from "./system-prompt";
|
|
118
122
|
import { AgentOutputManager } from "./task/output-manager";
|
|
119
123
|
import { parseThinkingLevel, resolveThinkingLevelForModel, toReasoningEffort } from "./thinking";
|
|
120
|
-
import {
|
|
124
|
+
import {
|
|
125
|
+
collectDiscoverableTools,
|
|
126
|
+
type DiscoverableTool,
|
|
127
|
+
isMCPBridgeTool,
|
|
128
|
+
isMCPToolName,
|
|
129
|
+
} from "./tool-discovery/tool-index";
|
|
121
130
|
import {
|
|
122
131
|
applyConfiguredSearchTimeout,
|
|
123
132
|
BashTool,
|
|
@@ -615,23 +624,12 @@ function registerJsVmCleanup(): void {
|
|
|
615
624
|
postmortem.register("js-vm-cleanup", disposeAllVmContexts);
|
|
616
625
|
}
|
|
617
626
|
|
|
618
|
-
|
|
619
|
-
*
|
|
620
|
-
*
|
|
621
|
-
*
|
|
622
|
-
* - `"off"` → never enable
|
|
623
|
-
* - `"auto"` → enable for DeepSeek (prefix-caching provider)
|
|
627
|
+
/*
|
|
628
|
+
* Append-only context-mode resolution + manager construction live in
|
|
629
|
+
* ./append-only-mode so the initial build, the runtime model/setting-change
|
|
630
|
+
* path, and the status UI share one implementation. Re-exported for importers/tests.
|
|
624
631
|
*/
|
|
625
|
-
|
|
626
|
-
switch (setting ?? "auto") {
|
|
627
|
-
case "on":
|
|
628
|
-
return true;
|
|
629
|
-
case "off":
|
|
630
|
-
return false;
|
|
631
|
-
default:
|
|
632
|
-
return provider === "deepseek";
|
|
633
|
-
}
|
|
634
|
-
}
|
|
632
|
+
export { createAppendOnlyContextManager, providerSupportsAppendOnlyAuto, resolveAppendOnlyMode };
|
|
635
633
|
|
|
636
634
|
function customToolToDefinition(tool: CustomTool): ToolDefinition {
|
|
637
635
|
const definition: ToolDefinition & { [TOOL_DEFINITION_MARKER]: true } = {
|
|
@@ -866,6 +864,10 @@ function withEmbeddedDefaultGjcSkills(skills: Skill[]): Skill[] {
|
|
|
866
864
|
return [...byName.values()];
|
|
867
865
|
}
|
|
868
866
|
|
|
867
|
+
export function resolveIntentTracingEnabled(intentTracingSetting: boolean | undefined, hasUI: boolean): boolean {
|
|
868
|
+
return (!!intentTracingSetting || $flag("PI_INTENT_TRACING")) && hasUI;
|
|
869
|
+
}
|
|
870
|
+
|
|
869
871
|
export async function createAgentSession(options: CreateAgentSessionOptions = {}): Promise<CreateAgentSessionResult> {
|
|
870
872
|
const cwd = options.cwd ?? getProjectDir();
|
|
871
873
|
const agentDir = options.agentDir ?? getDefaultAgentDir();
|
|
@@ -1125,8 +1127,15 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1125
1127
|
rulebookRules.push(rule);
|
|
1126
1128
|
}
|
|
1127
1129
|
}
|
|
1128
|
-
if (
|
|
1129
|
-
|
|
1130
|
+
if (ttsrManager.getSettings().enabled !== false) {
|
|
1131
|
+
if ((existingSession.ttsrMessageCount ?? 0) > 0) {
|
|
1132
|
+
ttsrManager.restoreMessageCount(existingSession.ttsrMessageCount ?? 0);
|
|
1133
|
+
}
|
|
1134
|
+
if (existingSession.injectedTtsrRuleRecords && existingSession.injectedTtsrRuleRecords.length > 0) {
|
|
1135
|
+
ttsrManager.restoreInjected(existingSession.injectedTtsrRuleRecords);
|
|
1136
|
+
} else if (existingSession.injectedTtsrRules.length > 0) {
|
|
1137
|
+
ttsrManager.restoreInjected(existingSession.injectedTtsrRules);
|
|
1138
|
+
}
|
|
1130
1139
|
}
|
|
1131
1140
|
return { ttsrManager, rulebookRules, alwaysApplyRules };
|
|
1132
1141
|
});
|
|
@@ -1765,7 +1774,11 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1765
1774
|
|
|
1766
1775
|
const repeatToolDescriptions = settings.get("repeatToolDescriptions");
|
|
1767
1776
|
const eagerTasks = settings.get("task.eager");
|
|
1768
|
-
const
|
|
1777
|
+
const intentTracingEnabled = resolveIntentTracingEnabled(
|
|
1778
|
+
settings.get("tools.intentTracing"),
|
|
1779
|
+
options.hasUI ?? false,
|
|
1780
|
+
);
|
|
1781
|
+
const intentField = intentTracingEnabled ? INTENT_FIELD : undefined;
|
|
1769
1782
|
const rebuildSystemPrompt = async (
|
|
1770
1783
|
toolNames: string[],
|
|
1771
1784
|
tools: Map<string, AgentTool>,
|
|
@@ -1781,7 +1794,15 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1781
1794
|
{ source: "builtin" },
|
|
1782
1795
|
)
|
|
1783
1796
|
: [];
|
|
1784
|
-
const
|
|
1797
|
+
const discoverableMCPTools: DiscoverableTool[] = mcpDiscoveryEnabled
|
|
1798
|
+
? collectDiscoverableTools(
|
|
1799
|
+
Array.from(tools.values()).filter(
|
|
1800
|
+
tool => isMCPToolName(tool.name) && !activeToolNames.has(tool.name),
|
|
1801
|
+
),
|
|
1802
|
+
{ source: "mcp" },
|
|
1803
|
+
)
|
|
1804
|
+
: [];
|
|
1805
|
+
const discoverableToolsForDesc: DiscoverableTool[] = [...discoverableBuiltinTools, ...discoverableMCPTools];
|
|
1785
1806
|
const promptTools = buildSystemPromptToolMetadata(tools, {
|
|
1786
1807
|
search_tool_bm25: { description: renderSearchToolBm25Description(discoverableToolsForDesc) },
|
|
1787
1808
|
});
|
|
@@ -1830,13 +1851,14 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1830
1851
|
intentField,
|
|
1831
1852
|
mcpDiscoveryMode: false,
|
|
1832
1853
|
mcpDiscoveryServerSummaries: [],
|
|
1833
|
-
toolDiscoveryActive: effectiveDiscoveryMode === "all",
|
|
1834
|
-
discoverableTools: discoverableBuiltinTools
|
|
1854
|
+
toolDiscoveryActive: effectiveDiscoveryMode === "all" || mcpDiscoveryEnabled,
|
|
1855
|
+
discoverableTools: [...discoverableBuiltinTools, ...discoverableMCPTools]
|
|
1835
1856
|
.map(tool => ({ name: tool.name, summary: tool.summary }))
|
|
1836
1857
|
.sort((a, b) => a.name.localeCompare(b.name)),
|
|
1837
1858
|
eagerTasks,
|
|
1838
1859
|
secretsEnabled,
|
|
1839
1860
|
workspaceTree: workspaceTreePromise,
|
|
1861
|
+
subagent: options.parentTaskPrefix !== undefined,
|
|
1840
1862
|
});
|
|
1841
1863
|
|
|
1842
1864
|
if (options.systemPrompt === undefined) {
|
|
@@ -1861,11 +1883,12 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1861
1883
|
: toolNamesFromRegistry;
|
|
1862
1884
|
const normalizedRequested = requestedToolNames.filter(name => toolRegistry.has(name));
|
|
1863
1885
|
const requestedToolNameSet = new Set(normalizedRequested);
|
|
1864
|
-
//
|
|
1865
|
-
//
|
|
1886
|
+
// Generic tool discovery hides non-essential built-ins behind search_tool_bm25.
|
|
1887
|
+
// Legacy MCP discovery remains separately controlled by mcp.discoveryMode so
|
|
1888
|
+
// loaded MCP catalogs can be searched without enabling every hidden built-in.
|
|
1866
1889
|
const toolsDiscoveryModeSetting = settings.get("tools.discoveryMode");
|
|
1867
1890
|
const effectiveDiscoveryMode: "off" | "all" = toolsDiscoveryModeSetting === "all" ? "all" : "off";
|
|
1868
|
-
const mcpDiscoveryEnabled =
|
|
1891
|
+
const mcpDiscoveryEnabled = settings.get("mcp.discoveryMode") === true;
|
|
1869
1892
|
const defaultInactiveToolNames = new Set(
|
|
1870
1893
|
registeredTools.filter(tool => tool.definition.defaultInactive).map(tool => tool.definition.name),
|
|
1871
1894
|
);
|
|
@@ -1878,6 +1901,20 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
1878
1901
|
const discoveryDefaultServerToolNames: string[] = [];
|
|
1879
1902
|
let initialSelectedMCPToolNames: string[] = [];
|
|
1880
1903
|
let defaultSelectedMCPToolNames: string[] = [];
|
|
1904
|
+
if (mcpDiscoveryEnabled) {
|
|
1905
|
+
const defaultServerNames = new Set(settings.get("mcp.discoveryDefaultServers") ?? []);
|
|
1906
|
+
for (const tool of toolRegistry.values()) {
|
|
1907
|
+
if (!isMCPBridgeTool(tool)) continue;
|
|
1908
|
+
discoverableMCPToolNames.add(tool.name);
|
|
1909
|
+
if (initialRequestedActiveToolNames.includes(tool.name)) {
|
|
1910
|
+
explicitlyRequestedMCPToolNames.push(tool.name);
|
|
1911
|
+
}
|
|
1912
|
+
const serverName = (tool as AgentTool & { mcpServerName?: string }).mcpServerName;
|
|
1913
|
+
if (serverName && defaultServerNames.has(serverName)) {
|
|
1914
|
+
discoveryDefaultServerToolNames.push(tool.name);
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1881
1918
|
let initialToolNames = [...initialRequestedActiveToolNames];
|
|
1882
1919
|
if (mcpDiscoveryEnabled) {
|
|
1883
1920
|
const restoredSelectedMCPToolNames = existingSession.selectedMCPToolNames.filter(name =>
|
|
@@ -2045,7 +2082,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
2045
2082
|
|
|
2046
2083
|
const appendOnlyContext =
|
|
2047
2084
|
model && resolveAppendOnlyMode(settings.get("provider.appendOnlyContext"), model.provider)
|
|
2048
|
-
?
|
|
2085
|
+
? createAppendOnlyContextManager(model.provider)
|
|
2049
2086
|
: undefined;
|
|
2050
2087
|
if (appendOnlyContext && options.forkContextSeed && !hasExistingSession) {
|
|
2051
2088
|
if (options.forkContextSeed.appendOnlyPrefixSnapshot) {
|
|
@@ -2216,6 +2253,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
2216
2253
|
onResponse,
|
|
2217
2254
|
convertToLlm: convertToLlmFinal,
|
|
2218
2255
|
rebuildSystemPrompt,
|
|
2256
|
+
workspaceTree: resolvedWorkspaceTree,
|
|
2219
2257
|
reloadSshTool,
|
|
2220
2258
|
requestedToolNames: requestedToolNameSet,
|
|
2221
2259
|
discoverableToolAllowedNames: options.discoverableToolAllowedNames,
|
|
@@ -2237,7 +2275,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|
|
2237
2275
|
initialSelectedMCPToolNames,
|
|
2238
2276
|
defaultSelectedMCPToolNames,
|
|
2239
2277
|
persistInitialMCPToolSelection: !hasExistingSession,
|
|
2240
|
-
defaultSelectedMCPServerNames: [],
|
|
2278
|
+
defaultSelectedMCPServerNames: settings.get("mcp.discoveryDefaultServers") ?? [],
|
|
2241
2279
|
ttsrManager,
|
|
2242
2280
|
obfuscator,
|
|
2243
2281
|
agentId: resolvedAgentId,
|