@pixelbyte-software/pixcode 1.50.0 → 1.50.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/dist/index.html CHANGED
@@ -35,7 +35,7 @@
35
35
 
36
36
  <!-- Prevent zoom on iOS -->
37
37
  <meta name="format-detection" content="telephone=no" />
38
- <script type="module" crossorigin src="/assets/index-81sOpj25.js"></script>
38
+ <script type="module" crossorigin src="/assets/index-BPu5Zp17.js"></script>
39
39
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DB6V5Fl1.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-CIYNS698.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/vendor-xterm-C7tpxJl7.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelbyte-software/pixcode",
3
- "version": "1.50.0",
3
+ "version": "1.50.1",
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",
@@ -132,6 +132,21 @@ assert.match(
132
132
  /permissionOverrideRef/,
133
133
  'Shell websocket init should read launch-scoped permission overrides.',
134
134
  );
135
+ assert.match(
136
+ shellConnection,
137
+ /normalizeStartupInput\(input: string, provider: LLMProvider\)/,
138
+ 'Startup input normalization should be provider-aware.',
139
+ );
140
+ assert.match(
141
+ shellConnection,
142
+ /provider === 'codex' \? '\\n' : '\\r'/,
143
+ 'Codex startup input should submit with LF because CR can leave /init typed but unsubmitted in Codex TUI.',
144
+ );
145
+ assert.doesNotMatch(
146
+ workbench,
147
+ /hermesCliLaunch\.startupInput \? `\$\{hermesCliLaunch\.startupInput\}\\r` : null/,
148
+ 'Workbench should not pre-append CR before provider-aware startup input normalization.',
149
+ );
135
150
  assert.match(
136
151
  shellView,
137
152
  /permissionOverride/,
@@ -67,7 +67,7 @@ assert.match(workbench, /isPlainShell/, 'Bottom terminal should open the selecte
67
67
  assert.doesNotMatch(workbench, /HERMES_AGENT_START_COMMAND/, 'Hermes Agent should not launch from the bottom terminal through a server-side sentinel.');
68
68
  assert.doesNotMatch(workbench, /HermesApiChatPanel|HermesTerminalTranscript/, 'Hermes Agent should use the real PTY terminal UI, not a custom REST chat transcript.');
69
69
  assert.doesNotMatch(workbench, /REST POST \/|transport=|response=|gateway=http/, 'Hermes terminal UI must not expose REST debug internals to the user.');
70
- assert.match(workbench, /command="hermes"/, 'Hermes Agent bottom panel should launch the actual `hermes` CLI in a PTY.');
70
+ assert.match(workbench, /HERMES_DEFAULT_COMMAND = 'hermes --yolo'/, 'Hermes Agent bottom panel should launch the actual `hermes` CLI in a bypass-enabled PTY.');
71
71
  assert.match(workbench, /Pixcode MCP Live/, 'Hermes terminal should show a user-facing Pixcode MCP live badge.');
72
72
  assert.doesNotMatch(workbench, /ml-auto border-blue-500\/40 bg-blue-500\/10/, 'Hermes REST panel must not use right-aligned chat bubbles.');
73
73
  assert.match(workbench, /terminal-launches\/stream/, 'Hermes CLI launch requests should arrive through an EventSource stream.');
@@ -88,7 +88,7 @@ assert.doesNotMatch(workbench, /suspendAutoConnect/, 'Right CLI provider starts
88
88
  assert.match(serverIndex, /\/api\/shell\/sessions\/terminate/, 'Backend should expose an authenticated endpoint to terminate cached provider PTYs immediately.');
89
89
  assert.match(serverIndex, /isPlainShell && !initialCommand/, 'Backend should spawn an interactive plain shell when no terminal command is provided.');
90
90
  assert.doesNotMatch(serverIndex, /pixcode:hermes:start/, 'Backend should not need a Hermes terminal sentinel for the workbench Hermes panel.');
91
- assert.doesNotMatch(serverIndex, /hermesCommand/, 'Provider shell starts should not reference the removed Hermes sentinel variable.');
91
+ assert.match(serverIndex, /buildHermesCliCommand/, 'Backend should configure Pixcode MCP before launching the resolved Hermes command.');
92
92
  assert.match(serverIndex, /configure-pixcode-mcp\.mjs/, 'Hermes PTY launches should configure Pixcode MCP before starting the CLI.');
93
93
  assert.match(serverIndex, /resolveHermesMcpBaseUrl/, 'Hermes MCP should use the local Pixcode API base URL from the host process.');
94
94
  assert.doesNotMatch(hermesInstallJobs, /iex \(irm https:\/\/raw\.githubusercontent\.com\/NousResearch\/hermes-agent\/main\/scripts\/install\.ps1\)/, 'Windows Hermes install should avoid the old inline iex pattern.');
@@ -294,10 +294,16 @@ assert.doesNotMatch(
294
294
  'Hermes Agent should not launch through the bottom terminal with a server-side command sentinel.',
295
295
  );
296
296
 
297
- assert.match(
297
+ assert.doesNotMatch(
298
298
  workbench,
299
299
  /HermesApiChatPanel/,
300
- 'Hermes Agent should use the REST chat panel in the bottom area.',
300
+ 'Hermes Agent should use the real PTY terminal UI instead of the removed REST chat panel.',
301
+ );
302
+
303
+ assert.match(
304
+ workbench,
305
+ /HERMES_DEFAULT_COMMAND = 'hermes --yolo'/,
306
+ 'Hermes Agent should launch the Hermes CLI directly in bypass mode.',
301
307
  );
302
308
 
303
309
  assert.doesNotMatch(