@pixelbyte-software/pixcode 1.36.3 → 1.37.0

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 (64) hide show
  1. package/dist/assets/index-CfHK8y_H.css +32 -0
  2. package/dist/assets/{index-Bp8mXdQd.js → index-D8uNxHf1.js} +165 -159
  3. package/dist/index.html +2 -2
  4. package/dist-server/server/daemon-manager.js +18 -12
  5. package/dist-server/server/daemon-manager.js.map +1 -1
  6. package/dist-server/server/database/db.js +53 -2
  7. package/dist-server/server/database/db.js.map +1 -1
  8. package/dist-server/server/index.js +11 -4
  9. package/dist-server/server/index.js.map +1 -1
  10. package/dist-server/server/modules/orchestration/tasks/orchestration-task.routes.js +10 -1
  11. package/dist-server/server/modules/orchestration/tasks/orchestration-task.routes.js.map +1 -1
  12. package/dist-server/server/modules/orchestration/tasks/orchestration-task.service.js +7 -0
  13. package/dist-server/server/modules/orchestration/tasks/orchestration-task.service.js.map +1 -1
  14. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js +143 -26
  15. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js.map +1 -1
  16. package/dist-server/server/routes/taskmaster.js +194 -0
  17. package/dist-server/server/routes/taskmaster.js.map +1 -1
  18. package/dist-server/server/routes/telegram.js +16 -2
  19. package/dist-server/server/routes/telegram.js.map +1 -1
  20. package/dist-server/server/services/install-jobs.js +1 -0
  21. package/dist-server/server/services/install-jobs.js.map +1 -1
  22. package/dist-server/server/services/notification-orchestrator.js +66 -9
  23. package/dist-server/server/services/notification-orchestrator.js.map +1 -1
  24. package/dist-server/server/services/telegram/bot.js +48 -6
  25. package/dist-server/server/services/telegram/bot.js.map +1 -1
  26. package/dist-server/server/services/telegram/control-center.js +903 -0
  27. package/dist-server/server/services/telegram/control-center.js.map +1 -0
  28. package/dist-server/server/services/telegram/telegram-http-client.js +26 -4
  29. package/dist-server/server/services/telegram/telegram-http-client.js.map +1 -1
  30. package/dist-server/server/services/telegram/translations.js +150 -2
  31. package/dist-server/server/services/telegram/translations.js.map +1 -1
  32. package/package.json +3 -1
  33. package/scripts/smoke/chat-realtime-hydration.mjs +44 -0
  34. package/scripts/smoke/daemon-entrypoint.mjs +20 -0
  35. package/scripts/smoke/multi-worker-slots.mjs +42 -0
  36. package/scripts/smoke/notification-center.mjs +63 -0
  37. package/scripts/smoke/orchestration-execution-dashboard.mjs +33 -0
  38. package/scripts/smoke/orchestration-user-facing-output.mjs +25 -0
  39. package/scripts/smoke/shell-manual-disconnect.mjs +30 -0
  40. package/scripts/smoke/side-panel-editor-layout.mjs +34 -0
  41. package/scripts/smoke/static-root-routing.mjs +21 -0
  42. package/scripts/smoke/strict-handoff-compact.mjs +60 -0
  43. package/scripts/smoke/taskmaster-execution-telegram.mjs +52 -0
  44. package/scripts/smoke/taskmaster-onboarding.mjs +52 -0
  45. package/scripts/smoke/telegram-control.mjs +242 -0
  46. package/scripts/smoke/update-issue-progress.mjs +69 -0
  47. package/scripts/smoke/version-modal-autoshow.mjs +29 -0
  48. package/server/daemon-manager.js +17 -12
  49. package/server/database/db.js +56 -2
  50. package/server/index.js +12 -5
  51. package/server/modules/orchestration/tasks/orchestration-task.routes.ts +10 -1
  52. package/server/modules/orchestration/tasks/orchestration-task.service.ts +7 -0
  53. package/server/modules/orchestration/tasks/orchestration-task.types.ts +3 -0
  54. package/server/modules/orchestration/workflows/workflow-runner.ts +149 -26
  55. package/server/modules/orchestration/workflows/workflow.types.ts +2 -0
  56. package/server/routes/taskmaster.js +201 -0
  57. package/server/routes/telegram.js +17 -2
  58. package/server/services/install-jobs.js +1 -0
  59. package/server/services/notification-orchestrator.js +76 -8
  60. package/server/services/telegram/bot.js +58 -6
  61. package/server/services/telegram/control-center.js +965 -0
  62. package/server/services/telegram/telegram-http-client.js +25 -4
  63. package/server/services/telegram/translations.js +150 -2
  64. package/dist/assets/index-Dx7QyTSN.css +0 -32
