erosolar-cli 1.7.370 → 1.7.372
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/contracts/agent-schemas.json +16 -1
- package/dist/core/preferences.d.ts +36 -0
- package/dist/core/preferences.d.ts.map +1 -1
- package/dist/core/preferences.js +82 -0
- package/dist/core/preferences.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +3 -0
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +185 -4
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +3 -2
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +69 -29
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/ui/ShellUIAdapter.d.ts +11 -3
- package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
- package/dist/ui/ShellUIAdapter.js +211 -46
- package/dist/ui/ShellUIAdapter.js.map +1 -1
- package/dist/ui/display.d.ts +3 -1
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +20 -10
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/shortcutsHelp.d.ts +15 -0
- package/dist/ui/shortcutsHelp.d.ts.map +1 -1
- package/dist/ui/shortcutsHelp.js +77 -14
- package/dist/ui/shortcutsHelp.js.map +1 -1
- package/dist/ui/unified/layout.d.ts +9 -0
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +80 -2
- package/dist/ui/unified/layout.js.map +1 -1
- package/package.json +1 -1
|
@@ -303,6 +303,16 @@
|
|
|
303
303
|
],
|
|
304
304
|
|
|
305
305
|
"slashCommands": [
|
|
306
|
+
{
|
|
307
|
+
"command": "/help",
|
|
308
|
+
"description": "Show all available commands and keyboard shortcuts",
|
|
309
|
+
"category": "other"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"command": "/features",
|
|
313
|
+
"description": "Toggle optional features (AlphaZero dual, metrics, MCP, etc.)",
|
|
314
|
+
"category": "configuration"
|
|
315
|
+
},
|
|
306
316
|
{
|
|
307
317
|
"command": "/model",
|
|
308
318
|
"description": "Choose what model to use",
|
|
@@ -320,7 +330,12 @@
|
|
|
320
330
|
},
|
|
321
331
|
{
|
|
322
332
|
"command": "/tools",
|
|
323
|
-
"description": "Enable or disable CLI tools",
|
|
333
|
+
"description": "Enable or disable CLI tools and MCP servers",
|
|
334
|
+
"category": "configuration"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"command": "/mcp",
|
|
338
|
+
"description": "Manage MCP (Model Context Protocol) server connections",
|
|
324
339
|
"category": "configuration"
|
|
325
340
|
},
|
|
326
341
|
{
|
|
@@ -7,6 +7,19 @@ export interface PersistedModelPreference {
|
|
|
7
7
|
maxTokens?: number;
|
|
8
8
|
reasoningEffort?: ReasoningEffortLevel;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Feature flags for optional experimental features
|
|
12
|
+
*/
|
|
13
|
+
export interface FeatureFlags {
|
|
14
|
+
alphaZeroDual?: boolean;
|
|
15
|
+
verification?: boolean;
|
|
16
|
+
autoCompact?: boolean;
|
|
17
|
+
mcpEnabled?: boolean;
|
|
18
|
+
metrics?: boolean;
|
|
19
|
+
codingTools?: boolean;
|
|
20
|
+
securityTools?: boolean;
|
|
21
|
+
allPlugins?: boolean;
|
|
22
|
+
}
|
|
10
23
|
export interface ToolSettings {
|
|
11
24
|
enabledTools: string[];
|
|
12
25
|
}
|
|
@@ -28,4 +41,27 @@ export declare function saveToolSettings(settings: ToolSettings): void;
|
|
|
28
41
|
export declare function clearToolSettings(): void;
|
|
29
42
|
export declare function loadSessionPreferences(): SessionPreferences;
|
|
30
43
|
export declare function saveSessionPreferences(preferences: Partial<SessionPreferences>): void;
|
|
44
|
+
/**
|
|
45
|
+
* Default feature flags (all features enabled by default)
|
|
46
|
+
*/
|
|
47
|
+
export declare const DEFAULT_FEATURE_FLAGS: FeatureFlags;
|
|
48
|
+
/**
|
|
49
|
+
* Load feature flags from settings
|
|
50
|
+
*/
|
|
51
|
+
export declare function loadFeatureFlags(): FeatureFlags;
|
|
52
|
+
/**
|
|
53
|
+
* Save feature flags to settings
|
|
54
|
+
*/
|
|
55
|
+
export declare function saveFeatureFlags(flags: FeatureFlags): void;
|
|
56
|
+
/**
|
|
57
|
+
* Toggle a single feature flag
|
|
58
|
+
*/
|
|
59
|
+
export declare function toggleFeatureFlag(key: keyof FeatureFlags, value?: boolean): FeatureFlags;
|
|
60
|
+
/**
|
|
61
|
+
* Feature flag descriptions for help/display
|
|
62
|
+
*/
|
|
63
|
+
export declare const FEATURE_FLAG_INFO: Record<keyof FeatureFlags, {
|
|
64
|
+
label: string;
|
|
65
|
+
description: string;
|
|
66
|
+
}>;
|
|
31
67
|
//# sourceMappingURL=preferences.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../src/core/preferences.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../src/core/preferences.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAuBD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,wBAAgB,2BAA2B,IAAI,WAAW,GAAG,IAAI,CAMhE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAUtE;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CASnD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,wBAAwB,GAAG,IAAI,CAazF;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,wBAAwB,GACnC,IAAI,CAMN;AAED,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAOtD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAQ7D;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAWxC;AAED,wBAAgB,sBAAsB,IAAI,kBAAkB,CAa3D;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAwBrF;AAyHD;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YASnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAQ/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAMxF;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAiChG,CAAC"}
|
package/dist/core/preferences.js
CHANGED
|
@@ -229,4 +229,86 @@ function normalizeProfileNameValue(value) {
|
|
|
229
229
|
}
|
|
230
230
|
return trimmed;
|
|
231
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Default feature flags (all features enabled by default)
|
|
234
|
+
*/
|
|
235
|
+
export const DEFAULT_FEATURE_FLAGS = {
|
|
236
|
+
alphaZeroDual: true,
|
|
237
|
+
verification: true,
|
|
238
|
+
autoCompact: true,
|
|
239
|
+
mcpEnabled: true,
|
|
240
|
+
metrics: true,
|
|
241
|
+
codingTools: true,
|
|
242
|
+
securityTools: true,
|
|
243
|
+
allPlugins: true,
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* Load feature flags from settings
|
|
247
|
+
*/
|
|
248
|
+
export function loadFeatureFlags() {
|
|
249
|
+
const payload = readSettingsFile();
|
|
250
|
+
const stored = payload?.features?.flags;
|
|
251
|
+
// Merge with defaults - stored values override defaults
|
|
252
|
+
return {
|
|
253
|
+
...DEFAULT_FEATURE_FLAGS,
|
|
254
|
+
...(stored ?? {}),
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Save feature flags to settings
|
|
259
|
+
*/
|
|
260
|
+
export function saveFeatureFlags(flags) {
|
|
261
|
+
const payload = readSettingsFile() ?? { version: CURRENT_VERSION, profiles: {} };
|
|
262
|
+
payload.version = CURRENT_VERSION;
|
|
263
|
+
payload.profiles = payload.profiles ?? {};
|
|
264
|
+
payload.features = { flags: { ...flags } };
|
|
265
|
+
writeSettingsFile(payload);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Toggle a single feature flag
|
|
269
|
+
*/
|
|
270
|
+
export function toggleFeatureFlag(key, value) {
|
|
271
|
+
const current = loadFeatureFlags();
|
|
272
|
+
const newValue = value !== undefined ? value : !current[key];
|
|
273
|
+
const updated = { ...current, [key]: newValue };
|
|
274
|
+
saveFeatureFlags(updated);
|
|
275
|
+
return updated;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Feature flag descriptions for help/display
|
|
279
|
+
*/
|
|
280
|
+
export const FEATURE_FLAG_INFO = {
|
|
281
|
+
alphaZeroDual: {
|
|
282
|
+
label: 'AlphaZero Dual',
|
|
283
|
+
description: 'Dual-agent competition mode where agents compete for best response',
|
|
284
|
+
},
|
|
285
|
+
verification: {
|
|
286
|
+
label: 'Verification',
|
|
287
|
+
description: 'Automatic response verification and validation',
|
|
288
|
+
},
|
|
289
|
+
autoCompact: {
|
|
290
|
+
label: 'Auto Compact',
|
|
291
|
+
description: 'Automatically compact context when approaching limit',
|
|
292
|
+
},
|
|
293
|
+
mcpEnabled: {
|
|
294
|
+
label: 'MCP',
|
|
295
|
+
description: 'Model Context Protocol server support',
|
|
296
|
+
},
|
|
297
|
+
metrics: {
|
|
298
|
+
label: 'Metrics',
|
|
299
|
+
description: 'Performance tracking and analytics',
|
|
300
|
+
},
|
|
301
|
+
codingTools: {
|
|
302
|
+
label: 'Coding Tools',
|
|
303
|
+
description: 'Enhanced code analysis and refactoring',
|
|
304
|
+
},
|
|
305
|
+
securityTools: {
|
|
306
|
+
label: 'Security Tools',
|
|
307
|
+
description: 'Security research and analysis tools',
|
|
308
|
+
},
|
|
309
|
+
allPlugins: {
|
|
310
|
+
label: 'All Plugins',
|
|
311
|
+
description: 'Enable all optional feature plugins',
|
|
312
|
+
},
|
|
313
|
+
};
|
|
232
314
|
//# sourceMappingURL=preferences.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../src/core/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAChD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACxD,MAAM,eAAe,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../src/core/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAChD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACxD,MAAM,eAAe,GAAG,CAAC,CAAC;AA+D1B,MAAM,UAAU,2BAA2B;IACzC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,yBAAyB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAoB;IAC9D,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;IACnC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,OAAO,OAAO,CAAC,aAAa,CAAC;IAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAoB,EACpB,UAAoC;IAEpC,MAAM,OAAO,GAAG,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9C,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAsB;IACrD,MAAM,OAAO,GAAG,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,OAAO,CAAC,KAAK,GAAG;QACd,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC;KACtD,CAAC;IACF,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IACjC,OAAO;QACL,QAAQ,EAAE,OAAO,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC1E,UAAU,EAAE,OAAO,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;QAChF,YAAY,EAAE,OAAO,OAAO,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK;QACvF,aAAa,EACX,OAAO,OAAO,EAAE,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE;YACxE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE;YAC9B,CAAC,CAAC,IAAI;QACV,YAAY,EAAE,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAwC;IAC7E,MAAM,OAAO,GAAG,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAEtC,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,WAAW,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,WAAW,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;IAClD,CAAC;IACD,IAAI,eAAe,IAAI,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,SAAS,CAAC;IACjE,CAAC;IACD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,OAAO,GAAiB;YAC5B,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YAC9E,QAAQ;SACT,CAAC;QACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,CAAC;QACD,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE;YACrE,CAAC,CAAE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAkB;YAC9C,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;QACrC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB;IAC9C,IAAI,CAAC;QACH,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;IACT,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,KAA4B,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,KAAiC,CAAC;IACjD,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5E,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO,CAAC,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAsB,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;IACxC,wDAAwD;IACxD,OAAO;QACL,GAAG,qBAAqB;QACxB,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,MAAM,OAAO,GAAG,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,OAAO,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;IAC3C,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAuB,EAAE,KAAe;IACxE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;IAChD,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAuE;IACnG,aAAa,EAAE;QACb,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,oEAAoE;KAClF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,gDAAgD;KAC9D;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,sDAAsD;KACpE;IACD,UAAU,EAAE;QACV,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,uCAAuC;KACrD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,oCAAoC;KAClD;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,wCAAwC;KACtD;IACD,aAAa,EAAE;QACb,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,sCAAsC;KACpD;IACD,UAAU,EAAE;QACV,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qCAAqC;KACnD;CACF,CAAC"}
|
|
@@ -89,6 +89,7 @@ export declare class InteractiveShell {
|
|
|
89
89
|
private streamingHeartbeatStart;
|
|
90
90
|
private streamingHeartbeatFrame;
|
|
91
91
|
private streamingStatusLabel;
|
|
92
|
+
private lastStreamingElapsedSeconds;
|
|
92
93
|
private statusLineState;
|
|
93
94
|
private statusMessageOverride;
|
|
94
95
|
private promptRefreshTimer;
|
|
@@ -235,6 +236,7 @@ export declare class InteractiveShell {
|
|
|
235
236
|
private showFileChangeSummary;
|
|
236
237
|
private showAlphaZeroMetrics;
|
|
237
238
|
private showImprovementSuggestions;
|
|
239
|
+
private showFeaturesMenu;
|
|
238
240
|
private showPluginStatus;
|
|
239
241
|
private showSessionList;
|
|
240
242
|
private saveSessionCommand;
|
|
@@ -266,6 +268,7 @@ export declare class InteractiveShell {
|
|
|
266
268
|
private showToolsMenu;
|
|
267
269
|
private renderToolMenu;
|
|
268
270
|
private formatToolOptionLine;
|
|
271
|
+
private showMcpStatus;
|
|
269
272
|
private showAgentsMenu;
|
|
270
273
|
private formatAgentOptionLine;
|
|
271
274
|
private handleModelProviderSelection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { display } from '../ui/display.js';
|
|
|
5
5
|
import { theme } from '../ui/theme.js';
|
|
6
6
|
import { getContextWindowTokens } from '../core/contextWindow.js';
|
|
7
7
|
import { ensureSecretForProvider, getSecretDefinitionForProvider, getSecretValue, listSecretDefinitions, maskSecret, setSecretValue, } from '../core/secretStore.js';
|
|
8
|
-
import { saveActiveProfilePreference, saveModelPreference, loadToolSettings, saveToolSettings, clearToolSettings, clearActiveProfilePreference, loadSessionPreferences, saveSessionPreferences, } from '../core/preferences.js';
|
|
8
|
+
import { saveActiveProfilePreference, saveModelPreference, loadToolSettings, saveToolSettings, clearToolSettings, clearActiveProfilePreference, loadSessionPreferences, saveSessionPreferences, loadFeatureFlags, saveFeatureFlags, toggleFeatureFlag, FEATURE_FLAG_INFO, } from '../core/preferences.js';
|
|
9
9
|
import { buildEnabledToolSet, evaluateToolPermissions, getToolToggleOptions, } from '../capabilities/toolRegistry.js';
|
|
10
10
|
import { detectApiKeyError } from '../core/errors/apiKeyErrors.js';
|
|
11
11
|
import { buildWorkspaceContext } from '../workspace.js';
|
|
@@ -13,6 +13,7 @@ import { buildInteractiveSystemPrompt } from './systemPrompt.js';
|
|
|
13
13
|
import { getTaskCompletionDetector, resetTaskCompletionDetector, } from './taskCompletionDetector.js';
|
|
14
14
|
import { discoverAllModels, quickCheckProviders, getCachedDiscoveredModels, sortModelsByPriority } from '../core/modelDiscovery.js';
|
|
15
15
|
import { getModels, getSlashCommands, getProviders } from '../core/agentSchemaLoader.js';
|
|
16
|
+
import { loadMcpServers } from '../mcp/config.js';
|
|
16
17
|
import { clearAutosaveSnapshot, deleteSession, listSessions, loadAutosaveSnapshot, loadSessionById, saveAutosaveSnapshot, saveSessionSnapshot, } from '../core/sessionStore.js';
|
|
17
18
|
import { buildCustomCommandPrompt, loadCustomSlashCommands, } from '../core/customCommands.js';
|
|
18
19
|
import { SkillRepository } from '../skills/skillRepository.js';
|
|
@@ -132,6 +133,7 @@ export class InteractiveShell {
|
|
|
132
133
|
streamingHeartbeatStart = null;
|
|
133
134
|
streamingHeartbeatFrame = 0;
|
|
134
135
|
streamingStatusLabel = null;
|
|
136
|
+
lastStreamingElapsedSeconds = null; // Preserve final elapsed time
|
|
135
137
|
statusLineState = null;
|
|
136
138
|
statusMessageOverride = null;
|
|
137
139
|
promptRefreshTimer = null;
|
|
@@ -861,9 +863,20 @@ export class InteractiveShell {
|
|
|
861
863
|
const statusText = this.formatStatusLine(this.statusLineState);
|
|
862
864
|
this.terminalInput.setStatusMessage(statusText);
|
|
863
865
|
// Surface meta header (elapsed + context usage) above the divider
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
866
|
+
// Use streaming elapsed time if available, otherwise fall back to status line state
|
|
867
|
+
let elapsedSeconds = null;
|
|
868
|
+
if (this.streamingHeartbeatStart) {
|
|
869
|
+
// Actively streaming - compute live elapsed
|
|
870
|
+
elapsedSeconds = Math.max(0, Math.floor((Date.now() - this.streamingHeartbeatStart) / 1000));
|
|
871
|
+
}
|
|
872
|
+
else if (this.lastStreamingElapsedSeconds !== null) {
|
|
873
|
+
// Just finished streaming - use preserved final time
|
|
874
|
+
elapsedSeconds = this.lastStreamingElapsedSeconds;
|
|
875
|
+
}
|
|
876
|
+
else if (this.statusLineState) {
|
|
877
|
+
// Fallback to status line state elapsed
|
|
878
|
+
elapsedSeconds = Math.max(0, Math.floor((Date.now() - this.statusLineState.startedAt) / 1000));
|
|
879
|
+
}
|
|
867
880
|
const thinkingMs = display.isSpinnerActive() ? display.getThinkingElapsedMs() : null;
|
|
868
881
|
const tokensUsed = this.latestTokenUsage.used;
|
|
869
882
|
const tokenLimit = this.latestTokenUsage.limit ?? this.activeContextWindowTokens;
|
|
@@ -1002,6 +1015,10 @@ export class InteractiveShell {
|
|
|
1002
1015
|
stopStreamingHeartbeat() {
|
|
1003
1016
|
// Exit global streaming mode - allows UI to render again
|
|
1004
1017
|
exitStreamingMode();
|
|
1018
|
+
// Preserve final elapsed time before clearing heartbeat start
|
|
1019
|
+
if (this.streamingHeartbeatStart) {
|
|
1020
|
+
this.lastStreamingElapsedSeconds = Math.max(0, Math.floor((Date.now() - this.streamingHeartbeatStart) / 1000));
|
|
1021
|
+
}
|
|
1005
1022
|
// Exit scroll region mode
|
|
1006
1023
|
this.terminalInput.exitStreamingScrollRegion();
|
|
1007
1024
|
this.uiUpdates.stopHeartbeat('streaming');
|
|
@@ -1214,6 +1231,13 @@ export class InteractiveShell {
|
|
|
1214
1231
|
return;
|
|
1215
1232
|
}
|
|
1216
1233
|
switch (command) {
|
|
1234
|
+
case '/help':
|
|
1235
|
+
case '/?':
|
|
1236
|
+
this.showHelp();
|
|
1237
|
+
break;
|
|
1238
|
+
case '/features':
|
|
1239
|
+
this.showFeaturesMenu(input);
|
|
1240
|
+
break;
|
|
1217
1241
|
case '/model':
|
|
1218
1242
|
this.showModelMenu();
|
|
1219
1243
|
break;
|
|
@@ -1228,6 +1252,9 @@ export class InteractiveShell {
|
|
|
1228
1252
|
case '/tools':
|
|
1229
1253
|
this.showToolsMenu();
|
|
1230
1254
|
break;
|
|
1255
|
+
case '/mcp':
|
|
1256
|
+
await this.showMcpStatus();
|
|
1257
|
+
break;
|
|
1231
1258
|
case '/doctor':
|
|
1232
1259
|
this.runDoctor();
|
|
1233
1260
|
break;
|
|
@@ -1320,6 +1347,30 @@ export class InteractiveShell {
|
|
|
1320
1347
|
const info = [
|
|
1321
1348
|
this.buildSlashCommandList('Available Commands:'),
|
|
1322
1349
|
'',
|
|
1350
|
+
theme.gradient.primary('Keyboard Shortcuts:'),
|
|
1351
|
+
'',
|
|
1352
|
+
theme.bold(' Mode Toggles'),
|
|
1353
|
+
` ${theme.info('Shift+Tab')} ${theme.ui.muted('Toggle edit mode (auto/ask)')}`,
|
|
1354
|
+
` ${theme.info('Option+V')} ${theme.ui.muted('Toggle verification')}`,
|
|
1355
|
+
` ${theme.info('Option+C')} ${theme.ui.muted('Toggle auto-continue')}`,
|
|
1356
|
+
` ${theme.info('Option+T')} ${theme.ui.muted('Cycle thinking mode')}`,
|
|
1357
|
+
` ${theme.info('Option+E')} ${theme.ui.muted('Toggle edit permission mode')}`,
|
|
1358
|
+
` ${theme.info('Option+X')} ${theme.ui.muted('Clear/compact context')}`,
|
|
1359
|
+
'',
|
|
1360
|
+
theme.bold(' Navigation'),
|
|
1361
|
+
` ${theme.info('PageUp/PageDown')} ${theme.ui.muted('Scroll through output')}`,
|
|
1362
|
+
` ${theme.info('Escape')} ${theme.ui.muted('Stop streaming')}`,
|
|
1363
|
+
` ${theme.info('Ctrl+C')} ${theme.ui.muted('Clear input or interrupt')}`,
|
|
1364
|
+
` ${theme.info('Up/Down')} ${theme.ui.muted('Navigate command history')}`,
|
|
1365
|
+
'',
|
|
1366
|
+
theme.bold(' Editing'),
|
|
1367
|
+
` ${theme.info('Ctrl+A')} ${theme.ui.muted('Move to start of line')}`,
|
|
1368
|
+
` ${theme.info('Ctrl+E')} ${theme.ui.muted('Move to end of line')}`,
|
|
1369
|
+
` ${theme.info('Ctrl+K')} ${theme.ui.muted('Delete to end of line')}`,
|
|
1370
|
+
` ${theme.info('Ctrl+U')} ${theme.ui.muted('Delete to start of line')}`,
|
|
1371
|
+
` ${theme.info('Ctrl+W')} ${theme.ui.muted('Delete previous word')}`,
|
|
1372
|
+
` ${theme.info('Shift+Enter')} ${theme.ui.muted('Insert newline (multi-line input)')}`,
|
|
1373
|
+
'',
|
|
1323
1374
|
'Type your request in natural language and press Enter.',
|
|
1324
1375
|
];
|
|
1325
1376
|
display.showSystemMessage(info.join('\n'));
|
|
@@ -1661,6 +1712,66 @@ export class InteractiveShell {
|
|
|
1661
1712
|
}
|
|
1662
1713
|
display.showSystemMessage(lines.join('\n'));
|
|
1663
1714
|
}
|
|
1715
|
+
showFeaturesMenu(input) {
|
|
1716
|
+
const args = input.split(/\s+/).slice(1);
|
|
1717
|
+
const flags = loadFeatureFlags();
|
|
1718
|
+
// If argument provided, toggle that feature
|
|
1719
|
+
if (args.length > 0) {
|
|
1720
|
+
const featureName = args[0].toLowerCase();
|
|
1721
|
+
const featureKeys = Object.keys(FEATURE_FLAG_INFO);
|
|
1722
|
+
const matchedKey = featureKeys.find((k) => k.toLowerCase() === featureName ||
|
|
1723
|
+
FEATURE_FLAG_INFO[k].label.toLowerCase().replace(/\s+/g, '') === featureName);
|
|
1724
|
+
if (matchedKey) {
|
|
1725
|
+
const newValue = args[1] === 'on' ? true : args[1] === 'off' ? false : undefined;
|
|
1726
|
+
const updated = toggleFeatureFlag(matchedKey, newValue);
|
|
1727
|
+
const status = updated[matchedKey] ? theme.success('enabled') : theme.ui.muted('disabled');
|
|
1728
|
+
display.showInfo(`Feature "${FEATURE_FLAG_INFO[matchedKey].label}" is now ${status}.`);
|
|
1729
|
+
display.showInfo('Changes will take effect on next launch or after /features refresh.');
|
|
1730
|
+
return;
|
|
1731
|
+
}
|
|
1732
|
+
else if (featureName === 'all') {
|
|
1733
|
+
// Enable/disable all features
|
|
1734
|
+
const newValue = args[1] !== 'off';
|
|
1735
|
+
const updated = {};
|
|
1736
|
+
for (const key of featureKeys) {
|
|
1737
|
+
updated[key] = newValue;
|
|
1738
|
+
}
|
|
1739
|
+
saveFeatureFlags(updated);
|
|
1740
|
+
display.showInfo(`All features ${newValue ? theme.success('enabled') : theme.ui.muted('disabled')}.`);
|
|
1741
|
+
return;
|
|
1742
|
+
}
|
|
1743
|
+
else {
|
|
1744
|
+
display.showWarning(`Unknown feature: ${featureName}`);
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1747
|
+
// Show features menu
|
|
1748
|
+
const lines = [];
|
|
1749
|
+
lines.push(theme.gradient.primary('⚡ Feature Toggles'));
|
|
1750
|
+
lines.push('');
|
|
1751
|
+
lines.push(theme.bold('Optional Features:'));
|
|
1752
|
+
lines.push('');
|
|
1753
|
+
const featureKeys = Object.keys(FEATURE_FLAG_INFO);
|
|
1754
|
+
for (let i = 0; i < featureKeys.length; i++) {
|
|
1755
|
+
const key = featureKeys[i];
|
|
1756
|
+
const info = FEATURE_FLAG_INFO[key];
|
|
1757
|
+
const enabled = flags[key] ?? false;
|
|
1758
|
+
const icon = enabled ? theme.success('✓') : theme.ui.muted('○');
|
|
1759
|
+
const status = enabled ? theme.success('ON') : theme.ui.muted('OFF');
|
|
1760
|
+
const label = this.colorizeDropdownLine(`${i + 1}. ${info.label}`, i);
|
|
1761
|
+
lines.push(` ${icon} ${label} [${status}]`);
|
|
1762
|
+
lines.push(` ${theme.ui.muted(info.description)}`);
|
|
1763
|
+
}
|
|
1764
|
+
lines.push('');
|
|
1765
|
+
lines.push(theme.bold('Usage:'));
|
|
1766
|
+
lines.push(` ${theme.primary('/features <name>')} - Toggle a feature`);
|
|
1767
|
+
lines.push(` ${theme.primary('/features <name> on')} - Enable a feature`);
|
|
1768
|
+
lines.push(` ${theme.primary('/features <name> off')} - Disable a feature`);
|
|
1769
|
+
lines.push(` ${theme.primary('/features all on')} - Enable all features`);
|
|
1770
|
+
lines.push(` ${theme.primary('/features all off')} - Disable all features`);
|
|
1771
|
+
lines.push('');
|
|
1772
|
+
lines.push(theme.ui.muted('Feature changes take effect on next launch.'));
|
|
1773
|
+
display.showSystemMessage(lines.join('\n'));
|
|
1774
|
+
}
|
|
1664
1775
|
showPluginStatus() {
|
|
1665
1776
|
const available = listAvailablePlugins();
|
|
1666
1777
|
const lines = [];
|
|
@@ -2234,6 +2345,69 @@ export class InteractiveShell {
|
|
|
2234
2345
|
const detailLine = this.colorizeDropdownLine(` ${details.join(' • ')}`, index);
|
|
2235
2346
|
return `${numberLabel} ${checkbox} ${optionLabel}\n${detailLine}`;
|
|
2236
2347
|
}
|
|
2348
|
+
async showMcpStatus() {
|
|
2349
|
+
const lines = [];
|
|
2350
|
+
lines.push(theme.gradient.primary('MCP (Model Context Protocol) Status'));
|
|
2351
|
+
lines.push('');
|
|
2352
|
+
// Load MCP server configurations
|
|
2353
|
+
const servers = await loadMcpServers({
|
|
2354
|
+
workingDir: this.workingDir,
|
|
2355
|
+
env: process.env,
|
|
2356
|
+
});
|
|
2357
|
+
if (servers.length === 0) {
|
|
2358
|
+
lines.push(theme.ui.muted('No MCP servers configured.'));
|
|
2359
|
+
lines.push('');
|
|
2360
|
+
lines.push(theme.bold('Configuration files:'));
|
|
2361
|
+
lines.push(` ${theme.info('.mcp.json')} - Project-local MCP configuration`);
|
|
2362
|
+
lines.push(` ${theme.info('.erosolar/mcp.json')} - Project-local alternate location`);
|
|
2363
|
+
lines.push(` ${theme.info('~/.mcp.json')} - Global MCP configuration`);
|
|
2364
|
+
lines.push(` ${theme.info('~/.erosolar/mcp.d/*.json')} - Global MCP server files`);
|
|
2365
|
+
lines.push('');
|
|
2366
|
+
lines.push('Example .mcp.json:');
|
|
2367
|
+
lines.push(theme.ui.muted(`{
|
|
2368
|
+
"my-server": {
|
|
2369
|
+
"type": "stdio",
|
|
2370
|
+
"command": "npx",
|
|
2371
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "\${WORKSPACE_ROOT}"]
|
|
2372
|
+
}
|
|
2373
|
+
}`));
|
|
2374
|
+
}
|
|
2375
|
+
else {
|
|
2376
|
+
lines.push(theme.bold(`Configured MCP Servers (${servers.length}):`));
|
|
2377
|
+
lines.push('');
|
|
2378
|
+
for (const server of servers) {
|
|
2379
|
+
const typeIcon = server.type === 'stdio' ? '⚙' : '🌐';
|
|
2380
|
+
const serverLine = ` ${typeIcon} ${theme.primary(server.id)}`;
|
|
2381
|
+
lines.push(serverLine);
|
|
2382
|
+
if (server.type === 'stdio') {
|
|
2383
|
+
lines.push(` ${theme.ui.muted('Command:')} ${server.command} ${server.args?.join(' ') ?? ''}`);
|
|
2384
|
+
}
|
|
2385
|
+
else if (server.type === 'sse') {
|
|
2386
|
+
lines.push(` ${theme.ui.muted('URL:')} ${server.url}`);
|
|
2387
|
+
}
|
|
2388
|
+
if (server.description) {
|
|
2389
|
+
lines.push(` ${theme.ui.muted('Description:')} ${server.description}`);
|
|
2390
|
+
}
|
|
2391
|
+
lines.push(` ${theme.ui.muted('Source:')} ${server.source}`);
|
|
2392
|
+
lines.push('');
|
|
2393
|
+
}
|
|
2394
|
+
// Show MCP tools from runtime
|
|
2395
|
+
const providerTools = this.runtimeSession.toolRuntime.listProviderTools();
|
|
2396
|
+
const mcpTools = providerTools.filter(t => t.name.startsWith('mcp__'));
|
|
2397
|
+
if (mcpTools.length > 0) {
|
|
2398
|
+
lines.push(theme.bold(`Active MCP Tools (${mcpTools.length}):`));
|
|
2399
|
+
for (const tool of mcpTools.slice(0, 20)) {
|
|
2400
|
+
lines.push(` ${theme.info('•')} ${theme.ui.muted(tool.name)}`);
|
|
2401
|
+
}
|
|
2402
|
+
if (mcpTools.length > 20) {
|
|
2403
|
+
lines.push(` ${theme.ui.muted(`... and ${mcpTools.length - 20} more`)}`);
|
|
2404
|
+
}
|
|
2405
|
+
}
|
|
2406
|
+
}
|
|
2407
|
+
lines.push('');
|
|
2408
|
+
lines.push(theme.ui.muted('Use /tools to enable/disable MCP servers.'));
|
|
2409
|
+
display.showSystemMessage(lines.join('\n'));
|
|
2410
|
+
}
|
|
2237
2411
|
showAgentsMenu() {
|
|
2238
2412
|
if (!this.agentMenu) {
|
|
2239
2413
|
display.showWarning('Agent selection is not available in this CLI.');
|
|
@@ -3618,6 +3792,8 @@ What's the next action?`;
|
|
|
3618
3792
|
const width = Math.min(terminalWidth - 4, 110);
|
|
3619
3793
|
// Collect tool categories for display
|
|
3620
3794
|
const toolCategories = this.collectToolCategories();
|
|
3795
|
+
// Load feature flags for banner display
|
|
3796
|
+
const featureFlags = loadFeatureFlags();
|
|
3621
3797
|
return renderSessionFrame({
|
|
3622
3798
|
profileLabel: this.profileLabel,
|
|
3623
3799
|
profileName: this.profile,
|
|
@@ -3633,6 +3809,11 @@ What's the next action?`;
|
|
|
3633
3809
|
plugins: this._enabledPlugins,
|
|
3634
3810
|
tools: toolCategories,
|
|
3635
3811
|
sessionId: this.activeSessionId ?? undefined,
|
|
3812
|
+
// Include feature flags
|
|
3813
|
+
alphaZeroDual: featureFlags.alphaZeroDual,
|
|
3814
|
+
autoCompact: featureFlags.autoCompact,
|
|
3815
|
+
mcpEnabled: featureFlags.mcpEnabled,
|
|
3816
|
+
metrics: featureFlags.metrics,
|
|
3636
3817
|
},
|
|
3637
3818
|
});
|
|
3638
3819
|
}
|