@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.
- package/README.md +97 -3
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +6 -10
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/PromptBuilder.d.ts +3 -0
- package/dist/cjs/core/PromptBuilder.d.ts.map +1 -1
- package/dist/cjs/core/PromptBuilder.js +10 -10
- package/dist/cjs/core/PromptBuilder.js.map +1 -1
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +6 -10
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/PromptBuilder.d.ts +3 -0
- package/dist/core/PromptBuilder.d.ts.map +1 -1
- package/dist/core/PromptBuilder.js +10 -10
- package/dist/core/PromptBuilder.js.map +1 -1
- package/docs/ARCHITECTURE.md +386 -0
- package/docs/DOMAINS.md +674 -0
- package/docs/README.md +17 -3
- package/docs/STRUCTURE.md +33 -7
- package/examples/domain-scoping.ts +18 -10
- package/package.json +1 -1
- package/src/core/Agent.ts +6 -10
- package/src/core/PromptBuilder.ts +16 -16
|
@@ -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).
|