@pentoshi/clai 4.10.2 → 4.11.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/README.md +40 -7
- package/dist/agent/runner.js +114 -25
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/task-evidence.js +0 -63
- package/dist/agent/task-evidence.js.map +1 -1
- package/dist/app/adapters/current-store-adapter.js +8 -2
- package/dist/app/adapters/current-store-adapter.js.map +1 -1
- package/dist/app/commands/catalog.js +19 -2
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/app/controllers/session-controller.d.ts +4 -2
- package/dist/app/controllers/session-controller.js +26 -38
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/session-loop-recovery.d.ts +13 -0
- package/dist/app/controllers/session-loop-recovery.js +43 -0
- package/dist/app/controllers/session-loop-recovery.js.map +1 -0
- package/dist/app/ports/persistence-port.d.ts +3 -1
- package/dist/classic/bootstrap/start-classic.d.ts +1 -0
- package/dist/classic/bootstrap/start-classic.js +13 -4
- package/dist/classic/bootstrap/start-classic.js.map +1 -1
- package/dist/commands/providers.js +2 -0
- package/dist/commands/providers.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/capabilities.js +13 -0
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/free-default-model.d.ts +7 -0
- package/dist/llm/free-default-model.js +41 -0
- package/dist/llm/free-default-model.js.map +1 -0
- package/dist/llm/free.js +39 -0
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/merge-gateway.d.ts +6 -0
- package/dist/llm/merge-gateway.js +157 -0
- package/dist/llm/merge-gateway.js.map +1 -0
- package/dist/llm/meta.d.ts +1 -2
- package/dist/llm/meta.js +31 -1140
- package/dist/llm/meta.js.map +1 -1
- package/dist/llm/provider-model-layers.js +6 -0
- package/dist/llm/provider-model-layers.js.map +1 -1
- package/dist/llm/provider-profile-layers.js +21 -0
- package/dist/llm/provider-profile-layers.js.map +1 -1
- package/dist/llm/provider.js +68 -0
- package/dist/llm/provider.js.map +1 -1
- package/dist/llm/reasoning-capability.js +8 -0
- package/dist/llm/reasoning-capability.js.map +1 -1
- package/dist/llm/responses-complete.d.ts +4 -0
- package/dist/llm/responses-complete.js +28 -0
- package/dist/llm/responses-complete.js.map +1 -0
- package/dist/llm/responses-config.d.ts +22 -0
- package/dist/llm/responses-config.js +19 -0
- package/dist/llm/responses-config.js.map +1 -0
- package/dist/llm/responses-dialect.d.ts +6 -0
- package/dist/llm/responses-dialect.js +6 -0
- package/dist/llm/responses-dialect.js.map +1 -0
- package/dist/llm/responses-http.d.ts +13 -0
- package/dist/llm/responses-http.js +88 -0
- package/dist/llm/responses-http.js.map +1 -0
- package/dist/llm/responses-parse.d.ts +42 -0
- package/dist/llm/responses-parse.js +242 -0
- package/dist/llm/responses-parse.js.map +1 -0
- package/dist/llm/responses-request.d.ts +15 -0
- package/dist/llm/responses-request.js +209 -0
- package/dist/llm/responses-request.js.map +1 -0
- package/dist/llm/responses-stream-accumulator.d.ts +38 -0
- package/dist/llm/responses-stream-accumulator.js +102 -0
- package/dist/llm/responses-stream-accumulator.js.map +1 -0
- package/dist/llm/responses-stream-events.d.ts +6 -0
- package/dist/llm/responses-stream-events.js +398 -0
- package/dist/llm/responses-stream-events.js.map +1 -0
- package/dist/llm/responses-stream-watchdog.d.ts +14 -0
- package/dist/llm/responses-stream-watchdog.js +64 -0
- package/dist/llm/responses-stream-watchdog.js.map +1 -0
- package/dist/llm/responses-stream.d.ts +4 -0
- package/dist/llm/responses-stream.js +264 -0
- package/dist/llm/responses-stream.js.map +1 -0
- package/dist/llm/router.js +3 -0
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/tool-protocol.js +35 -3
- package/dist/llm/tool-protocol.js.map +1 -1
- package/dist/mcp/auth/host-credentials.d.ts +11 -0
- package/dist/mcp/auth/host-credentials.js +54 -0
- package/dist/mcp/auth/host-credentials.js.map +1 -0
- package/dist/mcp/auth/loopback.d.ts +16 -0
- package/dist/mcp/auth/loopback.js +126 -0
- package/dist/mcp/auth/loopback.js.map +1 -0
- package/dist/mcp/auth/metadata.d.ts +9 -0
- package/dist/mcp/auth/metadata.js +102 -0
- package/dist/mcp/auth/metadata.js.map +1 -0
- package/dist/mcp/auth/pkce.d.ts +3 -0
- package/dist/mcp/auth/pkce.js +17 -0
- package/dist/mcp/auth/pkce.js.map +1 -0
- package/dist/mcp/auth/provider.d.ts +24 -0
- package/dist/mcp/auth/provider.js +372 -0
- package/dist/mcp/auth/provider.js.map +1 -0
- package/dist/mcp/auth/registration.d.ts +12 -0
- package/dist/mcp/auth/registration.js +38 -0
- package/dist/mcp/auth/registration.js.map +1 -0
- package/dist/mcp/auth/security.d.ts +2 -0
- package/dist/mcp/auth/security.js +29 -0
- package/dist/mcp/auth/security.js.map +1 -0
- package/dist/mcp/auth/token-exchange.d.ts +24 -0
- package/dist/mcp/auth/token-exchange.js +66 -0
- package/dist/mcp/auth/token-exchange.js.map +1 -0
- package/dist/mcp/auth/token-store.d.ts +3 -0
- package/dist/mcp/auth/token-store.js +170 -0
- package/dist/mcp/auth/token-store.js.map +1 -0
- package/dist/mcp/auth/types.d.ts +62 -0
- package/dist/mcp/auth/types.js +2 -0
- package/dist/mcp/auth/types.js.map +1 -0
- package/dist/mcp/auth/www-authenticate.d.ts +2 -0
- package/dist/mcp/auth/www-authenticate.js +42 -0
- package/dist/mcp/auth/www-authenticate.js.map +1 -0
- package/dist/mcp/discovery.js +48 -1
- package/dist/mcp/discovery.js.map +1 -1
- package/dist/mcp/manager.d.ts +19 -0
- package/dist/mcp/manager.js +102 -10
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/mentions.js +2 -2
- package/dist/mcp/mentions.js.map +1 -1
- package/dist/mcp/runtime.d.ts +12 -0
- package/dist/mcp/runtime.js +146 -8
- package/dist/mcp/runtime.js.map +1 -1
- package/dist/mcp/transport-http.d.ts +12 -1
- package/dist/mcp/transport-http.js +160 -45
- package/dist/mcp/transport-http.js.map +1 -1
- package/dist/mcp/types.d.ts +18 -0
- package/dist/mcp/types.js.map +1 -1
- package/dist/mcp/validation.d.ts +10 -1
- package/dist/mcp/validation.js +111 -1
- package/dist/mcp/validation.js.map +1 -1
- package/dist/noninteractive/cancellation.d.ts +15 -0
- package/dist/noninteractive/cancellation.js +49 -0
- package/dist/noninteractive/cancellation.js.map +1 -0
- package/dist/noninteractive/readline-prompts.d.ts +1 -0
- package/dist/noninteractive/readline-prompts.js +14 -0
- package/dist/noninteractive/readline-prompts.js.map +1 -1
- package/dist/noninteractive/start-noninteractive.js +11 -10
- package/dist/noninteractive/start-noninteractive.js.map +1 -1
- package/dist/os/screen-sequences.d.ts +4 -0
- package/dist/os/screen-sequences.js +9 -0
- package/dist/os/screen-sequences.js.map +1 -1
- package/dist/os/terminal-rescue.js +2 -2
- package/dist/os/terminal-rescue.js.map +1 -1
- package/dist/os/terminal-write.d.ts +5 -0
- package/dist/os/terminal-write.js +45 -0
- package/dist/os/terminal-write.js.map +1 -0
- package/dist/safety/classifier.js +7 -2
- package/dist/safety/classifier.js.map +1 -1
- package/dist/session-runtime/alt-screen.js +2 -1
- package/dist/session-runtime/alt-screen.js.map +1 -1
- package/dist/session-runtime/child-bridge.d.ts +1 -1
- package/dist/session-runtime/child-bridge.js +7 -2
- package/dist/session-runtime/child-bridge.js.map +1 -1
- package/dist/session-runtime/client.js +13 -5
- package/dist/session-runtime/client.js.map +1 -1
- package/dist/session-runtime/host.d.ts +2 -0
- package/dist/session-runtime/host.js +19 -2
- package/dist/session-runtime/host.js.map +1 -1
- package/dist/session-runtime/reaper.d.ts +4 -0
- package/dist/session-runtime/reaper.js +64 -0
- package/dist/session-runtime/reaper.js.map +1 -0
- package/dist/session-runtime/terminal-modes.d.ts +8 -0
- package/dist/session-runtime/terminal-modes.js +51 -0
- package/dist/session-runtime/terminal-modes.js.map +1 -0
- package/dist/session-runtime/types.d.ts +2 -0
- package/dist/store/config.js +1 -0
- package/dist/store/config.js.map +1 -1
- package/dist/store/history.d.ts +9 -3
- package/dist/store/history.js +39 -8
- package/dist/store/history.js.map +1 -1
- package/dist/store/session-model.d.ts +29 -0
- package/dist/store/session-model.js +212 -0
- package/dist/store/session-model.js.map +1 -0
- package/dist/tools/definitions.d.ts +2 -0
- package/dist/tools/definitions.js +54 -0
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tui-v2/bootstrap/renderer-handle.d.ts +2 -1
- package/dist/tui-v2/bootstrap/renderer-handle.js +2 -1
- package/dist/tui-v2/bootstrap/renderer-handle.js.map +1 -1
- package/dist/tui-v2/bootstrap/resize-repaint.d.ts +3 -1
- package/dist/tui-v2/bootstrap/resize-repaint.js +18 -2
- package/dist/tui-v2/bootstrap/resize-repaint.js.map +1 -1
- package/dist/tui-v2/bootstrap/start-tui-v2.d.ts +1 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js +21 -17
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/transcript/intro-card.js +2 -2
- package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.js +4 -2
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/ui-core/bootstrap/composition-root.d.ts +2 -2
- package/dist/ui-core/bootstrap/composition-root.js +3 -1
- package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
- package/dist/ui-core/bootstrap/exit-epilogue.d.ts +2 -2
- package/dist/ui-core/bootstrap/exit-epilogue.js +1 -1
- package/dist/ui-core/bootstrap/exit-epilogue.js.map +1 -1
- package/dist/ui-core/bootstrap/session-resume.js +10 -0
- package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
- package/dist/ui-core/commands/mcp-commands.js +182 -70
- package/dist/ui-core/commands/mcp-commands.js.map +1 -1
- package/dist/ui-core/commands/picker-commands.js +10 -8
- package/dist/ui-core/commands/picker-commands.js.map +1 -1
- package/dist/ui-core/commands/session-commands.js +41 -8
- package/dist/ui-core/commands/session-commands.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
|
@@ -5,8 +5,17 @@ import { mcpSelectionLabel } from "../../mcp/runtime.js";
|
|
|
5
5
|
import { MCP_SOURCE_LABELS } from "../../mcp/types.js";
|
|
6
6
|
import { composerActionPort } from "../composer/composer-action-port.js";
|
|
7
7
|
const ADD_VALUE = "__mcp_add__";
|
|
8
|
+
const NOTION_VALUE = "__mcp_notion__";
|
|
9
|
+
const LOGIN_PREFIX = "__mcp_login__:";
|
|
8
10
|
const ALL_VALUE = "__mcp_all__";
|
|
9
11
|
const OFF_VALUE = "__mcp_off__";
|
|
12
|
+
const NOTION_SERVER = "notion";
|
|
13
|
+
const NOTION_FRAGMENT = JSON.stringify({
|
|
14
|
+
[NOTION_SERVER]: {
|
|
15
|
+
url: "https://mcp.notion.com/mcp",
|
|
16
|
+
auth: { kind: "oauth" },
|
|
17
|
+
},
|
|
18
|
+
});
|
|
10
19
|
function selectionText(services) {
|
|
11
20
|
return mcpSelectionLabel(services.mcp.getState().selection);
|
|
12
21
|
}
|
|
@@ -23,6 +32,17 @@ function resolveServer(statuses, query) {
|
|
|
23
32
|
const partial = statuses.filter((status) => status.name.toLowerCase().includes(needle));
|
|
24
33
|
return partial.length === 1 ? partial[0] : undefined;
|
|
25
34
|
}
|
|
35
|
+
function resolveConfiguredServer(services, query) {
|
|
36
|
+
const snapshot = services.mcp.getState().snapshot;
|
|
37
|
+
const direct = resolveServer(snapshot.statuses, query);
|
|
38
|
+
if (direct)
|
|
39
|
+
return direct;
|
|
40
|
+
const needle = query.trim().toLowerCase();
|
|
41
|
+
const alias = snapshot.shadowed.find((entry) => entry.name.toLowerCase() === needle);
|
|
42
|
+
if (!alias)
|
|
43
|
+
return undefined;
|
|
44
|
+
return snapshot.statuses.find((status) => status.name === alias.shadowedByName);
|
|
45
|
+
}
|
|
26
46
|
function selectServer(services, status) {
|
|
27
47
|
if (status.status !== "ready") {
|
|
28
48
|
services.session.notice("warn", `MCP server ${status.name} is ${status.status}${status.detail ? ` · ${status.detail}` : ""} · use /mcp reconnect ${status.name}`);
|
|
@@ -92,8 +112,44 @@ async function addServer(services, supplied = "") {
|
|
|
92
112
|
if (status?.status === "ready")
|
|
93
113
|
selectServer(services, status);
|
|
94
114
|
services.session.notice(status?.status === "ready" ? "info" : "warn", `${written.replaced ? "updated" : "added"} MCP server ${written.serverName} in ${written.displayPath}${status?.status === "ready" ? ` · use ${formatMcpToken(written.serverName)} in your prompt · ${status.toolCount} tool${status.toolCount === 1 ? "" : "s"}` : ` · ${status?.status ?? "not discovered"}${status?.detail ? ` · ${status.detail}` : ""}`}`);
|
|
95
|
-
return;
|
|
115
|
+
return written.serverName;
|
|
96
116
|
}
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
async function loginServer(services, query) {
|
|
120
|
+
const status = resolveConfiguredServer(services, query);
|
|
121
|
+
if (!status) {
|
|
122
|
+
services.session.notice("warn", query
|
|
123
|
+
? `no unique MCP server matching "${query}"`
|
|
124
|
+
: "usage: /mcp login <server>");
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
if (!services.mcp.canLogin(status.name)) {
|
|
128
|
+
services.session.notice("warn", `MCP server ${status.name} is not configured for OAuth login`);
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
services.session.notice("info", `opening OAuth sign-in for MCP server ${status.name}…`);
|
|
132
|
+
const result = await services.mcp.agentLogin(status.name);
|
|
133
|
+
services.session.notice(result.ok ? "info" : "warn", result.output);
|
|
134
|
+
if (!result.ok)
|
|
135
|
+
return false;
|
|
136
|
+
const next = services.mcp
|
|
137
|
+
.getState()
|
|
138
|
+
.snapshot.statuses.find((candidate) => candidate.name === status.name);
|
|
139
|
+
if (next?.status === "ready")
|
|
140
|
+
selectServer(services, next);
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
async function addNotion(services) {
|
|
144
|
+
const serverName = await addServer(services, NOTION_FRAGMENT);
|
|
145
|
+
if (!serverName)
|
|
146
|
+
return;
|
|
147
|
+
const status = services.mcp
|
|
148
|
+
.getState()
|
|
149
|
+
.snapshot.statuses.find((candidate) => candidate.name === serverName);
|
|
150
|
+
if (status?.status === "ready")
|
|
151
|
+
return;
|
|
152
|
+
await loginServer(services, serverName);
|
|
97
153
|
}
|
|
98
154
|
function pickerTitle(services) {
|
|
99
155
|
const state = services.mcp.getState();
|
|
@@ -107,6 +163,38 @@ function pickerTitle(services) {
|
|
|
107
163
|
: "";
|
|
108
164
|
return `MCP · ${target} · ${ready}/${statuses.length} live · ${state.activeToolCount} active tools${progress}`;
|
|
109
165
|
}
|
|
166
|
+
function canSignIn(services, status) {
|
|
167
|
+
if (!services.mcp.canLogin(status.name))
|
|
168
|
+
return false;
|
|
169
|
+
return status.status === "error" || status.status === "degraded";
|
|
170
|
+
}
|
|
171
|
+
function serverPickerOptions(services) {
|
|
172
|
+
const state = services.mcp.getState();
|
|
173
|
+
return state.snapshot.statuses.map((status) => {
|
|
174
|
+
const signIn = canSignIn(services, status);
|
|
175
|
+
return {
|
|
176
|
+
value: signIn ? `${LOGIN_PREFIX}${status.name}` : status.name,
|
|
177
|
+
label: `${signIn ? "sign in" : status.status === "ready" ? "live" : status.status} · ${status.name}`,
|
|
178
|
+
description: signIn
|
|
179
|
+
? `OAuth sign-in · ${statusDescription(status)}`
|
|
180
|
+
: statusDescription(status),
|
|
181
|
+
active: state.selection.mode === "servers" &&
|
|
182
|
+
state.selection.serverNames.includes(status.name),
|
|
183
|
+
};
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
function notionPickerOptions(statuses) {
|
|
187
|
+
if (statuses.some((status) => status.name.toLowerCase().includes("notion"))) {
|
|
188
|
+
return [];
|
|
189
|
+
}
|
|
190
|
+
return [
|
|
191
|
+
{
|
|
192
|
+
value: NOTION_VALUE,
|
|
193
|
+
label: "+ connect Notion",
|
|
194
|
+
description: "official hosted MCP · OAuth browser sign-in",
|
|
195
|
+
},
|
|
196
|
+
];
|
|
197
|
+
}
|
|
110
198
|
function pickerOptions(services) {
|
|
111
199
|
const state = services.mcp.getState();
|
|
112
200
|
const target = displayMcpConfigPath(projectMcpConfigPath());
|
|
@@ -116,6 +204,7 @@ function pickerOptions(services) {
|
|
|
116
204
|
label: "+ add MCP server",
|
|
117
205
|
description: `paste one JSON server object · merge into ${target}`,
|
|
118
206
|
},
|
|
207
|
+
...notionPickerOptions(state.snapshot.statuses),
|
|
119
208
|
{
|
|
120
209
|
value: OFF_VALUE,
|
|
121
210
|
label: "MCP tools off",
|
|
@@ -128,13 +217,7 @@ function pickerOptions(services) {
|
|
|
128
217
|
description: "expose every ready MCP tool for this session",
|
|
129
218
|
active: state.selection.mode === "all",
|
|
130
219
|
},
|
|
131
|
-
...
|
|
132
|
-
value: status.name,
|
|
133
|
-
label: `${status.status === "ready" ? "live" : status.status} · ${status.name}`,
|
|
134
|
-
description: statusDescription(status),
|
|
135
|
-
active: state.selection.mode === "servers" &&
|
|
136
|
-
state.selection.serverNames.includes(status.name),
|
|
137
|
-
})),
|
|
220
|
+
...serverPickerOptions(services),
|
|
138
221
|
];
|
|
139
222
|
}
|
|
140
223
|
/**
|
|
@@ -155,6 +238,14 @@ function openPicker(services) {
|
|
|
155
238
|
void addServer(services);
|
|
156
239
|
return;
|
|
157
240
|
}
|
|
241
|
+
if (value === NOTION_VALUE) {
|
|
242
|
+
void addNotion(services);
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
if (value.startsWith(LOGIN_PREFIX)) {
|
|
246
|
+
void loginServer(services, value.slice(LOGIN_PREFIX.length));
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
158
249
|
if (value === ALL_VALUE) {
|
|
159
250
|
services.mcp.selectAll();
|
|
160
251
|
services.session.notice("info", "MCP selection · all live servers · session only");
|
|
@@ -208,8 +299,7 @@ function toolText(services, serverName) {
|
|
|
208
299
|
return tools.map(formatToolLine).join("\n");
|
|
209
300
|
}
|
|
210
301
|
async function reconnect(services, query) {
|
|
211
|
-
const
|
|
212
|
-
const status = resolveServer(statuses, query);
|
|
302
|
+
const status = resolveConfiguredServer(services, query);
|
|
213
303
|
if (!status) {
|
|
214
304
|
services.session.notice("warn", query
|
|
215
305
|
? `no unique MCP server matching "${query}"`
|
|
@@ -226,6 +316,85 @@ async function reconnect(services, query) {
|
|
|
226
316
|
services.session.notice("warn", `MCP server ${status.name} ${next?.status ?? "unavailable"}${next?.detail ? ` · ${next.detail}` : ""}`);
|
|
227
317
|
}
|
|
228
318
|
}
|
|
319
|
+
async function loginCommand(services, tail) {
|
|
320
|
+
await loginServer(services, tail);
|
|
321
|
+
}
|
|
322
|
+
async function addCommand(services, tail) {
|
|
323
|
+
if (tail.toLowerCase() === NOTION_SERVER) {
|
|
324
|
+
await addNotion(services);
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
await addServer(services, tail);
|
|
328
|
+
}
|
|
329
|
+
function locationsCommand(services) {
|
|
330
|
+
services.overlay.openPager("MCP configuration locations", locationLines(services).join("\n"), undefined, undefined, "plain");
|
|
331
|
+
}
|
|
332
|
+
function allCommand(services) {
|
|
333
|
+
services.mcp.selectAll();
|
|
334
|
+
services.session.notice("info", "MCP selection · all live servers · session only");
|
|
335
|
+
}
|
|
336
|
+
function offCommand(services) {
|
|
337
|
+
services.mcp.selectOff();
|
|
338
|
+
services.session.notice("info", "MCP tools off for this session");
|
|
339
|
+
}
|
|
340
|
+
function listCommand(services) {
|
|
341
|
+
services.overlay.openPager("MCP catalog", catalogText(services), undefined, undefined, "plain");
|
|
342
|
+
}
|
|
343
|
+
function statusCommand(services) {
|
|
344
|
+
const state = services.mcp.getState();
|
|
345
|
+
services.overlay.openPager("MCP status", [
|
|
346
|
+
...locationLines(services),
|
|
347
|
+
"",
|
|
348
|
+
`Selection: ${selectionText(services)} · ${state.activeToolCount} active tools`,
|
|
349
|
+
"",
|
|
350
|
+
formatStatuses(state.snapshot.statuses),
|
|
351
|
+
...(state.snapshot.invalid.length > 0
|
|
352
|
+
? [
|
|
353
|
+
"",
|
|
354
|
+
"Invalid configurations:",
|
|
355
|
+
...state.snapshot.invalid.map((entry) => ` ${entry.name} · ${entry.source.path} · ${entry.errors.join("; ")}`),
|
|
356
|
+
]
|
|
357
|
+
: []),
|
|
358
|
+
].join("\n"), undefined, undefined, "plain");
|
|
359
|
+
}
|
|
360
|
+
function toolsCommand(services, tail) {
|
|
361
|
+
const server = tail
|
|
362
|
+
? resolveServer(services.mcp.getState().snapshot.statuses, tail)
|
|
363
|
+
: undefined;
|
|
364
|
+
if (tail && !server) {
|
|
365
|
+
services.session.notice("warn", `no unique MCP server matching "${tail}"`);
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
services.overlay.openPager(server ? `MCP tools · ${server.name}` : "MCP tools", toolText(services, server?.name), undefined, undefined, "plain");
|
|
369
|
+
}
|
|
370
|
+
async function refreshCommand(services) {
|
|
371
|
+
services.session.notice("info", "refreshing MCP configurations and live tools…");
|
|
372
|
+
const state = await services.mcp.refresh({ force: true });
|
|
373
|
+
const ready = state.snapshot.statuses.filter((status) => status.status === "ready").length;
|
|
374
|
+
services.session.notice(state.error ? "warn" : "info", `MCP refresh · ${ready}/${state.snapshot.statuses.length} live · ${state.activeToolCount} active tools${state.error ? ` · ${state.error}` : ""}`);
|
|
375
|
+
}
|
|
376
|
+
const MCP_SUBCOMMANDS = new Map([
|
|
377
|
+
["login", loginCommand],
|
|
378
|
+
["auth", loginCommand],
|
|
379
|
+
["signin", loginCommand],
|
|
380
|
+
["add", addCommand],
|
|
381
|
+
["new", addCommand],
|
|
382
|
+
["locations", locationsCommand],
|
|
383
|
+
["location", locationsCommand],
|
|
384
|
+
["paths", locationsCommand],
|
|
385
|
+
["all", allCommand],
|
|
386
|
+
["auto", allCommand],
|
|
387
|
+
["on", allCommand],
|
|
388
|
+
["off", offCommand],
|
|
389
|
+
["none", offCommand],
|
|
390
|
+
["list", listCommand],
|
|
391
|
+
["catalog", listCommand],
|
|
392
|
+
["status", statusCommand],
|
|
393
|
+
["tools", toolsCommand],
|
|
394
|
+
["refresh", refreshCommand],
|
|
395
|
+
["reload", refreshCommand],
|
|
396
|
+
["reconnect", reconnect],
|
|
397
|
+
]);
|
|
229
398
|
export async function handleMcp(services, invocation) {
|
|
230
399
|
const args = invocation.args.trim();
|
|
231
400
|
const [rawCommand = "", ...rest] = args.split(/\s+/);
|
|
@@ -238,66 +407,9 @@ export async function handleMcp(services, invocation) {
|
|
|
238
407
|
return;
|
|
239
408
|
}
|
|
240
409
|
await services.mcp.ensureReady();
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
245
|
-
if (command === "locations" || command === "location" || command === "paths") {
|
|
246
|
-
services.overlay.openPager("MCP configuration locations", locationLines(services).join("\n"), undefined, undefined, "plain");
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
if (command === "all" || command === "auto" || command === "on") {
|
|
250
|
-
services.mcp.selectAll();
|
|
251
|
-
services.session.notice("info", "MCP selection · all live servers · session only");
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
if (command === "off" || command === "none") {
|
|
255
|
-
services.mcp.selectOff();
|
|
256
|
-
services.session.notice("info", "MCP tools off for this session");
|
|
257
|
-
return;
|
|
258
|
-
}
|
|
259
|
-
if (command === "list" || command === "catalog") {
|
|
260
|
-
services.overlay.openPager("MCP catalog", catalogText(services), undefined, undefined, "plain");
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
|
-
if (command === "status") {
|
|
264
|
-
const state = services.mcp.getState();
|
|
265
|
-
services.overlay.openPager("MCP status", [
|
|
266
|
-
...locationLines(services),
|
|
267
|
-
"",
|
|
268
|
-
`Selection: ${selectionText(services)} · ${state.activeToolCount} active tools`,
|
|
269
|
-
"",
|
|
270
|
-
formatStatuses(state.snapshot.statuses),
|
|
271
|
-
...(state.snapshot.invalid.length > 0
|
|
272
|
-
? [
|
|
273
|
-
"",
|
|
274
|
-
"Invalid configurations:",
|
|
275
|
-
...state.snapshot.invalid.map((entry) => ` ${entry.name} · ${entry.source.path} · ${entry.errors.join("; ")}`),
|
|
276
|
-
]
|
|
277
|
-
: []),
|
|
278
|
-
].join("\n"), undefined, undefined, "plain");
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
if (command === "tools") {
|
|
282
|
-
const server = tail
|
|
283
|
-
? resolveServer(services.mcp.getState().snapshot.statuses, tail)
|
|
284
|
-
: undefined;
|
|
285
|
-
if (tail && !server) {
|
|
286
|
-
services.session.notice("warn", `no unique MCP server matching "${tail}"`);
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
services.overlay.openPager(server ? `MCP tools · ${server.name}` : "MCP tools", toolText(services, server?.name), undefined, undefined, "plain");
|
|
290
|
-
return;
|
|
291
|
-
}
|
|
292
|
-
if (command === "refresh" || command === "reload") {
|
|
293
|
-
services.session.notice("info", "refreshing MCP configurations and live tools…");
|
|
294
|
-
const state = await services.mcp.refresh({ force: true });
|
|
295
|
-
const ready = state.snapshot.statuses.filter((status) => status.status === "ready").length;
|
|
296
|
-
services.session.notice(state.error ? "warn" : "info", `MCP refresh · ${ready}/${state.snapshot.statuses.length} live · ${state.activeToolCount} active tools${state.error ? ` · ${state.error}` : ""}`);
|
|
297
|
-
return;
|
|
298
|
-
}
|
|
299
|
-
if (command === "reconnect") {
|
|
300
|
-
await reconnect(services, tail);
|
|
410
|
+
const handler = MCP_SUBCOMMANDS.get(command);
|
|
411
|
+
if (handler) {
|
|
412
|
+
await handler(services, tail);
|
|
301
413
|
return;
|
|
302
414
|
}
|
|
303
415
|
const status = resolveServer(services.mcp.getState().snapshot.statuses, args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-commands.js","sourceRoot":"","sources":["../../../src/ui-core/commands/mcp-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-commands.js","sourceRoot":"","sources":["../../../src/ui-core/commands/mcp-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@ import { providerIds } from "../../types.js";
|
|
|
13
13
|
import { getKnownModels } from "../../app/commands/catalog.js";
|
|
14
14
|
import { clearActiveProjectRoot } from "../../agent/project-root.js";
|
|
15
15
|
import { appendProviderEndpoint, getActiveProviderEndpoint, addCustomProvider, getCustomProviders, removeCustomProvider, getConfig, getExaSearchType, getProviderModel, setActiveSearchProvider, setDefaultProvider, setExaSearchType, setProviderModel, setThinking, updateConfig, } from "../../store/config.js";
|
|
16
|
+
import { saveSessionModel } from "../../store/session-model.js";
|
|
16
17
|
import { envValue, getProviderSecret, getSearchProviderKey, setProviderSecret, setSecret, unsetProviderSecret, } from "../../store/keys.js";
|
|
17
18
|
import { invalidateCustomProviderCache, materializeCustomProvider, normalizeCustomBaseUrl, normalizeCustomProviderId, } from "../../llm/custom-providers.js";
|
|
18
|
-
import {
|
|
19
|
+
import { getSession, listSessionSummaries, purgeSession, } from "../../store/history.js";
|
|
19
20
|
import { relativeTime, shortCwd } from "../rendering/text-format.js";
|
|
20
21
|
import { conversationItemCount } from "../state/transcript-types.js";
|
|
21
22
|
import { applySessionResume, resumeNotices, } from "../bootstrap/session-resume.js";
|
|
@@ -67,7 +68,7 @@ export async function handleModel(services, invocation) {
|
|
|
67
68
|
applyModel(services, provider, arg, getKnownModels(provider));
|
|
68
69
|
return;
|
|
69
70
|
}
|
|
70
|
-
const currentModel = getProviderModel(provider);
|
|
71
|
+
const currentModel = state.model ?? getProviderModel(provider);
|
|
71
72
|
const fetchingToastId = services.toast.info(`fetching ${provider} models…`, {
|
|
72
73
|
key: "model-fetch",
|
|
73
74
|
sticky: true,
|
|
@@ -157,16 +158,18 @@ async function collectAllModels() {
|
|
|
157
158
|
entries.sort((a, b) => a.provider.localeCompare(b.provider) || a.model.localeCompare(b.model));
|
|
158
159
|
return { entries, providers: providers.length, liveProviders, failed };
|
|
159
160
|
}
|
|
161
|
+
function persistSessionModel(services, provider, model) {
|
|
162
|
+
return saveSessionModel(services.session.sessionId, { provider, model });
|
|
163
|
+
}
|
|
160
164
|
async function switchToCatalogEntry(services, entry) {
|
|
161
165
|
const state = services.session.getState();
|
|
162
166
|
const current = state.provider ?? getConfig().defaultProvider;
|
|
163
167
|
if (entry.provider !== current) {
|
|
164
|
-
setDefaultProvider(entry.provider);
|
|
165
168
|
services.session.setProvider(entry.provider);
|
|
166
169
|
clearActiveProjectRoot();
|
|
167
170
|
}
|
|
168
171
|
services.session.setModel(entry.model);
|
|
169
|
-
|
|
172
|
+
await persistSessionModel(services, entry.provider, entry.model);
|
|
170
173
|
services.session.notice("info", `provider → ${entry.provider} · model → ${entry.model}`);
|
|
171
174
|
}
|
|
172
175
|
export async function handleModels(services, invocation) {
|
|
@@ -236,7 +239,7 @@ function applyModel(services, provider, model, options = getKnownModels(provider
|
|
|
236
239
|
? options[index - 1]
|
|
237
240
|
: model;
|
|
238
241
|
services.session.setModel(next);
|
|
239
|
-
|
|
242
|
+
void persistSessionModel(services, provider, next).catch(() => undefined);
|
|
240
243
|
services.session.notice("info", `model → ${next}`);
|
|
241
244
|
}
|
|
242
245
|
/** Sentinel value returned by the /provider picker for "add a custom provider". */
|
|
@@ -336,11 +339,10 @@ async function activateProvider(services, next) {
|
|
|
336
339
|
const isFreeModel = model.startsWith("free-1/") || model.startsWith("free-2/");
|
|
337
340
|
if (isFreeModel && next !== "free") {
|
|
338
341
|
model = defaultModels[next];
|
|
339
|
-
setProviderModel(next, model);
|
|
340
342
|
}
|
|
341
|
-
setDefaultProvider(next);
|
|
342
343
|
services.session.setProvider(next);
|
|
343
344
|
services.session.setModel(model);
|
|
345
|
+
await persistSessionModel(services, next, model);
|
|
344
346
|
services.overlay.close();
|
|
345
347
|
services.session.notice("info", `provider → ${next} · model → ${model}`);
|
|
346
348
|
const fetchingToastId = services.toast.info(`fetching ${next} models…`, {
|
|
@@ -826,7 +828,7 @@ export async function handleHistory(services, invocation) {
|
|
|
826
828
|
services.session.notice("warn", "detach or exit the live session before deleting it");
|
|
827
829
|
return;
|
|
828
830
|
}
|
|
829
|
-
const result = await
|
|
831
|
+
const result = await purgeSession(finalId);
|
|
830
832
|
services.session.notice(result.deleted ? "info" : "warn", result.deleted ? `deleted ${finalId}` : result.detail);
|
|
831
833
|
return;
|
|
832
834
|
}
|