@pixelbyte-software/pixcode 1.50.5 → 1.50.7
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/assets/{index-BSxc8Vid.js → index-CR4j4iu_.js} +163 -163
- package/dist/index.html +1 -1
- package/dist-server/server/index.js +46 -10
- package/dist-server/server/index.js.map +1 -1
- package/dist-server/server/modules/orchestration/hermes/hermes.routes.js +2 -0
- package/dist-server/server/modules/orchestration/hermes/hermes.routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/hermes/configure-pixcode-mcp.mjs +8 -5
- package/scripts/hermes/pixcode-mcp-server.mjs +37 -11
- package/scripts/smoke/hermes-api-install.mjs +2 -1
- package/scripts/smoke/hermes-rest-codex-launch.mjs +4 -2
- package/scripts/smoke/hermes-settings-commands.mjs +72 -11
- package/scripts/smoke/pixcode-workbench-1-48.mjs +7 -4
- package/scripts/smoke/vscode-workbench-polish.mjs +19 -3
- package/server/index.js +47 -11
- package/server/modules/orchestration/hermes/hermes.routes.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes.routes.js","sourceRoot":"","sources":["../../../../../server/modules/orchestration/hermes/hermes.routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes.routes.js","sourceRoot":"","sources":["../../../../../server/modules/orchestration/hermes/hermes.routes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixelbyte-software/pixcode",
|
|
3
|
-
"version": "1.50.
|
|
3
|
+
"version": "1.50.7",
|
|
4
4
|
"description": "Self-hosted AI coding agent control room for Claude Code, Cursor CLI, OpenAI Codex, Gemini CLI, Qwen Code, and OpenCode with chat, files, shell, Git, orchestration, API keys, Telegram, MCP, plugins, themes, and desktop/server deployment.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist-server/server/index.js",
|
|
@@ -40,7 +40,7 @@ const apiServerToolsetBlock = [
|
|
|
40
40
|
' - hermes-api-server',
|
|
41
41
|
' - pixcode',
|
|
42
42
|
].join('\n');
|
|
43
|
-
const cliToolsets = ['
|
|
43
|
+
const cliToolsets = ['mcp-pixcode'];
|
|
44
44
|
|
|
45
45
|
function findRootKeyEnd(lines, startIndex) {
|
|
46
46
|
for (let index = startIndex + 1; index < lines.length; index += 1) {
|
|
@@ -128,13 +128,16 @@ function upsertRootListValues(rawConfig, key, values) {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
const keyEnd = findRootKeyEnd(lines, keyIndex);
|
|
131
|
-
const
|
|
132
|
-
const
|
|
133
|
-
if (
|
|
131
|
+
const nextList = values.map((value) => `- ${value}`);
|
|
132
|
+
const existingList = readRootListValues(lines, keyIndex, keyEnd);
|
|
133
|
+
if (
|
|
134
|
+
existingList.length === values.length &&
|
|
135
|
+
existingList.every((value, index) => value === values[index])
|
|
136
|
+
) {
|
|
134
137
|
return `${lines.join('\n').replace(/\s*$/, '')}\n`;
|
|
135
138
|
}
|
|
136
139
|
|
|
137
|
-
lines.splice(
|
|
140
|
+
lines.splice(keyIndex + 1, keyEnd - keyIndex - 1, ...nextList);
|
|
138
141
|
return `${lines.join('\n').replace(/\s*$/, '')}\n`;
|
|
139
142
|
}
|
|
140
143
|
|
|
@@ -8,6 +8,7 @@ const apiKey = process.env.PIXCODE_API_KEY || '';
|
|
|
8
8
|
const appRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
|
|
9
9
|
const mcpServerPath = path.join(appRoot, 'scripts', 'hermes', 'pixcode-mcp-server.mjs');
|
|
10
10
|
const READBACK_IDLE_STABLE_MS = 2500;
|
|
11
|
+
const DEFAULT_STARTUP_WAIT_MS = 100000;
|
|
11
12
|
|
|
12
13
|
const tools = [
|
|
13
14
|
{
|
|
@@ -36,7 +37,7 @@ const tools = [
|
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
39
|
name: 'pixcode_open_cli_terminal',
|
|
39
|
-
description: 'Use this instead of Hermes shell/proc/skill execution whenever the user asks to open Codex, Claude, Cursor, Gemini, Qwen, or OpenCode inside Pixcode. It asks the open Pixcode workbench to
|
|
40
|
+
description: 'Use this instead of Hermes shell/proc/skill execution whenever the user asks to open Codex, Claude, Cursor, Gemini, Qwen, or OpenCode inside Pixcode. It asks the open Pixcode workbench to continue the existing visible provider terminal in the project and submit startup input there. Do not run a parallel Hermes codex/claude/proc command for the same request. Do not request a fresh session unless the user explicitly asks for a new session. For multi-step, piece-by-piece, or long-running work, put the full user instruction in startupInput so the provider CLI does the work visibly inside Pixcode. When startupInput is present, Pixcode waits for the terminal to become idle before returning readback by default; never treat the first working frame as final output.',
|
|
40
41
|
inputSchema: {
|
|
41
42
|
type: 'object',
|
|
42
43
|
properties: {
|
|
@@ -56,6 +57,10 @@ const tools = [
|
|
|
56
57
|
type: 'string',
|
|
57
58
|
description: 'Exact startup input typed into the provider CLI after the TUI is ready. Use this for commands like /init, hello prompts, or full multi-step task instructions the user asked to run visibly.',
|
|
58
59
|
},
|
|
60
|
+
forceNewSession: {
|
|
61
|
+
type: 'boolean',
|
|
62
|
+
description: 'Start a fresh visible provider CLI session only when the user explicitly asks for a new session. Omit or false to continue the existing visible provider terminal.',
|
|
63
|
+
},
|
|
59
64
|
bypassPermissions: {
|
|
60
65
|
type: 'boolean',
|
|
61
66
|
description: 'When true, Pixcode starts the provider CLI with its strongest no-approval/bypass flags where supported. Defaults to true for Hermes-launched visible task work.',
|
|
@@ -223,21 +228,21 @@ function inferTerminalState(provider, terminalOutput) {
|
|
|
223
228
|
if (!output.trim()) return 'unknown';
|
|
224
229
|
if (/Process exited with code/iu.test(output)) return 'idle';
|
|
225
230
|
|
|
226
|
-
const
|
|
227
|
-
|
|
231
|
+
const lastWeakBusy = getLastMatchIndex(output, /(?:^|\n)\s*[•*]\s*(?:Working|Running|Thinking)\b/giu);
|
|
232
|
+
const lastStrongBusy = Math.max(
|
|
228
233
|
getLastMatchIndex(output, /\bWorking\s*\([^)]*esc to interrupt[^)]*\)/giu),
|
|
229
234
|
getLastMatchIndex(output, /\bmsg=interrupt\b/giu),
|
|
230
235
|
);
|
|
236
|
+
const lastBusy = Math.max(lastWeakBusy, lastStrongBusy);
|
|
231
237
|
|
|
232
238
|
if (provider === 'codex') {
|
|
233
239
|
const lastPrompt = Math.max(
|
|
234
240
|
getLastMatchIndex(output, /(?:^|\n)\s*›(?:\s|$)/gu),
|
|
235
241
|
getLastMatchIndex(output, /(?:^|\n)\s*❯(?:\s|$)/gu),
|
|
236
242
|
);
|
|
237
|
-
if (
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
: 'unknown';
|
|
243
|
+
if (lastPrompt >= 0) return lastStrongBusy > lastPrompt ? 'busy' : 'idle';
|
|
244
|
+
if (lastBusy >= 0) return 'busy';
|
|
245
|
+
return 'unknown';
|
|
241
246
|
}
|
|
242
247
|
|
|
243
248
|
if (lastBusy >= 0) return 'busy';
|
|
@@ -324,13 +329,13 @@ function isLegacyPromptLikelyStartupInput(prompt) {
|
|
|
324
329
|
return prompt.length <= 80;
|
|
325
330
|
}
|
|
326
331
|
|
|
327
|
-
async function
|
|
332
|
+
async function upsertProviderPixcodeMcp(provider, projectPath, scope) {
|
|
328
333
|
const body = await pixcodeFetch(`/api/providers/${encodeURIComponent(provider)}/mcp/servers`, {
|
|
329
334
|
method: 'POST',
|
|
330
335
|
body: JSON.stringify({
|
|
331
336
|
name: 'pixcode',
|
|
332
337
|
transport: 'stdio',
|
|
333
|
-
scope
|
|
338
|
+
scope,
|
|
334
339
|
workspacePath: projectPath || process.cwd(),
|
|
335
340
|
command: process.execPath,
|
|
336
341
|
args: [mcpServerPath],
|
|
@@ -343,6 +348,22 @@ async function ensureProviderPixcodeMcp(provider, projectPath) {
|
|
|
343
348
|
return body?.data?.server ?? body?.server ?? body;
|
|
344
349
|
}
|
|
345
350
|
|
|
351
|
+
async function ensureProviderPixcodeMcp(provider, projectPath) {
|
|
352
|
+
try {
|
|
353
|
+
const server = await upsertProviderPixcodeMcp(provider, projectPath, 'project');
|
|
354
|
+
return { scope: 'project', server, projectScopeError: null };
|
|
355
|
+
} catch (error) {
|
|
356
|
+
const projectScopeError = error instanceof Error ? error.message : String(error);
|
|
357
|
+
try {
|
|
358
|
+
const server = await upsertProviderPixcodeMcp(provider, projectPath, 'user');
|
|
359
|
+
return { scope: 'user', server, projectScopeError };
|
|
360
|
+
} catch (fallbackError) {
|
|
361
|
+
const userScopeError = fallbackError instanceof Error ? fallbackError.message : String(fallbackError);
|
|
362
|
+
throw new Error(`Pixcode MCP auto-config failed for project scope (${projectScopeError}) and user scope (${userScopeError})`);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
346
367
|
async function callTool(name, args = {}) {
|
|
347
368
|
if (name === 'pixcode_list_projects') {
|
|
348
369
|
const projects = await pixcodeFetch('/api/projects');
|
|
@@ -378,9 +399,10 @@ async function callTool(name, args = {}) {
|
|
|
378
399
|
}
|
|
379
400
|
|
|
380
401
|
let mcpConfigured = false;
|
|
402
|
+
let mcpConfig = null;
|
|
381
403
|
let mcpError = null;
|
|
382
404
|
try {
|
|
383
|
-
await ensureProviderPixcodeMcp(provider, projectPath);
|
|
405
|
+
mcpConfig = await ensureProviderPixcodeMcp(provider, projectPath);
|
|
384
406
|
mcpConfigured = true;
|
|
385
407
|
} catch (error) {
|
|
386
408
|
mcpError = error instanceof Error ? error.message : String(error);
|
|
@@ -390,6 +412,7 @@ async function callTool(name, args = {}) {
|
|
|
390
412
|
? args.startupInput
|
|
391
413
|
: (isLegacyPromptLikelyStartupInput(args.prompt) ? args.prompt.trim() : null);
|
|
392
414
|
const bypassPermissions = args.bypassPermissions === false ? false : true;
|
|
415
|
+
const forceNewSession = args.forceNewSession === true || args.newSession === true || args.freshSession === true;
|
|
393
416
|
const permissionMode = typeof args.permissionMode === 'string' && args.permissionMode.trim()
|
|
394
417
|
? args.permissionMode.trim()
|
|
395
418
|
: (bypassPermissions ? 'bypassPermissions' : null);
|
|
@@ -401,6 +424,7 @@ async function callTool(name, args = {}) {
|
|
|
401
424
|
projectPath,
|
|
402
425
|
prompt: args.prompt || null,
|
|
403
426
|
startupInput,
|
|
427
|
+
forceNewSession,
|
|
404
428
|
bypassPermissions,
|
|
405
429
|
skipPermissions: bypassPermissions,
|
|
406
430
|
permissionMode,
|
|
@@ -408,7 +432,7 @@ async function callTool(name, args = {}) {
|
|
|
408
432
|
});
|
|
409
433
|
const launchId = Number(body?.event?.id || body?.id || 0) || null;
|
|
410
434
|
let terminalOutput = null;
|
|
411
|
-
const defaultWaitMs = startupInput ?
|
|
435
|
+
const defaultWaitMs = startupInput ? DEFAULT_STARTUP_WAIT_MS : 0;
|
|
412
436
|
const requestedWaitMs = Number(args.waitForCompletionMs ?? args.waitForOutputMs ?? defaultWaitMs);
|
|
413
437
|
const waitForOutputMs = Math.min(600000, Math.max(0, requestedWaitMs));
|
|
414
438
|
if (waitForOutputMs > 0) {
|
|
@@ -421,6 +445,8 @@ async function callTool(name, args = {}) {
|
|
|
421
445
|
launched: true,
|
|
422
446
|
launchId,
|
|
423
447
|
pixcodeMcpConfigured: mcpConfigured,
|
|
448
|
+
pixcodeMcpScope: mcpConfig?.scope ?? null,
|
|
449
|
+
pixcodeMcpProjectScopeError: mcpConfig?.projectScopeError ?? null,
|
|
424
450
|
pixcodeMcpError: mcpError,
|
|
425
451
|
event: body?.event ?? body,
|
|
426
452
|
permissionBypass: bypassPermissions,
|
|
@@ -37,6 +37,7 @@ assert.match(hermesInstallJobs, /windowsCmdFallbackCommand/, 'Hermes install sho
|
|
|
37
37
|
assert.match(hermesInstallJobs, /retrying through cmd\.exe without elevation/, 'Hermes install logs should explain the no-admin Windows EPERM fallback.');
|
|
38
38
|
assert.match(read('scripts/hermes/configure-pixcode-mcp.mjs'), /platform_toolsets/, 'Pixcode MCP config should enable the Pixcode toolset for Hermes API server runs.');
|
|
39
39
|
assert.match(read('scripts/hermes/configure-pixcode-mcp.mjs'), /api_server:[\s\S]+pixcode/, 'Hermes API server should see Pixcode MCP tools during /v1/runs.');
|
|
40
|
+
assert.match(read('scripts/hermes/configure-pixcode-mcp.mjs'), /const cliToolsets = \['mcp-pixcode'\]/, 'Hermes CLI profile should use Pixcode MCP-only tools by default so provider CLIs stay visible.');
|
|
40
41
|
assert.match(serverIndex, /buildHermesPathEnv\(process\.env/, 'Shell PTYs should inherit Hermes bin directories so typing hermes in Pixcode terminal works on Windows.');
|
|
41
42
|
assert.match(serverIndex, /env: shellEnv/, 'Shell PTYs should use the augmented shell environment instead of raw process.env.');
|
|
42
43
|
assert.doesNotMatch(serverIndex, /pixcode:hermes:start/, 'Hermes H button should not depend on a shell sentinel.');
|
|
@@ -46,7 +47,7 @@ assert.match(workbench, /HermesActivityButton/, 'Workbench activity rail should
|
|
|
46
47
|
assert.match(workbench, /command=\{hermesCommand\}/, 'Opening the Hermes H button should show the real Hermes terminal/TUI.');
|
|
47
48
|
assert.match(workbench, /bottomTerminalCommand/, 'Hermes settings should be able to launch Hermes subcommands in the bottom terminal.');
|
|
48
49
|
assert.match(workbench, /openBottomTerminal\('hermes'\)/, 'Opening Hermes should restore the Hermes terminal.');
|
|
49
|
-
assert.match(workbench, /openBottomTerminal\('hermes', \{
|
|
50
|
+
assert.match(workbench, /openBottomTerminal\('hermes', \{[\s\S]*command: HERMES_DEFAULT_COMMAND,[\s\S]*forceNewSession: true,[\s\S]*\}\)/, 'The Hermes new-session action should reset the Hermes terminal session with the guarded default command.');
|
|
50
51
|
assert.match(workbench, /installLogRef/, 'Hermes install log panel should keep a scroll ref.');
|
|
51
52
|
assert.match(workbench, /scrollTop = installLogRef\.current\.scrollHeight/, 'Hermes install logs should auto-scroll to the latest line.');
|
|
52
53
|
assert.doesNotMatch(workbench, /suspendAutoConnect/, 'Right CLI launches should not be blocked by an open Hermes bottom terminal.');
|
|
@@ -72,6 +72,7 @@ const server = createServer(async (req, res) => {
|
|
|
72
72
|
projectPath: body.projectPath,
|
|
73
73
|
prompt: body.prompt,
|
|
74
74
|
startupInput: body.startupInput,
|
|
75
|
+
forceNewSession: Boolean(body.forceNewSession),
|
|
75
76
|
permissionMode: body.permissionMode,
|
|
76
77
|
skipPermissions: Boolean(body.skipPermissions),
|
|
77
78
|
bypassPermissions: Boolean(body.bypassPermissions),
|
|
@@ -175,10 +176,10 @@ try {
|
|
|
175
176
|
instructions: [
|
|
176
177
|
'You are testing Pixcode integration.',
|
|
177
178
|
'Use the MCP tool named mcp_pixcode_pixcode_open_cli_terminal exactly once.',
|
|
178
|
-
'Call it with provider="codex", the supplied projectPath, startupInput equal to the supplied task, prompt="Pixcode Hermes REST smoke visible Codex task", and bypassPermissions=true.',
|
|
179
|
+
'Call it with provider="codex", the supplied projectPath, startupInput equal to the supplied task, prompt="Pixcode Hermes REST smoke visible Codex task", forceNewSession=false, and bypassPermissions=true.',
|
|
179
180
|
'After the tool call, answer with "codex launch requested".',
|
|
180
181
|
].join(' '),
|
|
181
|
-
input: `Call mcp_pixcode_pixcode_open_cli_terminal with provider codex, projectPath ${JSON.stringify(projectPath)}, startupInput ${JSON.stringify(codexTask)}, prompt "Pixcode Hermes REST smoke visible Codex task", and bypassPermissions true.`,
|
|
182
|
+
input: `Call mcp_pixcode_pixcode_open_cli_terminal with provider codex, projectPath ${JSON.stringify(projectPath)}, startupInput ${JSON.stringify(codexTask)}, prompt "Pixcode Hermes REST smoke visible Codex task", forceNewSession false, and bypassPermissions true.`,
|
|
182
183
|
}),
|
|
183
184
|
});
|
|
184
185
|
if (!response.ok || !body?.run_id) {
|
|
@@ -195,6 +196,7 @@ try {
|
|
|
195
196
|
assert.equal(launch.bypassPermissions, true, 'Hermes Codex launch should request provider permission bypass.');
|
|
196
197
|
assert.equal(launch.skipPermissions, true, 'Hermes Codex launch should carry skipPermissions for providers that use skip flags.');
|
|
197
198
|
assert.equal(launch.permissionMode, 'bypassPermissions', 'Hermes Codex launch should use bypassPermissions mode.');
|
|
199
|
+
assert.equal(launch.forceNewSession, false, 'Hermes Codex launch should continue the visible provider terminal unless a fresh session is explicit.');
|
|
198
200
|
console.log(JSON.stringify({
|
|
199
201
|
ok: true,
|
|
200
202
|
runId: body.run_id,
|
|
@@ -13,6 +13,7 @@ const serverIndex = read('server/index.js');
|
|
|
13
13
|
const shellTypes = read('src/components/shell/types/types.ts');
|
|
14
14
|
const shellRuntime = read('src/components/shell/hooks/useShellRuntime.ts');
|
|
15
15
|
const shellConnection = read('src/components/shell/hooks/useShellConnection.ts');
|
|
16
|
+
const shellTerminal = read('src/components/shell/hooks/useShellTerminal.ts');
|
|
16
17
|
const shellView = read('src/components/shell/view/Shell.tsx');
|
|
17
18
|
const standaloneShell = read('src/components/standalone-shell/view/StandaloneShell.tsx');
|
|
18
19
|
const hermesRoutes = read('server/modules/orchestration/hermes/hermes.routes.ts');
|
|
@@ -55,8 +56,8 @@ assert.match(
|
|
|
55
56
|
);
|
|
56
57
|
assert.match(
|
|
57
58
|
workbench,
|
|
58
|
-
/HERMES_DEFAULT_COMMAND\s*=\s*'hermes --yolo'/,
|
|
59
|
-
'Hermes terminal should default to
|
|
59
|
+
/HERMES_DEFAULT_COMMAND\s*=\s*'hermes --yolo --toolsets mcp-pixcode'/,
|
|
60
|
+
'Hermes terminal should default to Pixcode MCP-only toolsets so provider CLIs stay visible inside Pixcode.',
|
|
60
61
|
);
|
|
61
62
|
assert.match(
|
|
62
63
|
serverIndex,
|
|
@@ -85,8 +86,18 @@ assert.match(
|
|
|
85
86
|
);
|
|
86
87
|
assert.match(
|
|
87
88
|
pixcodeMcpServer,
|
|
88
|
-
/
|
|
89
|
-
'Pixcode MCP
|
|
89
|
+
/DEFAULT_STARTUP_WAIT_MS\s*=\s*100000/,
|
|
90
|
+
'Pixcode MCP default completion wait should stay under the Hermes MCP tool timeout.',
|
|
91
|
+
);
|
|
92
|
+
assert.match(
|
|
93
|
+
pixcodeMcpServer,
|
|
94
|
+
/lastStrongBusy[\s\S]+lastPrompt[\s\S]+\?\s*'busy'\s*:\s*'idle'/,
|
|
95
|
+
'Codex readback should ignore weak spinner remnants once the prompt has returned.',
|
|
96
|
+
);
|
|
97
|
+
assert.match(
|
|
98
|
+
serverIndex,
|
|
99
|
+
/lastStrongBusy[\s\S]+lastPrompt[\s\S]+\?\s*'busy'\s*:\s*'idle'/,
|
|
100
|
+
'Backend provider-output should ignore weak Codex spinner remnants once the prompt has returned.',
|
|
90
101
|
);
|
|
91
102
|
assert.match(
|
|
92
103
|
pixcodeMcpServer,
|
|
@@ -113,6 +124,11 @@ assert.match(
|
|
|
113
124
|
/existingSession[\s\S]+existingSession\.pty/,
|
|
114
125
|
'Completed visible terminal records should not be reattached as live PTYs.',
|
|
115
126
|
);
|
|
127
|
+
assert.match(
|
|
128
|
+
serverIndex,
|
|
129
|
+
/session\.pty\s*!==\s*shellProcess/,
|
|
130
|
+
'Stale PTY exit handlers should not mark a replacement provider session as completed or failed.',
|
|
131
|
+
);
|
|
116
132
|
assert.match(
|
|
117
133
|
pixcodeMcpServer,
|
|
118
134
|
/terminalFailed/,
|
|
@@ -143,6 +159,11 @@ assert.match(
|
|
|
143
159
|
/readbackStable/,
|
|
144
160
|
'Pixcode MCP should mark whether a visible provider readback was stable before Hermes summarizes it.',
|
|
145
161
|
);
|
|
162
|
+
assert.match(
|
|
163
|
+
pixcodeMcpServer,
|
|
164
|
+
/scope:\s*'user'/,
|
|
165
|
+
'Pixcode MCP provider auto-config should fall back to user scope when project scope cannot be written.',
|
|
166
|
+
);
|
|
146
167
|
assert.match(
|
|
147
168
|
pixcodeMcpServer,
|
|
148
169
|
/startup input typed into the provider CLI/,
|
|
@@ -195,18 +216,53 @@ assert.match(
|
|
|
195
216
|
);
|
|
196
217
|
assert.match(
|
|
197
218
|
shellConnection,
|
|
198
|
-
/
|
|
199
|
-
'Startup input
|
|
219
|
+
/startupInputDelivery/,
|
|
220
|
+
'Startup input should be delivered through an explicit command-or-terminal mode.',
|
|
200
221
|
);
|
|
201
222
|
assert.match(
|
|
202
223
|
shellConnection,
|
|
203
|
-
/provider === 'codex'[\s\S]+
|
|
204
|
-
'Codex startup input should be
|
|
224
|
+
/provider === 'codex'[\s\S]+forceNewSessionRef\.current[\s\S]+startupInputForCommand/,
|
|
225
|
+
'Codex startup input should be passed as a process argument only for explicit fresh sessions.',
|
|
205
226
|
);
|
|
206
227
|
assert.match(
|
|
207
228
|
shellConnection,
|
|
208
|
-
/
|
|
209
|
-
'Shell websocket init should
|
|
229
|
+
/startupInputDelivery:\s*handlesStartupInputInCommand \? 'command' : 'terminal'/,
|
|
230
|
+
'Shell websocket init should tell the backend whether startup input belongs in the command or visible terminal.',
|
|
231
|
+
);
|
|
232
|
+
assert.match(
|
|
233
|
+
shellTerminal,
|
|
234
|
+
/sanitizeTerminalInputData/,
|
|
235
|
+
'Terminal input should filter xterm color-query reports before sending data to the PTY.',
|
|
236
|
+
);
|
|
237
|
+
assert.match(
|
|
238
|
+
shellTerminal,
|
|
239
|
+
/OSC_COLOR_REPORT_REGEX/,
|
|
240
|
+
'Terminal input should drop OSC 10/11/12 color reports so resize/theme probes do not corrupt CLI prompts.',
|
|
241
|
+
);
|
|
242
|
+
assert.match(
|
|
243
|
+
serverIndex,
|
|
244
|
+
/writeTerminalStartupInput/,
|
|
245
|
+
'Shell backend should submit Hermes startup input directly into reused visible PTYs.',
|
|
246
|
+
);
|
|
247
|
+
assert.match(
|
|
248
|
+
serverIndex,
|
|
249
|
+
/startupInputDelivery === 'terminal'[\s\S]+writeTerminalStartupInput/,
|
|
250
|
+
'Existing visible provider sessions should receive terminal-delivered startup input before reconnect returns.',
|
|
251
|
+
);
|
|
252
|
+
assert.match(
|
|
253
|
+
workbench,
|
|
254
|
+
/forceNewSession:\s*hermesCliLaunch\.forceNewSession === true/,
|
|
255
|
+
'Hermes-launched provider work should continue the current visible terminal unless forceNewSession is explicit.',
|
|
256
|
+
);
|
|
257
|
+
assert.match(
|
|
258
|
+
pixcodeMcpServer,
|
|
259
|
+
/forceNewSession/,
|
|
260
|
+
'Pixcode MCP should let Hermes request a fresh visible provider session only when the user asks for one.',
|
|
261
|
+
);
|
|
262
|
+
assert.match(
|
|
263
|
+
pixcodeMcpServer,
|
|
264
|
+
/continue the existing visible provider terminal/i,
|
|
265
|
+
'Pixcode MCP tool instructions should tell Hermes to continue existing visible provider terminals by default.',
|
|
210
266
|
);
|
|
211
267
|
assert.doesNotMatch(
|
|
212
268
|
workbench,
|
|
@@ -218,6 +274,11 @@ assert.match(
|
|
|
218
274
|
/startupInput\?: string \| null/,
|
|
219
275
|
'Shell init messages should carry launch-time startup input for providers that accept an initial prompt.',
|
|
220
276
|
);
|
|
277
|
+
assert.match(
|
|
278
|
+
shellTypes,
|
|
279
|
+
/startupInputDelivery\?: 'command' \| 'terminal'/,
|
|
280
|
+
'Shell init messages should carry startup input delivery mode.',
|
|
281
|
+
);
|
|
221
282
|
assert.match(
|
|
222
283
|
serverIndex,
|
|
223
284
|
/const startupInput = typeof data\.startupInput === 'string'/,
|
|
@@ -225,7 +286,7 @@ assert.match(
|
|
|
225
286
|
);
|
|
226
287
|
assert.match(
|
|
227
288
|
serverIndex,
|
|
228
|
-
/provider === 'codex'[\s\S]+
|
|
289
|
+
/provider === 'codex'[\s\S]+commandStartupInput[\s\S]+quoteShellArgForPlatform\(commandStartupInput\)/,
|
|
229
290
|
'Codex provider terminals should start with the requested prompt as a CLI argument so banners/update notices cannot swallow Enter.',
|
|
230
291
|
);
|
|
231
292
|
assert.match(
|
|
@@ -62,7 +62,8 @@ assert.match(workbench, /vscodeWorkbench\.cli\.closeTerminal/, 'CLI terminal clo
|
|
|
62
62
|
assert.match(workbench, /WORKBENCH_CLI_STATE_STORAGE_KEY/, 'CLI terminal should remember per-project open state across workspace switches.');
|
|
63
63
|
assert.match(workbench, /function WorkbenchBottomTerminal/, 'Terminal activity should render as a bottom plain-shell panel.');
|
|
64
64
|
assert.match(workbench, /BOTTOM_TERMINAL_MIN_HEIGHT/, 'Bottom terminal should support height resizing.');
|
|
65
|
-
assert.match(workbench, /
|
|
65
|
+
assert.match(workbench, /WorkbenchBottomTerminalViewMode/, 'Bottom terminal should support explicit half and full-screen modes.');
|
|
66
|
+
assert.doesNotMatch(workbench, /BOTTOM_TERMINAL_MINIMIZED_HEIGHT|Minimize terminal/, 'Bottom terminal should not expose the old minimized strip behavior.');
|
|
66
67
|
assert.match(workbench, /bottomTerminalProject/, 'Bottom terminal should stay bound to the project it was opened for.');
|
|
67
68
|
assert.match(workbench, /setBottomTerminalProject/, 'Opening a bottom terminal should capture its project instead of following workspace selection changes.');
|
|
68
69
|
assert.match(workbench, /terminalProject = bottomTerminalProject \?\? selectedProject/, 'Workbench should render bottom terminals against their captured project binding.');
|
|
@@ -73,13 +74,14 @@ assert.match(workbench, /isPlainShell/, 'Bottom terminal should open the selecte
|
|
|
73
74
|
assert.doesNotMatch(workbench, /HERMES_AGENT_START_COMMAND/, 'Hermes Agent should not launch from the bottom terminal through a server-side sentinel.');
|
|
74
75
|
assert.doesNotMatch(workbench, /HermesApiChatPanel|HermesTerminalTranscript/, 'Hermes Agent should use the real PTY terminal UI, not a custom REST chat transcript.');
|
|
75
76
|
assert.doesNotMatch(workbench, /REST POST \/|transport=|response=|gateway=http/, 'Hermes terminal UI must not expose REST debug internals to the user.');
|
|
76
|
-
assert.match(workbench, /HERMES_DEFAULT_COMMAND = 'hermes --yolo'/, 'Hermes Agent bottom panel should launch the actual `hermes` CLI
|
|
77
|
+
assert.match(workbench, /HERMES_DEFAULT_COMMAND = 'hermes --yolo --toolsets mcp-pixcode'/, 'Hermes Agent bottom panel should launch the actual `hermes` CLI with Pixcode MCP-only tools.');
|
|
77
78
|
assert.match(workbench, /HERMES_HISTORY_COMMAND = 'hermes sessions browse'/, 'Hermes terminal history should open the native interactive session picker.');
|
|
78
79
|
assert.match(workbench, /onOpenHistory=\{openHermesHistory\}/, 'Hermes terminal header should wire its history button to the native Hermes sessions command.');
|
|
79
80
|
assert.match(workbench, /Pixcode MCP Live/, 'Hermes terminal should show a user-facing Pixcode MCP live badge.');
|
|
80
81
|
assert.doesNotMatch(workbench, /ml-auto border-blue-500\/40 bg-blue-500\/10/, 'Hermes REST panel must not use right-aligned chat bubbles.');
|
|
81
82
|
assert.match(workbench, /terminal-launches\/stream/, 'Hermes CLI launch requests should arrive through an EventSource stream.');
|
|
82
83
|
assert.doesNotMatch(workbench, /HERMES_TERMINAL_LAUNCH_POLL_MS|setInterval\([\s\S]*terminal-launches/, 'Hermes CLI launch requests should not be polled every few seconds.');
|
|
84
|
+
assert.match(workbench, /forceNewSession:\s*hermesCliLaunch\.forceNewSession === true/, 'Hermes MCP provider launches should continue the current visible CLI session by default.');
|
|
83
85
|
assert.doesNotMatch(workbench, /Project-scoped agent terminal\. Installs Hermes when missing/, 'Right CLI panel should not show the old Hermes card.');
|
|
84
86
|
assert.doesNotMatch(workbench, /vscodeWorkbench\.hermes\.docsShort|HERMES_AGENT_DOCS_URL/, 'Hermes terminal header should not include a docs shortcut.');
|
|
85
87
|
assert.match(workbench, /shrinkCliPanel/, 'Right CLI panel should expose a shrink action.');
|
|
@@ -134,8 +136,9 @@ assert.match(hermesRoutes, /router\.post\('\/install'/, 'Hermes should install t
|
|
|
134
136
|
assert.match(read('scripts/smoke/hermes-api-install.mjs'), /hermes API install smoke passed/, 'Hermes API install behavior should have a focused smoke test.');
|
|
135
137
|
assert.match(workbench, /terminalStartupInput/, 'Hermes terminal launch prompts should be passed into the selected CLI.');
|
|
136
138
|
assert.match(read('src/components/shell/hooks/useShellConnection.ts'), /startupInputRef/, 'Shell connections should support one-shot startup input for Hermes-triggered CLI work.');
|
|
137
|
-
assert.match(read('src/components/shell/hooks/
|
|
138
|
-
assert.
|
|
139
|
+
assert.match(read('src/components/shell/hooks/useShellTerminal.ts'), /sanitizeTerminalInputData/, 'Terminal should filter xterm color-query replies before forwarding input to provider CLIs.');
|
|
140
|
+
assert.match(read('src/components/shell/hooks/useShellConnection.ts'), /forceNewSessionRef\.current[\s\S]+startupInputForCommand/, 'Codex startup input should only be sent as a CLI argument for explicit fresh sessions.');
|
|
141
|
+
assert.match(read('src/components/shell/hooks/useShellConnection.ts'), /startupInputDelivery:\s*handlesStartupInputInCommand \? 'command' : 'terminal'/, 'Reused visible sessions should submit startup input through the backend terminal path.');
|
|
139
142
|
assert.match(shellTerminal, /handleTerminalPaste/, 'Terminal should support browser paste events.');
|
|
140
143
|
assert.match(shellTerminal, /handleCopyPasteShortcut/, 'Terminal should normalize Ctrl/Cmd copy and paste shortcuts.');
|
|
141
144
|
assert.match(shellTerminal, /event\.shiftKey/, 'Terminal should support Ctrl+Shift+C/V style shortcuts.');
|
|
@@ -266,6 +266,12 @@ assert.match(
|
|
|
266
266
|
'Right CLI panel should mark explicitly started new sessions so the backend does not reconnect the old PTY.',
|
|
267
267
|
);
|
|
268
268
|
|
|
269
|
+
assert.match(
|
|
270
|
+
workbench,
|
|
271
|
+
/forceNewSession:\s*hermesCliLaunch\.forceNewSession === true/,
|
|
272
|
+
'Hermes-triggered provider work should reuse the current visible CLI session unless a fresh session is explicitly requested.',
|
|
273
|
+
);
|
|
274
|
+
|
|
269
275
|
assert.match(
|
|
270
276
|
workbench,
|
|
271
277
|
/function WorkbenchCliPanelToolbar/,
|
|
@@ -278,9 +284,19 @@ assert.match(
|
|
|
278
284
|
'Terminal activity should open a VS Code-style bottom terminal instead of the provider CLI picker.',
|
|
279
285
|
);
|
|
280
286
|
|
|
281
|
-
for (const token of ['BOTTOM_TERMINAL_MIN_HEIGHT', '
|
|
287
|
+
for (const token of ['BOTTOM_TERMINAL_MIN_HEIGHT', 'bottomTerminalViewMode', 'shrinkCliPanel', 'expandCliPanel']) {
|
|
282
288
|
assert.match(workbench, new RegExp(token), `Workbench should include ${token}.`);
|
|
283
289
|
}
|
|
290
|
+
assert.match(
|
|
291
|
+
workbench,
|
|
292
|
+
/WorkbenchBottomTerminalViewMode/,
|
|
293
|
+
'Bottom terminal should expose half/full display modes instead of minimize/restore.',
|
|
294
|
+
);
|
|
295
|
+
assert.doesNotMatch(
|
|
296
|
+
workbench,
|
|
297
|
+
/BOTTOM_TERMINAL_MINIMIZED_HEIGHT|Minimize terminal|isBottomTerminalMinimized/,
|
|
298
|
+
'Bottom terminal should not keep the old minimized strip UI.',
|
|
299
|
+
);
|
|
284
300
|
|
|
285
301
|
assert.match(
|
|
286
302
|
workbench,
|
|
@@ -308,8 +324,8 @@ assert.doesNotMatch(
|
|
|
308
324
|
|
|
309
325
|
assert.match(
|
|
310
326
|
workbench,
|
|
311
|
-
/HERMES_DEFAULT_COMMAND = 'hermes --yolo'/,
|
|
312
|
-
'Hermes Agent should launch the Hermes CLI directly in bypass mode.',
|
|
327
|
+
/HERMES_DEFAULT_COMMAND = 'hermes --yolo --toolsets mcp-pixcode'/,
|
|
328
|
+
'Hermes Agent should launch the Hermes CLI directly in bypass mode with only the Pixcode MCP toolset.',
|
|
313
329
|
);
|
|
314
330
|
|
|
315
331
|
assert.match(
|