@@ -18,6 +18,10 @@ const PROVIDER_LABELS = {
18
18
  };
19
19
  const recentEventKeys = new Map();
20
20
  const DEDUPE_WINDOW_MS = 20000;
21
+ let notificationWebSocketServer = null;
22
+ function setNotificationWebSocketServer(wss) {
23
+ notificationWebSocketServer = wss;
24
+ }
21
25
  const cleanupOldEventKeys = () => {
22
26
  const now = Date.now();
23
27
  for (const [key, timestamp] of recentEventKeys.entries()) {
@@ -32,6 +36,18 @@ function shouldSendPush(preferences, event) {
32
36
  const eventEnabled = prefEventKey ? Boolean(preferences?.events?.[prefEventKey]) : true;
33
37
  return webPushEnabled && eventEnabled;
34
38
  }
39
+ function shouldSendInApp(preferences, event) {
40
+ const inAppEnabled = preferences?.channels?.inApp !== false;
41
+ const prefEventKey = KIND_TO_PREF_KEY[event.kind];
42
+ const eventEnabled = prefEventKey ? preferences?.events?.[prefEventKey] !== false : true;
43
+ return inAppEnabled && eventEnabled;
44
+ }
45
+ function shouldSendTelegram(preferences, event) {
46
+ const telegramEnabled = preferences?.channels?.telegram !== false;
47
+ const prefEventKey = KIND_TO_PREF_KEY[event.kind];
48
+ const eventEnabled = prefEventKey ? preferences?.events?.[prefEventKey] !== false : true;
49
+ return telegramEnabled && eventEnabled;
50
+ }
35
51
  function isDuplicate(event) {
36
52
  cleanupOldEventKeys();
37
53
  const key = event.dedupeKey || `${event.provider}:${event.kind || 'info'}:${event.code || 'generic'}:${event.sessionId || 'none'}`;
@@ -117,6 +133,37 @@ function buildPushBody(event) {
117
133
  }
118
134
  };
119
135
  }
136
+ function buildNotificationPayload(event) {
137
+ const pushBody = buildPushBody(event);
138
+ return {
139
+ id: event.dedupeKey || `${event.provider || 'system'}:${event.kind || 'info'}:${event.code || 'generic'}:${event.sessionId || 'none'}:${event.createdAt}`,
140
+ title: pushBody.title,
141
+ body: pushBody.body,
142
+ kind: event.kind || 'info',
143
+ code: event.code || 'generic.info',
144
+ severity: event.severity || 'info',
145
+ provider: event.provider || null,
146
+ sessionId: event.sessionId || null,
147
+ createdAt: event.createdAt,
148
+ requiresUserAction: Boolean(event.requiresUserAction),
149
+ data: pushBody.data
150
+ };
151
+ }
152
+ function broadcastInAppNotification(userId, event) {
153
+ if (!notificationWebSocketServer || !userId || !event) {
154
+ return;
155
+ }
156
+ const message = JSON.stringify({
157
+ type: 'notification:event',
158
+ notification: buildNotificationPayload(event)
159
+ });
160
+ const normalizedUserId = String(userId);
161
+ notificationWebSocketServer.clients.forEach((client) => {
162
+ if (client.readyState === 1 && String(client.userId || '') === normalizedUserId) {
163
+ client.send(message);
164
+ }
165
+ });
166
+ }
120
167
  async function sendWebPush(userId, event) {
121
168
  const subscriptions = pushSubscriptionsDb.getSubscriptions(userId);
122
169
  if (!subscriptions.length)
@@ -147,6 +194,14 @@ function notifyUserIfEnabled({ userId, event }) {
147
194
  if (isDuplicate(event)) {
148
195
  return;
149
196
  }
197
+ if (shouldSendInApp(preferences, event)) {
198
+ try {
199
+ broadcastInAppNotification(userId, event);
200
+ }
201
+ catch (err) {
202
+ console.error('In-app notification send error:', err);
203
+ }
204
+ }
150
205
  if (shouldSendPush(preferences, event)) {
151
206
  sendWebPush(userId, event).catch((err) => {
152
207
  console.error('Web push send error:', err);
@@ -158,14 +213,16 @@ function notifyUserIfEnabled({ userId, event }) {
158
213
  const providerLabel = PROVIDER_LABELS[event.provider] || event.provider || 'Session';
159
214
  const sessionTitle = event.meta?.sessionName || providerLabel;
160
215
  const errorText = event.meta?.error || '';
161
- notifyTelegramUser({
162
- userId,
163
- kind: event.kind,
164
- title: sessionTitle,
165
- error: errorText,
166
- }).catch((err) => {
167
- console.warn('[telegram] notify failed:', err?.message || err);
168
- });
216
+ if (shouldSendTelegram(preferences, event)) {
217
+ notifyTelegramUser({
218
+ userId,
219
+ kind: event.kind,
220
+ title: sessionTitle,
221
+ error: errorText,
222
+ }).catch((err) => {
223
+ console.warn('[telegram] notify failed:', err?.message || err);
224
+ });
225
+ }
169
226
  }
170
227
  function notifyRunStopped({ userId, provider, sessionId = null, stopReason = 'completed', sessionName = null }) {
171
228
  notifyUserIfEnabled({
@@ -196,5 +253,5 @@ function notifyRunFailed({ userId, provider, sessionId = null, error, sessionNam
196
253
  })
197
254
  });
198
255
  }
199
- export { createNotificationEvent, notifyUserIfEnabled, notifyRunStopped, notifyRunFailed };
256
+ export { createNotificationEvent, setNotificationWebSocketServer, broadcastInAppNotification, notifyUserIfEnabled, notifyRunStopped, notifyRunFailed };
200
257
  //# sourceMappingURL=notification-orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification-orchestrator.js","sourceRoot":"","sources":["../../../server/services/notification-orchestrator.js"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,gBAAgB,GAAG;IACvB,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;AAClC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,GAAG,GAAG,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACvC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,SAAS,cAAc,CAAC,WAAW,EAAE,KAAK;IACxC,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExF,OAAO,cAAc,IAAI,YAAY,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,KAAK;IACxB,mBAAmB,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;IACnI,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAAC,EAC/B,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,IAAI,GAAG,MAAM,EACb,IAAI,GAAG,cAAc,EACrB,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,MAAM,EACjB,SAAS,GAAG,IAAI,EAChB,kBAAkB,GAAG,KAAK,EAC3B;IACC,OAAO;QACL,QAAQ;QACR,SAAS;QACT,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,QAAQ;QACR,kBAAkB;QAClB,SAAS;QACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAK;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAW;IACvC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAK;IAC/B,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1E,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,aAAa,CAAC,KAAK;IAC1B,MAAM,QAAQ,GAAG;QACf,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ;YACzC,CAAC,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,QAAQ,kBAAkB;YACjE,CAAC,CAAC,6CAA6C;QACjD,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,IAAI,kCAAkC;QAC3E,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,0CAA0C;QAChH,oBAAoB,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,6BAA6B;QACtG,cAAc,EAAE,qCAAqC;QACrD,sBAAsB,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa;YAC/C,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,aAAa,eAAe;YACpD,CAAC,CAAC,+BAA+B;QACnC,sBAAsB,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa;YAC/C,CAAC,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE;YACrD,CAAC,CAAC,2BAA2B;KAChC,CAAC;IACF,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC;IACrE,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC;IAEtE,OAAO;QACL,KAAK,EAAE,WAAW,IAAI,SAAS;QAC/B,IAAI,EAAE,GAAG,aAAa,KAAK,OAAO,EAAE;QACpC,IAAI,EAAE;YACJ,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;YAChC,WAAW;YACX,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,WAAW,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;SACnF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAM,EAAE,KAAK;IACtC,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,aAAa,CAAC,MAAM;QAAE,OAAO;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxB,OAAO,CAAC,gBAAgB,CACtB;QACE,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE;YACJ,MAAM,EAAE,GAAG,CAAC,WAAW;YACvB,IAAI,EAAE,GAAG,CAAC,SAAS;SACpB;KACF,EACD,OAAO,CACR,CACF,CACF,CAAC;IAEF,gDAAgD;IAChD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;YAC7C,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC7C,mBAAmB,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;IAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;QACvC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,qDAAqD;IACrD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;IACrF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,aAAa,CAAC;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;IAC1C,kBAAkB,CAAC;QACjB,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,WAAW,GAAG,IAAI,EAAE;IAC5G,mBAAmB,CAAC;QAClB,MAAM;QACN,KAAK,EAAE,uBAAuB,CAAC;YAC7B,QAAQ;YACR,SAAS;YACT,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE;YACjC,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,GAAG,QAAQ,aAAa,SAAS,IAAI,MAAM,IAAI,UAAU,EAAE;SACvE,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE;IACxF,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAElD,mBAAmB,CAAC;QAClB,MAAM;QACN,KAAK,EAAE,uBAAuB,CAAC;YAC7B,QAAQ;YACR,SAAS;YACT,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE;YAC1C,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,GAAG,QAAQ,cAAc,SAAS,IAAI,MAAM,IAAI,YAAY,EAAE;SAC1E,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EAChB,CAAC"}
1
+ {"version":3,"file":"notification-orchestrator.js","sourceRoot":"","sources":["../../../server/services/notification-orchestrator.js"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import { telegramConfigDb, telegramLinksDb } from '../../database/db.js';
3
+ import { getTelegramControlCommand, handleTelegramControlCallback, handleTelegramControlMessage, isTelegramControlCommand, showMainMenu, } from './control-center.js';
3
4
  import { t } from './translations.js';
4
5
  // Swapped in v1.32: previously `node-telegram-bot-api` which carried the
5
6
  // deprecated `request`/`har-validator`/`uuid@3` chain. TelegramHttpBot is
@@ -16,6 +17,9 @@ const PAIRING_TTL_MS = 10 * 60 * 1000;
16
17
  let bot = null;
17
18
  let botInfo = null; // { id, username, first_name }
18
19
  let lastError = null;
20
+ export const setTelegramBotForTesting = (nextBot) => {
21
+ bot = nextBot;
22
+ };
19
23
  // Subscribers (notification-orchestrator, future session bridge) use this to
20
24
  // react to events without importing the bot module directly.
21
25
  export const telegramEvents = new EventEmitter();
@@ -52,16 +56,16 @@ const parseMaybeCode = (text) => {
52
56
  // rejected with "invalid code" instead of being forwarded.
53
57
  return /^\d{6}$/.test(trimmed) ? trimmed : null;
54
58
  };
55
- const safeSend = async (chatId, text) => {
59
+ const safeSend = async (chatId, text, extra = {}) => {
56
60
  if (!bot)
57
61
  return;
58
62
  try {
59
- await bot.sendMessage(chatId, text, { parse_mode: 'Markdown' });
63
+ await bot.sendMessage(chatId, text, { parse_mode: 'Markdown', ...extra });
60
64
  }
61
65
  catch (err) {
62
66
  // Markdown parse errors from user input are common; retry plaintext.
63
67
  try {
64
- await bot.sendMessage(chatId, text);
68
+ await bot.sendMessage(chatId, text, extra);
65
69
  }
66
70
  catch (fallbackErr) {
67
71
  console.warn('[telegram] sendMessage failed:', fallbackErr?.message || fallbackErr);
@@ -84,16 +88,18 @@ const handlePairing = async (msg, code) => {
84
88
  telegramLinksDb.verify(link.user_id, String(msg.chat.id), telegramUsername);
85
89
  telegramEvents.emit('paired', { userId: link.user_id, chatId: String(msg.chat.id), username: telegramUsername });
86
90
  await safeSend(msg.chat.id, t(language, 'pairing.success'));
91
+ await safeSend(msg.chat.id, t(language, 'control.onboarding'));
92
+ await showMainMenu({ bot, chatId: msg.chat.id, link: telegramLinksDb.getByUserId(link.user_id) });
87
93
  };
88
94
  const handleBridgeMessage = async (msg, existing) => {
89
95
  const language = existing.language || 'en';
96
+ const handled = await handleTelegramControlMessage({ bot, msg, link: existing, safeSend });
97
+ if (handled)
98
+ return;
90
99
  if (!existing.bridge_enabled) {
91
100
  await safeSend(msg.chat.id, t(language, 'bridge.disabled'));
92
101
  return;
93
102
  }
94
- // Fan out to subscribers (future: session-prompt bridge). We don't do the
95
- // actual agent dispatch here to keep the bot service narrowly focused on
96
- // Telegram I/O and let the rest of the server opt in.
97
103
  telegramEvents.emit('prompt', {
98
104
  userId: existing.user_id,
99
105
  chatId: String(msg.chat.id),
@@ -103,11 +109,41 @@ const handleBridgeMessage = async (msg, existing) => {
103
109
  });
104
110
  await safeSend(msg.chat.id, t(language, 'bridge.queued'));
105
111
  };
112
+ const handleCallbackQuery = async (query) => {
113
+ const chatId = query?.message?.chat?.id;
114
+ if (!chatId)
115
+ return;
116
+ const existing = telegramLinksDb.getByChatId(String(chatId));
117
+ if (!existing) {
118
+ await bot?.answerCallbackQuery(query.id, { text: 'Pair Pixcode first.' }).catch(() => { });
119
+ return;
120
+ }
121
+ await handleTelegramControlCallback({ bot, query, link: existing, safeSend });
122
+ };
106
123
  const handleMessage = async (msg) => {
107
124
  if (!msg?.chat?.id || !msg?.text)
108
125
  return;
109
126
  const existing = telegramLinksDb.getByChatId(String(msg.chat.id));
110
127
  if (existing) {
128
+ const language = existing.language || 'en';
129
+ const command = getTelegramControlCommand(msg.text);
130
+ if (command === '/start') {
131
+ await safeSend(msg.chat.id, t(language, 'control.onboarding'));
132
+ await showMainMenu({ bot, chatId: msg.chat.id, link: existing });
133
+ return;
134
+ }
135
+ if (command === '/help') {
136
+ await safeSend(msg.chat.id, t(language, 'control.help'));
137
+ return;
138
+ }
139
+ if (command === '/menu' || command === 'menu') {
140
+ await showMainMenu({ bot, chatId: msg.chat.id, link: existing });
141
+ return;
142
+ }
143
+ if (isTelegramControlCommand(msg.text)) {
144
+ await handleTelegramControlMessage({ bot, msg, link: existing });
145
+ return;
146
+ }
111
147
  // Paired user path: a 6-digit-only message is treated as noise (we keep
112
148
  // the already-paired binding); anything else is bridge traffic.
113
149
  const maybeCode = parseMaybeCode(msg.text);
@@ -134,6 +170,7 @@ const handleMessage = async (msg) => {
134
170
  // giriniz desin" requirement).
135
171
  await safeSend(msg.chat.id, t('en', 'pairing.stillNeeded'));
136
172
  };
173
+ export const handleIncomingTelegramMessage = handleMessage;
137
174
  const wirePollingErrors = () => {
138
175
  if (!bot)
139
176
  return;
@@ -192,6 +229,11 @@ export const startBot = async ({ token, persist = true } = {}) => {
192
229
  console.error('[telegram] handleMessage crashed:', err);
193
230
  });
194
231
  });
232
+ bot.on('callback_query', (query) => {
233
+ handleCallbackQuery(query).catch((err) => {
234
+ console.error('[telegram] handleCallbackQuery crashed:', err);
235
+ });
236
+ });
195
237
  wirePollingErrors();
196
238
  console.log(`[telegram] bot started as @${me.username}`);
197
239
  telegramEvents.emit('started', { username: me.username });
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../../server/services/telegram/bot.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,yEAAyE;AACzE,0EAA0E;AAC1E,mEAAmE;AACnE,yEAAyE;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,4EAA4E;AAC5E,yEAAyE;AACzE,oBAAoB;AACpB,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtC,4EAA4E;AAC5E,yEAAyE;AACzE,qDAAqD;AACrD,IAAI,GAAG,GAAG,IAAI,CAAC;AACf,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,+BAA+B;AACnD,IAAI,SAAS,GAAG,IAAI,CAAC;AAErB,6EAA6E;AAC7E,6DAA6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAEjD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAE7B,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAChD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;IACnC,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;IACtC,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;QACtC,QAAQ,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI;KACvC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,4EAA4E;IAC5E,wEAAwE;IACxE,2DAA2D;IAC3D,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,WAAW,EAAE,OAAO,IAAI,WAAW,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACxC,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IAExC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,SAAS,IAAI,SAAS,GAAG,GAAG,EAAE,EAAE,CAAC;QACpC,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IACpD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC5E,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEjH,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC;IAE3C,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC7B,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,sDAAsD;IACtD,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC5B,MAAM,EAAE,QAAQ,CAAC,OAAO;QACxB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;QACpB,QAAQ;QACR,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE;IAClC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI;QAAE,OAAO;IAEzC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,wEAAwE;QACxE,gEAAgE;QAChE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QACD,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,wEAAwE;IACxE,+BAA+B;IAC/B,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;QAC9B,uEAAuE;QACvE,wDAAwD;QACxD,MAAM,IAAI,GAAG,GAAG,EAAE,QAAQ,EAAE,UAAU,IAAI,GAAG,EAAE,IAAI,CAAC;QACpD,SAAS,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACpF,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,SAAS,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACtC,KAAK,GAAG,MAAM,EAAE,SAAS,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,oCAAoC;IACpC,IAAI,GAAG;QAAE,MAAM,OAAO,EAAE,CAAC;IAEzB,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,uEAAuE;IACvE,4CAA4C;IAC5C,IAAI,EAAE,CAAC;IACP,IAAI,CAAC;QACH,EAAE,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,IAAI,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/E,SAAS,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC;QAC7B,MAAM,KAAK,CAAC;IACd,CAAC;IAED,GAAG,GAAG,QAAQ,CAAC;IACf,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;IAC1E,SAAS,GAAG,IAAI,CAAC;IAEjB,IAAI,OAAO;QAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAEtD,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,iBAAiB,EAAE,CAAC;IAEpB,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;IAChC,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,GAAG,GAAG,IAAI,CAAC;IACX,OAAO,GAAG,IAAI,CAAC;IACf,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,OAAO,EAAE,CAAC;IAChB,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAC/C,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,2EAA2E;AAC3E,sEAAsE;AACtE,yBAAyB;AACzB,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IACjE,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IACnC,MAAM,GAAG,GACP,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,IAAI,KAAK,iBAAiB;YAC1B,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,uBAAuB,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC7C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,SAAS;QAAE,OAAO;IAC/B,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../../server/services/telegram/bot.js"],"names":[],"mappings":"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"}