@falai/agent 3.2.2 → 3.2.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseEngine.d.ts","sourceRoot":"","sources":["../../../src/core/ResponseEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,WAAW,yBAAyB,CACxC,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,OAAO;IAEf,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7C,YAAY,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAE9B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAC5E,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED,qBAAa,cAAc,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAAnB,kBAAkB,CAAC,EAAE,kBAAkB,YAAA;IAEpE,qBAAqB,CACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC3B,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EACnC,WAAW,CAAC,EAAE,gBAAgB,GAC7B,gBAAgB;IAuCb,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,mBAAmB,CAAC;IAoMzB,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,mBAAmB,CAAC;CAkBhC"}
1
+ {"version":3,"file":"ResponseEngine.d.ts","sourceRoot":"","sources":["../../../src/core/ResponseEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,WAAW,yBAAyB,CACxC,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,OAAO;IAEf,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7C,YAAY,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAE9B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAC5E,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED,qBAAa,cAAc,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAAnB,kBAAkB,CAAC,EAAE,kBAAkB,YAAA;IAEpE,qBAAqB,CACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC3B,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EACnC,WAAW,CAAC,EAAE,gBAAgB,GAC7B,gBAAgB;IAuCb,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,mBAAmB,CAAC;IAsNzB,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,mBAAmB,CAAC;CAkBhC"}
@@ -85,6 +85,22 @@ class ResponseEngine {
85
85
  if (allFlowFields.size > 0) {
86
86
  const stepCollectFields = new Set(currentStep?.collect?.map(f => String(f)) || []);
87
87
  const fieldDescriptions = [];
88
+ // Values already in session data (pre-extraction this turn, or earlier
89
+ // turns). The routing prompt shows them; the response prompt must too,
90
+ // or the model follows a "ask for X" guideline for an X it already has.
91
+ const sessionData = (session?.data ?? {});
92
+ const isKnown = (field) => {
93
+ const value = sessionData[field];
94
+ return value !== undefined && value !== null && value !== '';
95
+ };
96
+ const fieldMarkers = (field) => {
97
+ let markers = '';
98
+ if (stepCollectFields.has(field))
99
+ markers += ` ← FOCUS FOR THIS STEP`;
100
+ if (isKnown(field))
101
+ markers += ` ← ALREADY KNOWN: ${JSON.stringify(sessionData[field])}`;
102
+ return markers;
103
+ };
88
104
  for (const field of allFlowFields) {
89
105
  if (agentSchema?.properties) {
90
106
  const fieldSchema = agentSchema.properties[field];
@@ -99,23 +115,17 @@ class ResponseEngine {
99
115
  }
100
116
  // Add description
101
117
  fieldInfo += `: ${fieldDesc}`;
102
- // Mark if this is the current step's focus
103
- if (stepCollectFields.has(field)) {
104
- fieldInfo += ` ← FOCUS FOR THIS STEP`;
105
- }
118
+ fieldInfo += fieldMarkers(field);
106
119
  fieldDescriptions.push(fieldInfo);
107
120
  }
108
121
  }
109
122
  else {
110
123
  // No agent schema - generate dynamic description from field name
111
- let fieldInfo = ` • ${field} (string): ${field}`;
112
- if (stepCollectFields.has(field)) {
113
- fieldInfo += ` ← FOCUS FOR THIS STEP`;
114
- }
115
- fieldDescriptions.push(fieldInfo);
124
+ fieldDescriptions.push(` • ${field} (string): ${field}${fieldMarkers(field)}`);
116
125
  }
117
126
  }
118
127
  if (fieldDescriptions.length > 0) {
128
+ const stepSatisfied = stepCollectFields.size > 0 && [...stepCollectFields].every(isKnown);
119
129
  const instruction = [
120
130
  `## Data Collection Rules`,
121
131
  ``,
@@ -124,6 +134,15 @@ class ResponseEngine {
124
134
  `Available fields to extract:`,
125
135
  ...fieldDescriptions,
126
136
  ``,
137
+ `**Already-known fields:**`,
138
+ `- A field marked ALREADY KNOWN is settled. NEVER ask the user for it again, even when the guideline above says to ask: acknowledge it and move on to what the step still needs.`,
139
+ `- The same applies to a field the user's latest message already answers: extract it, do not ask for it.`,
140
+ ...(stepSatisfied
141
+ ? [
142
+ `- Every FOCUS field of this step is already known, so this step's questions are done. Respond to what the user said and move the conversation forward.`,
143
+ ]
144
+ : []),
145
+ ``,
127
146
  `**How to collect data:**`,
128
147
  `1. Read the user's message carefully`,
129
148
  `2. Extract EVERY piece of information that matches ANY field above`,
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseEngine.js","sourceRoot":"","sources":["../../../src/core/ResponseEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResponseEngine.js","sourceRoot":"","sources":["../../../src/core/ResponseEngine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseEngine.d.ts","sourceRoot":"","sources":["../../src/core/ResponseEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,WAAW,yBAAyB,CACxC,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,OAAO;IAEf,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7C,YAAY,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAE9B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAC5E,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED,qBAAa,cAAc,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAAnB,kBAAkB,CAAC,EAAE,kBAAkB,YAAA;IAEpE,qBAAqB,CACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC3B,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EACnC,WAAW,CAAC,EAAE,gBAAgB,GAC7B,gBAAgB;IAuCb,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,mBAAmB,CAAC;IAoMzB,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,mBAAmB,CAAC;CAkBhC"}
1
+ {"version":3,"file":"ResponseEngine.d.ts","sourceRoot":"","sources":["../../src/core/ResponseEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,WAAW,yBAAyB,CACxC,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,OAAO;IAEf,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7C,YAAY,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAE9B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAC5E,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED,qBAAa,cAAc,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAAnB,kBAAkB,CAAC,EAAE,kBAAkB,YAAA;IAEpE,qBAAqB,CACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC3B,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EACnC,WAAW,CAAC,EAAE,gBAAgB,GAC7B,gBAAgB;IAuCb,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,mBAAmB,CAAC;IAsNzB,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,mBAAmB,CAAC;CAkBhC"}
@@ -82,6 +82,22 @@ export class ResponseEngine {
82
82
  if (allFlowFields.size > 0) {
83
83
  const stepCollectFields = new Set(currentStep?.collect?.map(f => String(f)) || []);
84
84
  const fieldDescriptions = [];
85
+ // Values already in session data (pre-extraction this turn, or earlier
86
+ // turns). The routing prompt shows them; the response prompt must too,
87
+ // or the model follows a "ask for X" guideline for an X it already has.
88
+ const sessionData = (session?.data ?? {});
89
+ const isKnown = (field) => {
90
+ const value = sessionData[field];
91
+ return value !== undefined && value !== null && value !== '';
92
+ };
93
+ const fieldMarkers = (field) => {
94
+ let markers = '';
95
+ if (stepCollectFields.has(field))
96
+ markers += ` ← FOCUS FOR THIS STEP`;
97
+ if (isKnown(field))
98
+ markers += ` ← ALREADY KNOWN: ${JSON.stringify(sessionData[field])}`;
99
+ return markers;
100
+ };
85
101
  for (const field of allFlowFields) {
86
102
  if (agentSchema?.properties) {
87
103
  const fieldSchema = agentSchema.properties[field];
@@ -96,23 +112,17 @@ export class ResponseEngine {
96
112
  }
97
113
  // Add description
98
114
  fieldInfo += `: ${fieldDesc}`;
99
- // Mark if this is the current step's focus
100
- if (stepCollectFields.has(field)) {
101
- fieldInfo += ` ← FOCUS FOR THIS STEP`;
102
- }
115
+ fieldInfo += fieldMarkers(field);
103
116
  fieldDescriptions.push(fieldInfo);
104
117
  }
105
118
  }
106
119
  else {
107
120
  // No agent schema - generate dynamic description from field name
108
- let fieldInfo = ` • ${field} (string): ${field}`;
109
- if (stepCollectFields.has(field)) {
110
- fieldInfo += ` ← FOCUS FOR THIS STEP`;
111
- }
112
- fieldDescriptions.push(fieldInfo);
121
+ fieldDescriptions.push(` • ${field} (string): ${field}${fieldMarkers(field)}`);
113
122
  }
114
123
  }
115
124
  if (fieldDescriptions.length > 0) {
125
+ const stepSatisfied = stepCollectFields.size > 0 && [...stepCollectFields].every(isKnown);
116
126
  const instruction = [
117
127
  `## Data Collection Rules`,
118
128
  ``,
@@ -121,6 +131,15 @@ export class ResponseEngine {
121
131
  `Available fields to extract:`,
122
132
  ...fieldDescriptions,
123
133
  ``,
134
+ `**Already-known fields:**`,
135
+ `- A field marked ALREADY KNOWN is settled. NEVER ask the user for it again, even when the guideline above says to ask: acknowledge it and move on to what the step still needs.`,
136
+ `- The same applies to a field the user's latest message already answers: extract it, do not ask for it.`,
137
+ ...(stepSatisfied
138
+ ? [
139
+ `- Every FOCUS field of this step is already known, so this step's questions are done. Respond to what the user said and move the conversation forward.`,
140
+ ]
141
+ : []),
142
+ ``,
124
143
  `**How to collect data:**`,
125
144
  `1. Read the user's message carefully`,
126
145
  `2. Extract EVERY piece of information that matches ANY field above`,
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseEngine.js","sourceRoot":"","sources":["../../src/core/ResponseEngine.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAyCrE,MAAM,OAAO,cAAc;IACzB,YAA6B,kBAAuC;QAAvC,uBAAkB,GAAlB,kBAAkB,CAAqB;IAAI,CAAC;IAEzE,qBAAqB,CACnB,IAA2B,EAC3B,WAAmC,EACnC,WAA8B;QAE9B,MAAM,IAAI,GAAqB;YAC7B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yHAAyH,EAAE;aACpK;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B,CAAC;QAEF,uDAAuD;QACvD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAW,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACpD,CAAC;QAED,uCAAuC;QACvC,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;gBAC5B,kDAAkD;gBAClD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxC,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC;oBAC5D,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,UAAW,CAAC,KAAe,CAAC,GAAG,WAAW,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxC,IAAI,CAAC,UAAW,CAAC,KAAe,CAAC,GAAG;wBAClC,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB,MAAM,CAAC,KAAK,CAAC,EAAE;qBACpD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAkD;QAElD,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,KAAK,EACL,YAAY,EACZ,UAAU,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,OAAO,EACP,OAAO,EACP,WAAW,EACX,kBAAkB,GACnB,GAAG,MAAM,CAAC;QACX,MAAM,eAAe,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAExE,mEAAmE;QACnE,MAAM,qBAAqB,GAAG,YAAY,CAAC;QAE3C,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,EAAE,CAAC,cAAc,CACrB,SAAS,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EACpE,EAAE,CACH,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC,cAAc,CACrB,6DAA6D,MAAM,MAAM,CACvE,WAAW,CAAC,MAAM,EAClB,eAAe,CAChB,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM;YACd,MAAM,EAAE,CAAC,cAAc,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,YAAY,CAAC,MAAM;YACrB,MAAM,EAAE,CAAC,cAAc,CAAC,oBAAoB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,gBAAgB,CACvB,YAAY,EAAE,aAAa,EAC3B,IAAI,CAAC,aAAa,CACnB,CAAC;QAEF,gDAAgD;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QAED,oCAAoC;QACpC,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC;QAED,oFAAoF;QACpF,8DAA8D;QAC9D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,MAAM,iBAAiB,GAAa,EAAE,CAAC;YAEvC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;oBAC5B,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAClD,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,SAAS,GAAG,KAAK,CAAC;wBACxB,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,IAAI,SAAS,CAAC;wBACvD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;wBAE3F,IAAI,SAAS,GAAG,OAAO,SAAS,KAAK,SAAS,GAAG,CAAC;wBAElD,6BAA6B;wBAC7B,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;4BACxD,SAAS,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wBACpD,CAAC;wBAED,kBAAkB;wBAClB,SAAS,IAAI,KAAK,SAAS,EAAE,CAAC;wBAE9B,2CAA2C;wBAC3C,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BACjC,SAAS,IAAI,wBAAwB,CAAC;wBACxC,CAAC;wBAED,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,IAAI,SAAS,GAAG,OAAO,KAAK,cAAc,KAAK,EAAE,CAAC;oBAClD,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBACjC,SAAS,IAAI,wBAAwB,CAAC;oBACxC,CAAC;oBACD,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG;oBAClB,0BAA0B;oBAC1B,EAAE;oBACF,gHAAgH;oBAChH,EAAE;oBACF,8BAA8B;oBAC9B,GAAG,iBAAiB;oBACpB,EAAE;oBACF,0BAA0B;oBAC1B,sCAAsC;oBACtC,oEAAoE;oBACpE,iGAAiG;oBACjG,+EAA+E;oBAC/E,kDAAkD;oBAClD,yDAAyD;oBACzD,EAAE;oBACF,6EAA6E;oBAC7E,8BAA8B;oBAC9B,iCAAiC;oBACjC,yBAAyB;iBAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,MAAM,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,sDAAsD;QACtD,MAAM,aAAa,GAAa,CAAC,0CAA0C,CAAC,CAAC;QAE7E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC3F,IAAI,YAAY,GAAG,sBAAsB,CAAC;oBAE1C,oCAAoC;oBACpC,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvF,YAAY,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC5C,CAAC;yBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAClC,YAAY,GAAG,mBAAmB,CAAC;oBACrC,CAAC;yBAAM,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC7D,YAAY,GAAG,GAAG,CAAC;oBACrB,CAAC;yBAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBACnC,YAAY,GAAG,MAAM,CAAC;oBACxB,CAAC;oBAED,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,YAAY,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,MAAM,EAAE,CAAC,cAAc,CACrB;YACE,oBAAoB;YACpB,EAAE;YACF,uDAAuD;YACvD,GAAG;YACH,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,GAAG;YACH,EAAE;YACF,iBAAiB;YACjB,8CAA8C;YAC9C,4GAA4G;YAC5G,qFAAqF;YACrF,gIAAgI;YAChI,0HAA0H;YAC1H,yGAAyG;YACzG,qEAAqE;YACrE,gDAAgD;YAChD,4DAA4D;SAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtD,OAAO;YACL,MAAM;YACN,mBAAmB,EAAE,EAAE,CAAC,uBAAuB,IAAI,EAAE;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAkD;QAElD,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAC3D,MAAM,CAAC;QACT,MAAM,eAAe,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAExE,MAAM,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO;YACL,MAAM;YACN,mBAAmB,EAAE,EAAE,CAAC,uBAAuB,IAAI,EAAE;SACtD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"ResponseEngine.js","sourceRoot":"","sources":["../../src/core/ResponseEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@falai/agent",
3
- "version": "3.2.2",
3
+ "version": "3.2.4",
4
4
  "description": "Conversational state engine for TypeScript where the AI understands, but the code is in control",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -92,7 +92,7 @@
92
92
  "typescript-eslint": "^8.18.2"
93
93
  },
94
94
  "dependencies": {
95
- "@providerkit/core": "^0.5.0",
95
+ "@providerkit/core": "^0.5.1",
96
96
  "loglevel": "^1.9.2"
97
97
  },
98
98
  "peerDependencies": {
@@ -176,6 +176,21 @@ export class ResponseEngine<TContext = unknown, TData = unknown> {
176
176
  const stepCollectFields = new Set(currentStep?.collect?.map(f => String(f)) || []);
177
177
  const fieldDescriptions: string[] = [];
178
178
 
179
+ // Values already in session data (pre-extraction this turn, or earlier
180
+ // turns). The routing prompt shows them; the response prompt must too,
181
+ // or the model follows a "ask for X" guideline for an X it already has.
182
+ const sessionData = (session?.data ?? {}) as Record<string, unknown>;
183
+ const isKnown = (field: string): boolean => {
184
+ const value = sessionData[field];
185
+ return value !== undefined && value !== null && value !== '';
186
+ };
187
+ const fieldMarkers = (field: string): string => {
188
+ let markers = '';
189
+ if (stepCollectFields.has(field)) markers += ` ← FOCUS FOR THIS STEP`;
190
+ if (isKnown(field)) markers += ` ← ALREADY KNOWN: ${JSON.stringify(sessionData[field])}`;
191
+ return markers;
192
+ };
193
+
179
194
  for (const field of allFlowFields) {
180
195
  if (agentSchema?.properties) {
181
196
  const fieldSchema = agentSchema.properties[field];
@@ -193,25 +208,19 @@ export class ResponseEngine<TContext = unknown, TData = unknown> {
193
208
 
194
209
  // Add description
195
210
  fieldInfo += `: ${fieldDesc}`;
196
-
197
- // Mark if this is the current step's focus
198
- if (stepCollectFields.has(field)) {
199
- fieldInfo += ` ← FOCUS FOR THIS STEP`;
200
- }
211
+ fieldInfo += fieldMarkers(field);
201
212
 
202
213
  fieldDescriptions.push(fieldInfo);
203
214
  }
204
215
  } else {
205
216
  // No agent schema - generate dynamic description from field name
206
- let fieldInfo = ` • ${field} (string): ${field}`;
207
- if (stepCollectFields.has(field)) {
208
- fieldInfo += ` ← FOCUS FOR THIS STEP`;
209
- }
210
- fieldDescriptions.push(fieldInfo);
217
+ fieldDescriptions.push(` • ${field} (string): ${field}${fieldMarkers(field)}`);
211
218
  }
212
219
  }
213
220
 
214
221
  if (fieldDescriptions.length > 0) {
222
+ const stepSatisfied =
223
+ stepCollectFields.size > 0 && [...stepCollectFields].every(isKnown);
215
224
  const instruction = [
216
225
  `## Data Collection Rules`,
217
226
  ``,
@@ -220,6 +229,15 @@ export class ResponseEngine<TContext = unknown, TData = unknown> {
220
229
  `Available fields to extract:`,
221
230
  ...fieldDescriptions,
222
231
  ``,
232
+ `**Already-known fields:**`,
233
+ `- A field marked ALREADY KNOWN is settled. NEVER ask the user for it again, even when the guideline above says to ask: acknowledge it and move on to what the step still needs.`,
234
+ `- The same applies to a field the user's latest message already answers: extract it, do not ask for it.`,
235
+ ...(stepSatisfied
236
+ ? [
237
+ `- Every FOCUS field of this step is already known, so this step's questions are done. Respond to what the user said and move the conversation forward.`,
238
+ ]
239
+ : []),
240
+ ``,
223
241
  `**How to collect data:**`,
224
242
  `1. Read the user's message carefully`,
225
243
  `2. Extract EVERY piece of information that matches ANY field above`,