@falai/agent 0.3.24 → 0.3.30

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":"PromptBuilder.js","sourceRoot":"","sources":["../../src/core/PromptBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PromptBuilder.js","sourceRoot":"","sources":["../../src/core/PromptBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,386 @@
1
+ # Architecture & Design Principles
2
+
3
+ ## Overview
4
+
5
+ `@falai/agent` is built on a **state machine-driven architecture** inspired by [Parlant/Emcie](https://github.com/emcie-co/parlant), where tools execute automatically based on conversation flow rather than AI decision-making. This creates deterministic, controllable, and predictable agent behavior.
6
+
7
+ ## Core Design Principles
8
+
9
+ ### 1. 🎯 State Machine First
10
+
11
+ Conversations are modeled as **explicit state machines** using the Route DSL:
12
+
13
+ ```typescript
14
+ const route = agent.createRoute({
15
+ title: "Onboarding Flow",
16
+ description: "Collect user information step by step",
17
+ conditions: ["User wants to sign up"],
18
+ });
19
+
20
+ // Define states and transitions explicitly
21
+ route.initialState
22
+ .transitionTo({ chatState: "Ask for name" })
23
+ .transitionTo({ toolState: saveName }, "User provided name")
24
+ .transitionTo({ chatState: "Ask for email" })
25
+ .transitionTo({ toolState: saveEmail }, "User provided email")
26
+ .transitionTo({ state: END_ROUTE });
27
+ ```
28
+
29
+ **Why?** Explicit state machines make conversation flows:
30
+
31
+ - **Predictable** - You know exactly what happens when
32
+ - **Testable** - Each state transition can be unit tested
33
+ - **Debuggable** - Clear state progression makes issues obvious
34
+ - **Maintainable** - Easy to modify flow without breaking things
35
+
36
+ ### 2. 🔧 Automatic Tool Execution
37
+
38
+ Tools **execute automatically** when triggered by the state machine or guideline matching - the AI never decides when to call tools.
39
+
40
+ ```typescript
41
+ // ✅ CORRECT: Tool executes automatically when state is reached
42
+ askName.transitionTo({ toolState: saveName }, "User provided their name");
43
+
44
+ // ✅ CORRECT: Tool executes when guideline matches
45
+ agent.createGuideline({
46
+ condition: "User asks about pricing",
47
+ action: "Explain our pricing structure",
48
+ tools: [fetchCurrentPricing], // Auto-executes when guideline matches
49
+ });
50
+
51
+ // ❌ WRONG: Don't expect AI to call tools
52
+ agent.createCapability({
53
+ title: "Save Data",
54
+ tools: [saveName], // AI sees this but can't call it
55
+ });
56
+ ```
57
+
58
+ **Why?** Automatic execution ensures:
59
+
60
+ - **Reliability** - Tools always execute when they should
61
+ - **Security** - You control tool execution, not the AI
62
+ - **Determinism** - Same conversation always triggers same tools
63
+ - **Separation of Concerns** - AI generates messages, engine executes tools
64
+
65
+ ### 3. 🧠 AI as Message Generator Only
66
+
67
+ The AI's **only job** is to generate natural, conversational messages to users. It never:
68
+
69
+ - Decides which tools to call
70
+ - Controls conversation flow
71
+ - Makes routing decisions
72
+ - Manages state transitions
73
+
74
+ ```typescript
75
+ // The AI only sees:
76
+ // 1. Agent identity & description
77
+ // 2. Conversation history
78
+ // 3. Context variables (updated by tools)
79
+ // 4. Guidelines to follow
80
+ // 5. Available routes
81
+ // 6. Glossary terms
82
+
83
+ // The AI NEVER sees:
84
+ // ❌ Available tools
85
+ // ❌ Tool signatures
86
+ // ❌ Domain definitions
87
+ // ❌ Tool execution results (sees context updates instead)
88
+ ```
89
+
90
+ **Why?** This creates:
91
+
92
+ - **Predictable behavior** - AI can't go "off script"
93
+ - **Cost efficiency** - Smaller prompts = lower API costs
94
+ - **Faster responses** - Less for AI to process
95
+ - **Better quality** - AI focuses on one thing: good messages
96
+
97
+ ### 4. 🔄 Preparation Iteration Loop
98
+
99
+ Before generating a message, the agent runs **preparation iterations** to gather all needed data:
100
+
101
+ ```
102
+ ┌─────────────────────────────────────────────────┐
103
+ │ 1. New message arrives │
104
+ └─────────────────┬───────────────────────────────┘
105
+
106
+
107
+ ┌─────────────────────────────────────────────────┐
108
+ │ 2. Match guidelines against context │
109
+ │ - Which guidelines apply now? │
110
+ │ - Do they have tools attached? │
111
+ └─────────────────┬───────────────────────────────┘
112
+
113
+
114
+ ┌─────────────────────────────────────────────────┐
115
+ │ 3. Execute tools for matched guidelines │
116
+ │ - Run tools automatically │
117
+ │ - Collect results & context updates │
118
+ └─────────────────┬───────────────────────────────┘
119
+
120
+
121
+ ┌─────────────────────────────────────────────────┐
122
+ │ 4. Execute state machine transitions │
123
+ │ - If state has toolState → execute it │
124
+ │ - Update context with results │
125
+ └─────────────────┬───────────────────────────────┘
126
+
127
+
128
+ ┌─────────┴─────────┐
129
+ │ Tools executed? │
130
+ └─────────┬─────────┘
131
+
132
+ ┌─────────┴─────────┐
133
+ │ Yes │ No │
134
+ ▼ ▼
135
+ ┌─────────┐ ┌────────────┐
136
+ │ Loop │ │ Generate │
137
+ │ again │ │ message │
138
+ └─────────┘ └────────────┘
139
+ ```
140
+
141
+ **Why?** This enables:
142
+
143
+ - **Multi-step data gathering** - Tools can trigger more tools
144
+ - **Context enrichment** - Each iteration adds more context
145
+ - **Dynamic flows** - Tool results can change which guidelines match
146
+ - **Efficiency** - One message generation with complete context
147
+
148
+ ### 5. 📦 Domain-Based Tool Organization
149
+
150
+ Tools are organized into **domains** for better structure and access control:
151
+
152
+ ```typescript
153
+ // Register tools by domain
154
+ agent.addDomain("user", {
155
+ saveProfile: async (data) => {
156
+ /* ... */
157
+ },
158
+ updatePreferences: async (prefs) => {
159
+ /* ... */
160
+ },
161
+ });
162
+
163
+ agent.addDomain("payment", {
164
+ processPayment: async (amount) => {
165
+ /* ... */
166
+ },
167
+ refund: async (id) => {
168
+ /* ... */
169
+ },
170
+ });
171
+
172
+ // Route-level access control
173
+ const checkoutRoute = agent.createRoute({
174
+ title: "Checkout",
175
+ domains: ["payment"], // SECURITY: Only payment tools can execute in this route
176
+ });
177
+
178
+ const profileRoute = agent.createRoute({
179
+ title: "Profile Setup",
180
+ domains: ["user"], // SECURITY: Only user tools can execute
181
+ });
182
+
183
+ const generalRoute = agent.createRoute({
184
+ title: "General Chat",
185
+ // No domains = ALL tools available (default behavior)
186
+ });
187
+ ```
188
+
189
+ **Important**: Domains are for **internal tool filtering**, not AI prompts:
190
+
191
+ - ✅ Engine uses domains to filter which tools can execute
192
+ - ✅ Prevents accidental/malicious tool calls outside intended routes
193
+ - ❌ AI never sees domains (they're not in prompts)
194
+ - ❌ Domains don't affect what AI says, only what tools can run
195
+
196
+ **Why?** Domains provide:
197
+
198
+ - **Security** - Prevent prompt injection attacks from calling sensitive tools
199
+ - **Route Isolation** - Checkout route can't accidentally trigger user profile tools
200
+ - **Organization** - Logical grouping of related tools
201
+ - **Optional** - Routes without domains have access to all tools (simple default)
202
+ - **Scalability** - Add new domains without affecting existing ones
203
+
204
+ **Example Security Scenario**:
205
+
206
+ ```typescript
207
+ // Without domains: Malicious user in chat could trigger payment processing
208
+ // With domains: Payment tools only available in checkout route
209
+ const chatRoute = agent.createRoute({
210
+ title: "General Chat",
211
+ domains: ["chat", "user"], // Can't execute payment tools
212
+ });
213
+
214
+ const checkoutRoute = agent.createRoute({
215
+ title: "Checkout",
216
+ domains: ["payment"], // Can execute payment, but not unrelated tools
217
+ });
218
+ ```
219
+
220
+ ### 6. 🎭 Context-Driven Behavior
221
+
222
+ Agent behavior adapts based on **context** - not hardcoded logic:
223
+
224
+ ```typescript
225
+ interface MyContext {
226
+ userId: string;
227
+ plan: "free" | "pro" | "enterprise";
228
+ remainingCredits: number;
229
+ }
230
+
231
+ const agent = new Agent<MyContext>({
232
+ name: "Assistant",
233
+ ai: provider,
234
+ context: {
235
+ userId: "user123",
236
+ plan: "pro",
237
+ remainingCredits: 100,
238
+ },
239
+ hooks: {
240
+ // Refresh context before each response
241
+ beforeRespond: async (ctx) => {
242
+ const freshData = await db.getUser(ctx.userId);
243
+ return { ...ctx, remainingCredits: freshData.credits };
244
+ },
245
+
246
+ // Persist context updates
247
+ onContextUpdate: async (newCtx, oldCtx) => {
248
+ await db.updateUser(newCtx.userId, {
249
+ credits: newCtx.remainingCredits,
250
+ });
251
+ },
252
+ },
253
+ });
254
+
255
+ // Guidelines can reference context
256
+ agent.createGuideline({
257
+ condition: "User requests a feature",
258
+ action:
259
+ "If context.plan is 'free', explain upgrade benefits. Otherwise provide the feature.",
260
+ });
261
+
262
+ // Tools receive and update context
263
+ const useFeature = defineTool<MyContext, [feature: string], boolean>(
264
+ "use_feature",
265
+ async (toolContext, feature) => {
266
+ return {
267
+ data: true,
268
+ contextUpdate: {
269
+ remainingCredits: toolContext.context.remainingCredits - 1,
270
+ },
271
+ };
272
+ }
273
+ );
274
+ ```
275
+
276
+ **Why?** Context-driven design enables:
277
+
278
+ - **Personalization** - Behavior adapts to each user
279
+ - **State persistence** - Context survives across conversations
280
+ - **Dynamic guidelines** - Rules that depend on user state
281
+ - **Tool integration** - Tools update context for next iteration
282
+
283
+ ### 7. 📝 Declarative Over Imperative
284
+
285
+ Configuration is **declarative** - you describe what you want, not how to do it:
286
+
287
+ ```typescript
288
+ // ✅ DECLARATIVE: Describe the desired behavior
289
+ const agent = new Agent({
290
+ name: "Support Agent",
291
+ description: "Helpful and empathetic customer support",
292
+ goal: "Resolve customer issues efficiently",
293
+ ai: provider,
294
+ terms: [
295
+ {
296
+ name: "SLA",
297
+ description: "Service Level Agreement - 24hr response time",
298
+ },
299
+ ],
300
+ guidelines: [
301
+ {
302
+ condition: "Customer is frustrated",
303
+ action: "Apologize sincerely and escalate to human if needed",
304
+ },
305
+ ],
306
+ routes: [
307
+ {
308
+ title: "Refund Request",
309
+ conditions: ["Customer wants a refund"],
310
+ rules: ["Always check order date before processing"],
311
+ prohibitions: ["Never process refunds over $1000 without approval"],
312
+ },
313
+ ],
314
+ });
315
+
316
+ // ❌ IMPERATIVE: Manual control flow
317
+ if (userMessage.includes("refund")) {
318
+ if (orderDate < thirtyDaysAgo) {
319
+ if (amount <= 1000) {
320
+ processRefund();
321
+ } else {
322
+ requestApproval();
323
+ }
324
+ }
325
+ }
326
+ ```
327
+
328
+ **Why?** Declarative configuration:
329
+
330
+ - **Reads like documentation** - Easy to understand intent
331
+ - **Less boilerplate** - Framework handles the "how"
332
+ - **Easier to maintain** - Change behavior by changing config
333
+ - **Better for non-coders** - Business logic in plain terms
334
+
335
+ ## Comparison with Other Approaches
336
+
337
+ ### @falai/agent vs OpenAI Function Calling
338
+
339
+ | Aspect | @falai/agent | OpenAI Functions |
340
+ | ------------------ | ----------------------------- | ---------------------------------- |
341
+ | **Tool Execution** | Automatic (state machine) | AI-decided |
342
+ | **Flow Control** | Explicit routes & states | AI inference |
343
+ | **Determinism** | High - same input = same flow | Low - AI may vary |
344
+ | **Debugging** | Clear state progression | Black box AI decisions |
345
+ | **Cost** | Lower - tools not in prompts | Higher - full tool specs in prompt |
346
+ | **Use Case** | Structured conversations | Flexible, open-ended tasks |
347
+
348
+ ### When to Use @falai/agent
349
+
350
+ ✅ **Great for:**
351
+
352
+ - Customer support workflows
353
+ - Onboarding flows
354
+ - Multi-step processes
355
+ - Compliance-sensitive applications
356
+ - Predictable conversation paths
357
+ - Tool-heavy applications
358
+
359
+ ❌ **Not ideal for:**
360
+
361
+ - Open-ended creative tasks
362
+ - Scenarios where AI judgment is critical
363
+ - Rapid prototyping without clear flows
364
+ - Simple Q&A without state
365
+
366
+ ## Design Influences
367
+
368
+ This framework draws inspiration from:
369
+
370
+ 1. **[Parlant/Emcie](https://github.com/emcie-co/parlant)** - Preparation iteration loop, guideline-driven execution
371
+ 2. **State Machines** - Explicit state modeling for predictability
372
+ 3. **Railway-Oriented Programming** - Fluent APIs with chaining
373
+ 4. **Domain-Driven Design** - Organizing capabilities by domain
374
+ 5. **React Hooks** - Lifecycle hooks pattern for extensibility
375
+
376
+ ## Further Reading
377
+
378
+ - [Getting Started Guide](./GETTING_STARTED.md) - Build your first agent
379
+ - [API Reference](./API_REFERENCE.md) - Complete API documentation
380
+ - [Route DSL Guide](./STRUCTURE.md) - State machine patterns
381
+ - [Provider Docs](./PROVIDERS.md) - AI provider configuration
382
+ - [Examples](/examples) - Real-world agent implementations
383
+
384
+ ---
385
+
386
+ **Questions?** Open an issue or discussion on [GitHub](https://github.com/gusnips/falai).