@falai/agent 0.3.30 → 0.4.0

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.
Files changed (72) hide show
  1. package/dist/cjs/core/Agent.d.ts +1 -0
  2. package/dist/cjs/core/Agent.d.ts.map +1 -1
  3. package/dist/cjs/core/Agent.js +45 -2
  4. package/dist/cjs/core/Agent.js.map +1 -1
  5. package/dist/cjs/core/ConditionEvaluator.d.ts +72 -0
  6. package/dist/cjs/core/ConditionEvaluator.d.ts.map +1 -0
  7. package/dist/cjs/core/ConditionEvaluator.js +272 -0
  8. package/dist/cjs/core/ConditionEvaluator.js.map +1 -0
  9. package/dist/cjs/core/PreparationEngine.d.ts +105 -0
  10. package/dist/cjs/core/PreparationEngine.d.ts.map +1 -0
  11. package/dist/cjs/core/PreparationEngine.js +320 -0
  12. package/dist/cjs/core/PreparationEngine.js.map +1 -0
  13. package/dist/cjs/core/Route.d.ts +6 -0
  14. package/dist/cjs/core/Route.d.ts.map +1 -1
  15. package/dist/cjs/core/Route.js +9 -0
  16. package/dist/cjs/core/Route.js.map +1 -1
  17. package/dist/cjs/providers/AnthropicProvider.d.ts +3 -3
  18. package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
  19. package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
  20. package/dist/cjs/providers/GeminiProvider.d.ts +3 -3
  21. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  22. package/dist/cjs/providers/GeminiProvider.js +43 -18
  23. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  24. package/dist/cjs/providers/OpenAIProvider.d.ts +3 -3
  25. package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
  26. package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
  27. package/dist/cjs/providers/OpenRouterProvider.d.ts +3 -3
  28. package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
  29. package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
  30. package/dist/cjs/types/ai.d.ts +6 -6
  31. package/dist/cjs/types/ai.d.ts.map +1 -1
  32. package/dist/core/Agent.d.ts +1 -0
  33. package/dist/core/Agent.d.ts.map +1 -1
  34. package/dist/core/Agent.js +45 -2
  35. package/dist/core/Agent.js.map +1 -1
  36. package/dist/core/ConditionEvaluator.d.ts +72 -0
  37. package/dist/core/ConditionEvaluator.d.ts.map +1 -0
  38. package/dist/core/ConditionEvaluator.js +268 -0
  39. package/dist/core/ConditionEvaluator.js.map +1 -0
  40. package/dist/core/PreparationEngine.d.ts +105 -0
  41. package/dist/core/PreparationEngine.d.ts.map +1 -0
  42. package/dist/core/PreparationEngine.js +316 -0
  43. package/dist/core/PreparationEngine.js.map +1 -0
  44. package/dist/core/Route.d.ts +6 -0
  45. package/dist/core/Route.d.ts.map +1 -1
  46. package/dist/core/Route.js +9 -0
  47. package/dist/core/Route.js.map +1 -1
  48. package/dist/providers/AnthropicProvider.d.ts +3 -3
  49. package/dist/providers/AnthropicProvider.d.ts.map +1 -1
  50. package/dist/providers/AnthropicProvider.js.map +1 -1
  51. package/dist/providers/GeminiProvider.d.ts +3 -3
  52. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  53. package/dist/providers/GeminiProvider.js +43 -18
  54. package/dist/providers/GeminiProvider.js.map +1 -1
  55. package/dist/providers/OpenAIProvider.d.ts +3 -3
  56. package/dist/providers/OpenAIProvider.d.ts.map +1 -1
  57. package/dist/providers/OpenAIProvider.js.map +1 -1
  58. package/dist/providers/OpenRouterProvider.d.ts +3 -3
  59. package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
  60. package/dist/providers/OpenRouterProvider.js.map +1 -1
  61. package/dist/types/ai.d.ts +6 -6
  62. package/dist/types/ai.d.ts.map +1 -1
  63. package/package.json +1 -1
  64. package/src/core/Agent.ts +57 -2
  65. package/src/core/ConditionEvaluator.ts +381 -0
  66. package/src/core/PreparationEngine.ts +500 -0
  67. package/src/core/Route.ts +10 -0
  68. package/src/providers/AnthropicProvider.ts +51 -21
  69. package/src/providers/GeminiProvider.ts +86 -40
  70. package/src/providers/OpenAIProvider.ts +48 -21
  71. package/src/providers/OpenRouterProvider.ts +36 -18
  72. package/src/types/ai.ts +13 -8
