FaziHamza commited on
Commit
01eebe6
·
1 Parent(s): 0fc8749

Refactor code structure for improved readability and maintainability

Browse files
apps/agent-service/apps/agent-service/src/agent/chat-graph.d.ts CHANGED
@@ -72,6 +72,8 @@ export declare class ChatGraphService {
72
  private prizeSumMismatch;
73
  private namePairFault;
74
  private static readonly ASKED_TO_CHANGE;
 
 
75
  private appendSuggestionChips;
76
  private uiBlockFault;
77
  private directResponse;
 
72
  private prizeSumMismatch;
73
  private namePairFault;
74
  private static readonly ASKED_TO_CHANGE;
75
+ private static readonly DECLINED_PRIZES;
76
+ private declinedPrizes;
77
  private appendSuggestionChips;
78
  private uiBlockFault;
79
  private directResponse;
apps/agent-service/apps/agent-service/src/agent/chat-graph.js CHANGED
@@ -711,6 +711,13 @@ SQL Rules:
711
  return 'name_language';
712
  return null;
713
  }
 
 
 
 
 
 
 
714
  appendSuggestionChips(reply) {
715
  if (/```(?:chatbolt-ui|chatbolt_ui)/i.test(reply))
716
  return reply;
@@ -755,7 +762,7 @@ SQL Rules:
755
  ${block}
756
  \`\`\``;
757
  }
758
- uiBlockFault(reply, ledger, userMessage) {
759
  const block = reply.match(/```(?:chatbolt-ui|chatbolt_ui)\s*([\s\S]*?)```/i);
760
  const body = block ? block[1] : '';
761
  const askedToChange = !!userMessage &&
@@ -807,7 +814,23 @@ ${block}
807
  '- Add 2-3 follow-up suggestions (•).';
808
  }
809
  const langLine = this.languageInstruction(state);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
810
  const systemContent = (state.conversational ? this.renderBriefLedger(state.briefLedger) : '') +
 
811
  langLine +
812
  '\n\n### No SQL Needed\n' + instruction +
813
  '\n- NEVER mention SQL, database, queries, or internal tools.' +
@@ -829,7 +852,7 @@ ${block}
829
  ?? this.briefDrift(reply, state.userMessage, state.briefLedger))
830
  : null;
831
  const fault = state.conversational
832
- ? (stale ? 'stale_amount' : this.uiBlockFault(reply, state.briefLedger, state.userMessage))
833
  : null;
834
  if (stale)
835
  this.logger.warn(`[GRAPH:direct_response] brief disagrees — ${stale}`);
@@ -1130,6 +1153,7 @@ ChatGraphService.BRIEF_SLOTS = [
1130
  { key: 'category', label: 'Contest category', optional: true },
1131
  ];
1132
  ChatGraphService.ASKED_TO_CHANGE = /\b(change|adjust|edit|modify|amend|update)\b[^.?!]{0,30}\b(brief|campaign|contest|detail|details|something|it)\b|^\s*(change something|i want to change)/i;
 
1133
  exports.ChatGraphService = ChatGraphService = ChatGraphService_1 = __decorate([
1134
  (0, common_1.Injectable)(),
1135
  __param(0, (0, common_1.Inject)(shared_1.SERVICES.DB_CONNECTOR)),
 
711
  return 'name_language';
712
  return null;
713
  }
714
+ declinedPrizes(userMessage, history) {
715
+ const texts = [
716
+ ...(history ?? []).filter(m => m.role === 'user').map(m => m.content ?? ''),
717
+ userMessage ?? '',
718
+ ];
719
+ return texts.some(t => ChatGraphService_1.DECLINED_PRIZES.test(t));
720
+ }
721
  appendSuggestionChips(reply) {
722
  if (/```(?:chatbolt-ui|chatbolt_ui)/i.test(reply))
723
  return reply;
 
762
  ${block}
763
  \`\`\``;
764
  }
765
+ uiBlockFault(reply, ledger, userMessage, history) {
766
  const block = reply.match(/```(?:chatbolt-ui|chatbolt_ui)\s*([\s\S]*?)```/i);
767
  const body = block ? block[1] : '';
768
  const askedToChange = !!userMessage &&
 
814
  '- Add 2-3 follow-up suggestions (•).';
815
  }
816
  const langLine = this.languageInstruction(state);
817
+ const noPrizeLine = state.conversational && this.declinedPrizes(state.userMessage, state.history)
818
+ ? '\n\n### The client has asked for no prizes or no draw — this cannot be built\n' +
819
+ 'Every Luqta campaign must carry **at least one prize**, and the draw type ' +
820
+ 'you offer is `random_draw`, `first_to_complete` or `instant_result`. ' +
821
+ '(`no_draw` exists but is an admin-side setting — never offer it or put it ' +
822
+ 'in a brief.) A campaign with no prize cannot be created.\n' +
823
+ '- Do NOT agree that the campaign can run without prizes. Do not say it ' +
824
+ '"suits an awareness push" or that completion alone is the reward.\n' +
825
+ '- Say in one plain sentence that a campaign needs at least one prize, ' +
826
+ 'then ask what that single prize should be. Keep it light — for an ' +
827
+ 'awareness campaign one modest prize is enough, and the draw can be ' +
828
+ '`first_to_complete` so it rewards the people who actually finish.\n' +
829
+ '- The prizes slot stays OPEN until they name one. Do not show the ' +
830
+ 'Create button and do not summarise the campaign as ready.\n'
831
+ : '';
832
  const systemContent = (state.conversational ? this.renderBriefLedger(state.briefLedger) : '') +
833
+ noPrizeLine +
834
  langLine +
835
  '\n\n### No SQL Needed\n' + instruction +
836
  '\n- NEVER mention SQL, database, queries, or internal tools.' +
 
852
  ?? this.briefDrift(reply, state.userMessage, state.briefLedger))
853
  : null;
854
  const fault = state.conversational
855
+ ? (stale ? 'stale_amount' : this.uiBlockFault(reply, state.briefLedger, state.userMessage, state.history))
856
  : null;
857
  if (stale)
858
  this.logger.warn(`[GRAPH:direct_response] brief disagrees — ${stale}`);
 
1153
  { key: 'category', label: 'Contest category', optional: true },
1154
  ];
