@pixelbyte-software/pixcode 1.34.0 → 1.35.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.
Files changed (247) hide show
  1. package/LICENSE +718 -718
  2. package/README.de.md +248 -248
  3. package/README.ja.md +240 -240
  4. package/README.ko.md +240 -240
  5. package/README.md +303 -303
  6. package/README.ru.md +248 -248
  7. package/README.tr.md +250 -250
  8. package/README.zh-CN.md +240 -240
  9. package/dist/api-docs.html +548 -395
  10. package/dist/assets/index-B8w57E1r.css +32 -0
  11. package/dist/assets/index-CBdsvGSR.js +854 -0
  12. package/dist/clear-cache.html +85 -85
  13. package/dist/convert-icons.md +52 -52
  14. package/dist/favicon.svg +8 -8
  15. package/dist/generate-icons.js +48 -48
  16. package/dist/icons/codex-white.svg +3 -3
  17. package/dist/icons/codex.svg +3 -3
  18. package/dist/icons/cursor-white.svg +11 -11
  19. package/dist/icons/icon-128x128.svg +9 -9
  20. package/dist/icons/icon-144x144.svg +9 -9
  21. package/dist/icons/icon-152x152.svg +9 -9
  22. package/dist/icons/icon-192x192.svg +9 -9
  23. package/dist/icons/icon-384x384.svg +9 -9
  24. package/dist/icons/icon-512x512.svg +9 -9
  25. package/dist/icons/icon-72x72.svg +9 -9
  26. package/dist/icons/icon-96x96.svg +9 -9
  27. package/dist/icons/icon-template.svg +9 -9
  28. package/dist/icons/qwen-logo.svg +14 -14
  29. package/dist/index.html +59 -59
  30. package/dist/logo.svg +12 -12
  31. package/dist/manifest.json +60 -60
  32. package/dist/openapi.yaml +1693 -1311
  33. package/dist/sw.js +124 -124
  34. package/dist-server/server/claude-sdk.js +38 -7
  35. package/dist-server/server/claude-sdk.js.map +1 -1
  36. package/dist-server/server/cli.js +107 -112
  37. package/dist-server/server/cli.js.map +1 -1
  38. package/dist-server/server/daemon/manager.js +33 -33
  39. package/dist-server/server/daemon-manager.js +159 -112
  40. package/dist-server/server/daemon-manager.js.map +1 -1
  41. package/dist-server/server/database/json-store.js +8 -5
  42. package/dist-server/server/database/json-store.js.map +1 -1
  43. package/dist-server/server/index.js +31 -10
  44. package/dist-server/server/index.js.map +1 -1
  45. package/dist-server/server/modules/orchestration/a2a/adapter-registry.js +45 -19
  46. package/dist-server/server/modules/orchestration/a2a/adapter-registry.js.map +1 -1
  47. package/dist-server/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.js.map +1 -1
  48. package/dist-server/server/modules/orchestration/a2a/adapters/claude-code.adapter.js +1 -0
  49. package/dist-server/server/modules/orchestration/a2a/adapters/claude-code.adapter.js.map +1 -1
  50. package/dist-server/server/modules/orchestration/a2a/adapters/codex.adapter.js +202 -0
  51. package/dist-server/server/modules/orchestration/a2a/adapters/codex.adapter.js.map +1 -0
  52. package/dist-server/server/modules/orchestration/a2a/adapters/cursor.adapter.js +205 -0
  53. package/dist-server/server/modules/orchestration/a2a/adapters/cursor.adapter.js.map +1 -0
  54. package/dist-server/server/modules/orchestration/a2a/adapters/gemini.adapter.js +205 -0
  55. package/dist-server/server/modules/orchestration/a2a/adapters/gemini.adapter.js.map +1 -0
  56. package/dist-server/server/modules/orchestration/a2a/adapters/opencode.adapter.js +205 -0
  57. package/dist-server/server/modules/orchestration/a2a/adapters/opencode.adapter.js.map +1 -0
  58. package/dist-server/server/modules/orchestration/a2a/adapters/qwen.adapter.js +205 -0
  59. package/dist-server/server/modules/orchestration/a2a/adapters/qwen.adapter.js.map +1 -0
  60. package/dist-server/server/modules/orchestration/a2a/routes.js +298 -34
  61. package/dist-server/server/modules/orchestration/a2a/routes.js.map +1 -1
  62. package/dist-server/server/modules/orchestration/a2a/task-store.js +144 -0
  63. package/dist-server/server/modules/orchestration/a2a/task-store.js.map +1 -0
  64. package/dist-server/server/modules/orchestration/a2a/validator.js +16 -0
  65. package/dist-server/server/modules/orchestration/a2a/validator.js.map +1 -1
  66. package/dist-server/server/modules/orchestration/index.js +14 -0
  67. package/dist-server/server/modules/orchestration/index.js.map +1 -1
  68. package/dist-server/server/modules/orchestration/preview/port-watcher.js +90 -0
  69. package/dist-server/server/modules/orchestration/preview/port-watcher.js.map +1 -0
  70. package/dist-server/server/modules/orchestration/preview/preview-proxy.js +58 -0
  71. package/dist-server/server/modules/orchestration/preview/preview-proxy.js.map +1 -0
  72. package/dist-server/server/modules/orchestration/preview/types.js +2 -0
  73. package/dist-server/server/modules/orchestration/preview/types.js.map +1 -0
  74. package/dist-server/server/modules/orchestration/tasks/orchestration-task-store.js +37 -0
  75. package/dist-server/server/modules/orchestration/tasks/orchestration-task-store.js.map +1 -0
  76. package/dist-server/server/modules/orchestration/tasks/orchestration-task.routes.js +68 -0
  77. package/dist-server/server/modules/orchestration/tasks/orchestration-task.routes.js.map +1 -0
  78. package/dist-server/server/modules/orchestration/tasks/orchestration-task.service.js +128 -0
  79. package/dist-server/server/modules/orchestration/tasks/orchestration-task.service.js.map +1 -0
  80. package/dist-server/server/modules/orchestration/tasks/orchestration-task.types.js +2 -0
  81. package/dist-server/server/modules/orchestration/tasks/orchestration-task.types.js.map +1 -0
  82. package/dist-server/server/modules/orchestration/workflows/built-in-workflows.js +126 -0
  83. package/dist-server/server/modules/orchestration/workflows/built-in-workflows.js.map +1 -0
  84. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js +1047 -0
  85. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js.map +1 -0
  86. package/dist-server/server/modules/orchestration/workflows/workflow-store.js +76 -0
  87. package/dist-server/server/modules/orchestration/workflows/workflow-store.js.map +1 -0
  88. package/dist-server/server/modules/orchestration/workflows/workflow.routes.js +151 -0
  89. package/dist-server/server/modules/orchestration/workflows/workflow.routes.js.map +1 -0
  90. package/dist-server/server/modules/orchestration/workflows/workflow.types.js +2 -0
  91. package/dist-server/server/modules/orchestration/workflows/workflow.types.js.map +1 -0
  92. package/dist-server/server/modules/orchestration/workflows/workspace-target.js +98 -0
  93. package/dist-server/server/modules/orchestration/workflows/workspace-target.js.map +1 -0
  94. package/dist-server/server/modules/orchestration/workspace/docker-workspace.js +122 -0
  95. package/dist-server/server/modules/orchestration/workspace/docker-workspace.js.map +1 -0
  96. package/dist-server/server/modules/orchestration/workspace/path-safety.js +48 -0
  97. package/dist-server/server/modules/orchestration/workspace/path-safety.js.map +1 -0
  98. package/dist-server/server/modules/orchestration/workspace/types.js +11 -0
  99. package/dist-server/server/modules/orchestration/workspace/types.js.map +1 -0
  100. package/dist-server/server/modules/orchestration/workspace/workspace-manager.js +80 -0
  101. package/dist-server/server/modules/orchestration/workspace/workspace-manager.js.map +1 -0
  102. package/dist-server/server/modules/orchestration/workspace/worktree-workspace.js +96 -0
  103. package/dist-server/server/modules/orchestration/workspace/worktree-workspace.js.map +1 -0
  104. package/dist-server/server/modules/providers/index.js +3 -0
  105. package/dist-server/server/modules/providers/index.js.map +1 -0
  106. package/dist-server/server/openai-codex.js +35 -4
  107. package/dist-server/server/openai-codex.js.map +1 -1
  108. package/dist-server/server/routes/commands.js +25 -25
  109. package/dist-server/server/routes/git.js +17 -17
  110. package/dist-server/server/routes/taskmaster.js +525 -508
  111. package/dist-server/server/routes/taskmaster.js.map +1 -1
  112. package/package.json +180 -178
  113. package/scripts/fix-node-pty.js +67 -67
  114. package/scripts/smoke/a2a-roundtrip.mjs +86 -17
  115. package/scripts/smoke/orchestration-api.mjs +172 -0
  116. package/scripts/smoke/orchestration-live-run.mjs +176 -0
  117. package/server/claude-sdk.js +898 -857
  118. package/server/cli.js +935 -940
  119. package/server/constants/config.js +4 -4
  120. package/server/cursor-cli.js +342 -342
  121. package/server/daemon/manager.js +564 -564
  122. package/server/daemon-manager.js +959 -920
  123. package/server/database/db.js +794 -794
  124. package/server/database/json-store.js +197 -194
  125. package/server/gemini-cli.js +535 -535
  126. package/server/gemini-response-handler.js +79 -79
  127. package/server/index.js +3135 -3104
  128. package/server/load-env.js +34 -34
  129. package/server/middleware/auth.js +173 -173
  130. package/server/modules/orchestration/a2a/adapter-registry.ts +72 -22
  131. package/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.ts +9 -3
  132. package/server/modules/orchestration/a2a/adapters/claude-code.adapter.ts +1 -0
  133. package/server/modules/orchestration/a2a/adapters/codex.adapter.ts +244 -0
  134. package/server/modules/orchestration/a2a/adapters/cursor.adapter.ts +249 -0
  135. package/server/modules/orchestration/a2a/adapters/gemini.adapter.ts +248 -0
  136. package/server/modules/orchestration/a2a/adapters/opencode.adapter.ts +248 -0
  137. package/server/modules/orchestration/a2a/adapters/qwen.adapter.ts +248 -0
  138. package/server/modules/orchestration/a2a/routes.ts +349 -36
  139. package/server/modules/orchestration/a2a/task-store.ts +178 -0
  140. package/server/modules/orchestration/a2a/types.ts +14 -0
  141. package/server/modules/orchestration/a2a/validator.ts +25 -2
  142. package/server/modules/orchestration/index.ts +40 -0
  143. package/server/modules/orchestration/preview/port-watcher.ts +112 -0
  144. package/server/modules/orchestration/preview/preview-proxy.ts +60 -0
  145. package/server/modules/orchestration/preview/types.ts +19 -0
  146. package/server/modules/orchestration/tasks/orchestration-task-store.ts +45 -0
  147. package/server/modules/orchestration/tasks/orchestration-task.routes.ts +73 -0
  148. package/server/modules/orchestration/tasks/orchestration-task.service.ts +145 -0
  149. package/server/modules/orchestration/tasks/orchestration-task.types.ts +29 -0
  150. package/server/modules/orchestration/workflows/built-in-workflows.ts +127 -0
  151. package/server/modules/orchestration/workflows/workflow-runner.ts +1206 -0
  152. package/server/modules/orchestration/workflows/workflow-store.ts +97 -0
  153. package/server/modules/orchestration/workflows/workflow.routes.ts +169 -0
  154. package/server/modules/orchestration/workflows/workflow.types.ts +70 -0
  155. package/server/modules/orchestration/workflows/workspace-target.ts +120 -0
  156. package/server/modules/orchestration/workspace/docker-workspace.ts +135 -0
  157. package/server/modules/orchestration/workspace/path-safety.ts +55 -0
  158. package/server/modules/orchestration/workspace/types.ts +52 -0
  159. package/server/modules/orchestration/workspace/workspace-manager.ts +97 -0
  160. package/server/modules/orchestration/workspace/worktree-workspace.ts +125 -0
  161. package/server/modules/providers/index.ts +2 -0
  162. package/server/modules/providers/list/claude/claude-auth.provider.ts +145 -145
  163. package/server/modules/providers/list/claude/claude-mcp.provider.ts +135 -135
  164. package/server/modules/providers/list/claude/claude-sessions.provider.ts +306 -306
  165. package/server/modules/providers/list/claude/claude.provider.ts +15 -15
  166. package/server/modules/providers/list/codex/codex-auth.provider.ts +115 -115
  167. package/server/modules/providers/list/codex/codex-mcp.provider.ts +135 -135
  168. package/server/modules/providers/list/codex/codex-sessions.provider.ts +319 -319
  169. package/server/modules/providers/list/codex/codex.provider.ts +15 -15
  170. package/server/modules/providers/list/cursor/cursor-auth.provider.ts +143 -143
  171. package/server/modules/providers/list/cursor/cursor-mcp.provider.ts +108 -108
  172. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +421 -421
  173. package/server/modules/providers/list/cursor/cursor.provider.ts +15 -15
  174. package/server/modules/providers/list/gemini/gemini-auth.provider.ts +163 -163
  175. package/server/modules/providers/list/gemini/gemini-mcp.provider.ts +110 -110
  176. package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +227 -227
  177. package/server/modules/providers/list/gemini/gemini.provider.ts +15 -15
  178. package/server/modules/providers/list/opencode/opencode-auth.provider.ts +130 -130
  179. package/server/modules/providers/list/opencode/opencode-mcp.provider.ts +126 -126
  180. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +232 -232
  181. package/server/modules/providers/list/opencode/opencode.provider.ts +29 -29
  182. package/server/modules/providers/list/qwen/qwen-auth.provider.ts +145 -145
  183. package/server/modules/providers/list/qwen/qwen-mcp.provider.ts +114 -114
  184. package/server/modules/providers/list/qwen/qwen-sessions.provider.ts +265 -265
  185. package/server/modules/providers/list/qwen/qwen.provider.ts +21 -21
  186. package/server/modules/providers/provider.registry.ts +40 -40
  187. package/server/modules/providers/provider.routes.ts +819 -819
  188. package/server/modules/providers/services/mcp.service.ts +86 -86
  189. package/server/modules/providers/services/provider-auth.service.ts +26 -26
  190. package/server/modules/providers/services/sessions.service.ts +45 -45
  191. package/server/modules/providers/shared/base/abstract.provider.ts +20 -20
  192. package/server/modules/providers/shared/mcp/mcp.provider.ts +151 -151
  193. package/server/modules/providers/shared/provider-configs.ts +142 -142
  194. package/server/modules/providers/tests/mcp.test.ts +293 -293
  195. package/server/openai-codex.js +462 -426
  196. package/server/opencode-cli.js +459 -459
  197. package/server/opencode-response-handler.js +107 -107
  198. package/server/projects.js +3105 -3105
  199. package/server/qwen-code-cli.js +395 -395
  200. package/server/qwen-response-handler.js +73 -73
  201. package/server/routes/agent.js +1365 -1365
  202. package/server/routes/auth.js +138 -138
  203. package/server/routes/codex.js +19 -19
  204. package/server/routes/commands.js +554 -554
  205. package/server/routes/cursor.js +52 -52
  206. package/server/routes/gemini.js +24 -24
  207. package/server/routes/git.js +1488 -1488
  208. package/server/routes/mcp-utils.js +31 -31
  209. package/server/routes/messages.js +61 -61
  210. package/server/routes/network.js +120 -120
  211. package/server/routes/plugins.js +318 -318
  212. package/server/routes/projects.js +915 -915
  213. package/server/routes/qwen.js +27 -27
  214. package/server/routes/settings.js +286 -286
  215. package/server/routes/taskmaster.js +1496 -1471
  216. package/server/routes/telegram.js +125 -125
  217. package/server/routes/user.js +123 -123
  218. package/server/services/external-access.js +171 -171
  219. package/server/services/install-jobs.js +571 -571
  220. package/server/services/notification-orchestrator.js +242 -242
  221. package/server/services/provider-credentials.js +189 -189
  222. package/server/services/provider-models.js +381 -381
  223. package/server/services/telegram/bot.js +279 -279
  224. package/server/services/telegram/telegram-http-client.js +130 -130
  225. package/server/services/telegram/translations.js +170 -170
  226. package/server/services/vapid-keys.js +36 -36
  227. package/server/sessionManager.js +225 -225
  228. package/server/shared/interfaces.ts +54 -54
  229. package/server/shared/types.ts +172 -172
  230. package/server/shared/utils.ts +193 -193
  231. package/server/tsconfig.json +36 -36
  232. package/server/utils/colors.js +21 -21
  233. package/server/utils/commandParser.js +303 -303
  234. package/server/utils/frontmatter.js +18 -18
  235. package/server/utils/gitConfig.js +34 -34
  236. package/server/utils/mcp-detector.js +147 -147
  237. package/server/utils/plugin-loader.js +457 -457
  238. package/server/utils/plugin-process-manager.js +184 -184
  239. package/server/utils/port-access.js +209 -209
  240. package/server/utils/runtime-paths.js +37 -37
  241. package/server/utils/taskmaster-websocket.js +128 -128
  242. package/server/utils/url-detection.js +71 -71
  243. package/server/vite-daemon.js +78 -78
  244. package/shared/modelConstants.js +162 -162
  245. package/shared/networkHosts.js +22 -22
  246. package/dist/assets/index-B1ghfb4w.css +0 -32
  247. package/dist/assets/index-BvClqlMf.js +0 -852
