@pixelbyte-software/pixcode 1.54.6 → 1.54.8
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/CODE_OF_CONDUCT.md +41 -41
- package/CONTRIBUTING.md +155 -155
- package/LICENSE +718 -718
- package/README.de.md +169 -169
- package/README.ja.md +167 -167
- package/README.ko.md +167 -167
- package/README.md +418 -418
- package/README.ru.md +169 -169
- package/README.tr.md +298 -298
- package/README.zh-CN.md +167 -167
- package/SECURITY.md +46 -46
- package/dist/api-automation.html +110 -110
- package/dist/api-docs.html +548 -548
- package/dist/assets/{index-DJ_KIN2W.js → index-BU3Z3zrh.js} +186 -184
- package/dist/assets/index-Dz1luE0u.css +32 -0
- package/dist/clear-cache.html +85 -85
- package/dist/convert-icons.md +52 -52
- package/dist/docs.html +308 -308
- package/dist/features.html +133 -133
- package/dist/generate-icons.js +48 -48
- package/dist/humans.txt +15 -15
- package/dist/icons/codex-white.svg +3 -3
- package/dist/icons/codex.svg +3 -3
- package/dist/icons/cursor-white.svg +11 -11
- package/dist/icons/qwen-logo.svg +14 -14
- package/dist/index.html +59 -59
- package/dist/landing.html +268 -268
- package/dist/llms-full.txt +119 -119
- package/dist/llms.txt +53 -53
- package/dist/manifest.json +60 -60
- package/dist/openapi.yaml +1696 -1696
- package/dist/orchestration.html +125 -125
- package/dist/robots.txt +4 -4
- package/dist/site.css +692 -692
- package/dist/sitemap.xml +51 -51
- package/dist/sw.js +132 -132
- package/dist-server/server/cli.js +100 -100
- package/dist-server/server/daemon/manager.js +33 -33
- package/dist-server/server/daemon-manager.js +64 -64
- package/dist-server/server/index.js +113 -31
- package/dist-server/server/index.js.map +1 -1
- package/dist-server/server/routes/auth.js +17 -5
- package/dist-server/server/routes/auth.js.map +1 -1
- package/dist-server/server/routes/commands.js +25 -25
- package/dist-server/server/routes/git.js +17 -17
- package/dist-server/server/routes/live-view.js +46 -46
- package/dist-server/server/services/public-api-manifest.js +51 -51
- package/package.json +224 -224
- package/scripts/fix-node-pty.js +67 -67
- package/scripts/github/create-v1.38-issues.mjs +351 -351
- package/scripts/github/create-vscode-workbench-issues.mjs +121 -121
- package/scripts/smoke/backend-resource-bounds.mjs +152 -152
- package/scripts/smoke/changes-panel-layout.mjs +48 -48
- package/scripts/smoke/chat-composer-fixed-layout.mjs +55 -55
- package/scripts/smoke/chat-message-timeline-order.mjs +41 -41
- package/scripts/smoke/chat-realtime-hydration.mjs +44 -44
- package/scripts/smoke/chat-session-provider-pools.mjs +35 -35
- package/scripts/smoke/chat-session-state.mjs +19 -19
- package/scripts/smoke/code-editor-theme.mjs +55 -55
- package/scripts/smoke/code-editor-vscode-engine.mjs +91 -91
- package/scripts/smoke/command-center-agent-writes.mjs +79 -79
- package/scripts/smoke/command-center-non-git.mjs +46 -46
- package/scripts/smoke/context-packet.mjs +43 -43
- package/scripts/smoke/control-room-ux-redesign.mjs +91 -91
- package/scripts/smoke/daemon-entrypoint.mjs +20 -20
- package/scripts/smoke/default-landing-routing.mjs +33 -33
- package/scripts/smoke/desktop-native-notifications.mjs +30 -30
- package/scripts/smoke/desktop-tray-icon.mjs +33 -33
- package/scripts/smoke/discord-release-workflow.mjs +24 -24
- package/scripts/smoke/git-install-update.mjs +255 -255
- package/scripts/smoke/handoff-artifact-protocol.mjs +50 -50
- package/scripts/smoke/live-view-diagnostics.mjs +53 -53
- package/scripts/smoke/live-view-environment.mjs +92 -92
- package/scripts/smoke/live-view-integration.mjs +450 -450
- package/scripts/smoke/mac-desktop-runtime.mjs +37 -37
- package/scripts/smoke/mobile-tunnel-guidance.mjs +29 -29
- package/scripts/smoke/mobile-ux.mjs +76 -76
- package/scripts/smoke/model-registry.mjs +36 -36
- package/scripts/smoke/multi-project-ui.mjs +45 -45
- package/scripts/smoke/multi-worker-slots.mjs +42 -42
- package/scripts/smoke/notification-center.mjs +87 -87
- package/scripts/smoke/notification-inapp-preference.mjs +23 -23
- package/scripts/smoke/notification-taxonomy.mjs +58 -58
- package/scripts/smoke/orchestration-api.mjs +172 -172
- package/scripts/smoke/orchestration-execution-dashboard.mjs +33 -33
- package/scripts/smoke/orchestration-live-run.mjs +176 -176
- package/scripts/smoke/orchestration-mobile-scroll.mjs +29 -29
- package/scripts/smoke/orchestration-model-sync.mjs +30 -30
- package/scripts/smoke/orchestration-permission-fallback.mjs +34 -34
- package/scripts/smoke/orchestration-runtime-guards.mjs +48 -48
- package/scripts/smoke/orchestration-user-facing-output.mjs +25 -25
- package/scripts/smoke/permission-policy.mjs +50 -50
- package/scripts/smoke/pixcode-workbench-1-48.mjs +167 -167
- package/scripts/smoke/provider-models-opencode-live.mjs +66 -66
- package/scripts/smoke/provider-rest-api.mjs +124 -124
- package/scripts/smoke/provider-selection-status.mjs +52 -52
- package/scripts/smoke/run-state-refresh.mjs +52 -52
- package/scripts/smoke/runtime-manager.mjs +99 -99
- package/scripts/smoke/shell-manual-disconnect.mjs +30 -30
- package/scripts/smoke/side-panel-editor-layout.mjs +34 -34
- package/scripts/smoke/static-root-routing.mjs +21 -21
- package/scripts/smoke/strict-handoff-compact.mjs +60 -60
- package/scripts/smoke/taskmaster-config.mjs +24 -24
- package/scripts/smoke/taskmaster-execution-telegram.mjs +3 -3
- package/scripts/smoke/taskmaster-onboarding.mjs +3 -3
- package/scripts/smoke/taskmaster-run-graph.mjs +3 -3
- package/scripts/smoke/telegram-control.mjs +331 -331
- package/scripts/smoke/tunnel-persistence.mjs +56 -56
- package/scripts/smoke/update-issue-progress.mjs +69 -69
- package/scripts/smoke/update-ux.mjs +55 -55
- package/scripts/smoke/v138-completion.mjs +132 -132
- package/scripts/smoke/v138-desktop-release-hardening.mjs +69 -69
- package/scripts/smoke/v138-diagnostics.mjs +63 -63
- package/scripts/smoke/v138-issue-planner.mjs +33 -33
- package/scripts/smoke/v143-remote-control.mjs +76 -76
- package/scripts/smoke/v144-production-loop.mjs +47 -47
- package/scripts/smoke/v145-platformization.mjs +46 -46
- package/scripts/smoke/v146-control-room-ui.mjs +150 -150
- package/scripts/smoke/version-modal-autoshow.mjs +29 -29
- package/scripts/smoke/vscode-workbench-layout.mjs +63 -63
- package/scripts/smoke/vscode-workbench-polish.mjs +461 -461
- package/scripts/smoke/workflow-fallback-replay.mjs +56 -56
- package/scripts/smoke/workflow-templates.mjs +43 -43
- package/scripts/smoke/workflow-trace-timeline.mjs +46 -46
- package/scripts/update-git-install.mjs +298 -298
- package/server/claude-sdk.js +927 -927
- package/server/cli.js +1106 -1106
- package/server/constants/config.js +4 -4
- package/server/cursor-cli.js +344 -344
- package/server/daemon/manager.js +563 -563
- package/server/daemon-manager.js +964 -964
- package/server/database/db.js +988 -988
- package/server/database/json-store.js +197 -197
- package/server/gemini-cli.js +550 -550
- package/server/gemini-response-handler.js +79 -79
- package/server/index.js +5620 -5544
- package/server/load-env.js +35 -35
- package/server/middleware/account-lockout.js +112 -112
- package/server/middleware/auth.js +277 -277
- package/server/middleware/rate-limiter.js +87 -87
- package/server/modules/orchestration/a2a/adapter-registry.ts +108 -108
- package/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.ts +63 -63
- package/server/modules/orchestration/a2a/adapters/claude-code.adapter.ts +286 -286
- package/server/modules/orchestration/a2a/adapters/codex.adapter.ts +244 -244
- package/server/modules/orchestration/a2a/adapters/cursor.adapter.ts +249 -249
- package/server/modules/orchestration/a2a/adapters/gemini.adapter.ts +248 -248
- package/server/modules/orchestration/a2a/adapters/json-event.adapter.test.ts +60 -60
- package/server/modules/orchestration/a2a/adapters/json-event.adapter.ts +101 -101
- package/server/modules/orchestration/a2a/adapters/opencode.adapter.ts +248 -248
- package/server/modules/orchestration/a2a/adapters/qwen.adapter.ts +248 -248
- package/server/modules/orchestration/a2a/agent-card.ts +55 -55
- package/server/modules/orchestration/a2a/auth.middleware.ts +29 -29
- package/server/modules/orchestration/a2a/bus.ts +46 -46
- package/server/modules/orchestration/a2a/routes.ts +586 -586
- package/server/modules/orchestration/a2a/task-dispatcher.ts +345 -345
- package/server/modules/orchestration/a2a/task-store.ts +178 -178
- package/server/modules/orchestration/a2a/types.ts +126 -126
- package/server/modules/orchestration/a2a/validator.ts +113 -113
- package/server/modules/orchestration/index.ts +99 -99
- package/server/modules/orchestration/preview/port-watcher.ts +112 -112
- package/server/modules/orchestration/preview/preview-proxy.ts +60 -60
- package/server/modules/orchestration/preview/types.ts +19 -19
- package/server/modules/orchestration/security/permission-policy.ts +401 -401
- package/server/modules/orchestration/tasks/orchestration-task-store.ts +41 -41
- package/server/modules/orchestration/tasks/orchestration-task.routes.ts +81 -81
- package/server/modules/orchestration/tasks/orchestration-task.service.ts +201 -201
- package/server/modules/orchestration/tasks/orchestration-task.types.ts +40 -40
- package/server/modules/orchestration/tasks/task-run-graph.ts +155 -155
- package/server/modules/orchestration/workflows/approval-queue.ts +106 -106
- package/server/modules/orchestration/workflows/built-in-workflows.ts +127 -127
- package/server/modules/orchestration/workflows/context-packet.ts +186 -186
- package/server/modules/orchestration/workflows/handoff-artifact.ts +175 -175
- package/server/modules/orchestration/workflows/workflow-fallback-policy.ts +161 -161
- package/server/modules/orchestration/workflows/workflow-replay.ts +254 -254
- package/server/modules/orchestration/workflows/workflow-runner.ts +2062 -2062
- package/server/modules/orchestration/workflows/workflow-store.ts +97 -97
- package/server/modules/orchestration/workflows/workflow-templates.ts +272 -272
- package/server/modules/orchestration/workflows/workflow-trace.ts +424 -424
- package/server/modules/orchestration/workflows/workflow.routes.ts +586 -586
- package/server/modules/orchestration/workflows/workflow.types.ts +111 -111
- package/server/modules/orchestration/workflows/workspace-target.ts +122 -122
- package/server/modules/orchestration/workspace/docker-workspace.ts +136 -136
- package/server/modules/orchestration/workspace/path-safety.ts +55 -55
- package/server/modules/orchestration/workspace/types.ts +52 -52
- package/server/modules/orchestration/workspace/workspace-manager.ts +102 -102
- package/server/modules/orchestration/workspace/worktree-workspace.ts +126 -126
- package/server/modules/providers/index.ts +2 -2
- package/server/modules/providers/list/claude/claude-auth.provider.ts +146 -146
- package/server/modules/providers/list/claude/claude-mcp.provider.ts +135 -135
- package/server/modules/providers/list/claude/claude-sessions.provider.ts +306 -306
- package/server/modules/providers/list/claude/claude.provider.ts +15 -15
- package/server/modules/providers/list/codex/codex-auth.provider.ts +117 -117
- package/server/modules/providers/list/codex/codex-mcp.provider.ts +135 -135
- package/server/modules/providers/list/codex/codex-sessions.provider.ts +319 -319
- package/server/modules/providers/list/codex/codex.provider.ts +15 -15
- package/server/modules/providers/list/cursor/cursor-auth.provider.ts +147 -147
- package/server/modules/providers/list/cursor/cursor-mcp.provider.ts +108 -108
- package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +421 -421
- package/server/modules/providers/list/cursor/cursor.provider.ts +15 -15
- package/server/modules/providers/list/gemini/gemini-auth.provider.ts +173 -173
- package/server/modules/providers/list/gemini/gemini-mcp.provider.ts +110 -110
- package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +227 -227
- package/server/modules/providers/list/gemini/gemini.provider.ts +15 -15
- package/server/modules/providers/list/opencode/opencode-auth.provider.ts +131 -131
- package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +286 -286
- package/server/modules/providers/list/qwen/qwen-auth.provider.ts +146 -146
- package/server/modules/providers/list/qwen/qwen-sessions.provider.ts +265 -265
- package/server/modules/providers/provider.registry.ts +40 -40
- package/server/modules/providers/provider.routes.ts +982 -982
- package/server/modules/providers/services/mcp.service.ts +86 -86
- package/server/modules/providers/services/provider-auth.service.ts +26 -26
- package/server/modules/providers/services/sessions.service.ts +45 -45
- package/server/modules/providers/shared/base/abstract.provider.ts +20 -20
- package/server/modules/providers/shared/mcp/mcp.provider.ts +151 -151
- package/server/modules/providers/tests/mcp.test.ts +293 -293
- package/server/openai-codex.js +468 -468
- package/server/opencode-cli.js +491 -491
- package/server/opencode-response-handler.js +111 -111
- package/server/projects.js +3125 -3125
- package/server/qwen-code-cli.js +410 -410
- package/server/routes/agent.js +1451 -1451
- package/server/routes/auth.js +298 -286
- package/server/routes/codex.js +20 -20
- package/server/routes/commands.js +581 -581
- package/server/routes/cursor.js +61 -61
- package/server/routes/diagnostics.js +44 -44
- package/server/routes/gemini.js +25 -25
- package/server/routes/git.js +1822 -1822
- package/server/routes/live-view.js +434 -434
- package/server/routes/mcp-utils.js +13 -13
- package/server/routes/messages.js +97 -97
- package/server/routes/network.js +143 -143
- package/server/routes/platformization.js +231 -231
- package/server/routes/plugins.js +690 -690
- package/server/routes/production-agent-loop.js +90 -90
- package/server/routes/projects.js +918 -918
- package/server/routes/public-api.js +34 -34
- package/server/routes/qwen.js +27 -27
- package/server/routes/remote.js +56 -56
- package/server/routes/settings.js +321 -321
- package/server/routes/telegram.js +163 -163
- package/server/routes/user.js +125 -125
- package/server/routes/webhooks.js +63 -63
- package/server/services/control-room.js +102 -102
- package/server/services/diagnostics.js +165 -165
- package/server/services/external-access.js +403 -403
- package/server/services/install-jobs.js +715 -715
- package/server/services/live-view.js +956 -956
- package/server/services/managed-runtimes.js +493 -493
- package/server/services/model-registry.js +144 -144
- package/server/services/notification-orchestrator.js +365 -365
- package/server/services/notification-taxonomy.js +204 -204
- package/server/services/platformization.js +1052 -1052
- package/server/services/production-agent-loop.js +248 -248
- package/server/services/provider-cli-versions.js +149 -149
- package/server/services/provider-credentials.js +189 -189
- package/server/services/provider-models.js +396 -396
- package/server/services/public-api-manifest.js +181 -181
- package/server/services/qr-login.js +126 -126
- package/server/services/remote-connection.js +127 -127
- package/server/services/runtime-manager.js +323 -323
- package/server/services/startup-update.js +259 -259
- package/server/services/telegram/bot.js +393 -393
- package/server/services/telegram/control-center.js +2453 -2453
- package/server/services/telegram/telegram-gateway.js +314 -314
- package/server/services/telegram/telegram-http-client.js +201 -201
- package/server/services/telegram/translations.js +470 -470
- package/server/services/webhooks.js +216 -216
- package/server/sessionManager.js +225 -225
- package/server/setup-wizard.js +283 -283
- package/server/shared/interfaces.ts +54 -54
- package/server/shared/types.ts +172 -172
- package/server/shared/utils.ts +193 -193
- package/server/tsconfig.json +36 -36
- package/server/utils/colors.js +21 -21
- package/server/utils/commandParser.js +305 -305
- package/server/utils/frontmatter.js +18 -18
- package/server/utils/gitConfig.js +34 -34
- package/server/utils/plugin-loader.js +461 -461
- package/server/utils/plugin-process-manager.js +185 -185
- package/server/utils/port-access.js +227 -227
- package/server/utils/runtime-paths.js +37 -37
- package/server/utils/security-log.js +84 -84
- package/server/utils/url-detection.js +71 -71
- package/server/vite-daemon.js +79 -79
- package/shared/modelConstants.js +161 -161
- package/shared/networkHosts.js +22 -22
- package/dist/assets/index-DvudRU5X.css +0 -32
|
@@ -35,12 +35,24 @@ router.get('/status', async (req, res) => {
|
|
|
35
35
|
router.get('/connection-mode', (req, res) => {
|
|
36
36
|
res.json({ success: true, connection: getPublicRemoteConnectionConfig() });
|
|
37
37
|
});
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
// redirect the app to a malicious
|
|
41
|
-
|
|
38
|
+
// Connection mode can be set during initial setup (no users exist yet) without
|
|
39
|
+
// authentication. After setup, only authenticated admins may change it — an
|
|
40
|
+
// unauthenticated caller could otherwise redirect the app to a malicious
|
|
41
|
+
// remote server.
|
|
42
|
+
router.put('/connection-mode', async (req, res) => {
|
|
42
43
|
try {
|
|
43
|
-
|
|
44
|
+
// During first-run setup no users exist yet, so we skip auth.
|
|
45
|
+
// The setup form calls this endpoint before creating the admin account.
|
|
46
|
+
const hasUsers = await userDb.hasUsers();
|
|
47
|
+
if (!hasUsers) {
|
|
48
|
+
return res.json({ success: true, connection: saveRemoteConnectionConfig(req.body || {}) });
|
|
49
|
+
}
|
|
50
|
+
// Post-setup: require authenticated admin
|
|
51
|
+
authenticateToken(req, res, () => {
|
|
52
|
+
requireAdmin(req, res, () => {
|
|
53
|
+
res.json({ success: true, connection: saveRemoteConnectionConfig(req.body || {}) });
|
|
54
|
+
});
|
|
55
|
+
});
|
|
44
56
|
}
|
|
45
57
|
catch (error) {
|
|
46
58
|
res.status(400).json({ success: false, error: error.message });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../server/routes/auth.js"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAEhC,SAAS,UAAU,CAAC,IAAI;IACtB,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ;KAC5B,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACvC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC;YACP,UAAU,EAAE,CAAC,QAAQ;YACrB,eAAe,EAAE,KAAK,CAAC,iDAAiD;SACzE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,yEAAyE;AACzE,6EAA6E;AAC7E,2CAA2C;AAC3C,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../server/routes/auth.js"],"names":[],"mappings":"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"}
|
|
@@ -144,31 +144,31 @@ function getProviderDefaultModel(provider) {
|
|
|
144
144
|
*/
|
|
145
145
|
const builtInHandlers = {
|
|
146
146
|
'/help': async (args, context) => {
|
|
147
|
-
const helpText = `# Claude Code Commands
|
|
148
|
-
|
|
149
|
-
## Built-in Commands
|
|
150
|
-
|
|
151
|
-
${builtInCommands.map(cmd => `### ${cmd.name}
|
|
152
|
-
${cmd.description}
|
|
153
|
-
`).join('\n')}
|
|
154
|
-
|
|
155
|
-
## Custom Commands
|
|
156
|
-
|
|
157
|
-
Custom commands can be created in:
|
|
158
|
-
- Project: \`.claude/commands/\` (project-specific)
|
|
159
|
-
- User: \`~/.claude/commands/\` (available in all projects)
|
|
160
|
-
|
|
161
|
-
### Command Syntax
|
|
162
|
-
|
|
163
|
-
- **Arguments**: Use \`$ARGUMENTS\` for all args or \`$1\`, \`$2\`, etc. for positional
|
|
164
|
-
- **File Includes**: Use \`@filename\` to include file contents
|
|
165
|
-
- **Bash Commands**: Use \`!command\` to execute bash commands
|
|
166
|
-
|
|
167
|
-
### Examples
|
|
168
|
-
|
|
169
|
-
\`\`\`markdown
|
|
170
|
-
/mycommand arg1 arg2
|
|
171
|
-
\`\`\`
|
|
147
|
+
const helpText = `# Claude Code Commands
|
|
148
|
+
|
|
149
|
+
## Built-in Commands
|
|
150
|
+
|
|
151
|
+
${builtInCommands.map(cmd => `### ${cmd.name}
|
|
152
|
+
${cmd.description}
|
|
153
|
+
`).join('\n')}
|
|
154
|
+
|
|
155
|
+
## Custom Commands
|
|
156
|
+
|
|
157
|
+
Custom commands can be created in:
|
|
158
|
+
- Project: \`.claude/commands/\` (project-specific)
|
|
159
|
+
- User: \`~/.claude/commands/\` (available in all projects)
|
|
160
|
+
|
|
161
|
+
### Command Syntax
|
|
162
|
+
|
|
163
|
+
- **Arguments**: Use \`$ARGUMENTS\` for all args or \`$1\`, \`$2\`, etc. for positional
|
|
164
|
+
- **File Includes**: Use \`@filename\` to include file contents
|
|
165
|
+
- **Bash Commands**: Use \`!command\` to execute bash commands
|
|
166
|
+
|
|
167
|
+
### Examples
|
|
168
|
+
|
|
169
|
+
\`\`\`markdown
|
|
170
|
+
/mycommand arg1 arg2
|
|
171
|
+
\`\`\`
|
|
172
172
|
`;
|
|
173
173
|
return {
|
|
174
174
|
type: 'builtin',
|
|
@@ -1051,23 +1051,23 @@ router.post('/generate-commit-message', async (req, res) => {
|
|
|
1051
1051
|
*/
|
|
1052
1052
|
async function generateCommitMessageWithAI(files, diffContext, provider, projectPath) {
|
|
1053
1053
|
// Create the prompt
|
|
1054
|
-
const prompt = `Generate a conventional commit message for these changes.
|
|
1055
|
-
|
|
1056
|
-
REQUIREMENTS:
|
|
1057
|
-
- Format: type(scope): subject
|
|
1058
|
-
- Include body explaining what changed and why
|
|
1059
|
-
- Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore
|
|
1060
|
-
- Subject under 50 chars, body wrapped at 72 chars
|
|
1061
|
-
- Focus on user-facing changes, not implementation details
|
|
1062
|
-
- Consider what's being added AND removed
|
|
1063
|
-
- Return ONLY the commit message (no markdown, explanations, or code blocks)
|
|
1064
|
-
|
|
1065
|
-
FILES CHANGED:
|
|
1066
|
-
${files.map(f => `- ${f}`).join('\n')}
|
|
1067
|
-
|
|
1068
|
-
DIFFS:
|
|
1069
|
-
${diffContext.substring(0, 4000)}
|
|
1070
|
-
|
|
1054
|
+
const prompt = `Generate a conventional commit message for these changes.
|
|
1055
|
+
|
|
1056
|
+
REQUIREMENTS:
|
|
1057
|
+
- Format: type(scope): subject
|
|
1058
|
+
- Include body explaining what changed and why
|
|
1059
|
+
- Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore
|
|
1060
|
+
- Subject under 50 chars, body wrapped at 72 chars
|
|
1061
|
+
- Focus on user-facing changes, not implementation details
|
|
1062
|
+
- Consider what's being added AND removed
|
|
1063
|
+
- Return ONLY the commit message (no markdown, explanations, or code blocks)
|
|
1064
|
+
|
|
1065
|
+
FILES CHANGED:
|
|
1066
|
+
${files.map(f => `- ${f}`).join('\n')}
|
|
1067
|
+
|
|
1068
|
+
DIFFS:
|
|
1069
|
+
${diffContext.substring(0, 4000)}
|
|
1070
|
+
|
|
1071
1071
|
Generate the commit message:`;
|
|
1072
1072
|
try {
|
|
1073
1073
|
// Create a simple writer that collects the response
|
|
@@ -124,52 +124,52 @@ export function renderLiveViewDiagnosticHtml(payload) {
|
|
|
124
124
|
const logs = payload.diagnostics?.logs?.length
|
|
125
125
|
? payload.diagnostics.logs.map((line) => escapeHtml(line)).join('\n')
|
|
126
126
|
: 'No process logs were captured yet.';
|
|
127
|
-
return `<!doctype html>
|
|
128
|
-
<html lang="en">
|
|
129
|
-
<head>
|
|
130
|
-
<meta charset="utf-8">
|
|
131
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
132
|
-
<title>Pixcode Live View diagnostics</title>
|
|
133
|
-
<style>
|
|
134
|
-
:root { color-scheme: light dark; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
|
|
135
|
-
body { margin: 0; min-height: 100vh; background: #0b0f14; color: #e5edf5; }
|
|
136
|
-
main { box-sizing: border-box; max-width: 980px; margin: 0 auto; padding: 32px 20px; }
|
|
137
|
-
.eyebrow { color: #f97316; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
|
|
138
|
-
h1 { margin: 8px 0 10px; font-size: clamp(26px, 5vw, 44px); line-height: 1.05; }
|
|
139
|
-
p { color: #a8b3c2; line-height: 1.6; }
|
|
140
|
-
section { margin-top: 18px; border: 1px solid rgba(148, 163, 184, .24); border-radius: 12px; background: rgba(15, 23, 42, .72); padding: 16px; }
|
|
141
|
-
dl { display: grid; grid-template-columns: minmax(110px, 180px) minmax(0, 1fr); gap: 10px 14px; margin: 0; }
|
|
142
|
-
dt { color: #94a3b8; font-size: 12px; text-transform: uppercase; }
|
|
143
|
-
dd { margin: 0; overflow-wrap: anywhere; }
|
|
144
|
-
pre { margin: 0; max-height: 280px; overflow: auto; white-space: pre-wrap; color: #dbeafe; background: #020617; border-radius: 10px; padding: 14px; }
|
|
145
|
-
code { color: #bfdbfe; }
|
|
146
|
-
li { margin: 8px 0; color: #d0d8e4; }
|
|
147
|
-
</style>
|
|
148
|
-
</head>
|
|
149
|
-
<body>
|
|
150
|
-
<main>
|
|
151
|
-
<div class="eyebrow">Pixcode Live View</div>
|
|
152
|
-
<h1>${escapeHtml(payload.message)}</h1>
|
|
153
|
-
<p>${escapeHtml(payload.errorDetail || 'The preview link is active, but the local runner is not ready.')}</p>
|
|
154
|
-
<section>
|
|
155
|
-
<dl>
|
|
156
|
-
<dt>Status</dt><dd>${escapeHtml(payload.status)}</dd>
|
|
157
|
-
<dt>Framework</dt><dd>${escapeHtml(payload.framework || 'Unknown')}</dd>
|
|
158
|
-
<dt>Command</dt><dd><code>${escapeHtml(payload.diagnostics?.command || 'No command captured')}</code></dd>
|
|
159
|
-
<dt>Upstream</dt><dd>${escapeHtml(payload.upstreamUrl || 'Not ready')}</dd>
|
|
160
|
-
<dt>Share ID</dt><dd>${escapeHtml(payload.shareId || 'Unknown')}</dd>
|
|
161
|
-
</dl>
|
|
162
|
-
</section>
|
|
163
|
-
<section>
|
|
164
|
-
<h2>What to check</h2>
|
|
165
|
-
<ul>${suggestions}</ul>
|
|
166
|
-
</section>
|
|
167
|
-
<section>
|
|
168
|
-
<h2>Process logs</h2>
|
|
169
|
-
<pre>${logs}</pre>
|
|
170
|
-
</section>
|
|
171
|
-
</main>
|
|
172
|
-
</body>
|
|
127
|
+
return `<!doctype html>
|
|
128
|
+
<html lang="en">
|
|
129
|
+
<head>
|
|
130
|
+
<meta charset="utf-8">
|
|
131
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
132
|
+
<title>Pixcode Live View diagnostics</title>
|
|
133
|
+
<style>
|
|
134
|
+
:root { color-scheme: light dark; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
|
|
135
|
+
body { margin: 0; min-height: 100vh; background: #0b0f14; color: #e5edf5; }
|
|
136
|
+
main { box-sizing: border-box; max-width: 980px; margin: 0 auto; padding: 32px 20px; }
|
|
137
|
+
.eyebrow { color: #f97316; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
|
|
138
|
+
h1 { margin: 8px 0 10px; font-size: clamp(26px, 5vw, 44px); line-height: 1.05; }
|
|
139
|
+
p { color: #a8b3c2; line-height: 1.6; }
|
|
140
|
+
section { margin-top: 18px; border: 1px solid rgba(148, 163, 184, .24); border-radius: 12px; background: rgba(15, 23, 42, .72); padding: 16px; }
|
|
141
|
+
dl { display: grid; grid-template-columns: minmax(110px, 180px) minmax(0, 1fr); gap: 10px 14px; margin: 0; }
|
|
142
|
+
dt { color: #94a3b8; font-size: 12px; text-transform: uppercase; }
|
|
143
|
+
dd { margin: 0; overflow-wrap: anywhere; }
|
|
144
|
+
pre { margin: 0; max-height: 280px; overflow: auto; white-space: pre-wrap; color: #dbeafe; background: #020617; border-radius: 10px; padding: 14px; }
|
|
145
|
+
code { color: #bfdbfe; }
|
|
146
|
+
li { margin: 8px 0; color: #d0d8e4; }
|
|
147
|
+
</style>
|
|
148
|
+
</head>
|
|
149
|
+
<body>
|
|
150
|
+
<main>
|
|
151
|
+
<div class="eyebrow">Pixcode Live View</div>
|
|
152
|
+
<h1>${escapeHtml(payload.message)}</h1>
|
|
153
|
+
<p>${escapeHtml(payload.errorDetail || 'The preview link is active, but the local runner is not ready.')}</p>
|
|
154
|
+
<section>
|
|
155
|
+
<dl>
|
|
156
|
+
<dt>Status</dt><dd>${escapeHtml(payload.status)}</dd>
|
|
157
|
+
<dt>Framework</dt><dd>${escapeHtml(payload.framework || 'Unknown')}</dd>
|
|
158
|
+
<dt>Command</dt><dd><code>${escapeHtml(payload.diagnostics?.command || 'No command captured')}</code></dd>
|
|
159
|
+
<dt>Upstream</dt><dd>${escapeHtml(payload.upstreamUrl || 'Not ready')}</dd>
|
|
160
|
+
<dt>Share ID</dt><dd>${escapeHtml(payload.shareId || 'Unknown')}</dd>
|
|
161
|
+
</dl>
|
|
162
|
+
</section>
|
|
163
|
+
<section>
|
|
164
|
+
<h2>What to check</h2>
|
|
165
|
+
<ul>${suggestions}</ul>
|
|
166
|
+
</section>
|
|
167
|
+
<section>
|
|
168
|
+
<h2>Process logs</h2>
|
|
169
|
+
<pre>${logs}</pre>
|
|
170
|
+
</section>
|
|
171
|
+
</main>
|
|
172
|
+
</body>
|
|
173
173
|
</html>`;
|
|
174
174
|
}
|
|
175
175
|
function requestPrefersHtml(req) {
|
|
@@ -56,57 +56,57 @@ export function buildPublicApiManifest({ baseUrl = '' } = {}) {
|
|
|
56
56
|
}
|
|
57
57
|
export function buildTypeScriptSdkStarter({ baseUrl = '' } = {}) {
|
|
58
58
|
const origin = String(baseUrl || 'http://127.0.0.1:3001').replace(/\/+$/, '');
|
|
59
|
-
return `export type PixcodeRun = {
|
|
60
|
-
id: string;
|
|
61
|
-
workflowId: string;
|
|
62
|
-
status: 'queued' | 'running' | 'completed' | 'failed' | 'canceled';
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
export class PixcodeClient {
|
|
66
|
-
constructor(
|
|
67
|
-
private readonly apiKey: string,
|
|
68
|
-
private readonly baseUrl = '${origin}',
|
|
69
|
-
) {}
|
|
70
|
-
|
|
71
|
-
private async request<T>(path: string, init: RequestInit = {}): Promise<T> {
|
|
72
|
-
const response = await fetch(new URL(path, this.baseUrl), {
|
|
73
|
-
...init,
|
|
74
|
-
headers: {
|
|
75
|
-
'Content-Type': 'application/json',
|
|
76
|
-
'X-API-Key': this.apiKey,
|
|
77
|
-
...(init.headers || {}),
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
if (!response.ok) throw new Error(\`Pixcode API \${response.status}: \${await response.text()}\`);
|
|
81
|
-
return response.json() as Promise<T>;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
projects() {
|
|
85
|
-
return this.request<{ projects: unknown[] }>('/api/projects');
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
controlRoom() {
|
|
89
|
-
return this.request<{ success: true; controlRoom: unknown }>('/api/remote/control-room');
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
approvals() {
|
|
93
|
-
return this.request<{ pendingApprovals: unknown[] }>('/api/orchestration/workflows/approvals');
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
decideApproval(approvalId: string, allow: boolean) {
|
|
97
|
-
return this.request(\`/api/orchestration/workflows/approvals/\${encodeURIComponent(approvalId)}\`, {
|
|
98
|
-
method: 'POST',
|
|
99
|
-
body: JSON.stringify({ allow, source: 'api' }),
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
startWorkflow(workflowId: string, input: string, metadata: Record<string, unknown> = {}) {
|
|
104
|
-
return this.request<PixcodeRun>(\`/api/orchestration/workflows/\${encodeURIComponent(workflowId)}/runs\`, {
|
|
105
|
-
method: 'POST',
|
|
106
|
-
body: JSON.stringify({ input, metadata }),
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
59
|
+
return `export type PixcodeRun = {
|
|
60
|
+
id: string;
|
|
61
|
+
workflowId: string;
|
|
62
|
+
status: 'queued' | 'running' | 'completed' | 'failed' | 'canceled';
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export class PixcodeClient {
|
|
66
|
+
constructor(
|
|
67
|
+
private readonly apiKey: string,
|
|
68
|
+
private readonly baseUrl = '${origin}',
|
|
69
|
+
) {}
|
|
70
|
+
|
|
71
|
+
private async request<T>(path: string, init: RequestInit = {}): Promise<T> {
|
|
72
|
+
const response = await fetch(new URL(path, this.baseUrl), {
|
|
73
|
+
...init,
|
|
74
|
+
headers: {
|
|
75
|
+
'Content-Type': 'application/json',
|
|
76
|
+
'X-API-Key': this.apiKey,
|
|
77
|
+
...(init.headers || {}),
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
if (!response.ok) throw new Error(\`Pixcode API \${response.status}: \${await response.text()}\`);
|
|
81
|
+
return response.json() as Promise<T>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
projects() {
|
|
85
|
+
return this.request<{ projects: unknown[] }>('/api/projects');
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
controlRoom() {
|
|
89
|
+
return this.request<{ success: true; controlRoom: unknown }>('/api/remote/control-room');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
approvals() {
|
|
93
|
+
return this.request<{ pendingApprovals: unknown[] }>('/api/orchestration/workflows/approvals');
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
decideApproval(approvalId: string, allow: boolean) {
|
|
97
|
+
return this.request(\`/api/orchestration/workflows/approvals/\${encodeURIComponent(approvalId)}\`, {
|
|
98
|
+
method: 'POST',
|
|
99
|
+
body: JSON.stringify({ allow, source: 'api' }),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
startWorkflow(workflowId: string, input: string, metadata: Record<string, unknown> = {}) {
|
|
104
|
+
return this.request<PixcodeRun>(\`/api/orchestration/workflows/\${encodeURIComponent(workflowId)}/runs\`, {
|
|
105
|
+
method: 'POST',
|
|
106
|
+
body: JSON.stringify({ input, metadata }),
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
110
|
`;
|
|
111
111
|
}
|
|
112
112
|
export function buildCurlCookbook({ baseUrl = '' } = {}) {
|