@pixelbyte-software/pixcode 1.53.4 → 1.53.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{index-DlwfTw9d.js → index-DP7jnMyc.js} +155 -155
- package/dist/index.html +1 -1
- package/dist-server/server/database/db.js +28 -0
- package/dist-server/server/database/db.js.map +1 -1
- package/dist-server/server/openai-codex.js +5 -0
- package/dist-server/server/openai-codex.js.map +1 -1
- package/dist-server/server/routes/agent.js +17 -7
- package/dist-server/server/routes/agent.js.map +1 -1
- package/dist-server/server/routes/telegram.js +16 -2
- package/dist-server/server/routes/telegram.js.map +1 -1
- package/dist-server/server/services/telegram/bot.js +9 -4
- package/dist-server/server/services/telegram/bot.js.map +1 -1
- package/dist-server/server/services/telegram/control-center.js +914 -98
- package/dist-server/server/services/telegram/control-center.js.map +1 -1
- package/dist-server/server/services/telegram/telegram-gateway.js +286 -0
- package/dist-server/server/services/telegram/telegram-gateway.js.map +1 -0
- package/dist-server/server/services/telegram/telegram-http-client.js +10 -8
- package/dist-server/server/services/telegram/telegram-http-client.js.map +1 -1
- package/dist-server/server/services/telegram/translations.js +72 -0
- package/dist-server/server/services/telegram/translations.js.map +1 -1
- package/package.json +1 -1
- package/scripts/smoke/telegram-control.mjs +50 -2
- package/server/database/db.js +28 -0
- package/server/openai-codex.js +5 -0
- package/server/routes/agent.js +17 -7
- package/server/routes/telegram.js +25 -2
- package/server/services/telegram/bot.js +8 -4
- package/server/services/telegram/control-center.js +927 -98
- package/server/services/telegram/telegram-gateway.js +314 -0
- package/server/services/telegram/telegram-http-client.js +7 -5
- package/server/services/telegram/translations.js +72 -0
|
@@ -65,6 +65,7 @@ export class TelegramHttpBot extends EventEmitter {
|
|
|
65
65
|
this._polling = false;
|
|
66
66
|
this._abortController = null;
|
|
67
67
|
this._pollingLoop = null;
|
|
68
|
+
this._pollingErrorCount = 0;
|
|
68
69
|
if (polling)
|
|
69
70
|
this.startPolling();
|
|
70
71
|
}
|
|
@@ -152,9 +153,9 @@ export class TelegramHttpBot extends EventEmitter {
|
|
|
152
153
|
if (dropPendingUpdates) {
|
|
153
154
|
await this._dropPendingUpdatesBeforePolling();
|
|
154
155
|
}
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
//
|
|
156
|
+
// Each iteration long-polls getUpdates for up to pollTimeoutSec, then
|
|
157
|
+
// loops immediately. We deliberately serialize update handling because a
|
|
158
|
+
// stale Telegram backlog can otherwise fan out into many expensive scans.
|
|
158
159
|
while (this._polling) {
|
|
159
160
|
this._abortController = new AbortController();
|
|
160
161
|
try {
|
|
@@ -175,17 +176,18 @@ export class TelegramHttpBot extends EventEmitter {
|
|
|
175
176
|
await this._emitSerial('callback_query', update.callback_query);
|
|
176
177
|
}
|
|
177
178
|
}
|
|
179
|
+
this._pollingErrorCount = 0;
|
|
178
180
|
}
|
|
179
181
|
catch (err) {
|
|
180
182
|
// AbortError is the expected path when stopPolling() is called.
|
|
181
183
|
if (err?.name === 'AbortError' || !this._polling)
|
|
182
184
|
break;
|
|
183
185
|
this.emit('polling_error', err);
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
await new Promise((r) => setTimeout(r,
|
|
186
|
+
const status = err?.response?.statusCode || err?.code;
|
|
187
|
+
const baseDelay = status === 409 ? 2000 : 1000;
|
|
188
|
+
const delay = Math.min(60_000, baseDelay * 2 ** this._pollingErrorCount);
|
|
189
|
+
this._pollingErrorCount = Math.min(this._pollingErrorCount + 1, 6);
|
|
190
|
+
await new Promise((r) => setTimeout(r, delay));
|
|
189
191
|
}
|
|
190
192
|
}
|
|
191
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram-http-client.js","sourceRoot":"","sources":["../../../../server/services/telegram/telegram-http-client.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"telegram-http-client.js","sourceRoot":"","sources":["../../../../server/services/telegram/telegram-http-client.js"],"names":[],"mappings":"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"}
|
|
@@ -54,8 +54,11 @@ const EN = {
|
|
|
54
54
|
'control.button.refresh': 'Refresh',
|
|
55
55
|
'control.button.approve': 'Approve',
|
|
56
56
|
'control.button.deny': 'Deny',
|
|
57
|
+
'control.button.confirm': 'Confirm',
|
|
58
|
+
'control.button.cancel': 'Cancel',
|
|
57
59
|
'control.noProjects': 'No Pixcode projects were found yet. Add/open a project in Pixcode first.',
|
|
58
60
|
'control.pickProject': 'Pick the project Telegram should control:',
|
|
61
|
+
'control.projectNotFound': 'No project matched "{{query}}". Pick one from the list.',
|
|
59
62
|
'control.pickProvider': 'Pick the CLI provider Telegram should use:',
|
|
60
63
|
'control.modelsFor': 'Models for {{provider}}:',
|
|
61
64
|
'control.pickWorkflow': 'Pick an orchestration workflow:',
|
|
@@ -82,6 +85,12 @@ const EN = {
|
|
|
82
85
|
'control.authMenu': 'Pick a provider for OAuth/login instructions:',
|
|
83
86
|
'control.manualInstall': 'Manual install for {{provider}}:\n{{manual}}',
|
|
84
87
|
'control.installStarted': 'Install started for {{provider}}.\nJob: {{jobId}}\nCommand: {{command}}',
|
|
88
|
+
'control.confirmationRequired': 'This action needs confirmation before it can run.',
|
|
89
|
+
'control.confirmInstall': 'Confirm CLI install/repair for {{provider}}?',
|
|
90
|
+
'control.confirmCancelRun': 'Confirm cancel for workflow run {{runId}}?',
|
|
91
|
+
'control.confirmationExpired': 'That confirmation expired. Start the action again.',
|
|
92
|
+
'control.confirmationMissing': 'No matching confirmation is pending. Start the action again.',
|
|
93
|
+
'control.confirmationCanceled': 'Action canceled.',
|
|
85
94
|
'control.settingsTitle': 'Telegram settings',
|
|
86
95
|
'control.pickLanguage': 'Pick Telegram language:',
|
|
87
96
|
'control.menuExpired': 'This menu expired. Send /menu.',
|
|
@@ -101,6 +110,33 @@ const EN = {
|
|
|
101
110
|
'control.cancelUsage': 'Use /cancel <runId>.',
|
|
102
111
|
'control.runStatus': 'Run {{runId}} status: {{status}}',
|
|
103
112
|
'control.providerAuthFallback': 'Open Pixcode Settings → Agents and connect this provider.',
|
|
113
|
+
'control.activity.agentTitle': 'Agent activity',
|
|
114
|
+
'control.activity.workflowTitle': 'Workflow activity',
|
|
115
|
+
'control.activity.routerTitle': 'Telegram AI router',
|
|
116
|
+
'control.activity.provider': 'Provider',
|
|
117
|
+
'control.activity.project': 'Project',
|
|
118
|
+
'control.activity.session': 'Session',
|
|
119
|
+
'control.activity.run': 'Run',
|
|
120
|
+
'control.activity.workflow': 'Workflow',
|
|
121
|
+
'control.activity.elapsed': 'Elapsed',
|
|
122
|
+
'control.activity.status': 'Status',
|
|
123
|
+
'control.activity.work': 'Work',
|
|
124
|
+
'control.activity.output': 'Output',
|
|
125
|
+
'control.activity.starting': 'Starting',
|
|
126
|
+
'control.activity.interpreting': 'Understanding the request with the selected provider',
|
|
127
|
+
'control.activity.routerFallback': 'Router fallback: sending this as an agent prompt',
|
|
128
|
+
'control.activity.startingProvider': 'Starting {{provider}}',
|
|
129
|
+
'control.activity.startingWorkflow': 'Starting workflow',
|
|
130
|
+
'control.activity.workflowRunning': 'Workflow running',
|
|
131
|
+
'control.activity.thinking': 'Thinking',
|
|
132
|
+
'control.activity.responding': 'Writing the response',
|
|
133
|
+
'control.activity.working': 'Running tools',
|
|
134
|
+
'control.activity.done': 'Done',
|
|
135
|
+
'control.activity.failed': 'Failed',
|
|
136
|
+
'control.activity.sessionStarted': 'Session started',
|
|
137
|
+
'control.activity.toolDone': 'Tool completed',
|
|
138
|
+
'control.activity.toolFailed': 'Tool failed',
|
|
139
|
+
'control.activity.tokens': 'Tokens',
|
|
104
140
|
'notification.taskDone': '✅ {{title}} — task completed.',
|
|
105
141
|
'notification.taskFailed': '⚠️ {{title}} — task failed: {{error}}',
|
|
106
142
|
'notification.actionRequired': '❗ {{title}} — action required.',
|
|
@@ -155,8 +191,11 @@ const TR = {
|
|
|
155
191
|
'control.button.refresh': 'Yenile',
|
|
156
192
|
'control.button.approve': 'Onayla',
|
|
157
193
|
'control.button.deny': 'Reddet',
|
|
194
|
+
'control.button.confirm': 'Onayla',
|
|
195
|
+
'control.button.cancel': 'Vazgeç',
|
|
158
196
|
'control.noProjects': 'Henüz Pixcode projesi bulunamadı. Önce Pixcode içinde proje ekle/aç.',
|
|
159
197
|
'control.pickProject': 'Telegramın kontrol edeceği projeyi seç:',
|
|
198
|
+
'control.projectNotFound': '"{{query}}" ile eşleşen proje bulunamadı. Listeden birini seç.',
|
|
160
199
|
'control.pickProvider': 'Telegramın kullanacağı CLI sağlayıcısını seç:',
|
|
161
200
|
'control.modelsFor': '{{provider}} modelleri:',
|
|
162
201
|
'control.pickWorkflow': 'Bir orkestrasyon iş akışı seç:',
|
|
@@ -183,6 +222,12 @@ const TR = {
|
|
|
183
222
|
'control.authMenu': 'OAuth/giriş yönergeleri için sağlayıcı seç:',
|
|
184
223
|
'control.manualInstall': '{{provider}} manuel kurulum:\n{{manual}}',
|
|
185
224
|
'control.installStarted': '{{provider}} kurulumu başladı.\nİş: {{jobId}}\nKomut: {{command}}',
|
|
225
|
+
'control.confirmationRequired': 'Bu işlem çalışmadan önce onay gerektiriyor.',
|
|
226
|
+
'control.confirmInstall': '{{provider}} için CLI kurulum/onarım işlemini onaylıyor musun?',
|
|
227
|
+
'control.confirmCancelRun': '{{runId}} workflow çalışmasını iptal etmeyi onaylıyor musun?',
|
|
228
|
+
'control.confirmationExpired': 'Bu onayın süresi doldu. İşlemi yeniden başlat.',
|
|
229
|
+
'control.confirmationMissing': 'Bekleyen eşleşen bir onay yok. İşlemi yeniden başlat.',
|
|
230
|
+
'control.confirmationCanceled': 'İşlem iptal edildi.',
|
|
186
231
|
'control.settingsTitle': 'Telegram ayarları',
|
|
187
232
|
'control.pickLanguage': 'Telegram dilini seç:',
|
|
188
233
|
'control.menuExpired': 'Bu menünün süresi doldu. /menu gönder.',
|
|
@@ -202,6 +247,33 @@ const TR = {
|
|
|
202
247
|
'control.cancelUsage': '/cancel <runId> kullan.',
|
|
203
248
|
'control.runStatus': '{{runId}} durumu: {{status}}',
|
|
204
249
|
'control.providerAuthFallback': 'Pixcode Ayarlar → Ajanlar içinden bu sağlayıcıyı bağla.',
|
|
250
|
+
'control.activity.agentTitle': 'Ajan aktivitesi',
|
|
251
|
+
'control.activity.workflowTitle': 'Workflow aktivitesi',
|
|
252
|
+
'control.activity.routerTitle': 'Telegram AI router',
|
|
253
|
+
'control.activity.provider': 'Sağlayıcı',
|
|
254
|
+
'control.activity.project': 'Proje',
|
|
255
|
+
'control.activity.session': 'Oturum',
|
|
256
|
+
'control.activity.run': 'Çalışma',
|
|
257
|
+
'control.activity.workflow': 'İş akışı',
|
|
258
|
+
'control.activity.elapsed': 'Geçen süre',
|
|
259
|
+
'control.activity.status': 'Durum',
|
|
260
|
+
'control.activity.work': 'Yapılan işler',
|
|
261
|
+
'control.activity.output': 'Çıktı',
|
|
262
|
+
'control.activity.starting': 'Başlatılıyor',
|
|
263
|
+
'control.activity.interpreting': 'İstek seçili provider ile anlamlandırılıyor',
|
|
264
|
+
'control.activity.routerFallback': 'Router fallback: istek ajan promptu olarak gönderiliyor',
|
|
265
|
+
'control.activity.startingProvider': '{{provider}} başlatılıyor',
|
|
266
|
+
'control.activity.startingWorkflow': 'Workflow başlatılıyor',
|
|
267
|
+
'control.activity.workflowRunning': 'Workflow çalışıyor',
|
|
268
|
+
'control.activity.thinking': 'Düşünüyor',
|
|
269
|
+
'control.activity.responding': 'Yanıt yazılıyor',
|
|
270
|
+
'control.activity.working': 'Tool çalıştırılıyor',
|
|
271
|
+
'control.activity.done': 'Tamamlandı',
|
|
272
|
+
'control.activity.failed': 'Başarısız',
|
|
273
|
+
'control.activity.sessionStarted': 'Oturum başladı',
|
|
274
|
+
'control.activity.toolDone': 'Tool tamamlandı',
|
|
275
|
+
'control.activity.toolFailed': 'Tool başarısız',
|
|
276
|
+
'control.activity.tokens': 'Token',
|
|
205
277
|
'notification.taskDone': '✅ {{title}} — görev tamamlandı.',
|
|
206
278
|
'notification.taskFailed': '⚠️ {{title}} — görev başarısız: {{error}}',
|
|
207
279
|
'notification.actionRequired': '❗ {{title}} — işlem gerekli.',
|
|
@@ -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.
|
|
3
|
+
"version": "1.53.6",
|
|
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",
|
|
@@ -25,11 +25,14 @@ const checks = [
|
|
|
25
25
|
source.includes("allowed_updates: ['message', 'callback_query']")
|
|
26
26
|
&& source.includes('answerCallbackQuery')
|
|
27
27
|
&& source.includes('editMessageText')
|
|
28
|
-
&&
|
|
28
|
+
&& (
|
|
29
|
+
source.includes("this.emit('callback_query'")
|
|
30
|
+
|| source.includes("_emitSerial('callback_query'")
|
|
31
|
+
)
|
|
29
32
|
),
|
|
30
33
|
},
|
|
31
34
|
{
|
|
32
|
-
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',
|
|
33
36
|
file: 'server/services/telegram/control-center.js',
|
|
34
37
|
test: (source) => (
|
|
35
38
|
source.includes('showMainMenu')
|
|
@@ -38,9 +41,31 @@ const checks = [
|
|
|
38
41
|
&& source.includes('showWorkflowMenu')
|
|
39
42
|
&& source.includes('runWorkflow')
|
|
40
43
|
&& source.includes('startCliInstall')
|
|
44
|
+
&& source.includes('localAgentStream')
|
|
45
|
+
&& source.includes('editTelegramActivity')
|
|
41
46
|
&& source.includes('updateTelegramControlState')
|
|
42
47
|
&& source.includes('/api/agent')
|
|
43
48
|
&& source.includes('/api/orchestration/workflows')
|
|
49
|
+
&& source.includes('TELEGRAM_CONTROL_SCOPES')
|
|
50
|
+
&& source.includes('confirm_action')
|
|
51
|
+
),
|
|
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'")
|
|
44
69
|
),
|
|
45
70
|
},
|
|
46
71
|
{
|
|
@@ -51,6 +76,8 @@ const checks = [
|
|
|
51
76
|
&& source.includes('getControlState')
|
|
52
77
|
&& source.includes('updateControlState')
|
|
53
78
|
&& source.includes('remoteControlEnabled')
|
|
79
|
+
&& source.includes('routerEnabled')
|
|
80
|
+
&& source.includes('pendingConfirmation')
|
|
54
81
|
),
|
|
55
82
|
},
|
|
56
83
|
{
|
|
@@ -59,8 +86,10 @@ const checks = [
|
|
|
59
86
|
test: (source) => (
|
|
60
87
|
source.includes('controlEnabled')
|
|
61
88
|
&& source.includes('progressMode')
|
|
89
|
+
&& source.includes('routerEnabled')
|
|
62
90
|
&& source.includes('telegram.control.title')
|
|
63
91
|
&& source.includes('telegram.control.progressMode')
|
|
92
|
+
&& source.includes('telegram.router.title')
|
|
64
93
|
),
|
|
65
94
|
},
|
|
66
95
|
];
|
|
@@ -80,6 +109,9 @@ for (const check of checks) {
|
|
|
80
109
|
}
|
|
81
110
|
|
|
82
111
|
try {
|
|
112
|
+
const {
|
|
113
|
+
parseTelegramAiIntentResponse,
|
|
114
|
+
} = await import('../../server/services/telegram/telegram-gateway.js');
|
|
83
115
|
const {
|
|
84
116
|
handleTelegramControlCallback,
|
|
85
117
|
handleTelegramControlMessage,
|
|
@@ -90,6 +122,22 @@ try {
|
|
|
90
122
|
} = await import('../../server/services/telegram/bot.js');
|
|
91
123
|
const { telegramLinksDb } = await import('../../server/database/db.js');
|
|
92
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
|
+
|
|
93
141
|
const userId = 4242;
|
|
94
142
|
telegramLinksDb.unlink(userId);
|
|
95
143
|
telegramLinksDb.setPairingCode(userId, '123456', new Date(Date.now() + 600_000).toISOString(), 'tr');
|
package/server/database/db.js
CHANGED
|
@@ -762,6 +762,12 @@ const appConfigDb = {
|
|
|
762
762
|
// ---------------------------------------------------------------------------
|
|
763
763
|
const DEFAULT_TELEGRAM_CONTROL_STATE = {
|
|
764
764
|
remoteControlEnabled: true,
|
|
765
|
+
routerEnabled: true,
|
|
766
|
+
routerMode: 'hybrid',
|
|
767
|
+
routerProvider: null,
|
|
768
|
+
routerModel: null,
|
|
769
|
+
confirmationPolicy: 'strict',
|
|
770
|
+
pendingConfirmation: null,
|
|
765
771
|
progressMode: 'final',
|
|
766
772
|
selectedProjectName: null,
|
|
767
773
|
selectedProjectPath: null,
|
|
@@ -776,14 +782,36 @@ function normalizeTelegramControlState(value = {}) {
|
|
|
776
782
|
const selectedProvider = ['claude', 'cursor', 'codex', 'gemini', 'qwen', 'opencode'].includes(raw.selectedProvider)
|
|
777
783
|
? raw.selectedProvider
|
|
778
784
|
: DEFAULT_TELEGRAM_CONTROL_STATE.selectedProvider;
|
|
785
|
+
const routerProvider = ['claude', 'cursor', 'codex', 'gemini', 'qwen', 'opencode'].includes(raw.routerProvider)
|
|
786
|
+
? raw.routerProvider
|
|
787
|
+
: null;
|
|
779
788
|
const progressMode = ['final', 'steps', 'all', 'errors'].includes(raw.progressMode)
|
|
780
789
|
? raw.progressMode
|
|
781
790
|
: DEFAULT_TELEGRAM_CONTROL_STATE.progressMode;
|
|
791
|
+
const pendingConfirmation = raw.pendingConfirmation && typeof raw.pendingConfirmation === 'object'
|
|
792
|
+
&& typeof raw.pendingConfirmation.id === 'string'
|
|
793
|
+
&& typeof raw.pendingConfirmation.action === 'string'
|
|
794
|
+
&& typeof raw.pendingConfirmation.expiresAt === 'string'
|
|
795
|
+
? {
|
|
796
|
+
id: raw.pendingConfirmation.id,
|
|
797
|
+
action: raw.pendingConfirmation.action,
|
|
798
|
+
payload: raw.pendingConfirmation.payload && typeof raw.pendingConfirmation.payload === 'object'
|
|
799
|
+
? raw.pendingConfirmation.payload
|
|
800
|
+
: {},
|
|
801
|
+
expiresAt: raw.pendingConfirmation.expiresAt,
|
|
802
|
+
}
|
|
803
|
+
: null;
|
|
782
804
|
|
|
783
805
|
return {
|
|
784
806
|
...DEFAULT_TELEGRAM_CONTROL_STATE,
|
|
785
807
|
...raw,
|
|
786
808
|
remoteControlEnabled: raw.remoteControlEnabled !== false,
|
|
809
|
+
routerEnabled: raw.routerEnabled !== false,
|
|
810
|
+
routerMode: raw.routerMode === 'hybrid' ? 'hybrid' : DEFAULT_TELEGRAM_CONTROL_STATE.routerMode,
|
|
811
|
+
routerProvider,
|
|
812
|
+
routerModel: typeof raw.routerModel === 'string' && raw.routerModel.trim() ? raw.routerModel.trim() : null,
|
|
813
|
+
confirmationPolicy: 'strict',
|
|
814
|
+
pendingConfirmation,
|
|
787
815
|
progressMode,
|
|
788
816
|
selectedProvider,
|
|
789
817
|
selectedProjectName: typeof raw.selectedProjectName === 'string' ? raw.selectedProjectName : null,
|
package/server/openai-codex.js
CHANGED
|
@@ -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 {
|
package/server/routes/agent.js
CHANGED
|
@@ -964,6 +964,10 @@ 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;
|
|
967
971
|
|
|
968
972
|
// Parse stream and cleanup as booleans (handle string "true"/"false" from curl)
|
|
969
973
|
const stream = req.body.stream === undefined ? true : (req.body.stream === true || req.body.stream === 'true');
|
|
@@ -1075,7 +1079,7 @@ router.post('/', validateExternalApiKey, async (req, res) => {
|
|
|
1075
1079
|
cwd: finalProjectPath,
|
|
1076
1080
|
sessionId: sessionId || null,
|
|
1077
1081
|
model: model,
|
|
1078
|
-
permissionMode: 'bypassPermissions' // Bypass all permissions for API calls
|
|
1082
|
+
permissionMode: permissionMode || 'bypassPermissions' // Bypass all permissions for API calls unless explicitly restricted
|
|
1079
1083
|
}, writer);
|
|
1080
1084
|
|
|
1081
1085
|
} else if (provider === 'cursor') {
|
|
@@ -1086,7 +1090,7 @@ router.post('/', validateExternalApiKey, async (req, res) => {
|
|
|
1086
1090
|
cwd: finalProjectPath,
|
|
1087
1091
|
sessionId: sessionId || null,
|
|
1088
1092
|
model: model || undefined,
|
|
1089
|
-
skipPermissions:
|
|
1093
|
+
skipPermissions: permissionMode ? permissionMode === 'bypassPermissions' || permissionMode === 'acceptEdits' || permissionMode === 'yolo' : true
|
|
1090
1094
|
}, writer);
|
|
1091
1095
|
} else if (provider === 'codex') {
|
|
1092
1096
|
console.log('🤖 Starting Codex SDK session');
|
|
@@ -1096,7 +1100,7 @@ router.post('/', validateExternalApiKey, async (req, res) => {
|
|
|
1096
1100
|
cwd: finalProjectPath,
|
|
1097
1101
|
sessionId: sessionId || null,
|
|
1098
1102
|
model: model || getDefaultProviderModel('codex'),
|
|
1099
|
-
permissionMode: 'bypassPermissions'
|
|
1103
|
+
permissionMode: permissionMode || 'bypassPermissions'
|
|
1100
1104
|
}, writer);
|
|
1101
1105
|
} else if (provider === 'gemini') {
|
|
1102
1106
|
console.log('✨ Starting Gemini CLI session');
|
|
@@ -1106,7 +1110,8 @@ router.post('/', validateExternalApiKey, async (req, res) => {
|
|
|
1106
1110
|
cwd: finalProjectPath,
|
|
1107
1111
|
sessionId: sessionId || null,
|
|
1108
1112
|
model: model,
|
|
1109
|
-
|
|
1113
|
+
permissionMode: permissionMode || undefined,
|
|
1114
|
+
skipPermissions: permissionMode ? permissionMode === 'bypassPermissions' || permissionMode === 'acceptEdits' || permissionMode === 'yolo' : true
|
|
1110
1115
|
}, writer);
|
|
1111
1116
|
} else if (provider === 'qwen') {
|
|
1112
1117
|
console.log('🐉 Starting Qwen Code CLI session');
|
|
@@ -1116,7 +1121,8 @@ router.post('/', validateExternalApiKey, async (req, res) => {
|
|
|
1116
1121
|
cwd: finalProjectPath,
|
|
1117
1122
|
sessionId: sessionId || null,
|
|
1118
1123
|
model: model,
|
|
1119
|
-
|
|
1124
|
+
permissionMode: permissionMode || undefined,
|
|
1125
|
+
skipPermissions: permissionMode ? permissionMode === 'bypassPermissions' || permissionMode === 'acceptEdits' || permissionMode === 'yolo' : true,
|
|
1120
1126
|
}, writer);
|
|
1121
1127
|
} else if (provider === 'opencode') {
|
|
1122
1128
|
console.log('🅾️ Starting OpenCode CLI session');
|
|
@@ -1126,8 +1132,12 @@ router.post('/', validateExternalApiKey, async (req, res) => {
|
|
|
1126
1132
|
cwd: finalProjectPath,
|
|
1127
1133
|
sessionId: sessionId || null,
|
|
1128
1134
|
model: model,
|
|
1129
|
-
permissionMode: 'bypassPermissions',
|
|
1130
|
-
toolsSettings: {
|
|
1135
|
+
permissionMode: permissionMode || 'bypassPermissions',
|
|
1136
|
+
toolsSettings: {
|
|
1137
|
+
allowPatterns: [],
|
|
1138
|
+
denyPatterns: [],
|
|
1139
|
+
skipPermissions: permissionMode ? permissionMode === 'bypassPermissions' || permissionMode === 'acceptEdits' || permissionMode === 'yolo' : true,
|
|
1140
|
+
},
|
|
1131
1141
|
}, writer);
|
|
1132
1142
|
}
|
|
1133
1143
|
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
startBot,
|
|
10
10
|
stopBot,
|
|
11
11
|
} from '../services/telegram/bot.js';
|
|
12
|
+
import { TELEGRAM_PROGRESS_MODES, TELEGRAM_PROVIDERS } from '../services/telegram/telegram-gateway.js';
|
|
12
13
|
import { SUPPORTED_LANGUAGES } from '../services/telegram/translations.js';
|
|
13
14
|
|
|
14
15
|
const router = express.Router();
|
|
@@ -99,7 +100,17 @@ router.post('/pairing-code', (req, res) => {
|
|
|
99
100
|
// PATCH /api/telegram/link — update language / toggles on the user's link
|
|
100
101
|
router.patch('/link', (req, res) => {
|
|
101
102
|
try {
|
|
102
|
-
const {
|
|
103
|
+
const {
|
|
104
|
+
language,
|
|
105
|
+
notificationsEnabled,
|
|
106
|
+
bridgeEnabled,
|
|
107
|
+
controlEnabled,
|
|
108
|
+
progressMode,
|
|
109
|
+
routerEnabled,
|
|
110
|
+
routerProvider,
|
|
111
|
+
routerModel,
|
|
112
|
+
confirmationPolicy,
|
|
113
|
+
} = req.body || {};
|
|
103
114
|
const payload = {};
|
|
104
115
|
if (language !== undefined) payload.language = sanitizeLanguage(language);
|
|
105
116
|
if (notificationsEnabled !== undefined) payload.notificationsEnabled = Boolean(notificationsEnabled);
|
|
@@ -108,9 +119,21 @@ router.patch('/link', (req, res) => {
|
|
|
108
119
|
|
|
109
120
|
const controlPatch = {};
|
|
110
121
|
if (controlEnabled !== undefined) controlPatch.remoteControlEnabled = Boolean(controlEnabled);
|
|
111
|
-
if (progressMode !== undefined &&
|
|
122
|
+
if (progressMode !== undefined && TELEGRAM_PROGRESS_MODES.includes(progressMode)) {
|
|
112
123
|
controlPatch.progressMode = progressMode;
|
|
113
124
|
}
|
|
125
|
+
if (routerEnabled !== undefined) controlPatch.routerEnabled = Boolean(routerEnabled);
|
|
126
|
+
if (routerProvider !== undefined) {
|
|
127
|
+
controlPatch.routerProvider = TELEGRAM_PROVIDERS.includes(routerProvider) ? routerProvider : null;
|
|
128
|
+
}
|
|
129
|
+
if (routerModel !== undefined) {
|
|
130
|
+
controlPatch.routerModel = typeof routerModel === 'string' && routerModel.trim()
|
|
131
|
+
? routerModel.trim()
|
|
132
|
+
: null;
|
|
133
|
+
}
|
|
134
|
+
if (confirmationPolicy !== undefined) {
|
|
135
|
+
controlPatch.confirmationPolicy = 'strict';
|
|
136
|
+
}
|
|
114
137
|
if (Object.keys(controlPatch).length > 0) {
|
|
115
138
|
telegramLinksDb.updateControlState(req.user.id, controlPatch);
|
|
116
139
|
}
|
|
@@ -207,13 +207,17 @@ export const handleIncomingTelegramMessage = handleMessage;
|
|
|
207
207
|
const wirePollingErrors = () => {
|
|
208
208
|
if (!bot) return;
|
|
209
209
|
bot.on('polling_error', (err) => {
|
|
210
|
-
// 401 = bad token. 409 = another polling instance exists
|
|
211
|
-
//
|
|
210
|
+
// 401 = bad token. 409 = another polling instance exists; the HTTP
|
|
211
|
+
// client keeps retrying with backoff so an old poller can disappear.
|
|
212
212
|
const code = err?.response?.statusCode || err?.code;
|
|
213
|
-
lastError =
|
|
214
|
-
|
|
213
|
+
lastError = code === 409
|
|
214
|
+
? { code: 409, message: 'Another Telegram poller detected; retrying with backoff.' }
|
|
215
|
+
: { code: code || 'polling_error', message: err?.message || String(err) };
|
|
216
|
+
if (code === 401) {
|
|
215
217
|
console.error('[telegram] fatal polling error, stopping:', lastError);
|
|
216
218
|
stopBot().catch(() => {});
|
|
219
|
+
} else if (code === 409) {
|
|
220
|
+
console.warn('[telegram] polling conflict:', lastError);
|
|
217
221
|
} else {
|
|
218
222
|
console.warn('[telegram] polling error:', lastError);
|
|
219
223
|
}
|