@@ -21,6 +21,7 @@ export declare class Agent<TContext = unknown> {
21
21
  private domainRegistry;
22
22
  private context;
23
23
  private persistenceManager;
24
+ private preparationEngine;
24
25
  /**
25
26
  * Dynamic domain property - populated via addDomain
26
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -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,8 @@ class Agent {
35
36
  }
36
37
  // Initialize context if provided
37
38
  this.context = options.context;
39
+ // Initialize preparation engine with AI provider
40
+ this.preparationEngine = new PreparationEngine_1.PreparationEngine(options.ai);
38
41
  // Initialize persistence if configured
39
42
  if (options.persistence) {
40
43
  this.persistenceManager = new PersistenceManager_1.PersistenceManager(options.persistence);
@@ -196,10 +199,30 @@ class Agent {
196
199
  this.context = currentContext;
197
200
  }
198
201
  // Merge context with override
199
- const effectiveContext = {
202
+ let effectiveContext = {
200
203
  ...currentContext,
201
204
  ...contextOverride,
202
205
  };
206
+ // RUN PREPARATION ITERATIONS
207
+ // This is where tools execute automatically based on:
208
+ // 1. Matched guidelines with associated tools
209
+ // 2. State machine transitions with toolState
210
+ //
211
+ // The AI will NEVER see these tools - they execute before message generation
212
+ const preparationResult = await this.preparationEngine.prepare({
213
+ history,
214
+ currentState: params.state,
215
+ context: effectiveContext,
216
+ routes: this.routes,
217
+ guidelines: this.guidelines,
218
+ maxIterations: this.options.maxEngineIterations || 1,
219
+ });
220
+ // Update context with results from tool executions
221
+ effectiveContext = preparationResult.finalContext;
222
+ // Log tool executions for debugging
223
+ if (preparationResult.toolExecutions.length > 0) {
224
+ console.log(`[Agent] Preparation complete: ${preparationResult.toolExecutions.length} tools executed in ${preparationResult.iterations.length} iterations`);
225
+ }
203
226
  // Build prompt (same as respond method)
204
227
  const promptBuilder = new PromptBuilder_1.PromptBuilder();
205
228
  // Add agent identity
@@ -324,10 +347,30 @@ class Agent {
324
347
  this.context = currentContext;
325
348
  }
326
349
  // Merge context with override
327
- const effectiveContext = {
350
+ let effectiveContext = {
328
351
  ...currentContext,
329
352
  ...contextOverride,
330
353
  };
354
+ // RUN PREPARATION ITERATIONS
355
+ // This is where tools execute automatically based on:
356
+ // 1. Matched guidelines with associated tools
357
+ // 2. State machine transitions with toolState
358
+ //
359
+ // The AI will NEVER see these tools - they execute before message generation
360
+ const preparationResult = await this.preparationEngine.prepare({
361
+ history,
362
+ currentState: params.state,
363
+ context: effectiveContext,
364
+ routes: this.routes,
365
+ guidelines: this.guidelines,
366
+ maxIterations: this.options.maxEngineIterations || 1,
367
+ });
368
+ // Update context with results from tool executions
369
+ effectiveContext = preparationResult.finalContext;
370
+ // Log tool executions for debugging
371
+ if (preparationResult.toolExecutions.length > 0) {
372
+ console.log(`[Agent] Preparation complete: ${preparationResult.toolExecutions.length} tools executed in ${preparationResult.iterations.length} iterations`);
373
+ }
331
374
  // Build prompt
332
375
  const promptBuilder = new PromptBuilder_1.PromptBuilder();
333
376
  // 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,105 @@
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 declare class PreparationEngine<TContext = unknown> {
65
+ private readonly conditionEvaluator?;
66
+ constructor(ai?: AiProvider);
67
+ /**
68
+ * Run preparation iterations before message generation
69
+ *
70
+ * This is the core engine that executes tools automatically
71
+ * based on state machine transitions and guideline matching.
72
+ */
73
+ prepare(preparationContext: PreparationContext<TContext>): Promise<PreparationResult<TContext>>;
74
+ /**
75
+ * Run a single preparation iteration
76
+ */
77
+ private runIteration;
78
+ /**
79
+ * Match guidelines against current context
80
+ *
81
+ * Evaluates guideline conditions against the current context and history
82
+ * using AI to determine relevance and priority
83
+ */
84
+ private matchGuidelines;
85
+ /**
86
+ * Execute a single tool
87
+ */
88
+ private executeTool;
89
+ /**
90
+ * Execute tool transitions in the state machine
91
+ *
92
+ * Walks through state transitions and executes tools when
93
+ * reaching a { toolState: tool } transition
94
+ */
95
+ private executeStateToolTransitions;
96
+ /**
97
+ * Walk through a chain of states, executing tools along the way
98
+ */
99
+ private walkStateChain;
100
+ /**
101
+ * Evaluate a transition condition
102
+ */
103
+ private evaluateTransitionCondition;
104
+ }
105
+ //# sourceMappingURL=PreparationEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreparationEngine.d.ts","sourceRoot":"","sources":["../../../src/core/PreparationEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,cAAc,EAAE,CAAC;IACpC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,QAAQ,GAAG,OAAO;IACpD,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,QAAQ,GAAG,OAAO;IACnD,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,GAAG,OAAO;IAC/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAA+B;gBAEvD,EAAE,CAAC,EAAE,UAAU;IAM3B;;;;;OAKG;IACG,OAAO,CACX,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAC/C,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAsDvC;;OAEG;YACW,YAAY;IAkF1B;;;;;OAKG;YACW,eAAe;IAkD7B;;OAEG;YACW,WAAW;IA0DzB;;;;;OAKG;YACW,2BAA2B;IAoCzC;;OAEG;YACW,cAAc;IA0E5B;;OAEG;YACW,2BAA2B;CAgC1C"}