1155
  ChatGraphService.ASKED_TO_CHANGE = /\b(change|adjust|edit|modify|amend|update)\b[^.?!]{0,30}\b(brief|campaign|contest|detail|details|something|it)\b|^\s*(change something|i want to change)/i;
1156
+ ChatGraphService.DECLINED_PRIZES = /(?:no|without|zero|skip(?:ping)?|don'?t\s+want|do\s+not\s+want|not\s+having|no\s+need\s+for)\s+(?:(?:to|have|any|a|an|the|more|extra|draw|prize|rewards?|or|and)\s+){0,4}(?:prize|prizes|reward|rewards|draw|draws|giveaway)|(?:prize|prizes|reward|rewards|draw|draws)[^.?!]{0,20}(?:not\s+(?:needed|required)|aren'?t\s+needed)|awareness[-\s]only|no\s+prize\s+budget/i;
1157
  exports.ChatGraphService = ChatGraphService = ChatGraphService_1 = __decorate([
1158
  (0, common_1.Injectable)(),
1159
  __param(0, (0, common_1.Inject)(shared_1.SERVICES.DB_CONNECTOR)),
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/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.service.js CHANGED
@@ -206,7 +206,14 @@ let ChatService = ChatService_1 = class ChatService {
206
  this.logger.log(`[TIMING] agent-service replied${onDelta ? ' (streamed)' : ''} (${ms()})`);
207
  this.logger.log(`[AI RESPONSE] session=${sessionId} model=${response.model_used} total_tokens=${response.tokens_used}`);
208
  const conversational = !!response.conversational;
209
- const { text: replyText, ui, slots } = this.extractChatUi(response.reply, conversational, dto.message);
 
 
 
 
 
 
 
210
  this.logger.log(`[CHAT_UI] conversational=${conversational} replyChars=${replyText.length}`);
211
  const saved = await this.msgRepo.save(this.msgRepo.create({
212
  conversation_id: conversation.id,
 
206
  this.logger.log(`[TIMING] agent-service replied${onDelta ? ' (streamed)' : ''} (${ms()})`);
207
  this.logger.log(`[AI RESPONSE] session=${sessionId} model=${response.model_used} total_tokens=${response.tokens_used}`);
208
  const conversational = !!response.conversational;
209
+ let { text: replyText, ui, slots } = this.extractChatUi(response.reply, conversational, dto.message);
210
+ if (!replyText.trim()) {
211
+ const hasUi = !!(ui && (ui.card || ui.actions?.length || ui.suggestions?.length));
212
+ this.logger.warn(`[CHAT_UI] empty reply text — substituting a line (ui present: ${hasUi})`);
213
+ replyText = hasUi
214
+ ? 'Here it is — take a look and press Create when you are happy.'
215
+ : 'Sorry, something went wrong on my side. Could you say that again?';
216
+ }
217
  this.logger.log(`[CHAT_UI] conversational=${conversational} replyChars=${replyText.length}`);
218
  const saved = await this.msgRepo.save(this.msgRepo.create({
219
  conversation_id: conversation.id,
apps/api-gateway/apps/api-gateway/src/chat/chat.service.js.map CHANGED
The diff for this file is too large to render. See raw diff
 
apps/api-gateway/tsconfig.app.tsbuildinfo CHANGED
The diff for this file is too large to render. See raw diff