@falai/agent 0.3.30 → 0.4.1
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/Agent.d.ts +1 -0
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +62 -2
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/ConditionEvaluator.d.ts +72 -0
- package/dist/cjs/core/ConditionEvaluator.d.ts.map +1 -0
- package/dist/cjs/core/ConditionEvaluator.js +272 -0
- package/dist/cjs/core/ConditionEvaluator.js.map +1 -0
- package/dist/cjs/core/PreparationEngine.d.ts +116 -0
- package/dist/cjs/core/PreparationEngine.d.ts.map +1 -0
- package/dist/cjs/core/PreparationEngine.js +353 -0
- package/dist/cjs/core/PreparationEngine.js.map +1 -0
- package/dist/cjs/core/Route.d.ts +6 -0
- package/dist/cjs/core/Route.d.ts.map +1 -1
- package/dist/cjs/core/Route.js +9 -0
- package/dist/cjs/core/Route.js.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.d.ts +3 -3
- package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
- package/dist/cjs/providers/GeminiProvider.d.ts +3 -3
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GeminiProvider.js +43 -18
- package/dist/cjs/providers/GeminiProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts +3 -3
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.d.ts +3 -3
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
- package/dist/cjs/types/agent.d.ts +3 -0
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/ai.d.ts +6 -6
- package/dist/cjs/types/ai.d.ts.map +1 -1
- package/dist/core/Agent.d.ts +1 -0
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +62 -2
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/ConditionEvaluator.d.ts +72 -0
- package/dist/core/ConditionEvaluator.d.ts.map +1 -0
- package/dist/core/ConditionEvaluator.js +268 -0
- package/dist/core/ConditionEvaluator.js.map +1 -0
- package/dist/core/PreparationEngine.d.ts +116 -0
- package/dist/core/PreparationEngine.d.ts.map +1 -0
- package/dist/core/PreparationEngine.js +349 -0
- package/dist/core/PreparationEngine.js.map +1 -0
- package/dist/core/Route.d.ts +6 -0
- package/dist/core/Route.d.ts.map +1 -1
- package/dist/core/Route.js +9 -0
- package/dist/core/Route.js.map +1 -1
- package/dist/providers/AnthropicProvider.d.ts +3 -3
- package/dist/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/providers/AnthropicProvider.js.map +1 -1
- package/dist/providers/GeminiProvider.d.ts +3 -3
- package/dist/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/GeminiProvider.js +43 -18
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/OpenAIProvider.d.ts +3 -3
- package/dist/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/providers/OpenAIProvider.js.map +1 -1
- package/dist/providers/OpenRouterProvider.d.ts +3 -3
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/types/agent.d.ts +3 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/ai.d.ts +6 -6
- package/dist/types/ai.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/Agent.ts +86 -2
- package/src/core/ConditionEvaluator.ts +381 -0
- package/src/core/PreparationEngine.ts +561 -0
- package/src/core/Route.ts +10 -0
- package/src/providers/AnthropicProvider.ts +51 -21
- package/src/providers/GeminiProvider.ts +86 -40
- package/src/providers/OpenAIProvider.ts +48 -21
- package/src/providers/OpenRouterProvider.ts +36 -18
- package/src/types/agent.ts +3 -0
- package/src/types/ai.ts +13 -8
package/dist/cjs/core/Agent.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EAET,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/core/Agent.js
CHANGED
|
@@ -9,6 +9,7 @@ const DomainRegistry_1 = require("./DomainRegistry");
|
|
|
9
9
|
const PromptBuilder_1 = require("./PromptBuilder");
|
|
10
10
|
const Observation_1 = require("./Observation");
|
|
11
11
|
const PersistenceManager_1 = require("./PersistenceManager");
|
|
12
|
+
const PreparationEngine_1 = require("./PreparationEngine");
|
|
12
13
|
/**
|
|
13
14
|
* Main Agent class with generic context support
|
|
14
15
|
*/
|
|
@@ -35,6 +36,11 @@ class Agent {
|
|
|
35
36
|
}
|
|
36
37
|
// Initialize context if provided
|
|
37
38
|
this.context = options.context;
|
|
39
|
+
// Initialize preparation engine with AI provider and optional parallelism controls
|
|
40
|
+
this.preparationEngine = new PreparationEngine_1.PreparationEngine(options.ai, {
|
|
41
|
+
maxParallelLlmCalls: options.preparation?.maxParallelLlmCalls,
|
|
42
|
+
maxParallelTools: options.preparation?.maxParallelTools,
|
|
43
|
+
});
|
|
38
44
|
// Initialize persistence if configured
|
|
39
45
|
if (options.persistence) {
|
|
40
46
|
this.persistenceManager = new PersistenceManager_1.PersistenceManager(options.persistence);
|
|
@@ -196,10 +202,37 @@ class Agent {
|
|
|
196
202
|
this.context = currentContext;
|
|
197
203
|
}
|
|
198
204
|
// Merge context with override
|
|
199
|
-
|
|
205
|
+
let effectiveContext = {
|
|
200
206
|
...currentContext,
|
|
201
207
|
...contextOverride,
|
|
202
208
|
};
|
|
209
|
+
// RUN PREPARATION ITERATIONS
|
|
210
|
+
// This is where tools execute automatically based on:
|
|
211
|
+
// 1. Matched guidelines with associated tools
|
|
212
|
+
// 2. State machine transitions with toolState
|
|
213
|
+
//
|
|
214
|
+
// The AI will NEVER see these tools - they execute before message generation
|
|
215
|
+
const preparationResult = await this.preparationEngine.prepare({
|
|
216
|
+
history,
|
|
217
|
+
currentState: params.state,
|
|
218
|
+
context: effectiveContext,
|
|
219
|
+
routes: this.routes,
|
|
220
|
+
guidelines: this.guidelines,
|
|
221
|
+
maxIterations: this.options.maxEngineIterations || 1,
|
|
222
|
+
});
|
|
223
|
+
// Update context with results from tool executions
|
|
224
|
+
effectiveContext = preparationResult.finalContext;
|
|
225
|
+
// Persist updated context and trigger lifecycle hook
|
|
226
|
+
const previousStoredContext = this.context;
|
|
227
|
+
this.context = effectiveContext;
|
|
228
|
+
if (this.options.hooks?.onContextUpdate &&
|
|
229
|
+
previousStoredContext !== undefined) {
|
|
230
|
+
await this.options.hooks.onContextUpdate(this.context, previousStoredContext);
|
|
231
|
+
}
|
|
232
|
+
// Log tool executions for debugging
|
|
233
|
+
if (preparationResult.toolExecutions.length > 0) {
|
|
234
|
+
console.log(`[Agent] Preparation complete: ${preparationResult.toolExecutions.length} tools executed in ${preparationResult.iterations.length} iterations`);
|
|
235
|
+
}
|
|
203
236
|
// Build prompt (same as respond method)
|
|
204
237
|
const promptBuilder = new PromptBuilder_1.PromptBuilder();
|
|
205
238
|
// Add agent identity
|
|
@@ -324,10 +357,37 @@ class Agent {
|
|
|
324
357
|
this.context = currentContext;
|
|
325
358
|
}
|
|
326
359
|
// Merge context with override
|
|
327
|
-
|
|
360
|
+
let effectiveContext = {
|
|
328
361
|
...currentContext,
|
|
329
362
|
...contextOverride,
|
|
330
363
|
};
|
|
364
|
+
// RUN PREPARATION ITERATIONS
|
|
365
|
+
// This is where tools execute automatically based on:
|
|
366
|
+
// 1. Matched guidelines with associated tools
|
|
367
|
+
// 2. State machine transitions with toolState
|
|
368
|
+
//
|
|
369
|
+
// The AI will NEVER see these tools - they execute before message generation
|
|
370
|
+
const preparationResult = await this.preparationEngine.prepare({
|
|
371
|
+
history,
|
|
372
|
+
currentState: params.state,
|
|
373
|
+
context: effectiveContext,
|
|
374
|
+
routes: this.routes,
|
|
375
|
+
guidelines: this.guidelines,
|
|
376
|
+
maxIterations: this.options.maxEngineIterations || 1,
|
|
377
|
+
});
|
|
378
|
+
// Update context with results from tool executions
|
|
379
|
+
effectiveContext = preparationResult.finalContext;
|
|
380
|
+
// Persist updated context and trigger lifecycle hook
|
|
381
|
+
const previousStoredContext = this.context;
|
|
382
|
+
this.context = effectiveContext;
|
|
383
|
+
if (this.options.hooks?.onContextUpdate &&
|
|
384
|
+
previousStoredContext !== undefined) {
|
|
385
|
+
await this.options.hooks.onContextUpdate(this.context, previousStoredContext);
|
|
386
|
+
}
|
|
387
|
+
// Log tool executions for debugging
|
|
388
|
+
if (preparationResult.toolExecutions.length > 0) {
|
|
389
|
+
console.log(`[Agent] Preparation complete: ${preparationResult.toolExecutions.length} tools executed in ${preparationResult.iterations.length} iterations`);
|
|
390
|
+
}
|
|
331
391
|
// Build prompt
|
|
332
392
|
const promptBuilder = new PromptBuilder_1.PromptBuilder();
|
|
333
393
|
// Add agent identity
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConditionEvaluator - Handles AI-powered condition evaluation
|
|
3
|
+
*
|
|
4
|
+
* This class is responsible for:
|
|
5
|
+
* - Evaluating guideline conditions
|
|
6
|
+
* - Evaluating transition conditions
|
|
7
|
+
* - Extracting tool arguments from context and history
|
|
8
|
+
*/
|
|
9
|
+
import type { Event, AiProvider } from "../types/index";
|
|
10
|
+
import type { Guideline } from "../types/agent";
|
|
11
|
+
import type { ToolRef } from "../types/tool";
|
|
12
|
+
/**
|
|
13
|
+
* Result of guideline condition evaluation
|
|
14
|
+
*/
|
|
15
|
+
export interface GuidelineEvaluationResult {
|
|
16
|
+
matches: boolean;
|
|
17
|
+
rationale?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Result of transition condition evaluation
|
|
21
|
+
*/
|
|
22
|
+
export interface TransitionEvaluationResult {
|
|
23
|
+
shouldFollow: boolean;
|
|
24
|
+
rationale?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Result of tool argument extraction
|
|
28
|
+
*/
|
|
29
|
+
export interface ArgumentExtractionResult {
|
|
30
|
+
arguments: unknown[];
|
|
31
|
+
rationale?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* ConditionEvaluator - Evaluates conditions using AI
|
|
35
|
+
*/
|
|
36
|
+
export declare class ConditionEvaluator<TContext = unknown> {
|
|
37
|
+
private readonly ai;
|
|
38
|
+
constructor(ai: AiProvider);
|
|
39
|
+
/**
|
|
40
|
+
* Evaluate a guideline condition against context and history
|
|
41
|
+
*/
|
|
42
|
+
evaluateGuidelineCondition(guideline: Guideline, context: TContext, history: Event[]): Promise<GuidelineEvaluationResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Evaluate a transition condition
|
|
45
|
+
*/
|
|
46
|
+
evaluateTransitionCondition(condition: string, context: TContext, history: Event[]): Promise<TransitionEvaluationResult>;
|
|
47
|
+
/**
|
|
48
|
+
* Extract tool arguments from context and history
|
|
49
|
+
*/
|
|
50
|
+
extractToolArguments(tool: ToolRef<TContext, unknown[], unknown>, context: TContext, history: Event[]): Promise<ArgumentExtractionResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Simple argument extraction from context (fallback)
|
|
53
|
+
*/
|
|
54
|
+
simpleArgumentExtraction(tool: ToolRef<TContext, unknown[], unknown>, context: TContext): unknown[];
|
|
55
|
+
/**
|
|
56
|
+
* Extract recent messages from history
|
|
57
|
+
*/
|
|
58
|
+
private extractRecentMessages;
|
|
59
|
+
/**
|
|
60
|
+
* Parse guideline evaluation from text response (fallback)
|
|
61
|
+
*/
|
|
62
|
+
private parseGuidelineResponse;
|
|
63
|
+
/**
|
|
64
|
+
* Parse transition evaluation from text response (fallback)
|
|
65
|
+
*/
|
|
66
|
+
private parseTransitionResponse;
|
|
67
|
+
/**
|
|
68
|
+
* Parse argument extraction from text response (fallback)
|
|
69
|
+
*/
|
|
70
|
+
private parseArgumentResponse;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=ConditionEvaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConditionEvaluator.d.ts","sourceRoot":"","sources":["../../../src/core/ConditionEvaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AAE1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0BD;;GAEG;AACH,qBAAa,kBAAkB,CAAC,QAAQ,GAAG,OAAO;IACpC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,UAAU;IAE3C;;OAEG;IACG,0BAA0B,CAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,KAAK,EAAE,GACf,OAAO,CAAC,yBAAyB,CAAC;IA0DrC;;OAEG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,KAAK,EAAE,GACf,OAAO,CAAC,0BAA0B,CAAC;IAyDtC;;OAEG;IACG,oBAAoB,CACxB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3C,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,KAAK,EAAE,GACf,OAAO,CAAC,wBAAwB,CAAC;IAiEpC;;OAEG;IACH,wBAAwB,CACtB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3C,OAAO,EAAE,QAAQ,GAChB,OAAO,EAAE;IAgCZ;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAsB9B"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ConditionEvaluator - Handles AI-powered condition evaluation
|
|
4
|
+
*
|
|
5
|
+
* This class is responsible for:
|
|
6
|
+
* - Evaluating guideline conditions
|
|
7
|
+
* - Evaluating transition conditions
|
|
8
|
+
* - Extracting tool arguments from context and history
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.ConditionEvaluator = void 0;
|
|
12
|
+
const history_1 = require("../types/history");
|
|
13
|
+
/**
|
|
14
|
+
* ConditionEvaluator - Evaluates conditions using AI
|
|
15
|
+
*/
|
|
16
|
+
class ConditionEvaluator {
|
|
17
|
+
constructor(ai) {
|
|
18
|
+
this.ai = ai;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Evaluate a guideline condition against context and history
|
|
22
|
+
*/
|
|
23
|
+
async evaluateGuidelineCondition(guideline, context, history) {
|
|
24
|
+
try {
|
|
25
|
+
const recentMessages = this.extractRecentMessages(history);
|
|
26
|
+
const prompt = `You are evaluating whether a guideline condition is met.
|
|
27
|
+
|
|
28
|
+
Guideline Condition: ${guideline.condition}
|
|
29
|
+
Action: ${guideline.action}
|
|
30
|
+
|
|
31
|
+
Current Context:
|
|
32
|
+
${JSON.stringify(context, null, 2)}
|
|
33
|
+
|
|
34
|
+
Recent Conversation:
|
|
35
|
+
${recentMessages || "(No recent messages)"}
|
|
36
|
+
|
|
37
|
+
Evaluate whether the guideline condition is currently met based on the context and conversation.
|
|
38
|
+
|
|
39
|
+
Your response must be a JSON object with this exact structure:
|
|
40
|
+
{
|
|
41
|
+
"matches": boolean (true or false),
|
|
42
|
+
"rationale": string (brief explanation)
|
|
43
|
+
}`;
|
|
44
|
+
const result = await this.ai.generateMessage({
|
|
45
|
+
prompt,
|
|
46
|
+
history,
|
|
47
|
+
context,
|
|
48
|
+
parameters: {
|
|
49
|
+
jsonMode: true,
|
|
50
|
+
maxOutputTokens: 500,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
// Parse structured response
|
|
54
|
+
if (result.structured) {
|
|
55
|
+
return {
|
|
56
|
+
matches: result.structured.matches === true,
|
|
57
|
+
rationale: result.structured.rationale,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// Fallback parsing
|
|
61
|
+
return this.parseGuidelineResponse(result.message);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
console.error(`[ConditionEvaluator] Failed to evaluate guideline condition: ${guideline.id}`, error);
|
|
65
|
+
return {
|
|
66
|
+
matches: false,
|
|
67
|
+
rationale: "Failed to evaluate condition",
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Evaluate a transition condition
|
|
73
|
+
*/
|
|
74
|
+
async evaluateTransitionCondition(condition, context, history) {
|
|
75
|
+
try {
|
|
76
|
+
const recentMessages = this.extractRecentMessages(history);
|
|
77
|
+
const prompt = `You are evaluating whether a state transition condition is met.
|
|
78
|
+
|
|
79
|
+
Transition Condition: ${condition}
|
|
80
|
+
|
|
81
|
+
Current Context:
|
|
82
|
+
${JSON.stringify(context, null, 2)}
|
|
83
|
+
|
|
84
|
+
Recent Conversation:
|
|
85
|
+
${recentMessages || "(No recent messages)"}
|
|
86
|
+
|
|
87
|
+
Evaluate whether this transition should be followed based on the condition, context, and conversation.
|
|
88
|
+
|
|
89
|
+
Your response must be a JSON object with this exact structure:
|
|
90
|
+
{
|
|
91
|
+
"shouldFollow": boolean (true or false),
|
|
92
|
+
"rationale": string (brief explanation)
|
|
93
|
+
}`;
|
|
94
|
+
const result = await this.ai.generateMessage({
|
|
95
|
+
prompt,
|
|
96
|
+
history,
|
|
97
|
+
context,
|
|
98
|
+
parameters: {
|
|
99
|
+
jsonMode: true,
|
|
100
|
+
maxOutputTokens: 300,
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
// Parse structured response
|
|
104
|
+
if (result.structured) {
|
|
105
|
+
return {
|
|
106
|
+
shouldFollow: result.structured.shouldFollow === true,
|
|
107
|
+
rationale: result.structured.rationale,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
// Fallback parsing
|
|
111
|
+
return this.parseTransitionResponse(result.message);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
console.error(`[ConditionEvaluator] Failed to evaluate transition condition`, error);
|
|
115
|
+
return {
|
|
116
|
+
shouldFollow: false,
|
|
117
|
+
rationale: "Failed to evaluate condition",
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Extract tool arguments from context and history
|
|
123
|
+
*/
|
|
124
|
+
async extractToolArguments(tool, context, history) {
|
|
125
|
+
try {
|
|
126
|
+
const recentMessages = this.extractRecentMessages(history);
|
|
127
|
+
const prompt = `You are extracting arguments for a tool call.
|
|
128
|
+
|
|
129
|
+
Tool: ${tool.name}
|
|
130
|
+
Description: ${tool.description || "No description"}
|
|
131
|
+
Parameters: ${JSON.stringify(tool.parameters, null, 2)}
|
|
132
|
+
|
|
133
|
+
Current Context:
|
|
134
|
+
${JSON.stringify(context, null, 2)}
|
|
135
|
+
|
|
136
|
+
Recent Conversation:
|
|
137
|
+
${recentMessages || "(No recent messages)"}
|
|
138
|
+
|
|
139
|
+
Extract the arguments needed to call this tool based on the context and conversation.
|
|
140
|
+
If a parameter is not available, use null or a reasonable default value.
|
|
141
|
+
|
|
142
|
+
Your response must be a JSON object with this exact structure:
|
|
143
|
+
{
|
|
144
|
+
"arguments": [arg1, arg2, ...] (array of argument values),
|
|
145
|
+
"rationale": string (optional explanation)
|
|
146
|
+
}`;
|
|
147
|
+
const result = await this.ai.generateMessage({
|
|
148
|
+
prompt,
|
|
149
|
+
history,
|
|
150
|
+
context,
|
|
151
|
+
parameters: {
|
|
152
|
+
jsonMode: true,
|
|
153
|
+
maxOutputTokens: 500,
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
// Parse structured response
|
|
157
|
+
if (result.structured) {
|
|
158
|
+
if (result.structured.arguments &&
|
|
159
|
+
Array.isArray(result.structured.arguments)) {
|
|
160
|
+
return {
|
|
161
|
+
arguments: result.structured.arguments,
|
|
162
|
+
rationale: result.structured.rationale,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Fallback: try to parse from message
|
|
167
|
+
return this.parseArgumentResponse(result.message);
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
console.error(`[ConditionEvaluator] Failed to extract tool arguments: ${tool.name}`, error);
|
|
171
|
+
return {
|
|
172
|
+
arguments: [],
|
|
173
|
+
rationale: "Failed to extract arguments",
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Simple argument extraction from context (fallback)
|
|
179
|
+
*/
|
|
180
|
+
simpleArgumentExtraction(tool, context) {
|
|
181
|
+
const contextObj = context;
|
|
182
|
+
const args = [];
|
|
183
|
+
// If parameters is an object with properties, try to match context keys
|
|
184
|
+
if (tool.parameters &&
|
|
185
|
+
typeof tool.parameters === "object" &&
|
|
186
|
+
!Array.isArray(tool.parameters)) {
|
|
187
|
+
const params = tool.parameters;
|
|
188
|
+
// Try to match parameter names with context keys
|
|
189
|
+
for (const [paramName, paramDef] of Object.entries(params)) {
|
|
190
|
+
if (contextObj[paramName] !== undefined) {
|
|
191
|
+
args.push(contextObj[paramName]);
|
|
192
|
+
}
|
|
193
|
+
else if (typeof paramDef === "object" &&
|
|
194
|
+
paramDef !== null &&
|
|
195
|
+
"default" in paramDef &&
|
|
196
|
+
typeof paramDef.default !== "undefined") {
|
|
197
|
+
args.push(paramDef.default);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return args;
|
|
202
|
+
}
|
|
203
|
+
// Private helper methods
|
|
204
|
+
/**
|
|
205
|
+
* Extract recent messages from history
|
|
206
|
+
*/
|
|
207
|
+
extractRecentMessages(history, count = 5) {
|
|
208
|
+
return history
|
|
209
|
+
.slice(-count)
|
|
210
|
+
.map((event) => {
|
|
211
|
+
if (event.kind === history_1.EventKind.MESSAGE) {
|
|
212
|
+
const data = event.data;
|
|
213
|
+
return `${data.participant.display_name}: ${data.message}`;
|
|
214
|
+
}
|
|
215
|
+
return null;
|
|
216
|
+
})
|
|
217
|
+
.filter((msg) => msg !== null)
|
|
218
|
+
.join("\n");
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Parse guideline evaluation from text response (fallback)
|
|
222
|
+
*/
|
|
223
|
+
parseGuidelineResponse(message) {
|
|
224
|
+
const lowerMessage = message.toLowerCase();
|
|
225
|
+
const matches = lowerMessage.includes("true") || lowerMessage.includes('"matches": true');
|
|
226
|
+
return {
|
|
227
|
+
matches,
|
|
228
|
+
rationale: matches ? "Parsed from text response" : "Condition not met",
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Parse transition evaluation from text response (fallback)
|
|
233
|
+
*/
|
|
234
|
+
parseTransitionResponse(message) {
|
|
235
|
+
const lowerMessage = message.toLowerCase();
|
|
236
|
+
const shouldFollow = lowerMessage.includes("true") ||
|
|
237
|
+
lowerMessage.includes('"shouldfollow": true');
|
|
238
|
+
return {
|
|
239
|
+
shouldFollow,
|
|
240
|
+
rationale: shouldFollow
|
|
241
|
+
? "Parsed from text response"
|
|
242
|
+
: "Condition not met",
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Parse argument extraction from text response (fallback)
|
|
247
|
+
*/
|
|
248
|
+
parseArgumentResponse(message) {
|
|
249
|
+
try {
|
|
250
|
+
// Try to extract JSON from the message
|
|
251
|
+
const jsonMatch = message.match(/\{[\s\S]*\}/);
|
|
252
|
+
if (jsonMatch) {
|
|
253
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
254
|
+
if (parsed.arguments && Array.isArray(parsed.arguments)) {
|
|
255
|
+
return {
|
|
256
|
+
arguments: parsed.arguments,
|
|
257
|
+
rationale: parsed.rationale,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
// Ignore parse errors
|
|
264
|
+
}
|
|
265
|
+
return {
|
|
266
|
+
arguments: [],
|
|
267
|
+
rationale: "Failed to parse arguments from response",
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
exports.ConditionEvaluator = ConditionEvaluator;
|
|
272
|
+
//# sourceMappingURL=ConditionEvaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConditionEvaluator.js","sourceRoot":"","sources":["../../../src/core/ConditionEvaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PreparationEngine - Handles the preparation iteration loop
|
|
3
|
+
*
|
|
4
|
+
* This engine implements the core Parlant/Emcie architecture:
|
|
5
|
+
* 1. Before generating a message, run preparation iterations
|
|
6
|
+
* 2. Each iteration:
|
|
7
|
+
* - Match guidelines against current context
|
|
8
|
+
* - Walk the state machine and execute tool transitions
|
|
9
|
+
* - Execute tools when conditions are met
|
|
10
|
+
* - Update context from tool results
|
|
11
|
+
* - Check if prepared to respond
|
|
12
|
+
* 3. After preparation, the AI generates the final message
|
|
13
|
+
*
|
|
14
|
+
* The AI NEVER sees tools - tools execute automatically based on:
|
|
15
|
+
* - State machine transitions ({ toolState: tool })
|
|
16
|
+
* - Guideline matching with associated tools
|
|
17
|
+
*/
|
|
18
|
+
import type { Event, StateRef, AiProvider } from "../types/index";
|
|
19
|
+
import type { Guideline, GuidelineMatch } from "../types/agent";
|
|
20
|
+
import type { Route } from "./Route";
|
|
21
|
+
/**
|
|
22
|
+
* Tool execution result
|
|
23
|
+
*/
|
|
24
|
+
export interface ToolExecutionResult {
|
|
25
|
+
toolName: string;
|
|
26
|
+
arguments: Record<string, unknown>;
|
|
27
|
+
result: unknown;
|
|
28
|
+
success: boolean;
|
|
29
|
+
error?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Preparation iteration state
|
|
33
|
+
*/
|
|
34
|
+
export interface IterationState {
|
|
35
|
+
iterationNumber: number;
|
|
36
|
+
matchedGuidelines: GuidelineMatch[];
|
|
37
|
+
executedTools: ToolExecutionResult[];
|
|
38
|
+
contextUpdates: Record<string, unknown>;
|
|
39
|
+
preparedToRespond: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Preparation context
|
|
43
|
+
*/
|
|
44
|
+
export interface PreparationContext<TContext = unknown> {
|
|
45
|
+
history: Event[];
|
|
46
|
+
currentState?: StateRef;
|
|
47
|
+
context: TContext;
|
|
48
|
+
routes: Route<TContext>[];
|
|
49
|
+
guidelines: Guideline[];
|
|
50
|
+
maxIterations: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Preparation result
|
|
54
|
+
*/
|
|
55
|
+
export interface PreparationResult<TContext = unknown> {
|
|
56
|
+
iterations: IterationState[];
|
|
57
|
+
finalContext: TContext;
|
|
58
|
+
toolExecutions: ToolExecutionResult[];
|
|
59
|
+
preparedToRespond: boolean;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* PreparationEngine - Executes the preparation iteration loop
|
|
63
|
+
*/
|
|
64
|
+
export interface PreparationEngineOptions {
|
|
65
|
+
maxParallelLlmCalls?: number;
|
|
66
|
+
maxParallelTools?: number;
|
|
67
|
+
}
|
|
68
|
+
export declare class PreparationEngine<TContext = unknown> {
|
|
69
|
+
private readonly conditionEvaluator?;
|
|
70
|
+
private readonly maxParallelLlmCalls;
|
|
71
|
+
private readonly maxParallelTools;
|
|
72
|
+
/**
|
|
73
|
+
* Run a list of async jobs with a concurrency limit, preserving order of results.
|
|
74
|
+
*/
|
|
75
|
+
private processWithConcurrency;
|
|
76
|
+
constructor(ai?: AiProvider, options?: PreparationEngineOptions);
|
|
77
|
+
/**
|
|
78
|
+
* Run preparation iterations before message generation
|
|
79
|
+
*
|
|
80
|
+
* This is the core engine that executes tools automatically
|
|
81
|
+
* based on state machine transitions and guideline matching.
|
|
82
|
+
*/
|
|
83
|
+
prepare(preparationContext: PreparationContext<TContext>): Promise<PreparationResult<TContext>>;
|
|
84
|
+
/**
|
|
85
|
+
* Run a single preparation iteration
|
|
86
|
+
*/
|
|
87
|
+
private runIteration;
|
|
88
|
+
/**
|
|
89
|
+
* Match guidelines against current context
|
|
90
|
+
*
|
|
91
|
+
* Evaluates guideline conditions against the current context and history
|
|
92
|
+
* using AI to determine relevance and priority
|
|
93
|
+
*/
|
|
94
|
+
private matchGuidelines;
|
|
95
|
+
/**
|
|
96
|
+
* Execute a single tool
|
|
97
|
+
*/
|
|
98
|
+
private executeTool;
|
|
99
|
+
/**
|
|
100
|
+
* Execute tool transitions in the state machine
|
|
101
|
+
*
|
|
102
|
+
* Walks through state transitions and executes tools when
|
|
103
|
+
* reaching a { toolState: tool } transition
|
|
104
|
+
*/
|
|
105
|
+
private executeStateToolTransitions;
|
|
106
|
+
/**
|
|
107
|
+
* Walk through a chain of states, executing tools along the way
|
|
108
|
+
*/
|
|
109
|
+
private walkStateChain;
|
|
110
|
+
/**
|
|
111
|
+
* Evaluate a transition condition
|
|
112
|
+
*/
|
|
113
|
+
private evaluateTransitionCondition;
|
|
114
|
+
}
|
|
115
|
+
export type _Internal = unknown;
|
|
116
|
+
//# sourceMappingURL=PreparationEngine.d.ts.map
|