@pixelbyte-software/pixcode 1.53.5 β†’ 1.53.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.
Files changed (34) hide show
  1. package/dist/assets/{index-CyeODv14.js β†’ index-DM-KfWAm.js} +3 -3
  2. package/dist/index.html +1 -1
  3. package/dist-server/server/claude-sdk.js +17 -15
  4. package/dist-server/server/claude-sdk.js.map +1 -1
  5. package/dist-server/server/cursor-cli.js +14 -12
  6. package/dist-server/server/cursor-cli.js.map +1 -1
  7. package/dist-server/server/gemini-cli.js +14 -12
  8. package/dist-server/server/gemini-cli.js.map +1 -1
  9. package/dist-server/server/openai-codex.js +30 -22
  10. package/dist-server/server/openai-codex.js.map +1 -1
  11. package/dist-server/server/opencode-cli.js +14 -12
  12. package/dist-server/server/opencode-cli.js.map +1 -1
  13. package/dist-server/server/qwen-code-cli.js +14 -12
  14. package/dist-server/server/qwen-code-cli.js.map +1 -1
  15. package/dist-server/server/routes/agent.js +24 -7
  16. package/dist-server/server/routes/agent.js.map +1 -1
  17. package/dist-server/server/services/telegram/control-center.js +593 -82
  18. package/dist-server/server/services/telegram/control-center.js.map +1 -1
  19. package/dist-server/server/services/telegram/telegram-gateway.js +111 -45
  20. package/dist-server/server/services/telegram/telegram-gateway.js.map +1 -1
  21. package/dist-server/server/services/telegram/translations.js +60 -0
  22. package/dist-server/server/services/telegram/translations.js.map +1 -1
  23. package/package.json +1 -1
  24. package/scripts/smoke/telegram-control.mjs +40 -1
  25. package/server/claude-sdk.js +3 -3
  26. package/server/cursor-cli.js +3 -3
  27. package/server/gemini-cli.js +3 -3
  28. package/server/openai-codex.js +10 -4
  29. package/server/opencode-cli.js +3 -3
  30. package/server/qwen-code-cli.js +3 -3
  31. package/server/routes/agent.js +24 -7
  32. package/server/services/telegram/control-center.js +593 -80
  33. package/server/services/telegram/telegram-gateway.js +115 -51
  34. package/server/services/telegram/translations.js +60 -0
