@falai/agent 1.2.0 → 1.2.2
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.
- package/dist/cjs/core/ResponseEngine.d.ts +0 -2
- package/dist/cjs/core/ResponseEngine.d.ts.map +1 -1
- package/dist/cjs/core/ResponseEngine.js +2 -6
- package/dist/cjs/core/ResponseEngine.js.map +1 -1
- package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
- package/dist/cjs/core/ResponseModal.js +45 -54
- package/dist/cjs/core/ResponseModal.js.map +1 -1
- package/dist/cjs/core/ResponsePipeline.d.ts +2 -1
- package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/cjs/core/ResponsePipeline.js +17 -19
- package/dist/cjs/core/ResponsePipeline.js.map +1 -1
- package/dist/cjs/core/RoutingEngine.d.ts +18 -0
- package/dist/cjs/core/RoutingEngine.d.ts.map +1 -1
- package/dist/cjs/core/RoutingEngine.js +108 -2
- package/dist/cjs/core/RoutingEngine.js.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.d.ts +7 -0
- package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.js +101 -12
- package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
- package/dist/cjs/providers/GeminiProvider.d.ts +7 -0
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GeminiProvider.js +81 -2
- package/dist/cjs/providers/GeminiProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts +5 -0
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.js +51 -12
- package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.d.ts +5 -0
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.js +50 -12
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
- package/dist/cjs/types/ai.d.ts +2 -2
- package/dist/cjs/types/ai.d.ts.map +1 -1
- package/dist/core/ResponseEngine.d.ts +0 -2
- package/dist/core/ResponseEngine.d.ts.map +1 -1
- package/dist/core/ResponseEngine.js +2 -6
- package/dist/core/ResponseEngine.js.map +1 -1
- package/dist/core/ResponseModal.d.ts.map +1 -1
- package/dist/core/ResponseModal.js +46 -55
- package/dist/core/ResponseModal.js.map +1 -1
- package/dist/core/ResponsePipeline.d.ts +2 -1
- package/dist/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/core/ResponsePipeline.js +18 -20
- package/dist/core/ResponsePipeline.js.map +1 -1
- package/dist/core/RoutingEngine.d.ts +18 -0
- package/dist/core/RoutingEngine.d.ts.map +1 -1
- package/dist/core/RoutingEngine.js +109 -3
- package/dist/core/RoutingEngine.js.map +1 -1
- package/dist/providers/AnthropicProvider.d.ts +7 -0
- package/dist/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/providers/AnthropicProvider.js +101 -12
- package/dist/providers/AnthropicProvider.js.map +1 -1
- package/dist/providers/GeminiProvider.d.ts +7 -0
- package/dist/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/GeminiProvider.js +81 -2
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/OpenAIProvider.d.ts +5 -0
- package/dist/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/providers/OpenAIProvider.js +51 -12
- package/dist/providers/OpenAIProvider.js.map +1 -1
- package/dist/providers/OpenRouterProvider.d.ts +5 -0
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js +50 -12
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/types/ai.d.ts +2 -2
- package/dist/types/ai.d.ts.map +1 -1
- package/docs/core/agent/session-management.md +53 -0
- package/docs/core/conversation-flows/routes.md +2 -0
- package/package.json +1 -1
- package/src/core/ResponseEngine.ts +2 -9
- package/src/core/ResponseModal.ts +56 -67
- package/src/core/ResponsePipeline.ts +22 -22
- package/src/core/RoutingEngine.ts +159 -3
- package/src/providers/AnthropicProvider.ts +110 -12
- package/src/providers/GeminiProvider.ts +91 -2
- package/src/providers/OpenAIProvider.ts +56 -12
- package/src/providers/OpenRouterProvider.ts +55 -12
- package/src/types/ai.ts +2 -2
|
@@ -9,7 +9,6 @@ export interface BuildResponsePromptParams<TContext = unknown, TData = unknown>
|
|
|
9
9
|
prohibitions: Template<TContext, TData>[];
|
|
10
10
|
directives: string[] | undefined;
|
|
11
11
|
history: Event[];
|
|
12
|
-
lastMessage: string;
|
|
13
12
|
agentOptions?: AgentOptions<TContext, TData>;
|
|
14
13
|
combinedGuidelines?: Guideline<TContext, TData>[];
|
|
15
14
|
combinedTerms?: Term<TContext, TData>[];
|
|
@@ -18,7 +17,6 @@ export interface BuildResponsePromptParams<TContext = unknown, TData = unknown>
|
|
|
18
17
|
agentSchema?: StructuredSchema;
|
|
19
18
|
}
|
|
20
19
|
export interface BuildFallbackPromptParams<TContext = unknown, TData = unknown> {
|
|
21
|
-
history: Event[];
|
|
22
20
|
agentOptions: AgentOptions<TContext, TData>;
|
|
23
21
|
terms: Term<TContext, TData>[];
|
|
24
22
|
guidelines: Guideline<TContext, TData>[];
|
|
@@ -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,SAAS,EACT,IAAI,EACJ,QAAQ,EACT,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,WAAW,yBAAyB,CACxC,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,OAAO;IAEf,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9B,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,
|
|
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,SAAS,EACT,IAAI,EACJ,QAAQ,EACT,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,WAAW,yBAAyB,CACxC,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,OAAO;IAEf,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9B,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,kBAAkB,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAClD,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;CAChC;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,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC/B;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,sBAAsB,CACpB,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC7B,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,MAAM,CAAC;IAuMZ,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjD,OAAO,CAAC,MAAM,CAAC;CAYnB"}
|
|
@@ -78,8 +78,6 @@ class ResponseEngine {
|
|
|
78
78
|
if (combinedTerms && combinedTerms.length > 0) {
|
|
79
79
|
await pc.addGlossary(combinedTerms);
|
|
80
80
|
}
|
|
81
|
-
// History is now passed natively via GenerateMessageInput.history
|
|
82
|
-
// instead of being embedded in the prompt string (Requirements 17.1, 17.2)
|
|
83
81
|
// Add data collection instructions - include ALL route fields, not just current step
|
|
84
82
|
// Collect all fields from route's required and optional fields
|
|
85
83
|
const allRouteFields = new Set();
|
|
@@ -202,12 +200,10 @@ class ResponseEngine {
|
|
|
202
200
|
return pc.build();
|
|
203
201
|
}
|
|
204
202
|
async buildFallbackPrompt(params) {
|
|
205
|
-
const {
|
|
206
|
-
const templateContext = (0, template_1.createTemplateContext)({ context, session
|
|
203
|
+
const { agentOptions, terms, guidelines, context, session } = params;
|
|
204
|
+
const templateContext = (0, template_1.createTemplateContext)({ context, session });
|
|
207
205
|
const pc = new PromptComposer_1.PromptComposer(templateContext, this.promptSectionCache);
|
|
208
206
|
await pc.addAgentMeta(agentOptions);
|
|
209
|
-
// History is now passed natively via GenerateMessageInput.history
|
|
210
|
-
// instead of being embedded in the prompt string (Requirements 17.1, 17.2)
|
|
211
207
|
await pc.addGlossary(terms);
|
|
212
208
|
await pc.addGuidelines(guidelines);
|
|
213
209
|
await pc.addKnowledgeBase(agentOptions.knowledgeBase);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseEngine.js","sourceRoot":"","sources":["../../../src/core/ResponseEngine.ts"],"names":[],"mappings":";;;AAWA,qDAAkD;AAElD,gDAAkE;
|
|
1
|
+
{"version":3,"file":"ResponseEngine.js","sourceRoot":"","sources":["../../../src/core/ResponseEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseModal.d.ts","sourceRoot":"","sources":["../../../src/core/ResponseModal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EACb,wBAAwB,EACxB,OAAO,EACP,YAAY,EACZ,OAAO,
|
|
1
|
+
{"version":3,"file":"ResponseModal.d.ts","sourceRoot":"","sources":["../../../src/core/ResponseModal.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.ResponseModal = exports.ResponseGenerationError = void 0;
|
|
8
|
-
const types_1 = require("../types");
|
|
9
8
|
const Step_1 = require("./Step");
|
|
10
9
|
const ResponseEngine_1 = require("./ResponseEngine");
|
|
11
10
|
const ResponsePipeline_1 = require("./ResponsePipeline");
|
|
@@ -447,12 +446,14 @@ class ResponseModal {
|
|
|
447
446
|
extractionPrompt.push(`Optional fields: ${route.optionalFields.join(', ')}`);
|
|
448
447
|
}
|
|
449
448
|
extractionPrompt.push(``, `Return ONLY the extracted data as JSON. If no data can be extracted, return an empty object {}.`);
|
|
449
|
+
// Convert Event[] to HistoryItem[] for provider call
|
|
450
|
+
const historyItems = (0, utils_1.eventsToHistory)(history);
|
|
450
451
|
// Call AI to extract data
|
|
451
452
|
const agentOptions = this.agent.getAgentOptions();
|
|
452
453
|
try {
|
|
453
454
|
const result = await agentOptions.provider.generateMessage({
|
|
454
455
|
prompt: extractionPrompt.join('\n'),
|
|
455
|
-
history,
|
|
456
|
+
history: historyItems,
|
|
456
457
|
context: {}, // Passed as empty object so AI doesn't "extract" from context
|
|
457
458
|
// NOTE: context is intentionally NOT passed here.
|
|
458
459
|
// Passing context caused the AI to "extract" data from the lead's context
|
|
@@ -480,7 +481,6 @@ class ResponseModal {
|
|
|
480
481
|
// Get last user message (needed for both route and completion handling)
|
|
481
482
|
// Convert HistoryItem[] to Event[] for internal processing
|
|
482
483
|
const historyEvents = (0, utils_1.historyToEvents)(history);
|
|
483
|
-
const lastMessageText = (0, utils_1.getLastMessageFromHistory)(historyEvents);
|
|
484
484
|
let message;
|
|
485
485
|
let toolCalls = undefined;
|
|
486
486
|
let executedSteps;
|
|
@@ -515,7 +515,6 @@ class ResponseModal {
|
|
|
515
515
|
session,
|
|
516
516
|
history,
|
|
517
517
|
context: effectiveContext,
|
|
518
|
-
lastMessageText,
|
|
519
518
|
historyEvents,
|
|
520
519
|
signal: undefined,
|
|
521
520
|
});
|
|
@@ -540,7 +539,7 @@ class ResponseModal {
|
|
|
540
539
|
selectedRoute,
|
|
541
540
|
session,
|
|
542
541
|
context: effectiveContext,
|
|
543
|
-
|
|
542
|
+
history,
|
|
544
543
|
historyEvents,
|
|
545
544
|
signal: undefined,
|
|
546
545
|
});
|
|
@@ -560,7 +559,7 @@ class ResponseModal {
|
|
|
560
559
|
else {
|
|
561
560
|
// Fallback: No routes defined, generate a simple response
|
|
562
561
|
message = await this.generateFallbackResponse({
|
|
563
|
-
history
|
|
562
|
+
history,
|
|
564
563
|
context: effectiveContext,
|
|
565
564
|
session,
|
|
566
565
|
});
|
|
@@ -646,7 +645,7 @@ class ResponseModal {
|
|
|
646
645
|
const agentOptions = this.agent.getAgentOptions();
|
|
647
646
|
const result = await agentOptions.provider.generateMessage({
|
|
648
647
|
prompt: batchPromptResult.prompt,
|
|
649
|
-
history
|
|
648
|
+
history, // Use HistoryItem[] for AI provider
|
|
650
649
|
context,
|
|
651
650
|
tools: availableTools,
|
|
652
651
|
signal,
|
|
@@ -802,7 +801,6 @@ class ResponseModal {
|
|
|
802
801
|
// Get last user message (needed for both route and completion handling)
|
|
803
802
|
// Convert HistoryItem[] to Event[] for internal processing
|
|
804
803
|
const historyEvents = (0, utils_1.historyToEvents)(history);
|
|
805
|
-
const lastMessageText = (0, utils_1.getLastMessageFromHistory)(historyEvents);
|
|
806
804
|
if (selectedRoute && !isRouteComplete) {
|
|
807
805
|
// Check if we have batch steps to execute
|
|
808
806
|
if (batchSteps && batchSteps.length > 0) {
|
|
@@ -829,7 +827,6 @@ class ResponseModal {
|
|
|
829
827
|
session,
|
|
830
828
|
history,
|
|
831
829
|
context: effectiveContext,
|
|
832
|
-
lastMessageText,
|
|
833
830
|
historyEvents,
|
|
834
831
|
});
|
|
835
832
|
}
|
|
@@ -840,14 +837,14 @@ class ResponseModal {
|
|
|
840
837
|
selectedRoute,
|
|
841
838
|
session,
|
|
842
839
|
context: effectiveContext,
|
|
843
|
-
|
|
840
|
+
history,
|
|
844
841
|
historyEvents,
|
|
845
842
|
});
|
|
846
843
|
}
|
|
847
844
|
else {
|
|
848
845
|
// Fallback: No routes defined, stream a simple response
|
|
849
846
|
yield* this.streamFallbackResponse({
|
|
850
|
-
history
|
|
847
|
+
history,
|
|
851
848
|
context: effectiveContext,
|
|
852
849
|
session,
|
|
853
850
|
});
|
|
@@ -861,7 +858,7 @@ class ResponseModal {
|
|
|
861
858
|
* @private
|
|
862
859
|
*/
|
|
863
860
|
async *streamBatchResponse(params) {
|
|
864
|
-
const { selectedRoute, batchSteps, context, historyEvents, batchStoppedReason, signal } = params;
|
|
861
|
+
const { selectedRoute, batchSteps, history, context, historyEvents, batchStoppedReason, signal } = params;
|
|
865
862
|
let session = params.session;
|
|
866
863
|
// Create hook executor function
|
|
867
864
|
const executeHook = async (hook, hookContext, data, step) => {
|
|
@@ -902,7 +899,7 @@ class ResponseModal {
|
|
|
902
899
|
const agentOptions = this.agent.getAgentOptions();
|
|
903
900
|
const stream = agentOptions.provider.generateMessageStream({
|
|
904
901
|
prompt: batchPromptResult.prompt,
|
|
905
|
-
history
|
|
902
|
+
history, // Use HistoryItem[] for AI provider
|
|
906
903
|
context,
|
|
907
904
|
tools: availableTools,
|
|
908
905
|
signal,
|
|
@@ -998,7 +995,7 @@ class ResponseModal {
|
|
|
998
995
|
* @private
|
|
999
996
|
*/
|
|
1000
997
|
async processRouteResponse(params) {
|
|
1001
|
-
const { selectedRoute, selectedStep, responseDirectives, history, context,
|
|
998
|
+
const { selectedRoute, selectedStep, responseDirectives, history, context, historyEvents, signal } = params;
|
|
1002
999
|
let session = params.session;
|
|
1003
1000
|
// Determine next step
|
|
1004
1001
|
let nextStep;
|
|
@@ -1065,8 +1062,7 @@ class ResponseModal {
|
|
|
1065
1062
|
rules: selectedRoute.getRules(),
|
|
1066
1063
|
prohibitions: selectedRoute.getProhibitions(),
|
|
1067
1064
|
directives: responseDirectives,
|
|
1068
|
-
history: historyEvents,
|
|
1069
|
-
lastMessage: lastMessageText, // Use string for buildResponsePrompt
|
|
1065
|
+
history: historyEvents,
|
|
1070
1066
|
agentOptions: this.agent.getAgentOptions(),
|
|
1071
1067
|
combinedGuidelines: [...this.agent.getGuidelines(), ...selectedRoute.getGuidelines()],
|
|
1072
1068
|
combinedTerms: this.mergeTerms(this.agent.getTerms(), selectedRoute.getTerms()),
|
|
@@ -1080,7 +1076,7 @@ class ResponseModal {
|
|
|
1080
1076
|
const agentOptions = this.agent.getAgentOptions();
|
|
1081
1077
|
const result = await agentOptions.provider.generateMessage({
|
|
1082
1078
|
prompt: responsePrompt,
|
|
1083
|
-
history
|
|
1079
|
+
history, // Use HistoryItem[] for AI provider
|
|
1084
1080
|
context,
|
|
1085
1081
|
tools: availableTools,
|
|
1086
1082
|
signal,
|
|
@@ -1122,7 +1118,7 @@ class ResponseModal {
|
|
|
1122
1118
|
* @private
|
|
1123
1119
|
*/
|
|
1124
1120
|
async *processRouteStreamingResponse(params) {
|
|
1125
|
-
const { selectedRoute, selectedStep, responseDirectives, history, context,
|
|
1121
|
+
const { selectedRoute, selectedStep, responseDirectives, history, context, historyEvents, signal } = params;
|
|
1126
1122
|
let session = params.session;
|
|
1127
1123
|
// Determine next step (same logic as non-streaming)
|
|
1128
1124
|
let nextStep;
|
|
@@ -1183,8 +1179,7 @@ class ResponseModal {
|
|
|
1183
1179
|
rules: selectedRoute.getRules(),
|
|
1184
1180
|
prohibitions: selectedRoute.getProhibitions(),
|
|
1185
1181
|
directives: responseDirectives,
|
|
1186
|
-
history: historyEvents,
|
|
1187
|
-
lastMessage: lastMessageText, // Use string for buildResponsePrompt
|
|
1182
|
+
history: historyEvents,
|
|
1188
1183
|
agentOptions: this.agent.getAgentOptions(),
|
|
1189
1184
|
combinedGuidelines: [...this.agent.getGuidelines(), ...selectedRoute.getGuidelines()],
|
|
1190
1185
|
combinedTerms: this.mergeTerms(this.agent.getTerms(), selectedRoute.getTerms()),
|
|
@@ -1198,7 +1193,7 @@ class ResponseModal {
|
|
|
1198
1193
|
const agentOptions = this.agent.getAgentOptions();
|
|
1199
1194
|
const stream = agentOptions.provider.generateMessageStream({
|
|
1200
1195
|
prompt: responsePrompt,
|
|
1201
|
-
history
|
|
1196
|
+
history, // Use HistoryItem[] for AI provider
|
|
1202
1197
|
context,
|
|
1203
1198
|
tools: availableTools,
|
|
1204
1199
|
signal,
|
|
@@ -1399,33 +1394,33 @@ class ResponseModal {
|
|
|
1399
1394
|
while (hasToolCalls && toolLoopCount < MAX_TOOL_LOOPS) {
|
|
1400
1395
|
toolLoopCount++;
|
|
1401
1396
|
utils_1.logger.debug(`[ResponseModal] Starting tool loop ${toolLoopCount}/${MAX_TOOL_LOOPS} with ${toolCalls?.length || 0} tool calls`);
|
|
1402
|
-
// Create tool result
|
|
1403
|
-
const
|
|
1397
|
+
// Create tool result history items
|
|
1398
|
+
const toolResultHistoryItems = [];
|
|
1404
1399
|
for (const toolCall of toolCalls || []) {
|
|
1405
1400
|
const tool = this.findAvailableTool(toolCall.toolName, selectedRoute);
|
|
1406
1401
|
if (tool) {
|
|
1407
|
-
// Create
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1402
|
+
// Create HistoryItem format for tool results
|
|
1403
|
+
// Add assistant message with tool_calls
|
|
1404
|
+
toolResultHistoryItems.push({
|
|
1405
|
+
role: "assistant",
|
|
1406
|
+
content: null,
|
|
1407
|
+
tool_calls: [{
|
|
1408
|
+
id: toolCall.toolName,
|
|
1409
|
+
name: toolCall.toolName,
|
|
1410
|
+
arguments: toolCall.arguments,
|
|
1411
|
+
}],
|
|
1412
|
+
});
|
|
1413
|
+
// Add tool result
|
|
1414
|
+
toolResultHistoryItems.push({
|
|
1415
|
+
role: "tool",
|
|
1416
|
+
tool_call_id: toolCall.toolName,
|
|
1417
|
+
name: toolCall.toolName,
|
|
1418
|
+
content: "Tool executed successfully",
|
|
1419
|
+
});
|
|
1425
1420
|
}
|
|
1426
1421
|
}
|
|
1427
|
-
// Create updated history with tool results
|
|
1428
|
-
const
|
|
1422
|
+
// Create updated history with tool results
|
|
1423
|
+
const updatedHistory = [...history, ...toolResultHistoryItems];
|
|
1429
1424
|
// Make follow-up AI call to see if more tools are needed
|
|
1430
1425
|
// After first iteration, don't provide tools to force a text response
|
|
1431
1426
|
const agentOptions = this.agent.getAgentOptions();
|
|
@@ -1437,7 +1432,7 @@ class ResponseModal {
|
|
|
1437
1432
|
});
|
|
1438
1433
|
const followUpResult = await agentOptions.provider.generateMessage({
|
|
1439
1434
|
prompt: responsePrompt + (toolLoopCount > 1 ? "\n\nProvide a text response to the user based on the tool results." : ""),
|
|
1440
|
-
history:
|
|
1435
|
+
history: updatedHistory, // Use HistoryItem[] for AI provider
|
|
1441
1436
|
context,
|
|
1442
1437
|
tools: shouldProvideTools ? availableTools : [], // Only provide tools on first iteration
|
|
1443
1438
|
parameters: responseSchema ? {
|
|
@@ -1475,7 +1470,7 @@ class ResponseModal {
|
|
|
1475
1470
|
context,
|
|
1476
1471
|
updateContext: this.agent.updateContext.bind(this.agent),
|
|
1477
1472
|
updateData: this.agent.updateCollectedData.bind(this.agent),
|
|
1478
|
-
history:
|
|
1473
|
+
history: (0, utils_1.historyToEvents)(updatedHistory), // Convert to Event[] for tool execution
|
|
1479
1474
|
data: session.data,
|
|
1480
1475
|
toolArguments: toolCall.arguments,
|
|
1481
1476
|
});
|
|
@@ -1630,7 +1625,7 @@ class ResponseModal {
|
|
|
1630
1625
|
* @private
|
|
1631
1626
|
*/
|
|
1632
1627
|
async handleRouteCompletion(params) {
|
|
1633
|
-
const { selectedRoute, session, context,
|
|
1628
|
+
const { selectedRoute, session, context, history, historyEvents, signal } = params;
|
|
1634
1629
|
// Get endStep spec from route
|
|
1635
1630
|
const endStepSpec = selectedRoute.endStepSpec;
|
|
1636
1631
|
// Create a temporary step for completion message generation using endStep configuration
|
|
@@ -1680,7 +1675,6 @@ class ResponseModal {
|
|
|
1680
1675
|
completitionPrompt,
|
|
1681
1676
|
],
|
|
1682
1677
|
history: historyEvents,
|
|
1683
|
-
lastMessage: lastMessageText,
|
|
1684
1678
|
agentOptions: this.agent.getAgentOptions(),
|
|
1685
1679
|
combinedGuidelines: alwaysActiveGuidelines, // Only non-conditional guidelines
|
|
1686
1680
|
combinedTerms: this.mergeTerms(this.agent.getTerms(), selectedRoute.getTerms()),
|
|
@@ -1693,7 +1687,7 @@ class ResponseModal {
|
|
|
1693
1687
|
utils_1.logger.debug(`[ResponseModal] Calling AI provider for completion message...`);
|
|
1694
1688
|
const completionResult = await agentOptions.provider.generateMessage({
|
|
1695
1689
|
prompt: completionPrompt,
|
|
1696
|
-
history
|
|
1690
|
+
history, // Use HistoryItem[] for AI provider
|
|
1697
1691
|
context,
|
|
1698
1692
|
signal,
|
|
1699
1693
|
parameters: { jsonSchema: completionSchema, schemaName: "completion_message" },
|
|
@@ -1727,7 +1721,7 @@ class ResponseModal {
|
|
|
1727
1721
|
* @private
|
|
1728
1722
|
*/
|
|
1729
1723
|
async *streamRouteCompletion(params) {
|
|
1730
|
-
const { selectedRoute, context,
|
|
1724
|
+
const { selectedRoute, context, history, historyEvents, signal } = params;
|
|
1731
1725
|
let session = params.session;
|
|
1732
1726
|
// Get endStep spec from route
|
|
1733
1727
|
const endStepSpec = selectedRoute.endStepSpec;
|
|
@@ -1749,8 +1743,7 @@ class ResponseModal {
|
|
|
1749
1743
|
rules: selectedRoute.getRules(),
|
|
1750
1744
|
prohibitions: selectedRoute.getProhibitions(),
|
|
1751
1745
|
directives: undefined, // No directives for completion
|
|
1752
|
-
history: historyEvents,
|
|
1753
|
-
lastMessage: lastMessageText, // Use string for buildResponsePrompt
|
|
1746
|
+
history: historyEvents,
|
|
1754
1747
|
agentOptions: this.agent.getAgentOptions(),
|
|
1755
1748
|
combinedGuidelines: [...this.agent.getGuidelines(), ...selectedRoute.getGuidelines()],
|
|
1756
1749
|
combinedTerms: this.mergeTerms(this.agent.getTerms(), selectedRoute.getTerms()),
|
|
@@ -1762,7 +1755,7 @@ class ResponseModal {
|
|
|
1762
1755
|
const agentOptions = this.agent.getAgentOptions();
|
|
1763
1756
|
const stream = agentOptions.provider.generateMessageStream({
|
|
1764
1757
|
prompt: completionPrompt,
|
|
1765
|
-
history
|
|
1758
|
+
history, // Use HistoryItem[] for AI provider
|
|
1766
1759
|
context,
|
|
1767
1760
|
signal,
|
|
1768
1761
|
parameters: { jsonSchema: responseSchema, schemaName: "completion_message_stream" },
|
|
@@ -1826,7 +1819,6 @@ class ResponseModal {
|
|
|
1826
1819
|
utils_1.logger.debug(`[ResponseModal] No route selected, generating basic response`);
|
|
1827
1820
|
// Build basic response prompt without route context
|
|
1828
1821
|
const fallbackPrompt = await this.responseEngine.buildFallbackPrompt({
|
|
1829
|
-
history,
|
|
1830
1822
|
agentOptions: this.agent.getAgentOptions(),
|
|
1831
1823
|
terms: this.agent.getTerms(),
|
|
1832
1824
|
guidelines: this.agent.getGuidelines(),
|
|
@@ -1858,7 +1850,6 @@ class ResponseModal {
|
|
|
1858
1850
|
async *streamFallbackResponse(params) {
|
|
1859
1851
|
const { history, context, session, signal } = params;
|
|
1860
1852
|
const fallbackPrompt = await this.responseEngine.buildFallbackPrompt({
|
|
1861
|
-
history,
|
|
1862
1853
|
agentOptions: this.agent.getAgentOptions(),
|
|
1863
1854
|
terms: this.agent.getTerms(),
|
|
1864
1855
|
guidelines: this.agent.getGuidelines(),
|