FaziHamza commited on
Commit
b6e41f2
·
1 Parent(s): dff3b31
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/ai-endpoints/ai-endpoints.service.d.ts CHANGED
@@ -19,6 +19,7 @@ export declare class AiEndpointsService {
19
  private readonly logger;
20
  private readonly rewriteFrom;
21
  private readonly rewriteTo;
 
22
  constructor(repo: Repository<AiEndpoint>, apiKeyRepo: Repository<ApiKey>, agentRepo: Repository<Agent>, apiEndpointRepo: Repository<ApiBuilderEndpoint>, dbConnRepo: Repository<DbConnection>, imageAgentRepo: Repository<ImageAgent>, callLogRepo: Repository<EndpointCall>, httpService: HttpService, agentClient: ClientProxy, dbConnectorClient: ClientProxy, hooks: HooksService);
23
  getAll(tenantId: string): Promise<AiEndpoint[]>;
24
  getOne(tenantId: string, id: string): Promise<AiEndpoint>;
@@ -59,6 +60,8 @@ export declare class AiEndpointsService {
59
  private makeSlug;
60
  private executeAiMode;
61
  private generateImagesFromPrompts;
 
 
62
  private runQueryForAi;
63
  private runQueryTextForAi;
64
  private substituteParams;
 
19
  private readonly logger;
20
  private readonly rewriteFrom;
21
  private readonly rewriteTo;
22
+ private readonly queryResultMaxChars;
23
  constructor(repo: Repository<AiEndpoint>, apiKeyRepo: Repository<ApiKey>, agentRepo: Repository<Agent>, apiEndpointRepo: Repository<ApiBuilderEndpoint>, dbConnRepo: Repository<DbConnection>, imageAgentRepo: Repository<ImageAgent>, callLogRepo: Repository<EndpointCall>, httpService: HttpService, agentClient: ClientProxy, dbConnectorClient: ClientProxy, hooks: HooksService);
24
  getAll(tenantId: string): Promise<AiEndpoint[]>;
25
  getOne(tenantId: string, id: string): Promise<AiEndpoint>;
 
60
  private makeSlug;
61
  private executeAiMode;
62
  private generateImagesFromPrompts;
63
+ private normalizeContestDates;
64
+ private repairArabicFields;
65
  private runQueryForAi;
66
  private runQueryTextForAi;
67
  private substituteParams;
apps/api-gateway/apps/api-gateway/src/ai-endpoints/ai-endpoints.service.js CHANGED
@@ -39,6 +39,7 @@ let AiEndpointsService = AiEndpointsService_1 = class AiEndpointsService {
39
  this.logger = new common_1.Logger(AiEndpointsService_1.name);
40
  this.rewriteFrom = process.env.AI_ENDPOINT_URL_REWRITE_FROM || '';
41
  this.rewriteTo = process.env.AI_ENDPOINT_URL_REWRITE_TO || '';
 
42
  }
43
  async getAll(tenantId) {
44
  return this.repo.find({
@@ -362,7 +363,15 @@ let AiEndpointsService = AiEndpointsService_1 = class AiEndpointsService {
362
  const systemPrompt = rawSystemPrompt;
363
  let message = this.enrichDatesInMessage(userPrompt || '');
364
  if (queryResult) {
365
- message += `\n\nQuery Result (JSON):\n${JSON.stringify(queryResult).substring(0, 8000)}`;
 
 
 
 
 
 
 
 
366
  }
367
  const aiResponse = await (0, rxjs_1.firstValueFrom)(this.agentClient.send(shared_1.MSG.AGENT_CHAT, {
368
  agentId: agent.id,
@@ -402,6 +411,15 @@ let AiEndpointsService = AiEndpointsService_1 = class AiEndpointsService {
402
  if (typeof aiResult === 'string') {
403
  this.logger.warn(`[AI_RESPONSE] Failed to parse as JSON, returning as string. First 200 chars: ${aiResult.substring(0, 200)}`);
404
  }
 
 
 
 
 
 
 
 
 
405
  if (endpoint?.enable_image_generation && endpoint.image_agent_id && aiResult && (typeof aiResult === 'object' || Array.isArray(aiResult))) {
406
  const imageAgent = await this.imageAgentRepo.findOne({ where: { id: endpoint.image_agent_id, is_active: true } });
407
  if (imageAgent) {
@@ -432,18 +450,29 @@ let AiEndpointsService = AiEndpointsService_1 = class AiEndpointsService {
432
  scan(aiResult);
433
  if (imageJobs.length > 0) {
434
  this.logger.log(`[IMAGE_GEN] Found ${imageJobs.length} image prompts, using agent "${imageAgent.name}" (${model}), provider: ${imageAgent.provider}...`);
435
- await Promise.allSettled(imageJobs.map(async (job) => {
436
- try {
437
- const imageUrl = await this.callImageProvider(imageAgent.provider, apiKey, model, job.prompt, defaultWidth, defaultHeight);
438
- job.parent.image_url = imageUrl;
439
- delete job.parent[promptKey];
 
 
 
 
 
 
 
 
 
 
 
 
440
  }
441
- catch (err) {
442
- this.logger.error(`[IMAGE_GEN] Failed: ${err.message}`);
443
- job.parent.image_url = '';
444
- delete job.parent[promptKey];
445
  }
446
- }));
 
447
  }
448
  }
449
  }
@@ -526,6 +555,155 @@ let AiEndpointsService = AiEndpointsService_1 = class AiEndpointsService {
526
  }
527
  return results;
528
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
529
  async runQueryForAi(tenantId, slug, params, dbConnectionId) {
530
  const apiEndpoint = await this.apiEndpointRepo.findOne({
531
  where: { slug, tenant_id: tenantId, is_active: true },
@@ -629,14 +807,38 @@ let AiEndpointsService = AiEndpointsService_1 = class AiEndpointsService {
629
  return false; seen.add(d.ts); return true; });
630
  if (unique.length === 0)
631
  return message;
632
- const dateHints = unique.map(d => `"${d.text}" = timestamp ${d.ts}`).join(', ');
633
- return `${message}\n\n[PRE-CALCULATED TIMESTAMPS — use these exact numbers in your JSON: ${dateHints}. Do NOT recalculate these timestamps.]`;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
634
  }
635
  sanitizeParam(value) {
636
  if (value === null || value === undefined)
637
  return 'NULL';
638
  const str = String(value);
639
- if (/^-?\\d+(\\.\\d+)?$/.test(str))
640
  return str;
641
  return `'${str.replace(/'/g, "''")}'`;
642
  }
 
39
  this.logger = new common_1.Logger(AiEndpointsService_1.name);
40
  this.rewriteFrom = process.env.AI_ENDPOINT_URL_REWRITE_FROM || '';
41
  this.rewriteTo = process.env.AI_ENDPOINT_URL_REWRITE_TO || '';
42
+ this.queryResultMaxChars = Math.max(1000, parseInt(process.env.AI_QUERY_RESULT_MAX_CHARS || '60000', 10) || 60000);
43
  }
44
  async getAll(tenantId) {
45
  return this.repo.find({
 
363
  const systemPrompt = rawSystemPrompt;
364
  let message = this.enrichDatesInMessage(userPrompt || '');
365
  if (queryResult) {
366
+ const serialized = JSON.stringify(queryResult);
367
+ if (serialized.length > this.queryResultMaxChars) {
368
+ this.logger.warn(`[AI_QUERY_RESULT] TRUNCATED ${serialized.length} -> ${this.queryResultMaxChars} chars. ` +
369
+ `The model will not see the tail of the context. Raise AI_QUERY_RESULT_MAX_CHARS or shrink the query.`);
370
+ }
371
+ else {
372
+ this.logger.log(`[AI_QUERY_RESULT] ${serialized.length} chars passed to model (limit ${this.queryResultMaxChars})`);
373
+ }
374
+ message += `\n\nQuery Result (JSON):\n${serialized.substring(0, this.queryResultMaxChars)}`;
375
  }
376
  const aiResponse = await (0, rxjs_1.firstValueFrom)(this.agentClient.send(shared_1.MSG.AGENT_CHAT, {
377
  agentId: agent.id,
 
411
  if (typeof aiResult === 'string') {
412
  this.logger.warn(`[AI_RESPONSE] Failed to parse as JSON, returning as string. First 200 chars: ${aiResult.substring(0, 200)}`);
413
  }
414
+ if (aiResult && typeof aiResult === 'object') {
415
+ const dateChanges = this.normalizeContestDates(aiResult);
416
+ if (dateChanges.length) {
417
+ this.logger.warn(`[DATE_NORMALIZE] ${dateChanges.join(' | ')}`);
418
+ }
419
+ }
420
+ if (aiResult && typeof aiResult === 'object') {
421
+ await this.repairArabicFields(aiResult, agent);
422
+ }
423
  if (endpoint?.enable_image_generation && endpoint.image_agent_id && aiResult && (typeof aiResult === 'object' || Array.isArray(aiResult))) {
424
  const imageAgent = await this.imageAgentRepo.findOne({ where: { id: endpoint.image_agent_id, is_active: true } });
425
  if (imageAgent) {
 
450
  scan(aiResult);
451
  if (imageJobs.length > 0) {
452
  this.logger.log(`[IMAGE_GEN] Found ${imageJobs.length} image prompts, using agent "${imageAgent.name}" (${model}), provider: ${imageAgent.provider}...`);
453
+ const spacingMs = Math.max(0, parseInt(process.env.TOGETHER_IMAGE_SPACING_MS || '1300', 10) || 0);
454
+ let generated = 0;
455
+ for (let i = 0; i < imageJobs.length; i++) {
456
+ const job = imageJobs[i];
457
+ {
458
+ try {
459
+ const imageUrl = await this.callImageProvider(imageAgent.provider, apiKey, model, job.prompt, defaultWidth, defaultHeight);
460
+ job.parent.image_url = imageUrl;
461
+ if (imageUrl)
462
+ generated++;
463
+ delete job.parent[promptKey];
464
+ }
465
+ catch (err) {
466
+ this.logger.error(`[IMAGE_GEN] Failed: ${err.message}`);
467
+ job.parent.image_url = '';
468
+ delete job.parent[promptKey];
469
+ }
470
  }
471
+ if (spacingMs > 0 && i < imageJobs.length - 1) {
472
+ await new Promise((r) => setTimeout(r, spacingMs));
 
 
473
  }
474
+ }
475
+ this.logger.log(`[IMAGE_GEN] ${generated}/${imageJobs.length} images generated`);
476
  }
477
  }
478
  }
 
555
  }
556
  return results;
557
  }
558
+ normalizeContestDates(result) {
559
+ const changes = [];
560
+ if (!result || typeof result !== 'object' || Array.isArray(result))
561
+ return changes;
562
+ const DAY = 86_400_000;
563
+ const todayUtc = new Date();
564
+ const minStart = Date.UTC(todayUtc.getUTCFullYear(), todayUtc.getUTCMonth(), todayUtc.getUTCDate()) + 3 * DAY;
565
+ const num = (v) => {
566
+ const n = Number(v);
567
+ return Number.isFinite(n) && n > 1_000_000_000_000 ? Math.trunc(n) : null;
568
+ };
569
+ const iso = (ms) => new Date(ms).toISOString().slice(0, 10);
570
+ let start = num(result.start_date);
571
+ let end = num(result.end_date);
572
+ let announce = num(result.prize_announce_date);
573
+ const origStart = start;
574
+ const duration = start !== null && end !== null && end > start ? end - start : 10 * DAY;
575
+ const announceGap = end !== null && announce !== null && announce > end ? announce - end : 2 * DAY;
576
+ if (start === null || start < minStart) {
577
+ start = minStart;
578
+ changes.push(`start_date ${origStart ? iso(origStart) : 'missing'} -> ${iso(start)}`);
579
+ }
580
+ if (end === null || end <= start) {
581
+ end = start + duration;
582
+ changes.push(`end_date -> ${iso(end)}`);
583
+ }
584
+ else if (origStart !== null && start !== origStart) {
585
+ end = start + duration;
586
+ changes.push(`end_date shifted -> ${iso(end)}`);
587
+ }
588
+ if (announce === null || announce <= end) {
589
+ announce = end + announceGap;
590
+ changes.push(`prize_announce_date -> ${iso(announce)}`);
591
+ }
592
+ else if (origStart !== null && start !== origStart) {
593
+ announce = end + announceGap;
594
+ changes.push(`prize_announce_date shifted -> ${iso(announce)}`);
595
+ }
596
+ result.start_date = start;
597
+ result.end_date = end;
598
+ result.prize_announce_date = announce;
599
+ const levels = Array.isArray(result._levels_of_contest) ? result._levels_of_contest : [];
600
+ if (levels.length === 0)
601
+ return changes;
602
+ const valid = levels.every((l) => {
603
+ const ls = num(l?.level_start_date);
604
+ const lt = num(l?.level_timeline);
605
+ return ls !== null && lt !== null && ls < lt && ls >= start && lt <= end;
606
+ });
607
+ if (!valid) {
608
+ const span = end - start;
609
+ const slice = Math.max(Math.floor(span / levels.length), DAY);
610
+ levels.forEach((l, i) => {
611
+ const ls = start + i * slice;
612
+ const lt = i === levels.length - 1 ? end : Math.min(start + (i + 1) * slice, end);
613
+ l.level_start_date = ls;
614
+ l.level_timeline = lt > ls ? lt : ls + Math.min(slice, end - ls || DAY);
615
+ });
616
+ changes.push(`redistributed ${levels.length} level window(s) evenly across ${iso(start)}..${iso(end)}`);
617
+ }
618
+ return changes;
619
+ }
620
+ async repairArabicFields(result, agent) {
621
+ if (!result || typeof result !== 'object')
622
+ return { repaired: 0, attempted: 0 };
623
+ const LATIN = /[A-Za-z]/;
624
+ const NON_ARABIC = /[^؀-ۿݐ-ݿﭐ-﷿ﹰ-0-9\s.,،؛؟!:%()\-–—"'…]/;
625
+ const bad = [];
626
+ const walk = (node) => {
627
+ if (!node || typeof node !== 'object')
628
+ return;
629
+ if (Array.isArray(node)) {
630
+ node.forEach(walk);
631
+ return;
632
+ }
633
+ for (const [k, v] of Object.entries(node)) {
634
+ if (typeof v === 'string' && /arabic/i.test(k)) {
635
+ if (LATIN.test(v) || NON_ARABIC.test(v))
636
+ bad.push({ holder: node, key: k, value: v });
637
+ }
638
+ else if (v && typeof v === 'object') {
639
+ walk(v);
640
+ }
641
+ }
642
+ };
643
+ walk(result);
644
+ if (bad.length === 0)
645
+ return { repaired: 0, attempted: 0 };
646
+ this.logger.warn(`[ARABIC_REPAIR] ${bad.length} field(s) contain non-Arabic script: ` +
647
+ bad.map((b) => b.key).join(', '));
648
+ const sys = 'You fix Arabic marketing copy that has non-Arabic characters mixed in. ' +
649
+ 'Rewrite the text so it is 100% Arabic script: Arabic letters, Arabic ' +
650
+ 'punctuation, digits and spaces only. No Latin letters, no other scripts, ' +
651
+ 'no emoji, no symbols. Keep the meaning, tone and length. Transliterate ' +
652
+ 'brand names (iPhone -> آيفون). Replace technical acronyms with Arabic ' +
653
+ '(QR -> رمز الاستجابة السريعة, AR -> الواقع المعزز). ' +
654
+ 'Reply with ONLY the corrected Arabic text. No quotes, no JSON, no notes.';
655
+ let repaired = 0;
656
+ for (const item of bad) {
657
+ let fixed = '';
658
+ try {
659
+ const res = await (0, rxjs_1.firstValueFrom)(this.agentClient.send(shared_1.MSG.AGENT_CHAT, {
660
+ agentId: agent.id,
661
+ model: agent.model,
662
+ aiProvider: agent.ai_provider || 'groq',
663
+ aiApiKey: agent.ai_api_key_encrypted ? this.decrypt(agent.ai_api_key_encrypted) : '',
664
+ systemPrompt: sys,
665
+ message: item.value,
666
+ sessionId: `arabic_repair_${Date.now()}_${repaired}`,
667
+ history: [],
668
+ dbConnections: [],
669
+ contextParams: null,
670
+ filterConfig: null,
671
+ multilingual: true,
672
+ allowSqlOutput: false,
673
+ }));
674
+ fixed = String(res?.reply ?? '')
675
+ .replace(/^```[a-z]*\s*/i, '')
676
+ .replace(/```\s*$/i, '')
677
+ .replace(/^["'“”]+|["'“”]+$/g, '')
678
+ .trim();
679
+ }
680
+ catch (err) {
681
+ this.logger.error(`[ARABIC_REPAIR] call failed for ${item.key}: ${err.message}`);
682
+ }
683
+ if (fixed && !LATIN.test(fixed) && !NON_ARABIC.test(fixed)) {
684
+ item.holder[item.key] = fixed;
685
+ repaired++;
686
+ continue;
687
+ }
688
+ const words = item.value.split(/\s+/).filter(Boolean);
689
+ const kept = words.filter((w) => !LATIN.test(w) && !NON_ARABIC.test(w));
690
+ const cleaned = kept
691
+ .join(' ')
692
+ .replace(/\s+([،؛؟!.:])/g, '$1')
693
+ .trim();
694
+ const enough = kept.length >= 1 && kept.length >= Math.ceil(words.length / 2);
695
+ if (enough) {
696
+ item.holder[item.key] = cleaned;
697
+ repaired++;
698
+ this.logger.warn(`[ARABIC_REPAIR] ${item.key}: model reply unusable, dropped contaminated word(s)`);
699
+ }
700
+ else {
701
+ this.logger.warn(`[ARABIC_REPAIR] ${item.key}: could not clean safely, keeping original`);
702
+ }
703
+ }
704
+ this.logger.log(`[ARABIC_REPAIR] ${repaired}/${bad.length} field(s) repaired`);
705
+ return { repaired, attempted: bad.length };
706
+ }
707
  async runQueryForAi(tenantId, slug, params, dbConnectionId) {
708
  const apiEndpoint = await this.apiEndpointRepo.findOne({
709
  where: { slug, tenant_id: tenantId, is_active: true },
 
807
  return false; seen.add(d.ts); return true; });
808
  if (unique.length === 0)
809
  return message;
810
+ const nowMs = Date.now();
811
+ const adjusted = unique.map((d) => {
812
+ if (d.ts > nowMs)
813
+ return { ...d, rolled: false };
814
+ const src = new Date(d.ts);
815
+ const month = src.getUTCMonth();
816
+ const day = src.getUTCDate();
817
+ let year = new Date(nowMs).getUTCFullYear();
818
+ let ts = Date.UTC(year, month, day);
819
+ while (ts <= nowMs) {
820
+ year += 1;
821
+ ts = Date.UTC(year, month, day);
822
+ }
823
+ return { ...d, ts, rolled: true };
824
+ });
825
+ const rolledCount = adjusted.filter((d) => d.rolled).length;
826
+ if (rolledCount > 0) {
827
+ this.logger.warn(`[DATE_ENRICH] rolled ${rolledCount} past date(s) forward: ` +
828
+ adjusted.filter((d) => d.rolled)
829
+ .map((d) => `"${d.text}" -> ${new Date(d.ts).toISOString().slice(0, 10)}`)
830
+ .join(', '));
831
+ }
832
+ const dateHints = adjusted
833
+ .map(d => `"${d.text}" = timestamp ${d.ts}${d.rolled ? ' (that date has passed — this is the next future occurrence, use it)' : ''}`)
834
+ .join(', ');
835
+ return `${message}\n\n[PRE-CALCULATED TIMESTAMPS — use these exact numbers in your JSON: ${dateHints}. Do NOT recalculate these timestamps. Every date in your output must be in the future.]`;
836
  }
837
  sanitizeParam(value) {
838
  if (value === null || value === undefined)
839
  return 'NULL';
840
  const str = String(value);
841
+ if (/^-?\d+(\.\d+)?$/.test(str))
842
  return str;
843
  return `'${str.replace(/'/g, "''")}'`;
844
  }
apps/api-gateway/apps/api-gateway/src/ai-endpoints/ai-endpoints.service.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai-endpoints.service.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/ai-endpoints/ai-endpoints.service.ts"],"names":[],"mappings":"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"}
 
1
+ {"version":3,"file":"ai-endpoints.service.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/ai-endpoints/ai-endpoints.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
 
apps/db-connector/tsconfig.app.tsbuildinfo CHANGED
The diff for this file is too large to render. See raw diff