@@ -168,6 +168,9 @@ function parseDaemonArgs(args) {
168
168
  else if (arg.startsWith('--frontend-port=')) {
169
169
  parsed.options.frontendPort = arg.split('=')[1];
170
170
  }
171
+ else if (arg === '--no-frontend' || arg === '--single-port') {
172
+ parsed.options.noFrontend = true;
173
+ }
171
174
  else if (arg === '--mode' || arg === '-m') {
172
175
  parsed.options.mode = (args[++i] || '').toLowerCase();
173
176
  }
@@ -212,22 +215,22 @@ function buildDaemonServiceUnit({ appRoot, serverPort, databasePath, nodeExecPat
212
215
  nodeExecPath,
213
216
  cliEntry,
214
217
  });
215
- return `[Unit]
216
- Description=Pixcode Server
217
- After=network.target
218
-
219
- [Service]
220
- Type=simple
221
- WorkingDirectory=${appRoot}
222
- ExecStart=${execStart}
223
- Environment=HOST=0.0.0.0
224
- Environment=CI=true
225
- Environment=PIXCODE_DAEMON_MANAGED=1
226
- Restart=always
227
- RestartSec=2
228
-
229
- [Install]
230
- WantedBy=default.target
218
+ return `[Unit]
219
+ Description=Pixcode Server
220
+ After=network.target
221
+
222
+ [Service]
223
+ Type=simple
224
+ WorkingDirectory=${appRoot}
225
+ ExecStart=${execStart}
226
+ Environment=HOST=0.0.0.0
227
+ Environment=CI=true
228
+ Environment=PIXCODE_DAEMON_MANAGED=1
229
+ Restart=always
230
+ RestartSec=2
231
+
232
+ [Install]
233
+ WantedBy=default.target
231
234
  `;
232
235
  }
233
236
  function resolveFrontendDaemonEntry(appRoot, cliEntry) {
@@ -268,22 +271,22 @@ function buildFrontendDaemonServiceUnit({ appRoot, frontendPort, nodeExecPath, c
268
271
  nodeExecPath,
269
272
  cliEntry,
270
273
  });
271
- return `[Unit]
272
- Description=Pixcode Frontend (Vite Dev Server)
273
- After=network.target
274
-
275
- [Service]
276
- Type=simple
277
- WorkingDirectory=${appRoot}
278
- ExecStart=${execStart}
279
- Environment=HOST=0.0.0.0
280
- Environment=CI=true
281
- Environment=PIXCODE_DAEMON_MANAGED=1
282
- Restart=always
283
- RestartSec=2
284
-
285
- [Install]
286
- WantedBy=default.target
274
+ return `[Unit]
275
+ Description=Pixcode Frontend (Vite Dev Server)
276
+ After=network.target
277
+
278
+ [Service]
279
+ Type=simple
280
+ WorkingDirectory=${appRoot}
281
+ ExecStart=${execStart}
282
+ Environment=HOST=0.0.0.0
283
+ Environment=CI=true
284
+ Environment=PIXCODE_DAEMON_MANAGED=1
285
+ Restart=always
286
+ RestartSec=2
287
+
288
+ [Install]
289
+ WantedBy=default.target
287
290
  `;
288
291
  }
