FaziHamza commited on
Commit
981277a
·
1 Parent(s): 29c1ea0

Refactor code structure for improved readability and maintainability

Browse files
apps/agent-service/apps/agent-service/src/agent/chat-graph.d.ts CHANGED
@@ -65,6 +65,7 @@ export declare class ChatGraphService {
65
  private creationClaim;
66
  private briefDrift;
67
  private prizeSumMismatch;
 
68
  private uiBlockFault;
69
  private directResponse;
70
  private stripEmojis;
 
65
  private creationClaim;
66
  private briefDrift;
67
  private prizeSumMismatch;
68
+ private namePairFault;
69
  private uiBlockFault;
70
  private directResponse;
71
  private stripEmojis;
apps/agent-service/apps/agent-service/src/agent/chat-graph.js CHANGED
@@ -460,7 +460,7 @@ SQL Rules:
460
  for (const slot of ChatGraphService_1.BRIEF_SLOTS) {
461
  const value = typeof ledger[slot.key] === 'string' ? ledger[slot.key].trim() : '';
462
  if (value)
463
- settled.push(`- ${slot.label}: ${value.slice(0, 300)}`);
464
  else if (!slot.optional)
465
  missing.push(slot.label);
466
  }
@@ -468,23 +468,18 @@ SQL Rules:
468
  return '';
469
  const name = typeof ledger.name === 'string' ? ledger.name.trim() : '';
470
  let block = '\n\n### The brief so far — settled (FOR YOUR EYES ONLY)\n' +
471
- 'Never quote, list back or hint at this. It is authoritative: every line ' +
472
- 'was said and agreed.\n' +
473
  (name ? `- Name: ${name.slice(0, 120)}\n` : '') +
474
  settled.join('\n') + '\n';
475
  if (missing.length) {
476
  block +=
477
  `\nNot yet settled: ${missing.join(', ')}.\n` +
478
- 'Ask about the first of those and nothing else, in your own words, as one ' +
479
- 'short question. Never ask about a settled slot in any form — a question, ' +
480
- 'a confirmation or a set of choices are all re-asking it. Do not say what ' +
481
- 'is missing or how much is left.\n';
482
  }
483
  else {
484
- block +=
485
- '\nNothing is missing. Ask no further question about the brief: send the ' +
486
- 'card and the two buttons, and say in one line that they can change ' +
487
- 'anything first.\n';
488
  }
489
  block += 'A change to one of these is an update, not a restart.\n';
490
  return block;
@@ -496,13 +491,11 @@ SQL Rules:
496
  const uiArabic = /arab|ar\b/i.test(state.contextParams?.ui_language || '');
497
  const arabic = hasArabic || (!hasLatin && uiArabic);
498
  const lang = arabic ? 'Arabic' : 'English';
499
- return (`\n- WRITE THIS ENTIRE REPLY IN ${lang.toUpperCase()}. Not only the message: ` +
500
- `every suggestion chip, every button label, and every card label and value ` +
501
- `must be in ${lang} too. Do not mix languages and do not translate ` +
502
- `alongside. Only English or Arabic is ever allowed.` +
503
  (arabic
504
- ? '\n- Proper nouns the client wrote in Latin script — a brand or product ' +
505
- 'name — stay exactly as they wrote them. Everything else is Arabic.'
506
  : ''));
507
  }