@@ -1 +1 @@
1
- {"version":3,"file":"translations.js","sourceRoot":"","sources":["../../../../server/services/telegram/translations.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translations.js","sourceRoot":"","sources":["../../../../server/services/telegram/translations.js"],"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.53.5",
3
+ "version": "1.53.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",
@@ -32,7 +32,7 @@ const checks = [
32
32
  ),
33
33
  },
34
34
  {
35
- name: 'telegram control center exposes provider, model, workflow, install, and settings actions',
35
+ name: 'telegram control center exposes provider, model, workflow, install, streaming activity, and settings actions',
36
36
  file: 'server/services/telegram/control-center.js',
37
37
  test: (source) => (
38
38
  source.includes('showMainMenu')
@@ -41,6 +41,8 @@ const checks = [
41
41
  && source.includes('showWorkflowMenu')
42
42
  && source.includes('runWorkflow')
43
43
  && source.includes('startCliInstall')
44
+ && source.includes('localAgentStream')
45
+ && source.includes('editTelegramActivity')
44
46
  && source.includes('updateTelegramControlState')
45
47
  && source.includes('/api/agent')
46
48
  && source.includes('/api/orchestration/workflows')
@@ -48,6 +50,24 @@ const checks = [
48
50
  && source.includes('confirm_action')
49
51
  ),
50
52
  },
53
+ {
54
+ name: 'telegram natural language router is provider-backed instead of source keyword matching',
55
+ file: 'server/services/telegram/telegram-gateway.js',
56
+ test: (source) => (
57
+ source.includes('buildTelegramIntentPrompt')
58
+ && source.includes('parseTelegramAiIntentResponse')
59
+ && source.includes('Decide the user intent by meaning')
60
+ && !source.includes('classifyTelegramIntent')
61
+ ),
62
+ },
63
+ {
64
+ name: 'agent API accepts restricted permission mode for Telegram intent routing',
65
+ file: 'server/routes/agent.js',
66
+ test: (source) => (
67
+ source.includes('requestedPermissionMode')
68
+ && source.includes("permissionMode: permissionMode || 'bypassPermissions'")
69
+ ),
70
+ },
51
71
  {
52
72
  name: 'telegram link state persists remote-control preferences',
53
73
  file: 'server/database/db.js',
@@ -89,6 +109,9 @@ for (const check of checks) {
89
109
  }
90
110
 
91
111
  try {
112
+ const {
113
+ parseTelegramAiIntentResponse,
114
+ } = await import('../../server/services/telegram/telegram-gateway.js');
92
115
  const {
93
116
  handleTelegramControlCallback,
94
117
  handleTelegramControlMessage,
@@ -99,6 +122,22 @@ try {
99
122
  } = await import('../../server/services/telegram/bot.js');
100
123
  const { telegramLinksDb } = await import('../../server/database/db.js');
101
124
 
125
+ assert.equal(
126
+ parseTelegramAiIntentResponse('{"action":"show_runs","confidence":0.4}', 'Selam dostum son durum nedir şimdi?').action,
127
+ 'agent_prompt',
128
+ 'low-confidence natural-language control guesses should fall back to the agent',
129
+ );
130
+ assert.equal(
131
+ parseTelegramAiIntentResponse('{"action":"show_runs","confidence":0.94}', 'Orchestration run listesini aΓ§').action,
132
+ 'show_runs',
133
+ 'high-confidence AI router results should be accepted',
134
+ );
135
+ assert.equal(
136
+ parseTelegramAiIntentResponse('not json', 'Selam dostum son durum nedir şimdi?').action,
137
+ 'agent_prompt',
138
+ 'unparseable AI router responses should fall back to the agent',
139
+ );
140
+
102
141
  const userId = 4242;
103
142
  telegramLinksDb.unlink(userId);
104
143
  telegramLinksDb.setPairingCode(userId, '123456', new Date(Date.now() + 600_000).toISOString(), 'tr');
@@ -546,7 +546,7 @@ async function loadMcpConfig(cwd) {
546
546
  * @returns {Promise<void>}
547
547
  */
548
548
  async function queryClaudeSDK(command, options = {}, ws) {
549
- const { sessionId, sessionSummary } = options;
549
+ const { sessionId, sessionSummary, suppressNotifications = false } = options;
550
550
  let capturedSessionId = sessionId;
551
551
  let sessionCreatedSent = false;
552
552
  let tempImagePaths = [];
@@ -780,7 +780,7 @@ async function queryClaudeSDK(command, options = {}, ws) {
780
780
 
781
781
  // Send completion event
782
782
  ws.send(createNormalizedMessage({ kind: 'complete', exitCode: 0, isNewSession: !sessionId && !!command, sessionId: capturedSessionId, provider: 'claude' }));
783
- notifyRunStopped({
783
+ if (!suppressNotifications) notifyRunStopped({
784
784
  userId: ws?.userId || null,
785
785
  provider: 'claude',
786
786
  sessionId: capturedSessionId || sessionId || null,
@@ -808,7 +808,7 @@ async function queryClaudeSDK(command, options = {}, ws) {
808
808
 
809
809
  // Send error to WebSocket
810
810
  ws.send(createNormalizedMessage({ kind: 'error', content: errorContent, sessionId: capturedSessionId || sessionId || null, provider: 'claude' }));
811
- notifyRunFailed({
811
+ if (!suppressNotifications) notifyRunFailed({
812
812
  userId: ws?.userId || null,
813
813
  provider: 'claude',
814
814
  sessionId: capturedSessionId || sessionId || null,
@@ -29,7 +29,7 @@ function isWorkspaceTrustPrompt(text = '') {
29
29
 
30
30
  async function spawnCursor(command, options = {}, ws) {
31
31
  return new Promise(async (resolve, reject) => {
32
- const { sessionId, projectPath, cwd, resume, toolsSettings, skipPermissions, model, sessionSummary } = options;
32
+ const { sessionId, projectPath, cwd, resume, toolsSettings, skipPermissions, model, sessionSummary, suppressNotifications = false } = options;
33
33
  let capturedSessionId = sessionId; // Track session ID throughout the process
34
34
  let sessionCreatedSent = false; // Track if we've already sent session-created event
35
35
  let hasRetriedWithTrust = false;
@@ -98,7 +98,7 @@ async function spawnCursor(command, options = {}, ws) {
98
98
 
99
99
  const finalSessionId = capturedSessionId || sessionId || processKey;
100
100
  if (code === 0 && !error) {
101
- notifyRunStopped({
101
+ if (!suppressNotifications) notifyRunStopped({
102
102
  userId: ws?.userId || null,
103
103
  provider: 'cursor',
104
104
  sessionId: finalSessionId,
@@ -108,7 +108,7 @@ async function spawnCursor(command, options = {}, ws) {
108
108
  return;
109
109
  }
110
110
 
111
- notifyRunFailed({
111
+ if (!suppressNotifications) notifyRunFailed({
112
112
  userId: ws?.userId || null,
113
113
  provider: 'cursor',
114
114
  sessionId: finalSessionId,
@@ -65,7 +65,7 @@ async function ensureGeminiSettingsJson() {
65
65
  }
66
66
 
67
67
  async function spawnGemini(command, options = {}, ws) {
68
- const { sessionId, projectPath, cwd, toolsSettings, permissionMode, images, sessionSummary } = options;
68
+ const { sessionId, projectPath, cwd, toolsSettings, permissionMode, images, sessionSummary, suppressNotifications = false } = options;
69
69
  let capturedSessionId = sessionId; // Track session ID throughout the process
70
70
  let sessionCreatedSent = false; // Track if we've already sent session-created event
71
71
  let assistantBlocks = []; // Accumulate the full response blocks including tools
@@ -265,7 +265,7 @@ async function spawnGemini(command, options = {}, ws) {
265
265
 
266
266
  const finalSessionId = capturedSessionId || sessionId || processKey;
267
267
  if (code === 0 && !error) {
268
- notifyRunStopped({
268
+ if (!suppressNotifications) notifyRunStopped({
269
269
  userId: ws?.userId || null,
270
270
  provider: 'gemini',
271
271
  sessionId: finalSessionId,
@@ -275,7 +275,7 @@ async function spawnGemini(command, options = {}, ws) {
275
275
  return;
276
276
  }
277
277
 
278
- notifyRunFailed({
278
+ if (!suppressNotifications) notifyRunFailed({
279
279
  userId: ws?.userId || null,
280
280
  provider: 'gemini',
281
281
  sessionId: finalSessionId,
@@ -209,6 +209,11 @@ function mapPermissionModeToCodexOptions(permissionMode) {
209
209
  sandboxMode: 'danger-full-access',
210
210
  approvalPolicy: 'never'
211
211
  };
212
+ case 'plan':
213
+ return {
214
+ sandboxMode: 'read-only',
215
+ approvalPolicy: 'never'
216
+ };
212
217
  case 'default':
213
218
  default:
214
219
  return {
@@ -231,7 +236,8 @@ export async function queryCodex(command, options = {}, ws) {
231
236
  cwd,
232
237
  projectPath,
233
238
  model,
234
- permissionMode = 'default'
239
+ permissionMode = 'default',
240
+ suppressNotifications = false
235
241
  } = options;
236
242
 
237
243
  const workingDirectory = cwd || projectPath || process.cwd();
@@ -308,7 +314,7 @@ export async function queryCodex(command, options = {}, ws) {
308
314
 
309
315
  if (event.type === 'turn.failed' && !terminalFailure) {
310
316
  terminalFailure = event.error || new Error('Turn failed');
311
- notifyRunFailed({
317
+ if (!suppressNotifications) notifyRunFailed({
312
318
  userId: ws?.userId || null,
313
319
  provider: 'codex',
314
320
  sessionId: currentSessionId,
@@ -327,7 +333,7 @@ export async function queryCodex(command, options = {}, ws) {
327
333
  // Send completion event
328
334
  if (!terminalFailure) {
329
335
  sendMessage(ws, createNormalizedMessage({ kind: 'complete', actualSessionId: thread.id, sessionId: currentSessionId, provider: 'codex' }));
330
- notifyRunStopped({
336
+ if (!suppressNotifications) notifyRunStopped({
331
337
  userId: ws?.userId || null,
332
338
  provider: 'codex',
333
339
  sessionId: currentSessionId,
@@ -354,7 +360,7 @@ export async function queryCodex(command, options = {}, ws) {
354
360
 
355
361
  sendMessage(ws, createNormalizedMessage({ kind: 'error', content: errorContent, sessionId: currentSessionId, provider: 'codex' }));
356
362
  if (!terminalFailure) {
357
- notifyRunFailed({
363
+ if (!suppressNotifications) notifyRunFailed({
358
364
  userId: ws?.userId || null,
359
365
  provider: 'codex',
360
366
  sessionId: currentSessionId,
@@ -79,7 +79,7 @@ function buildOpencodePermissionConfig(settings) {
79
79
  }
80
80
 
81
81
  async function spawnOpencode(command, options = {}, ws) {
82
- const { sessionId, projectPath, cwd, toolsSettings, permissionMode, images, sessionSummary, agent: agentOverride } = options;
82
+ const { sessionId, projectPath, cwd, toolsSettings, permissionMode, images, sessionSummary, agent: agentOverride, suppressNotifications = false } = options;
83
83
  let capturedSessionId = sessionId;
84
84
  let sessionCreatedSent = false;
85
85
  let assistantBlocks = [];
@@ -211,7 +211,7 @@ async function spawnOpencode(command, options = {}, ws) {
211
211
 
212
212
  const finalSessionId = capturedSessionId || sessionId || processKey;
213
213
  if (code === 0 && !error) {
214
- notifyRunStopped({
214
+ if (!suppressNotifications) notifyRunStopped({
215
215
  userId: ws?.userId || null,
216
216
  provider: 'opencode',
217
217
  sessionId: finalSessionId,
@@ -221,7 +221,7 @@ async function spawnOpencode(command, options = {}, ws) {
221
221
  return;
222
222
  }
223
223
 
224
- notifyRunFailed({
224
+ if (!suppressNotifications) notifyRunFailed({
225
225
  userId: ws?.userId || null,
226
226
  provider: 'opencode',
227
227
  sessionId: finalSessionId,
@@ -34,7 +34,7 @@ function readCliIdleTimeoutMs() {
34
34
  }
35
35
 
36
36
  async function spawnQwen(command, options = {}, ws) {
37
- const { sessionId, projectPath, cwd, toolsSettings, permissionMode, images, sessionSummary } = options;
37
+ const { sessionId, projectPath, cwd, toolsSettings, permissionMode, images, sessionSummary, suppressNotifications = false } = options;
38
38
  let capturedSessionId = sessionId;
39
39
  let sessionCreatedSent = false;
40
40
  let assistantBlocks = [];
@@ -154,7 +154,7 @@ async function spawnQwen(command, options = {}, ws) {
154
154
 
155
155
  const finalSessionId = capturedSessionId || sessionId || processKey;
156
156
  if (code === 0 && !error) {
157
- notifyRunStopped({
157
+ if (!suppressNotifications) notifyRunStopped({
158
158
  userId: ws?.userId || null,
159
159
  provider: 'qwen',
160
160
  sessionId: finalSessionId,
@@ -164,7 +164,7 @@ async function spawnQwen(command, options = {}, ws) {
164
164
  return;
165
165
  }
166
166
 
167
- notifyRunFailed({
167
+ if (!suppressNotifications) notifyRunFailed({
168
168
  userId: ws?.userId || null,
169
169
  provider: 'qwen',
170
170
  sessionId: finalSessionId,
@@ -964,6 +964,11 @@ class ResponseCollector {
964
964
  */
965
965
  router.post('/', validateExternalApiKey, async (req, res) => {
966
966
  const { githubUrl, projectPath, message, provider = 'claude', model, githubToken, branchName, sessionId } = req.body;
967
+ const requestedPermissionMode = typeof req.body.permissionMode === 'string' ? req.body.permissionMode : null;
968
+ const permissionMode = ['default', 'acceptEdits', 'bypassPermissions', 'plan', 'auto_edit', 'yolo'].includes(requestedPermissionMode)
969
+ ? requestedPermissionMode
970
+ : null;
971
+ const suppressNotifications = req.body.suppressNotifications === true || req.body.suppressNotifications === 'true';
967
972
 
968
973
  // Parse stream and cleanup as booleans (handle string "true"/"false" from curl)
969
974
  const stream = req.body.stream === undefined ? true : (req.body.stream === true || req.body.stream === 'true');
@@ -1075,7 +1080,8 @@ router.post('/', validateExternalApiKey, async (req, res) => {
1075
1080
  cwd: finalProjectPath,
1076
1081
  sessionId: sessionId || null,
1077
1082
  model: model,
1078
- permissionMode: 'bypassPermissions' // Bypass all permissions for API calls
1083
+ permissionMode: permissionMode || 'bypassPermissions', // Bypass all permissions for API calls unless explicitly restricted
1084
+ suppressNotifications,
1079
1085
  }, writer);
1080
1086
 
1081
1087
  } else if (provider === 'cursor') {
@@ -1086,7 +1092,8 @@ router.post('/', validateExternalApiKey, async (req, res) => {
1086
1092
  cwd: finalProjectPath,
1087
1093
  sessionId: sessionId || null,
1088
1094
  model: model || undefined,
1089
- skipPermissions: true // Bypass permissions for Cursor
1095
+ skipPermissions: permissionMode ? permissionMode === 'bypassPermissions' || permissionMode === 'acceptEdits' || permissionMode === 'yolo' : true,
1096
+ suppressNotifications,
1090
1097
  }, writer);
1091
1098
  } else if (provider === 'codex') {
1092
1099
  console.log('πŸ€– Starting Codex SDK session');
@@ -1096,7 +1103,8 @@ router.post('/', validateExternalApiKey, async (req, res) => {
1096
1103
  cwd: finalProjectPath,
1097
1104
  sessionId: sessionId || null,
1098
1105
  model: model || getDefaultProviderModel('codex'),
1099
- permissionMode: 'bypassPermissions'
1106
+ permissionMode: permissionMode || 'bypassPermissions',
1107
+ suppressNotifications,
1100
1108
  }, writer);
1101
1109
  } else if (provider === 'gemini') {
1102
1110
  console.log('✨ Starting Gemini CLI session');
@@ -1106,7 +1114,9 @@ router.post('/', validateExternalApiKey, async (req, res) => {
1106
1114
  cwd: finalProjectPath,
1107
1115
  sessionId: sessionId || null,
1108
1116
  model: model,
1109
- skipPermissions: true // CLI mode bypasses permissions
1117
+ permissionMode: permissionMode || undefined,
1118
+ skipPermissions: permissionMode ? permissionMode === 'bypassPermissions' || permissionMode === 'acceptEdits' || permissionMode === 'yolo' : true,
1119
+ suppressNotifications,
1110
1120
  }, writer);
1111
1121
  } else if (provider === 'qwen') {
1112
1122
  console.log('πŸ‰ Starting Qwen Code CLI session');
@@ -1116,7 +1126,9 @@ router.post('/', validateExternalApiKey, async (req, res) => {
1116
1126
  cwd: finalProjectPath,
1117
1127
  sessionId: sessionId || null,
1118
1128
  model: model,
1119
- skipPermissions: true,
1129
+ permissionMode: permissionMode || undefined,
1130
+ skipPermissions: permissionMode ? permissionMode === 'bypassPermissions' || permissionMode === 'acceptEdits' || permissionMode === 'yolo' : true,
1131
+ suppressNotifications,
1120
1132
  }, writer);
1121
1133
  } else if (provider === 'opencode') {
1122
1134
  console.log('πŸ…ΎοΈ Starting OpenCode CLI session');
@@ -1126,8 +1138,13 @@ router.post('/', validateExternalApiKey, async (req, res) => {
1126
1138
  cwd: finalProjectPath,
1127
1139
  sessionId: sessionId || null,
1128
1140
  model: model,
1129
- permissionMode: 'bypassPermissions',
1130
- toolsSettings: { allowPatterns: [], denyPatterns: [], skipPermissions: true },
1141
+ permissionMode: permissionMode || 'bypassPermissions',
1142
+ toolsSettings: {
1143
+ allowPatterns: [],
1144
+ denyPatterns: [],
1145
+ skipPermissions: permissionMode ? permissionMode === 'bypassPermissions' || permissionMode === 'acceptEdits' || permissionMode === 'yolo' : true,
1146
+ },
1147
+ suppressNotifications,
1131
1148
  }, writer);
1132
1149
  }
1133
1150