289
292
  function normalizeState(value) {
@@ -475,41 +478,43 @@ function showDaemonHelp(c, context = {}) {
475
478
  const installExample = buildDaemonCliCommand({
476
479
  subcommand: 'install',
477
480
  mode: 'system',
478
- extraArgs: ['--port', '3001', '--frontend-port', '5173'],
481
+ extraArgs: ['--port', '3001', '--single-port'],
479
482
  }, context);
480
483
  const statusExample = buildDaemonCliCommand({ subcommand: 'status', mode: 'system' }, context);
481
484
  const doctorExample = buildDaemonCliCommand({ subcommand: 'doctor', mode: 'auto' }, context);
482
485
  const logsExample = buildDaemonCliCommand({ subcommand: 'logs', mode: 'system' }, context);
483
- console.log(`
484
- ${c.bright('Pixcode Daemon')} - Persistent Linux service manager
485
-
486
- Usage:
487
- ${usagePrefix} daemon [subcommand] [options]
488
-
489
- Subcommands:
490
- ${c.bright('install')} Install/update unit, reload daemon, enable and start now
491
- ${c.bright('start')} Start the service
492
- ${c.bright('stop')} Stop the service (temporary; auto-start remains enabled)
493
- ${c.bright('restart')} Restart the service
494
- ${c.bright('status')} Show active/enabled state
495
- ${c.bright('logs')} Show recent service logs
496
- ${c.bright('enable')} Enable auto-start at boot
497
- ${c.bright('disable')} Disable auto-start at boot
498
- ${c.bright('uninstall')} Stop, disable, and remove the service unit
499
- ${c.bright('doctor')} Run diagnostics (bus, linger, units, state, port, logs)
500
- ${c.bright('help')} Show this help
501
-
502
- Options:
503
- -p, --port <port> Set service server port (default: 3001)
504
- --frontend-port <port> Set frontend Vite port (default: 5173)
505
- -m, --mode <mode> Service mode: user | system | auto (default: system)
506
- --database-path <path> Set service database path
507
-
508
- Examples:
509
- $ ${installExample}
510
- $ ${statusExample}
511
- $ ${doctorExample}
512
- $ ${logsExample}
486
+ console.log(`
487
+ ${c.bright('Pixcode Daemon')} - Persistent Linux service manager
488
+
489
+ Usage:
490
+ ${usagePrefix} daemon [subcommand] [options]
491
+
492
+ Subcommands:
493
+ ${c.bright('install')} Install/update unit, reload daemon, enable and start now
494
+ ${c.bright('start')} Start the service
495
+ ${c.bright('stop')} Stop the service (temporary; auto-start remains enabled)
496
+ ${c.bright('restart')} Restart the service
497
+ ${c.bright('status')} Show active/enabled state
498
+ ${c.bright('logs')} Show recent service logs
499
+ ${c.bright('enable')} Enable auto-start at boot
500
+ ${c.bright('disable')} Disable auto-start at boot
501
+ ${c.bright('uninstall')} Stop, disable, and remove the service unit
502
+ ${c.bright('doctor')} Run diagnostics (bus, linger, units, state, port, logs)
503
+ ${c.bright('help')} Show this help
504
+
505
+ Options:
506
+ -p, --port <port> Set service server port (default: 3001)
507
+ --frontend-port <port> Start a separate frontend Vite service on this port (legacy/dev)
508
+ --single-port, --no-frontend
509
+ Serve the built UI from the backend port only (default)
510
+ -m, --mode <mode> Service mode: user | system | auto (default: system)
511
+ --database-path <path> Set service database path
512
+
513
+ Examples:
514
+ $ ${installExample}
515
+ $ ${statusExample}
516
+ $ ${doctorExample}
517
+ $ ${logsExample}
513
518
  `);
514
519
  }
515
520
  export function hasInstalledDaemonUnit() {
@@ -544,13 +549,15 @@ export async function handleDaemonCommand(args, context = {}) {
544
549
  const defaultFrontendPort = context.defaultFrontendPort || process.env.VITE_PORT || String(DEFAULT_FRONTEND_PORT);
545
550
  const configuredPort = parsed.options.serverPort || defaultPort;
546
551
  const configuredFrontendPort = parsed.options.frontendPort || defaultFrontendPort;
552
+ const frontendEnabled = parsed.options.noFrontend !== true &&
553
+ (Boolean(parsed.options.frontendPort) || process.env.PIXCODE_SEPARATE_FRONTEND === '1');
547
554
  const databasePath = parsed.options.databasePath || process.env.DATABASE_PATH || '';
548
555
  const portNum = Number(configuredPort);
549
556
  if (!Number.isInteger(portNum) || portNum < 1 || portNum > 65535) {
550
557
  throw new Error(`Invalid port "${configuredPort}". Expected an integer between 1 and 65535.`);
551
558
  }
552
559
  const frontendPortNum = Number(configuredFrontendPort);
553
- if (!Number.isInteger(frontendPortNum) || frontendPortNum < 1 || frontendPortNum > 65535) {
560
+ if (frontendEnabled && (!Number.isInteger(frontendPortNum) || frontendPortNum < 1 || frontendPortNum > 65535)) {
554
561
  throw new Error(`Invalid frontend port "${configuredFrontendPort}". Expected an integer between 1 and 65535.`);
555
562
  }
556
563
  const userBus = probeUserBus();
@@ -575,9 +582,13 @@ export async function handleDaemonCommand(args, context = {}) {
575
582
  const systemUnitInstalled = fs.existsSync(getDaemonServicePath('system'));
576
583
  const systemFrontendUnitInstalled = fs.existsSync(getFrontendServicePath('system'));
577
584
  const selectedModePort = getPortFromServiceUnit(servicePath) || portNum;
578
- const selectedModeFrontendPort = getPortFromServiceUnit(frontendServicePath) || frontendPortNum;
585
+ const selectedModeFrontendPort = frontendEnabled
586
+ ? getPortFromServiceUnit(frontendServicePath) || frontendPortNum
587
+ : undefined;
579
588
  const portReachable = await isPortReachable(selectedModePort);
580
- const frontendPortReachable = await isPortReachable(selectedModeFrontendPort);
589
+ const frontendPortReachable = selectedModeFrontendPort
590
+ ? await isPortReachable(selectedModeFrontendPort)
591
+ : false;
581
592
  const userState = userBus.ok
582
593
  ? {
583
594
  backend: getServiceState('user', DAEMON_SERVICE_NAME),
@@ -609,7 +620,10 @@ export async function handleDaemonCommand(args, context = {}) {
609
620
  console.log(`${c.info('[INFO]')} user state: backend active=${c.bright(userState.backend.active)} enabled=${c.bright(userState.backend.enabled)} | frontend active=${c.bright(userState.frontend.active)} enabled=${c.bright(userState.frontend.enabled)}`);
610
621
  console.log(`${c.info('[INFO]')} system state: backend active=${c.bright(systemState.backend.active)} enabled=${c.bright(systemState.backend.enabled)} | frontend active=${c.bright(systemState.frontend.active)} enabled=${c.bright(systemState.frontend.enabled)}`);
611
622
  console.log(`${c.info('[INFO]')} backend port: ${c.bright(String(selectedModePort))} (${portReachable ? c.ok('reachable') : c.warn('not reachable')})`);
612
- console.log(`${c.info('[INFO]')} frontend port: ${c.bright(String(selectedModeFrontendPort))} (${frontendPortReachable ? c.ok('reachable') : c.warn('not reachable')})`);
623
+ console.log(`${c.info('[INFO]')} frontend mode: ${frontendEnabled ? c.bright('separate Vite service') : c.bright('single backend port')}`);
624
+ if (frontendEnabled) {
625
+ console.log(`${c.info('[INFO]')} frontend port: ${c.bright(String(selectedModeFrontendPort))} (${frontendPortReachable ? c.ok('reachable') : c.warn('not reachable')})`);
626
+ }
613
627
  if (lastErrorLine) {
614
628
  console.log(`${c.warn('[WARN]')} Latest error: ${lastErrorLine}`);
615
629
  }
@@ -632,19 +646,16 @@ export async function handleDaemonCommand(args, context = {}) {
632
646
  console.log(`SYSTEM_FRONTEND_ENABLED=${systemState.frontend.enabled}`);
633
647
  console.log(`BACKEND_PORT=${selectedModePort}`);
634
648
  console.log(`BACKEND_PORT_REACHABLE=${portReachable}`);
635
- console.log(`FRONTEND_PORT=${selectedModeFrontendPort}`);
649
+ console.log(`FRONTEND_ENABLED=${frontendEnabled}`);
650
+ console.log(`FRONTEND_PORT=${selectedModeFrontendPort ?? ''}`);
636
651
  console.log(`FRONTEND_PORT_REACHABLE=${frontendPortReachable}`);
637
652
  console.log(`LAST_ERROR_LINE=${JSON.stringify(lastErrorLine || '')}\n`);
638
653
  return;
639
654
  }
640
- const serviceDefs = [
641
- {
642
- servicePath,
643
- },
644
- {
645
- servicePath: frontendServicePath,
646
- },
647
- ];
655
+ const serviceDefs = [{ servicePath }];
656
+ if (frontendEnabled) {
657
+ serviceDefs.push({ servicePath: frontendServicePath });
658
+ }
648
659
  switch (parsed.subcommand) {
649
660
  case 'install': {
650
661
  if (parsed.options.mode === 'auto' && mode === 'system' && !userBus.ok) {
@@ -652,7 +663,9 @@ export async function handleDaemonCommand(args, context = {}) {
652
663
  }
653
664
  try {
654
665
  fs.mkdirSync(path.dirname(servicePath), { recursive: true });
655
- fs.mkdirSync(path.dirname(frontendServicePath), { recursive: true });
666
+ if (frontendEnabled) {
667
+ fs.mkdirSync(path.dirname(frontendServicePath), { recursive: true });
668
+ }
656
669
  const backendUnitContent = buildDaemonServiceUnit({
657
670
  appRoot,
658
671
  serverPort: portNum,
@@ -661,20 +674,24 @@ export async function handleDaemonCommand(args, context = {}) {
661
674
  cliEntry: context.cliEntry,
662
675
  });
663
676
  fs.writeFileSync(servicePath, backendUnitContent, 'utf8');
664
- const frontendUnitContent = buildFrontendDaemonServiceUnit({
665
- appRoot,
666
- frontendPort: frontendPortNum,
667
- nodeExecPath: context.nodeExecPath,
668
- cliEntry: context.cliEntry,
669
- });
670
- fs.writeFileSync(frontendServicePath, frontendUnitContent, 'utf8');
677
+ if (frontendEnabled) {
678
+ const frontendUnitContent = buildFrontendDaemonServiceUnit({
679
+ appRoot,
680
+ frontendPort: frontendPortNum,
681
+ nodeExecPath: context.nodeExecPath,
682
+ cliEntry: context.cliEntry,
683
+ });
684
+ fs.writeFileSync(frontendServicePath, frontendUnitContent, 'utf8');
685
+ }
671
686
  }
672
687
  catch (fileError) {
673
688
  if (mode === 'system' && (fileError.code === 'EACCES' || fileError.code === 'EPERM')) {
674
689
  const installHint = buildDaemonCliCommand({
675
690
  subcommand: 'install',
676
691
  mode: 'system',
677
- extraArgs: ['--port', String(portNum), '--frontend-port', String(frontendPortNum)],
692
+ extraArgs: frontendEnabled
693
+ ? ['--port', String(portNum), '--frontend-port', String(frontendPortNum)]
694
+ : ['--port', String(portNum), '--single-port'],
678
695
  }, daemonCommandContext);
679
696
  throw new Error(`Permission denied writing daemon unit files (${servicePath}, ${frontendServicePath}). ` +
680
697
  `Try: ${installHint}`);
@@ -683,7 +700,13 @@ export async function handleDaemonCommand(args, context = {}) {
683
700
  }
684
701
  runSystemctl(mode, ['daemon-reload']);
685
702
  runSystemctl(mode, ['enable', '--now', DAEMON_SERVICE_NAME]);
686
- runSystemctl(mode, ['enable', '--now', FRONTEND_DAEMON_SERVICE_NAME]);
703
+ if (frontendEnabled) {
704
+ runSystemctl(mode, ['enable', '--now', FRONTEND_DAEMON_SERVICE_NAME]);
705
+ }
706
+ else {
707
+ runSystemctl(mode, ['stop', FRONTEND_DAEMON_SERVICE_NAME], { allowFailure: true });
708
+ runSystemctl(mode, ['disable', FRONTEND_DAEMON_SERVICE_NAME], { allowFailure: true });
709
+ }
687
710
  if (mode === 'user') {
688
711
  const lingerResult = runCommand('loginctl', ['enable-linger', os.userInfo().username]);
689
712
  if (lingerResult.status !== 0) {
@@ -693,28 +716,38 @@ export async function handleDaemonCommand(args, context = {}) {
693
716
  }
694
717
  }
695
718
  const installedPort = getPortFromServiceUnit(servicePath) || portNum;
696
- const installedFrontendPort = getPortFromServiceUnit(frontendServicePath) || frontendPortNum;
697
719
  await healthCheckOrThrow(mode, DAEMON_SERVICE_NAME, installedPort, c);
698
- await healthCheckOrThrow(mode, FRONTEND_DAEMON_SERVICE_NAME, installedFrontendPort, c);
720
+ const installedFrontendPort = frontendEnabled
721
+ ? getPortFromServiceUnit(frontendServicePath) || frontendPortNum
722
+ : undefined;
723
+ if (frontendEnabled && installedFrontendPort) {
724
+ await healthCheckOrThrow(mode, FRONTEND_DAEMON_SERVICE_NAME, installedFrontendPort, c);
725
+ }
699
726
  const backendState = getServiceState(mode, DAEMON_SERVICE_NAME);
700
- const frontendState = getServiceState(mode, FRONTEND_DAEMON_SERVICE_NAME);
727
+ const frontendState = frontendEnabled
728
+ ? getServiceState(mode, FRONTEND_DAEMON_SERVICE_NAME)
729
+ : { active: 'disabled', enabled: 'disabled' };
701
730
  console.log(`\n${c.ok('✔')} Daemon installed and started.`);
702
731
  console.log(` Mode: ${c.bright(mode)}`);
703
732
  console.log(` Backend Unit: ${c.dim(servicePath)}`);
704
- console.log(` Frontend Unit: ${c.dim(frontendServicePath)}`);
733
+ console.log(` Frontend Mode: ${c.bright(frontendEnabled ? 'separate service' : 'single backend port')}`);
705
734
  console.log(` Backend Active: ${c.bright(backendState.active)}`);
706
735
  console.log(` Backend Enabled:${c.bright(backendState.enabled)}`);
707
- console.log(` Frontend Active:${c.bright(frontendState.active)}`);
708
- console.log(` Frontend Enabled:${c.bright(frontendState.enabled)}`);
709
736
  console.log(` Backend URL: ${c.bright(`http://localhost:${installedPort}`)}`);
710
- console.log(` Frontend URL: ${c.bright(`http://localhost:${installedFrontendPort}`)}\n`);
737
+ if (frontendEnabled) {
738
+ console.log(` Frontend Unit: ${c.dim(frontendServicePath)}`);
739
+ console.log(` Frontend Active:${c.bright(frontendState.active)}`);
740
+ console.log(` Frontend Enabled:${c.bright(frontendState.enabled)}`);
741
+ console.log(` Frontend URL: ${c.bright(`http://localhost:${installedFrontendPort}`)}`);
742
+ }
743
+ console.log('');
711
744
  if (mode === 'system') {
712
745
  const statusCommand = buildDaemonCliCommand({ subcommand: 'status', mode: 'system' }, daemonCommandContext);
713
746
  const stopCommand = buildDaemonCliCommand({ subcommand: 'stop', mode: 'system' }, daemonCommandContext);
714
747
  const logsCommand = buildDaemonCliCommand({ subcommand: 'logs', mode: 'system' }, daemonCommandContext);
715
- console.log(`${c.ok('[OK]')} System daemon is active for backend and frontend.`);
748
+ console.log(`${c.ok('[OK]')} System daemon is active.`);
716
749
  console.log(`${c.info('[INFO]')} Backend health: ${c.bright(`http://localhost:${installedPort}/health`)}`);
717
- console.log(`${c.info('[INFO]')} Frontend: ${c.bright(`http://localhost:${installedFrontendPort}/`)}`);
750
+ console.log(`${c.info('[INFO]')} UI: ${c.bright(`http://localhost:${installedPort}/`)}`);
718
751
  console.log(`${c.info('[INFO]')} Status: ${c.bright(statusCommand)}`);
719
752
  console.log(`${c.info('[INFO]')} Stop: ${c.bright(stopCommand)}`);
720
753
  console.log(`${c.info('[INFO]')} Logs: ${c.bright(logsCommand)}\n`);
@@ -724,9 +757,9 @@ export async function handleDaemonCommand(args, context = {}) {
724
757
  const statusCommand = buildDaemonCliCommand({ subcommand: 'status', mode: 'user' }, daemonCommandContext);
725
758
  const stopCommand = buildDaemonCliCommand({ subcommand: 'stop', mode: 'user' }, daemonCommandContext);
726
759
  const logsCommand = buildDaemonCliCommand({ subcommand: 'logs', mode: 'user' }, daemonCommandContext);
727
- console.log(`${c.ok('[OK]')} User daemon is active for backend and frontend.`);
760
+ console.log(`${c.ok('[OK]')} User daemon is active.`);
728
761
  console.log(`${c.info('[INFO]')} Backend health: ${c.bright(`http://localhost:${installedPort}/health`)}`);
729
- console.log(`${c.info('[INFO]')} Frontend: ${c.bright(`http://localhost:${installedFrontendPort}/`)}`);
762
+ console.log(`${c.info('[INFO]')} UI: ${c.bright(`http://localhost:${installedPort}/`)}`);
730
763
  console.log(`${c.info('[INFO]')} Status: ${c.bright(statusCommand)}`);
731
764
  console.log(`${c.info('[INFO]')} Stop: ${c.bright(stopCommand)}`);
732
765
  console.log(`${c.info('[INFO]')} Logs: ${c.bright(logsCommand)}`);
@@ -741,32 +774,37 @@ export async function handleDaemonCommand(args, context = {}) {
741
774
  }
742
775
  case 'start':
743
776
  runSystemctl(mode, ['start', DAEMON_SERVICE_NAME]);
744
- runSystemctl(mode, ['start', FRONTEND_DAEMON_SERVICE_NAME]);
777
+ if (frontendEnabled)
778
+ runSystemctl(mode, ['start', FRONTEND_DAEMON_SERVICE_NAME]);
745
779
  await healthCheckOrThrow(mode, DAEMON_SERVICE_NAME, effectivePort, c);
746
- await healthCheckOrThrow(mode, FRONTEND_DAEMON_SERVICE_NAME, effectiveFrontendPort, c);
747
- console.log(`${c.ok('[OK]')} Backend and frontend services started.`);
780
+ if (frontendEnabled)
781
+ await healthCheckOrThrow(mode, FRONTEND_DAEMON_SERVICE_NAME, effectiveFrontendPort, c);
782
+ console.log(`${c.ok('[OK]')} Pixcode service started.`);
748
783
  break;
749
784
  case 'stop':
750
785
  runSystemctl(mode, ['stop', FRONTEND_DAEMON_SERVICE_NAME], { allowFailure: true });
751
786
  runSystemctl(mode, ['stop', DAEMON_SERVICE_NAME]);
752
- console.log(`${c.ok('[OK]')} Backend and frontend services stopped (auto-start remains enabled).`);
787
+ console.log(`${c.ok('[OK]')} Pixcode service stopped (auto-start remains enabled).`);
753
788
  break;
754
789
  case 'restart':
755
790
  runSystemctl(mode, ['restart', DAEMON_SERVICE_NAME]);
756
- runSystemctl(mode, ['restart', FRONTEND_DAEMON_SERVICE_NAME]);
791
+ if (frontendEnabled)
792
+ runSystemctl(mode, ['restart', FRONTEND_DAEMON_SERVICE_NAME]);
757
793
  await healthCheckOrThrow(mode, DAEMON_SERVICE_NAME, effectivePort, c);
758
- await healthCheckOrThrow(mode, FRONTEND_DAEMON_SERVICE_NAME, effectiveFrontendPort, c);
759
- console.log(`${c.ok('[OK]')} Backend and frontend services restarted.`);
794
+ if (frontendEnabled)
795
+ await healthCheckOrThrow(mode, FRONTEND_DAEMON_SERVICE_NAME, effectiveFrontendPort, c);
796
+ console.log(`${c.ok('[OK]')} Pixcode service restarted.`);
760
797
  break;
761
798
  case 'enable':
762
799
  runSystemctl(mode, ['enable', DAEMON_SERVICE_NAME]);
763
- runSystemctl(mode, ['enable', FRONTEND_DAEMON_SERVICE_NAME]);
764
- console.log(`${c.ok('[OK]')} Backend and frontend services enabled for auto-start.`);
800
+ if (frontendEnabled)
801
+ runSystemctl(mode, ['enable', FRONTEND_DAEMON_SERVICE_NAME]);
802
+ console.log(`${c.ok('[OK]')} Pixcode service enabled for auto-start.`);
765
803
  break;
766
804
  case 'disable':
767
805
  runSystemctl(mode, ['disable', DAEMON_SERVICE_NAME]);
768
806
  runSystemctl(mode, ['disable', FRONTEND_DAEMON_SERVICE_NAME]);
769
- console.log(`${c.ok('[OK]')} Backend and frontend services disabled for auto-start.`);
807
+ console.log(`${c.ok('[OK]')} Pixcode service disabled for auto-start.`);
770
808
  break;
771
809
  case 'logs': {
772
810
  const logsResult = readLogs(mode, 100, true, [DAEMON_SERVICE_NAME, FRONTEND_DAEMON_SERVICE_NAME]);
@@ -805,17 +843,26 @@ export async function handleDaemonCommand(args, context = {}) {
805
843
  const backendUnitExists = fs.existsSync(servicePath);
806
844
  const frontendUnitExists = fs.existsSync(frontendServicePath);
807
845
  const selectedPort = getPortFromServiceUnit(servicePath) || portNum;
808
- const selectedFrontendPort = getPortFromServiceUnit(frontendServicePath) || frontendPortNum;
846
+ const selectedFrontendPort = frontendEnabled
847
+ ? getPortFromServiceUnit(frontendServicePath) || frontendPortNum
848
+ : undefined;
809
849
  console.log(`\n${c.bright('Pixcode Daemon Status')}\n`);
810
850
  console.log(`${c.info('[INFO]')} Mode: ${c.bright(mode)} ${parsed.options.mode === 'auto' ? c.dim('(resolved from auto)') : ''}`);
811
851
  console.log(`${c.info('[INFO]')} Backend Unit: ${c.dim(servicePath)} ${backendUnitExists ? c.ok('[OK]') : c.warn('[MISSING]')}`);
812
852
  console.log(`${c.info('[INFO]')} Backend Active: ${c.bright(backendState.active)}`);
813
853
  console.log(`${c.info('[INFO]')} Backend Enabled:${c.bright(backendState.enabled)}`);
814
854
  console.log(`${c.info('[INFO]')} Backend Port: ${c.bright(String(selectedPort))}`);
815
- console.log(`${c.info('[INFO]')} Frontend Unit: ${c.dim(frontendServicePath)} ${frontendUnitExists ? c.ok('[OK]') : c.warn('[MISSING]')}`);
816
- console.log(`${c.info('[INFO]')} Frontend Active:${c.bright(frontendState.active)}`);
817
- console.log(`${c.info('[INFO]')} Frontend Enabled:${c.bright(frontendState.enabled)}`);
818
- console.log(`${c.info('[INFO]')} Frontend Port: ${c.bright(String(selectedFrontendPort))}`);
855
+ console.log(`${c.info('[INFO]')} UI URL: ${c.bright(`http://localhost:${selectedPort}/`)}`);
856
+ console.log(`${c.info('[INFO]')} Frontend Mode: ${frontendEnabled ? c.bright('separate Vite service') : c.bright('single backend port')}`);
857
+ if (frontendEnabled) {
858
+ console.log(`${c.info('[INFO]')} Frontend Unit: ${c.dim(frontendServicePath)} ${frontendUnitExists ? c.ok('[OK]') : c.warn('[MISSING]')}`);
859
+ console.log(`${c.info('[INFO]')} Frontend Active:${c.bright(frontendState.active)}`);
860
+ console.log(`${c.info('[INFO]')} Frontend Enabled:${c.bright(frontendState.enabled)}`);
861
+ console.log(`${c.info('[INFO]')} Frontend Port: ${c.bright(String(selectedFrontendPort))}`);
862
+ }
863
+ else if (frontendUnitExists) {
864
+ console.log(`${c.info('[INFO]')} Legacy Frontend:${c.dim(frontendServicePath)} active=${c.bright(frontendState.active)} enabled=${c.bright(frontendState.enabled)}`);
865
+ }
819
866
  console.log('');
820
867
  }
821
868
  }
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-manager.js","sourceRoot":"","sources":["../../server/daemon-manager.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-manager.js","sourceRoot":"","sources":["../../server/daemon-manager.js"],"names":[],"mappings":"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"}