508
  staleAmount(reply, userMessage) {
@@ -616,6 +609,23 @@ SQL Rules:
616
  `${values.length} prizes add up to ${sum.toLocaleString('en-US')} ` +
617
  `(${values.join(' + ')}).`;
618
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
619
  uiBlockFault(reply, ledger) {
620
  const block = reply.match(/```(?:chatbolt-ui|chatbolt_ui)\s*([\s\S]*?)```/i);
621
  const body = block ? block[1] : '';
@@ -631,7 +641,7 @@ SQL Rules:
631
  if (!block)
632
  return complete ? 'missing_create' : 'missing';
633
  if (/["']?create_contest["']?/i.test(body))
634
- return null;
635
  const OFFERS_CREATE = /"[^"]*\b(?:confirm and create|create (?:this|the|my) contest|create it|proceed with (?:the )?(?:contest )?creation|go ahead and create|yes,? create)\b[^"]*"/i;
636
  const suggestions = body.match(/"suggestions"\s*:\s*\[([\s\S]*?)\]/i);
637
  if (suggestions && OFFERS_CREATE.test(suggestions[1]))
@@ -671,7 +681,7 @@ SQL Rules:
671
  '\n\n### No SQL Needed\n' + instruction +
672
  langLine +
673
  '\n- NEVER mention SQL, database, queries, or internal tools.' +
674
- '\n- ABSOLUTELY NO EMOJIS. Do NOT use any emoji, pictograph, smiley, tick, warning sign, colored dot, heart, or decorative unicode symbol. Plain text only.';
675
  const messages = [
676
  { role: 'system', content: systemContent },
677
  ...windowedHistory.map(m => ({ role: m.role, content: m.content })),
@@ -708,8 +718,7 @@ SQL Rules:
708
  messages: [
709
  {
710
  role: 'system',
711
- content: (terse ? '' : systemContent) +
712
- '\n\n### Output the ui block only\n' +
713
  (fault === 'stale_amount'
714
  ? `${stale}\n` +
715
  'The card is built from the brief, so the client is looking at a figure ' +
@@ -732,31 +741,51 @@ SQL Rules:
732
  'full payload (prompt and brief, every value taken from what the client ' +
733
  'actually agreed), and a secondary "Change something" using "send". ' +
734
  'No "suggestions" on this turn.\n'
735
- : fault === 'missing_create'
736
- ? 'The brief is complete and the client has no way to build it. Only the ' +
737
- 'Create button creates a contest — you cannot, and saying it is done ' +
738
- 'does not make it so.\n' +
739
- 'Send the summary card and exactly two entries in "actions": the primary ' +
740
- 'one carrying "action": "create_contest" with its full payload (prompt ' +
741
- 'and brief), and a secondary "Change something" using "send". No ' +
742
- '"suggestions" on this turn.\n' +
743
- 'Every value in the brief must be one the client actually agreed — copy ' +
744
- 'them from the settled list. Do not invent a name, a prize split, or a ' +
745
- 'date, and do not change a figure they already gave.\n'
746
- : 'Your previous reply left out the required chatbolt-ui block. Send it now ' +
747
- 'and nothing else: no prose, no explanation, no apology.\n') +
 
 
 
 
 
 
 
 
 
 
 
 
 
 
748
  'Reply with exactly one fenced block, starting ```chatbolt-ui and ending ```.\n' +
749
  'Base it on the conversation and on the reply you just gave.' +
750
  (terse
751
  ? '\nOutput the fenced block and NOTHING else. No sentence before it, ' +
752
  'none after it. Your last answer had no block in it at all.'
753
- : ''),
 
754
  },
755
  ...(terse
756
  ? []
757
  : windowedHistory.map(m => ({ role: m.role, content: m.content }))),
758
- { role: 'user', content: state.userMessage },
759
- { role: 'assistant', content: reply },
 
 
 
 
 
760
  ],
761
  max_tokens: 4000,
762
  });
@@ -916,6 +945,8 @@ ChatGraphService.BRIEF_SLOTS = [
916
  { key: 'duration', label: 'Duration' },
917
  { key: 'audience', label: 'Audience', optional: true },
918
  { key: 'draw_type', label: 'Draw type', optional: true },
 
 
919
  ];
920
  exports.ChatGraphService = ChatGraphService = ChatGraphService_1 = __decorate([
921
  (0, common_1.Injectable)(),
 
460
  for (const slot of ChatGraphService_1.BRIEF_SLOTS) {
461
  const value = typeof ledger[slot.key] === 'string' ? ledger[slot.key].trim() : '';
462
  if (value)
463
+ settled.push(`- ${slot.label}: ${value.slice(0, 160)}`);
464
  else if (!slot.optional)
465
  missing.push(slot.label);
466
  }
 
468
  return '';
469
  const name = typeof ledger.name === 'string' ? ledger.name.trim() : '';
470
  let block = '\n\n### The brief so far — settled (FOR YOUR EYES ONLY)\n' +
471
+ 'Authoritative; never quote or list back.\n' +
 
472
  (name ? `- Name: ${name.slice(0, 120)}\n` : '') +
473
  settled.join('\n') + '\n';
474
  if (missing.length) {
475
  block +=
476
  `\nNot yet settled: ${missing.join(', ')}.\n` +
477
+ 'Ask about the first of those only, in your own words, as one short ' +
478
+ 'question. Never ask about a settled slot in any form. Do not say what ' +
479
+ 'is missing.\n';
 
480
  }
481
  else {
482
+ block += '\nNothing is missing. Ask nothing more: send the card and both buttons.\n';
 
 
 
483
  }
484
  block += 'A change to one of these is an update, not a restart.\n';
485
  return block;
 
491
  const uiArabic = /arab|ar\b/i.test(state.contextParams?.ui_language || '');
492
  const arabic = hasArabic || (!hasLatin && uiArabic);
493
  const lang = arabic ? 'Arabic' : 'English';
494
+ return (`\n- WRITE THIS ENTIRE REPLY IN ${lang.toUpperCase()} — the message, every ` +
495
+ `chip and every button label. Never mix languages. Only English or Arabic.` +
 
 
496
  (arabic
497
+ ? '\n- Latin-script brand or product names stay as the client wrote them; ' +
498
+ 'everything else is Arabic.'
499
  : ''));
500
  }
501
  staleAmount(reply, userMessage) {
 
609
  `${values.length} prizes add up to ${sum.toLocaleString('en-US')} ` +
610
  `(${values.join(' + ')}).`;
611
  }
612
+ namePairFault(body) {
613
+ const ARABIC = /[؀-ۿ]/;
614
+ const LATIN = /[A-Za-z]{2,}/;
615
+ const field = (key) => {
616
+ const m = new RegExp(`"${key}"\\s*:\\s*"((?:[^"\\\\]|\\\\.)*)"`).exec(body);
617
+ return m ? m[1].trim() : null;
618
+ };
619
+ const name = field('name');
620
+ const arabicName = field('arabic_name');
621
+ if (name && ARABIC.test(name))
622
+ return 'name_language';
623
+ if (!arabicName || !ARABIC.test(arabicName))
624
+ return 'name_language';
625
+ if (LATIN.test(arabicName))
626
+ return 'name_language';
627
+ return null;
628
+ }
629
  uiBlockFault(reply, ledger) {
630
  const block = reply.match(/```(?:chatbolt-ui|chatbolt_ui)\s*([\s\S]*?)```/i);
631
  const body = block ? block[1] : '';
 
641
  if (!block)
642
  return complete ? 'missing_create' : 'missing';
643
  if (/["']?create_contest["']?/i.test(body))
644
+ return this.namePairFault(body);
645
  const OFFERS_CREATE = /"[^"]*\b(?:confirm and create|create (?:this|the|my) contest|create it|proceed with (?:the )?(?:contest )?creation|go ahead and create|yes,? create)\b[^"]*"/i;
646
  const suggestions = body.match(/"suggestions"\s*:\s*\[([\s\S]*?)\]/i);
647
  if (suggestions && OFFERS_CREATE.test(suggestions[1]))
 
681
  '\n\n### No SQL Needed\n' + instruction +
682
  langLine +
683
  '\n- NEVER mention SQL, database, queries, or internal tools.' +
684
+ '\n- No emojis: plain text only.';
685
  const messages = [
686
  { role: 'system', content: systemContent },
687
  ...windowedHistory.map(m => ({ role: m.role, content: m.content })),
 
718
  messages: [
719
  {
720
  role: 'system',
721
+ content: '### Output the ui block only\n' +
 
722
  (fault === 'stale_amount'
723
  ? `${stale}\n` +
724
  'The card is built from the brief, so the client is looking at a figure ' +
 
741
  'full payload (prompt and brief, every value taken from what the client ' +
742
  'actually agreed), and a secondary "Change something" using "send". ' +
743
  'No "suggestions" on this turn.\n'
744
+ : fault === 'name_language'
745
+ ? 'The contest name is stored twice, once per language, and every screen ' +
746
+ 'shows one or the other. Your brief did not give a real pair, so one ' +
747
+ 'audience would see the wrong language.\n' +
748
+ 'Send the block again with all four present and each in its own ' +
749
+ 'language, whatever language this conversation is in:\n' +
750
+ ' "name" — English only\n' +
751
+ ' "arabic_name" — Arabic only, the same contest, not a ' +
752
+ 'transliteration and not a copy of the English\n' +
753
+ ' "description" — English only\n' +
754
+ ' "arabic_description" — Arabic only\n' +
755
+ 'Arabic fields carry Arabic letters, Arabic punctuation and digits — no ' +
756
+ 'Latin words. Change nothing else: same levels, same prizes, same ' +
757
+ 'figures, same dates.\n'
758
+ : fault === 'missing_create'
759
+ ? 'The brief is complete and the client has no way to build it. Only the ' +
760
+ 'Create button creates a contest — you cannot, and saying it is done ' +
761
+ 'does not make it so.\n' +
762
+ 'Send the summary card and exactly two entries in "actions": the primary ' +
763
+ 'one carrying "action": "create_contest" with its full payload (prompt ' +
764
+ 'and brief), and a secondary "Change something" using "send". No ' +
765
+ '"suggestions" on this turn.\n' +
766
+ 'Every value in the brief must be one the client actually agreed — copy ' +
767
+ 'them from the settled list. Do not invent a name, a prize split, or a ' +
768
+ 'date, and do not change a figure they already gave.\n'
769
+ : 'Your previous reply left out the required chatbolt-ui block. Send it now ' +
770
+ 'and nothing else: no prose, no explanation, no apology.\n') +
771
  'Reply with exactly one fenced block, starting ```chatbolt-ui and ending ```.\n' +
772
  'Base it on the conversation and on the reply you just gave.' +
773
  (terse
774
  ? '\nOutput the fenced block and NOTHING else. No sentence before it, ' +
775
  'none after it. Your last answer had no block in it at all.'
776
+ : '') +
777
+ (terse ? '' : `\n\n---\n${systemContent}`),
778
  },
779
  ...(terse
780
  ? []
781
  : windowedHistory.map(m => ({ role: m.role, content: m.content }))),
782
+ {
783
+ role: 'user',
784
+ content: `${state.userMessage}\n\n` +
785
+ `--- the reply you just gave, which needs the fix described above ---\n` +
786
+ `${reply}\n` +
787
+ `--- end of that reply ---`,
788
+ },
789
  ],
790
  max_tokens: 4000,
791
  });
 
945
  { key: 'duration', label: 'Duration' },
946
  { key: 'audience', label: 'Audience', optional: true },
947
  { key: 'draw_type', label: 'Draw type', optional: true },
948
+ { key: 'objective', label: 'Business objective', optional: true },
949
+ { key: 'category', label: 'Contest category', optional: true },
950
  ];
951
  exports.ChatGraphService = ChatGraphService = ChatGraphService_1 = __decorate([
952
  (0, common_1.Injectable)(),
apps/agent-service/apps/agent-service/src/agent/chat-graph.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chat-graph.js","sourceRoot":"","sources":["../../../../../../../apps/agent-service/src/agent/chat-graph.ts"],"names":[],"mappings":"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"}
 
1
+ {"version":3,"file":"chat-graph.js","sourceRoot":"","sources":["../../../../../../../apps/agent-service/src/agent/chat-graph.ts"],"names":[],"mappings":"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"}
apps/agent-service/apps/agent-service/src/agent/xtroedge.service.d.ts CHANGED
@@ -20,6 +20,8 @@ export declare class XtroEdgeService {
20
  private static readonly ONE_SHOT_MAX_TOKENS;
21
  private readonly threads;
22
  private static readonly THREAD_TTL_MS;
 
 
23
  private baseUrl;
24
  private resolveModel;
25
  chat(options: XtroEdgeChatOptions): Promise<XtroEdgeChatResult>;
 
20
  private static readonly ONE_SHOT_MAX_TOKENS;
21
  private readonly threads;
22
  private static readonly THREAD_TTL_MS;
23
+ private static readonly BURST_BACKOFF_MS;
24
+ private static readonly TOKEN_RATE_BACKOFF_MS;
25
  private baseUrl;
26
  private resolveModel;
27
  chat(options: XtroEdgeChatOptions): Promise<XtroEdgeChatResult>;
apps/agent-service/apps/agent-service/src/agent/xtroedge.service.js CHANGED
@@ -134,7 +134,7 @@ let XtroEdgeService = XtroEdgeService_1 = class XtroEdgeService {
134
  async request(apiKey, method, path, body) {
135
  const url = `${this.baseUrl()}${path}`;
136
  const timeoutMs = Math.max(1, parseInt(process.env.LLM_TIMEOUT_SECONDS || '25', 10)) * 1000;
137
- const maxAttempts = 3;
138
  for (let attempt = 1;; attempt++) {
139
  const controller = new AbortController();
140
  const timer = setTimeout(() => controller.abort(), timeoutMs);
@@ -168,12 +168,24 @@ let XtroEdgeService = XtroEdgeService_1 = class XtroEdgeService {
168
  const detail = await this.readDetail(response);
169
  if (response.status === 429) {
170
  const quota = /^(daily_requests|monthly_requests|daily_tokens)/i.test(detail);
 
171
  if (!quota && attempt < maxAttempts) {
172
- const waitMs = 1000 * attempt;
173
- this.logger.warn(`[XTROEDGE] burst limit — retrying in ${waitMs}ms (${attempt}/${maxAttempts})`);
 
 
 
 
 
 
 
174
  await new Promise((r) => setTimeout(r, waitMs));
175
  continue;
176
  }
 
 
 
 
177
  }
178
  if ((response.status === 502 || response.status === 504) && attempt === 1) {
179
  this.logger.warn(`[XTROEDGE] upstream ${response.status} — retrying once`);
@@ -211,6 +223,8 @@ XtroEdgeService.MODELS = {
211
  XtroEdgeService.DEFAULT_MODEL = 'XtroEdge Pro v3';
212
  XtroEdgeService.ONE_SHOT_MAX_TOKENS = 16_000;
213
  XtroEdgeService.THREAD_TTL_MS = 6 * 60 * 60 * 1000;
 
 
214
  exports.XtroEdgeService = XtroEdgeService = XtroEdgeService_1 = __decorate([
215
  (0, common_1.Injectable)()
216
  ], XtroEdgeService);
 
134
  async request(apiKey, method, path, body) {
135
  const url = `${this.baseUrl()}${path}`;
136
  const timeoutMs = Math.max(1, parseInt(process.env.LLM_TIMEOUT_SECONDS || '25', 10)) * 1000;
137
+ const maxAttempts = XtroEdgeService_1.BURST_BACKOFF_MS.length + 1;
138
  for (let attempt = 1;; attempt++) {
139
  const controller = new AbortController();
140
  const timer = setTimeout(() => controller.abort(), timeoutMs);
 
168
  const detail = await this.readDetail(response);
169
  if (response.status === 429) {
170
  const quota = /^(daily_requests|monthly_requests|daily_tokens)/i.test(detail);
171
+ const tokenRate = /token rate limit|tokens this minute/i.test(detail);
172
  if (!quota && attempt < maxAttempts) {
173
+ const schedule = tokenRate
174
+ ? XtroEdgeService_1.TOKEN_RATE_BACKOFF_MS
175
+ : XtroEdgeService_1.BURST_BACKOFF_MS;
176
+ const advised = Number(response.headers.get('retry-after'));
177
+ const waitMs = Number.isFinite(advised) && advised > 0
178
+ ? Math.min(advised * 1000, 30_000)
179
+ : schedule[attempt - 1] ?? schedule[schedule.length - 1];
180
+ this.logger.warn(`[XTROEDGE] ${tokenRate ? 'token rate' : 'burst'} limit — ` +
181
+ `retrying in ${waitMs}ms (${attempt}/${maxAttempts}): ${detail.slice(0, 120)}`);
182
  await new Promise((r) => setTimeout(r, waitMs));
183
  continue;
184
  }
185
+ if (quota)
186
+ this.logger.error(`[XTROEDGE] quota trip — not retryable: ${detail}`);
187
+ else
188
+ this.logger.error(`[XTROEDGE] rate limit survived ${maxAttempts} attempts: ${detail}`);
189
  }
190
  if ((response.status === 502 || response.status === 504) && attempt === 1) {
191
  this.logger.warn(`[XTROEDGE] upstream ${response.status} — retrying once`);
 
223
  XtroEdgeService.DEFAULT_MODEL = 'XtroEdge Pro v3';
224
  XtroEdgeService.ONE_SHOT_MAX_TOKENS = 16_000;
225
  XtroEdgeService.THREAD_TTL_MS = 6 * 60 * 60 * 1000;
226
+ XtroEdgeService.BURST_BACKOFF_MS = [1_000, 3_000, 7_000];
227
+ XtroEdgeService.TOKEN_RATE_BACKOFF_MS = [5_000, 12_000, 20_000];
228
  exports.XtroEdgeService = XtroEdgeService = XtroEdgeService_1 = __decorate([
229
  (0, common_1.Injectable)()
230
  ], XtroEdgeService);
apps/agent-service/apps/agent-service/src/agent/xtroedge.service.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"xtroedge.service.js","sourceRoot":"","sources":["../../../../../../../apps/agent-service/src/agent/xtroedge.service.ts"],"names":[],"mappings":"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"}
 
1
+ {"version":3,"file":"xtroedge.service.js","sourceRoot":"","sources":["../../../../../../../apps/agent-service/src/agent/xtroedge.service.ts"],"names":[],"mappings":"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"}
apps/agent-service/tsconfig.app.tsbuildinfo CHANGED
The diff for this file is too large to render. See raw diff
 
apps/api-gateway/apps/api-gateway/src/chat/chat.controller.d.ts CHANGED
@@ -30,4 +30,13 @@ export declare class ChatController {
30
  createdAt: Date;
31
  }[];
32
  }>;
 
 
 
 
 
 
 
 
 
33
  }
 
30
  createdAt: Date;
31
  }[];
32
  }>;
33
+ listConversations(req: any, userIdentifier: string, limit?: string): Promise<{
34
+ conversations: {
35
+ sessionId: string;
36
+ title: string;
37
+ messageCount: number;
38
+ createdAt: Date;
39
+ lastMessageAt: Date;
40
+ }[];
41
+ }>;
42
  }
apps/api-gateway/apps/api-gateway/src/chat/chat.controller.js CHANGED
@@ -28,6 +28,9 @@ let ChatController = class ChatController {
28
  getHistory(req, sessionId) {
29
  return this.chatService.getHistory(req.agent, sessionId);
30
  }
 
 
 
31
  };
32
  exports.ChatController = ChatController;
33
  __decorate([
@@ -54,6 +57,22 @@ __decorate([
54
  __metadata("design:paramtypes", [Object, String]),
55
  __metadata("design:returntype", void 0)
56
  ], ChatController.prototype, "getHistory", null);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  exports.ChatController = ChatController = __decorate([
58
  (0, swagger_1.ApiTags)('Chat'),
59
  (0, swagger_1.ApiSecurity)('api-key'),
 
28
  getHistory(req, sessionId) {
29
  return this.chatService.getHistory(req.agent, sessionId);
30
  }
31
+ listConversations(req, userIdentifier, limit) {
32
+ return this.chatService.listConversations(req.agent, userIdentifier, Number(limit) || 50);
33
+ }
34
  };
35
  exports.ChatController = ChatController;
36
  __decorate([
 
57
  __metadata("design:paramtypes", [Object, String]),
58
  __metadata("design:returntype", void 0)
59
  ], ChatController.prototype, "getHistory", null);
60
+ __decorate([
61
+ (0, common_1.Get)('conversations'),
62
+ (0, swagger_1.ApiOperation)({
63
+ summary: "List a user's conversations",
64
+ description: 'Every conversation for one user_identifier, newest activity first, with a ' +
65
+ 'title taken from the opening message and the stored message count. The ' +
66
+ 'widget builds its History tab from this, so the list follows the person ' +
67
+ 'rather than the browser they happened to use.',
68
+ }),
69
+ __param(0, (0, common_1.Request)()),
70
+ __param(1, (0, common_1.Query)('user_identifier')),
71
+ __param(2, (0, common_1.Query)('limit')),
72
+ __metadata("design:type", Function),
73
+ __metadata("design:paramtypes", [Object, String, String]),
74
+ __metadata("design:returntype", void 0)
75
+ ], ChatController.prototype, "listConversations", null);
76
  exports.ChatController = ChatController = __decorate([
77
  (0, swagger_1.ApiTags)('Chat'),
78
  (0, swagger_1.ApiSecurity)('api-key'),
apps/api-gateway/apps/api-gateway/src/chat/chat.controller.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chat.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/chat/chat.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,6CAAqE;AACrE,gEAA2D;AAC3D,iDAA6C;AAC7C,6DAAwD;AAMjD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAOzD,WAAW,CAAY,GAAG,EAAU,GAAmB;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAOD,UAAU,CAAY,GAAG,EAAuB,SAAiB;QAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AApBY,wCAAc;AAQzB;IALC,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,iDAAiD;QAC1D,WAAW,EAAE,gDAAgD;KAC9D,CAAC;IACW,WAAA,IAAA,gBAAO,GAAE,CAAA;IAAO,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAM,iCAAc;;iDAEtD;AAOD;IALC,IAAA,YAAG,EAAC,SAAS,CAAC;IACd,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,6CAA6C;KAC3D,CAAC;IACU,WAAA,IAAA,gBAAO,GAAE,CAAA;IAAO,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;;;;gDAE9C;yBAnBU,cAAc;IAJ1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,qBAAW,EAAC,SAAS,CAAC;IACtB,IAAA,kBAAS,EAAC,2BAAW,CAAC;IACtB,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEyB,0BAAW;GAD1C,cAAc,CAoB1B"}
 
1
+ {"version":3,"file":"chat.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/chat/chat.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,6CAAqE;AACrE,gEAA2D;AAC3D,iDAA6C;AAC7C,6DAAwD;AAMjD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAOzD,WAAW,CAAY,GAAG,EAAU,GAAmB;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAOD,UAAU,CAAY,GAAG,EAAuB,SAAiB;QAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAWD,iBAAiB,CACJ,GAAG,EACY,cAAsB,EAChC,KAAc;QAE9B,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;CACF,CAAA;AArCY,wCAAc;AAQzB;IALC,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,iDAAiD;QAC1D,WAAW,EAAE,gDAAgD;KAC9D,CAAC;IACW,WAAA,IAAA,gBAAO,GAAE,CAAA;IAAO,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAM,iCAAc;;iDAEtD;AAOD;IALC,IAAA,YAAG,EAAC,SAAS,CAAC;IACd,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,6CAA6C;KAC3D,CAAC;IACU,WAAA,IAAA,gBAAO,GAAE,CAAA;IAAO,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;;;;gDAE9C;AAWD;IATC,IAAA,YAAG,EAAC,eAAe,CAAC;IACpB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,6BAA6B;QACtC,WAAW,EACT,4EAA4E;YAC5E,yEAAyE;YACzE,0EAA0E;YAC1E,+CAA+C;KAClD,CAAC;IAEC,WAAA,IAAA,gBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAK,EAAC,iBAAiB,CAAC,CAAA;IACxB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;uDAGhB;yBApCU,cAAc;IAJ1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,qBAAW,EAAC,SAAS,CAAC;IACtB,IAAA,kBAAS,EAAC,2BAAW,CAAC;IACtB,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEyB,0BAAW;GAD1C,cAAc,CAqC1B"}
apps/api-gateway/apps/api-gateway/src/chat/chat.service.d.ts CHANGED
@@ -20,6 +20,15 @@ export declare class ChatService {
20
  createdAt: Date;
21
  }[];
22
  }>;
 
 
 
 
 
 
 
 
 
23
  sendMessage(agent: Agent, dto: SendMessageDto): Promise<{
24
  session_id: string;
25
  reply: string;
@@ -58,6 +67,9 @@ export declare class ChatService {
58
  private extractChatUi;
59
  private static readonly CARD_TEXT;
60
  private static readonly AUDIENCE_AR;
 
 
 
61
  private static readonly COUNTRY_AR;
62
  private audienceIn;
63
  private countriesIn;
 
20
  createdAt: Date;
21
  }[];
22
  }>;
23
+ listConversations(agent: Agent, userIdentifier: string, limit?: number): Promise<{
24
+ conversations: {
25
+ sessionId: string;
26
+ title: string;
27
+ messageCount: number;
28
+ createdAt: Date;
29
+ lastMessageAt: Date;
30
+ }[];
31
+ }>;
32
  sendMessage(agent: Agent, dto: SendMessageDto): Promise<{
33
  session_id: string;
34
  reply: string;
 
67
  private extractChatUi;
68
  private static readonly CARD_TEXT;
69
  private static readonly AUDIENCE_AR;
70
+ private static readonly OBJECTIVE_AR;
71
+ private static readonly CATEGORY_AR;
72
+ private taxonomyIn;
73
  private static readonly COUNTRY_AR;
74
  private audienceIn;
75
  private countriesIn;
apps/api-gateway/apps/api-gateway/src/chat/chat.service.js CHANGED
@@ -56,6 +56,51 @@ let ChatService = ChatService_1 = class ChatService {
56
  })),
57
  };
58
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  async sendMessage(agent, dto) {
60
  if (process.env.DEBUG_MODE === 'true')
61
  debugger;
@@ -427,10 +472,28 @@ let ChatService = ChatService_1 = class ChatService {
427
  const t = brief.type.trim();
428
  fields.push({ label: T.contestType, value: T.types[t] || t });
429
  }
 
 
 
 
 
 
 
 
 
 
 
 
430
  if (!fields.length)
431
  return;
432
- const title = String(brief.name ?? '').trim() || ui.card?.title || T.fallbackTitle;
433
- const subtitle = String(brief.description ?? '').trim() || ui.card?.subtitle;
 
 
 
 
 
 
434
  ui.card = {
435
  title,
436
  ...(subtitle ? { subtitle } : {}),
@@ -562,6 +625,16 @@ let ChatService = ChatService_1 = class ChatService {
562
  }
563
  return { text, ui: hasUi ? clean : undefined, slots };
564
  }
 
 
 
 
 
 
 
 
 
 
565
  audienceIn(value, lang) {
566
  if (lang !== 'ar' || !value)
567
  return value;
@@ -669,6 +742,10 @@ let ChatService = ChatService_1 = class ChatService {
669
  out.name = str(brief.name);
670
  if (str(brief.description))
671
  out.theme = str(brief.description);
 
 
 
 
672
  if (Array.isArray(brief.levels) && brief.levels.length) {
673
  const types = brief.levels
674
  .map((l) => str(l?.type))
@@ -766,6 +843,7 @@ ChatService.CARD_TEXT = {
766
  levels: 'Levels', prizes: 'Prizes', dates: 'Dates', duration: 'Duration',
767
  audience: 'Audience', where: 'Where', winners: 'Winners', draw: 'Draw',
768
  contestType: 'Contest type', fallbackTitle: 'Your contest',
 
769
  total: 'total', week: 'week(s)', days: 'days',
770
  everywhereExcept: (c) => `Everywhere except ${c}`,
771
  draws: {
@@ -779,6 +857,7 @@ ChatService.CARD_TEXT = {
779
  levels: 'المراحل', prizes: 'الجوائز', dates: 'التواريخ', duration: 'المدة',
780
  audience: 'الجمهور', where: 'النطاق', winners: 'الفائزون', draw: 'طريقة الاختيار',
781
  contestType: 'نوع المسابقة', fallbackTitle: 'مسابقتك',
 
782
  total: 'الإجمالي', week: 'أسبوع', days: 'يوم',
783
  everywhereExcept: (c) => `كل الدول ما عدا ${c}`,
784
  draws: {
@@ -812,6 +891,45 @@ ChatService.AUDIENCE_AR = [
812
  [/\bover\b/gi, 'أكثر من'],
813
  [/\bunder\b/gi, 'أقل من'],
814
  ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
815
  ChatService.COUNTRY_AR = {
816
  'saudi arabia': 'السعودية',
817
  'united arab emirates': 'الإمارات',
 
56
  })),
57
  };
58
  }
59
+ async listConversations(agent, userIdentifier, limit = 50) {
60
+ if (!userIdentifier)
61
+ return { conversations: [] };
62
+ const conversations = await this.convRepo.find({
63
+ where: { agent_id: agent.id, user_identifier: userIdentifier },
64
+ order: { created_at: 'DESC' },
65
+ take: Math.min(Math.max(Number(limit) || 50, 1), 200),
66
+ });
67
+ if (!conversations.length)
68
+ return { conversations: [] };
69
+ const firstMessages = await this.msgRepo.find({
70
+ where: {
71
+ conversation_id: (0, typeorm_2.In)(conversations.map(c => c.id)),
72
+ role: shared_1.MessageRole.USER,
73
+ },
74
+ order: { created_at: 'ASC' },
75
+ select: ['conversation_id', 'content', 'created_at'],
76
+ });
77
+ const titleFor = new Map();
78
+ for (const m of firstMessages) {
79
+ if (!titleFor.has(m.conversation_id)) {
80
+ titleFor.set(m.conversation_id, m.content.replace(/\s+/g, ' ').trim().slice(0, 80));
81
+ }
82
+ }
83
+ const lastMessages = await this.msgRepo.find({
84
+ where: { conversation_id: (0, typeorm_2.In)(conversations.map(c => c.id)) },
85
+ order: { created_at: 'DESC' },
86
+ select: ['conversation_id', 'created_at'],
87
+ });
88
+ const lastAt = new Map();
89
+ for (const m of lastMessages) {
90
+ if (!lastAt.has(m.conversation_id))
91
+ lastAt.set(m.conversation_id, m.created_at);
92
+ }
93
+ const rows = conversations.map(c => ({
94
+ sessionId: c.session_id,
95
+ title: titleFor.get(c.id) || 'New Chat',
96
+ messageCount: c.message_count ?? 0,
97
+ createdAt: c.created_at,
98
+ lastMessageAt: lastAt.get(c.id) ?? c.created_at,
99
+ }));
100
+ rows.sort((a, b) => +new Date(b.lastMessageAt) - +new Date(a.lastMessageAt));
101
+ this.logger.log(`[CHAT_LIST] user=${userIdentifier} conversations=${rows.length}`);
102
+ return { conversations: rows };
103
+ }
104
  async sendMessage(agent, dto) {
105
  if (process.env.DEBUG_MODE === 'true')
106
  debugger;
 
472
  const t = brief.type.trim();
473
  fields.push({ label: T.contestType, value: T.types[t] || t });
474
  }
475
+ if (typeof brief.business_objective === 'string' && brief.business_objective.trim()) {
476
+ fields.push({
477
+ label: T.objective,
478
+ value: this.taxonomyIn(brief.business_objective.trim(), ChatService_1.OBJECTIVE_AR, lang),
479
+ });
480
+ }
481
+ if (typeof brief.contest_category === 'string' && brief.contest_category.trim()) {
482
+ fields.push({
483
+ label: T.category,
484
+ value: this.taxonomyIn(brief.contest_category.trim(), ChatService_1.CATEGORY_AR, lang),
485
+ });
486
+ }
487
  if (!fields.length)
488
  return;
489
+ const arabicName = String(brief.arabic_name ?? '').trim();
490
+ const englishName = String(brief.name ?? '').trim();
491
+ const title = (lang === 'ar' ? arabicName || englishName : englishName || arabicName)
492
+ || ui.card?.title || T.fallbackTitle;
493
+ const arabicDesc = String(brief.arabic_description ?? '').trim();
494
+ const englishDesc = String(brief.description ?? '').trim();
495
+ const subtitle = (lang === 'ar' ? arabicDesc || englishDesc : englishDesc || arabicDesc)
496
+ || ui.card?.subtitle;
497
  ui.card = {
498
  title,
499
  ...(subtitle ? { subtitle } : {}),
 
625
  }
626
  return { text, ui: hasUi ? clean : undefined, slots };
627
  }
628
+ taxonomyIn(value, table, lang) {
629
+ if (lang !== 'ar' || !value)
630
+ return value;
631
+ return value
632
+ .split(',')
633
+ .map(v => v.trim())
634
+ .filter(Boolean)
635
+ .map(v => table[v.toLowerCase().replace(/\s*&\s*/g, ' and ').replace(/\s+/g, ' ')] ?? v)
636
+ .join('، ');
637
+ }
638
  audienceIn(value, lang) {
639
  if (lang !== 'ar' || !value)
640
  return value;
 
742
  out.name = str(brief.name);
743
  if (str(brief.description))
744
  out.theme = str(brief.description);
745
+ if (str(brief.business_objective))
746
+ out.objective = str(brief.business_objective);
747
+ if (str(brief.contest_category))
748
+ out.category = str(brief.contest_category);
749
  if (Array.isArray(brief.levels) && brief.levels.length) {
750
  const types = brief.levels
751
  .map((l) => str(l?.type))
 
843
  levels: 'Levels', prizes: 'Prizes', dates: 'Dates', duration: 'Duration',
844
  audience: 'Audience', where: 'Where', winners: 'Winners', draw: 'Draw',
845
  contestType: 'Contest type', fallbackTitle: 'Your contest',
846
+ objective: 'Objective', category: 'Category',
847
  total: 'total', week: 'week(s)', days: 'days',
848
  everywhereExcept: (c) => `Everywhere except ${c}`,
849
  draws: {
 
857
  levels: 'المراحل', prizes: 'الجوائز', dates: 'التواريخ', duration: 'المدة',
858
  audience: 'الجمهور', where: 'النطاق', winners: 'الفائزون', draw: 'طريقة الاختيار',
859
  contestType: 'نوع المسابقة', fallbackTitle: 'مسابقتك',
860
+ objective: 'الهدف التجاري', category: 'تصنيف المسابقة',
861
  total: 'الإجمالي', week: 'أسبوع', days: 'يوم',
862
  everywhereExcept: (c) => `كل الدول ما عدا ${c}`,
863
  draws: {
 
891
  [/\bover\b/gi, 'أكثر من'],
892
  [/\bunder\b/gi, 'أقل من'],
893
  ];
894
+ ChatService.OBJECTIVE_AR = {
895
+ 'brand awareness': 'التعريف بالعلامة التجارية',
896
+ 'awareness': 'التعريف بالعلامة',
897
+ 'store traffic': 'زيادة زيارات المتجر',
898
+ 'foot traffic': 'زيادة الزيارات',
899
+ 'sales': 'زيادة المبيعات',
900
+ 'sales and conversion': 'المبيعات والتحويل',
901
+ 'conversion': 'التحويل',
902
+ 'app installs': 'تحميل التطبيق',
903
+ 'app downloads': 'تحميل التطبيق',
904
+ 'content collection': 'جمع المحتوى',
905
+ 'user generated content': 'محتوى من المشاركين',
906
+ 'customer loyalty': 'ولاء العملاء',
907
+ 'loyalty': 'الولاء',
908
+ 'engagement': 'التفاعل',
909
+ 'lead generation': 'جمع العملاء المحتملين',
910
+ 'product launch': 'إطلاق منتج',
911
+ 'market research': 'أبحاث السوق',
912
+ };
913
+ ChatService.CATEGORY_AR = {
914
+ 'food and drink': 'الطعام والشراب',
915
+ 'food & beverage': 'الطعام والشراب',
916
+ 'food and beverage': 'الطعام والشراب',
917
+ 'sports': 'الرياضة',
918
+ 'travel': 'السفر',
919
+ 'health': 'الصحة',
920
+ 'health and fitness': 'الصحة واللياقة',
921
+ 'fashion': 'الأزياء',
922
+ 'beauty': 'الجمال',
923
+ 'technology': 'التقنية',
924
+ 'electronics': 'الإلكترونيات',
925
+ 'entertainment': 'الترفيه',
926
+ 'education': 'التعليم',
927
+ 'automotive': 'السيارات',
928
+ 'retail': 'التجزئة',
929
+ 'gaming': 'الألعاب',
930
+ 'finance': 'التمويل',
931
+ 'home and living': 'المنزل والمعيشة',
932
+ };
933
  ChatService.COUNTRY_AR = {
934
  'saudi arabia': 'السعودية',
935
  'united arab emirates': 'الإمارات',
apps/api-gateway/apps/api-gateway/src/chat/chat.service.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/chat/chat.service.ts"],"names":[],"mappings":"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"}
 
1
+ {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/chat/chat.service.ts"],"names":[],"mappings":"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"}
apps/api-gateway/tsconfig.app.tsbuildinfo CHANGED
The diff for this file is too large to render. See raw diff