@falai/agent 3.4.3 → 3.4.5

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 (110) hide show
  1. package/dist/cjs/adapters/MemoryAdapter.d.ts +47 -0
  2. package/dist/cjs/adapters/MemoryAdapter.d.ts.map +1 -0
  3. package/dist/cjs/adapters/MemoryAdapter.js +208 -0
  4. package/dist/cjs/adapters/MemoryAdapter.js.map +1 -0
  5. package/dist/cjs/adapters/MongoAdapter.d.ts +97 -0
  6. package/dist/cjs/adapters/MongoAdapter.d.ts.map +1 -0
  7. package/dist/cjs/adapters/MongoAdapter.js +200 -0
  8. package/dist/cjs/adapters/MongoAdapter.js.map +1 -0
  9. package/dist/cjs/adapters/OpenSearchAdapter.d.ts +169 -0
  10. package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +1 -0
  11. package/dist/cjs/adapters/OpenSearchAdapter.js +475 -0
  12. package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -0
  13. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +85 -0
  14. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  15. package/dist/cjs/adapters/PostgreSQLAdapter.js +312 -0
  16. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -0
  17. package/dist/cjs/adapters/PrismaAdapter.d.ts +115 -0
  18. package/dist/cjs/adapters/PrismaAdapter.d.ts.map +1 -0
  19. package/dist/cjs/adapters/PrismaAdapter.js +410 -0
  20. package/dist/cjs/adapters/PrismaAdapter.js.map +1 -0
  21. package/dist/cjs/adapters/RedisAdapter.d.ts +72 -0
  22. package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -0
  23. package/dist/cjs/adapters/RedisAdapter.js +290 -0
  24. package/dist/cjs/adapters/RedisAdapter.js.map +1 -0
  25. package/dist/cjs/adapters/SQLiteAdapter.d.ts +86 -0
  26. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -0
  27. package/dist/cjs/adapters/SQLiteAdapter.js +341 -0
  28. package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -0
  29. package/dist/cjs/adapters/index.d.ts +17 -0
  30. package/dist/cjs/adapters/index.d.ts.map +1 -0
  31. package/dist/cjs/adapters/index.js +21 -0
  32. package/dist/cjs/adapters/index.js.map +1 -0
  33. package/dist/cjs/adapters/sessionRow.d.ts +22 -0
  34. package/dist/cjs/adapters/sessionRow.d.ts.map +1 -0
  35. package/dist/cjs/adapters/sessionRow.js +52 -0
  36. package/dist/cjs/adapters/sessionRow.js.map +1 -0
  37. package/dist/cjs/constants/index.d.ts +1 -0
  38. package/dist/cjs/constants/index.d.ts.map +1 -0
  39. package/dist/cjs/constants/index.js +4 -0
  40. package/dist/cjs/constants/index.js.map +1 -0
  41. package/dist/cjs/core/Agent.d.ts +382 -0
  42. package/dist/cjs/core/Agent.d.ts.map +1 -0
  43. package/dist/cjs/core/Agent.js +1198 -0
  44. package/dist/cjs/core/Agent.js.map +1 -0
  45. package/dist/cjs/core/ResponseModal.d.ts +305 -0
  46. package/dist/cjs/core/ResponseModal.d.ts.map +1 -0
  47. package/dist/cjs/core/ResponseModal.js +1414 -0
  48. package/dist/cjs/core/ResponseModal.js.map +1 -0
  49. package/dist/cjs/core/ToolLoopExecutor.d.ts +133 -0
  50. package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -0
  51. package/dist/cjs/core/ToolLoopExecutor.js +568 -0
  52. package/dist/cjs/core/ToolLoopExecutor.js.map +1 -0
  53. package/dist/cjs/core/createAgent.d.ts +35 -0
  54. package/dist/cjs/core/createAgent.d.ts.map +1 -0
  55. package/dist/cjs/core/createAgent.js +39 -0
  56. package/dist/cjs/core/createAgent.js.map +1 -0
  57. package/dist/cjs/index.d.ts +61 -0
  58. package/dist/cjs/index.d.ts.map +1 -0
  59. package/dist/cjs/index.js +113 -0
  60. package/dist/cjs/index.js.map +1 -0
  61. package/dist/cjs/package.json +1 -0
  62. package/dist/cjs/providers/AnthropicProvider.d.ts +46 -0
  63. package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -0
  64. package/dist/cjs/providers/AnthropicProvider.js +50 -0
  65. package/dist/cjs/providers/AnthropicProvider.js.map +1 -0
  66. package/dist/cjs/providers/DeepSeekProvider.d.ts +47 -0
  67. package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -0
  68. package/dist/cjs/providers/DeepSeekProvider.js +42 -0
  69. package/dist/cjs/providers/DeepSeekProvider.js.map +1 -0
  70. package/dist/cjs/providers/FallbackAiProvider.d.ts +26 -0
  71. package/dist/cjs/providers/FallbackAiProvider.d.ts.map +1 -0
  72. package/dist/cjs/providers/FallbackAiProvider.js +54 -0
  73. package/dist/cjs/providers/FallbackAiProvider.js.map +1 -0
  74. package/dist/cjs/providers/GeminiProvider.d.ts +51 -0
  75. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -0
  76. package/dist/cjs/providers/GeminiProvider.js +53 -0
  77. package/dist/cjs/providers/GeminiProvider.js.map +1 -0
  78. package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts +80 -0
  79. package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts.map +1 -0
  80. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js +89 -0
  81. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js.map +1 -0
  82. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +61 -0
  83. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -0
  84. package/dist/cjs/providers/OpenAICompatibleProvider.js +58 -0
  85. package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -0
  86. package/dist/cjs/providers/OpenAIProvider.d.ts +40 -0
  87. package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -0
  88. package/dist/cjs/providers/OpenAIProvider.js +42 -0
  89. package/dist/cjs/providers/OpenAIProvider.js.map +1 -0
  90. package/dist/cjs/providers/OpenRouterProvider.d.ts +56 -0
  91. package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -0
  92. package/dist/cjs/providers/OpenRouterProvider.js +45 -0
  93. package/dist/cjs/providers/OpenRouterProvider.js.map +1 -0
  94. package/dist/cjs/providers/ProviderAdapter.d.ts +126 -0
  95. package/dist/cjs/providers/ProviderAdapter.d.ts.map +1 -0
  96. package/dist/cjs/providers/ProviderAdapter.js +313 -0
  97. package/dist/cjs/providers/ProviderAdapter.js.map +1 -0
  98. package/dist/cjs/providers/ZaiProvider.d.ts +45 -0
  99. package/dist/cjs/providers/ZaiProvider.d.ts.map +1 -0
  100. package/dist/cjs/providers/ZaiProvider.js +51 -0
  101. package/dist/cjs/providers/ZaiProvider.js.map +1 -0
  102. package/dist/cjs/providers/index.d.ts +26 -0
  103. package/dist/cjs/providers/index.d.ts.map +1 -0
  104. package/dist/cjs/providers/index.js +30 -0
  105. package/dist/cjs/providers/index.js.map +1 -0
  106. package/dist/cjs/utils/streamingMessage.d.ts +48 -0
  107. package/dist/cjs/utils/streamingMessage.d.ts.map +1 -0
  108. package/dist/cjs/utils/streamingMessage.js +210 -0
  109. package/dist/cjs/utils/streamingMessage.js.map +1 -0
  110. package/package.json +2 -2
@@ -0,0 +1,382 @@
1
+ /**
2
+ * Core Agent implementation
3
+ */
4
+ import type { AgentOptions, Term, Instruction, Tool, FlowOptions, SessionState, Template, AgentResponseStreamChunk, AgentResponse, StructuredSchema, ValidationResult, AiProvider, CompactionOptions, Directive } from "../types/index.js";
5
+ import type { Signal } from "../types/signals.js";
6
+ import { SignalProcessor } from "./SignalProcessor.js";
7
+ import type { StreamOptions, GenerateOptions, RespondParams, ResponseModalDeps } from "./ResponseModal.js";
8
+ import { Flow } from "./Flow.js";
9
+ import { Step } from "./Step.js";
10
+ import { PersistenceManager } from "./PersistenceManager.js";
11
+ import { SessionManager } from "./SessionManager.js";
12
+ import { FlowRouter } from "./FlowRouter.js";
13
+ import { PromptSectionCache } from "./PromptSectionCache.js";
14
+ import { ToolManager } from "./ToolManager.js";
15
+ /**
16
+ * Main Agent class with generic context and data support
17
+ */
18
+ export declare class Agent<TContext = unknown, TData = unknown> implements ResponseModalDeps<TContext, TData> {
19
+ private options;
20
+ private _terms;
21
+ private _instructions;
22
+ private _tools;
23
+ private _flows;
24
+ private _context;
25
+ private _persistenceManager;
26
+ private _routingEngine;
27
+ private _responseModal;
28
+ private _knowledgeBase;
29
+ private _schema?;
30
+ /**
31
+ * Staging buffer for data set before any session exists (initialData and
32
+ * pre-session updateCollectedData calls). Consumed when a session is
33
+ * created; once a session exists, `session.data` is the single source of
34
+ * truth and this buffer stays empty.
35
+ */
36
+ private _pendingData;
37
+ private _compactionOptions?;
38
+ private _promptSectionCache;
39
+ /** Signals: typed event detectors that run around the LLM turn. */
40
+ private _signals;
41
+ /**
42
+ * Signal processor instance. Undefined when no signals are configured.
43
+ * Constructed only when `options.signals` is non-empty (Requirement 2.3).
44
+ */
45
+ signalProcessor: SignalProcessor<TContext, TData> | undefined;
46
+ /** Maximum consecutive auto-steps allowed in a single turn before throwing. */
47
+ readonly maxAutoStepsPerTurn: number;
48
+ /** Maximum chained directives allowed in a single turn before throwing. */
49
+ readonly maxDirectiveChain: number;
50
+ /** Public session manager for easy session management */
51
+ session: SessionManager<TData>;
52
+ /** Public tool manager for simplified tool creation and management */
53
+ tool: ToolManager<TContext, TData>;
54
+ constructor(options: AgentOptions<TContext, TData>);
55
+ /**
56
+ * Drain the pre-session data staging buffer.
57
+ * @internal Called by SessionManager when a session is created or loaded.
58
+ */
59
+ consumePendingData(): Partial<TData>;
60
+ /**
61
+ * Validate the agent-level schema structure
62
+ * @private
63
+ */
64
+ private validateSchema;
65
+ /**
66
+ * Walk every flow's steps and resolve deferred string `then` values in branches
67
+ * against the agent's flow registry. Strings that match neither a local step id
68
+ * nor any flow id/title throw FlowConfigurationError.
69
+ * @private
70
+ */
71
+ private validateBranchReferences;
72
+ /**
73
+ * Validate branch `then` string references for a single flow against the agent's
74
+ * flow registry. Throws FlowConfigurationError for unresolved references.
75
+ * @private
76
+ */
77
+ private validateFlowBranchReferences;
78
+ /**
79
+ * Validate that every step's `collect` fields in a flow reference valid keys
80
+ * from the agent-level schema. Throws FlowConfigurationError at construction
81
+ * time if any collect field is not a valid schema key.
82
+ *
83
+ * This enforces Requirement 14.5: generic inference is preserved AND every
84
+ * `collect` field reference is a valid key of the inferred TData.
85
+ * @private
86
+ */
87
+ private validateFlowCollectFields;
88
+ /**
89
+ * Validate data against the agent-level schema.
90
+ *
91
+ * A field the schema does not declare is a warning, not an error: a model
92
+ * can extract a key nobody asked for, and `updateCollectedData` drops it
93
+ * instead of failing the turn. `valid` is false only when `errors` is not empty.
94
+ */
95
+ validateData(data: Partial<TData>): ValidationResult;
96
+ /**
97
+ * Check if a field is valid according to the agent schema
98
+ * @param field - The field key to validate
99
+ * @returns true if field exists in schema or no schema is defined, false otherwise
100
+ */
101
+ isValidSchemaField(field: keyof TData): boolean;
102
+ /**
103
+ * Get the current collected data.
104
+ * Reads from the live session when one exists; otherwise from the
105
+ * pre-session staging buffer.
106
+ */
107
+ getCollectedData(): Partial<TData>;
108
+ /**
109
+ * Update collected data with validation.
110
+ * Writes to the live session when one exists; otherwise stages the data
111
+ * for the session that will be created. Fields the agent schema does not
112
+ * declare are dropped with a warning, never stored.
113
+ */
114
+ updateCollectedData(updates: Partial<TData>): Promise<void>;
115
+ /**
116
+ * Get agent name
117
+ */
118
+ get name(): string;
119
+ /**
120
+ * Set agent name
121
+ */
122
+ set name(value: string);
123
+ /**
124
+ * Get agent persona
125
+ */
126
+ get persona(): Template<TContext> | undefined;
127
+ /**
128
+ * Set agent persona
129
+ */
130
+ set persona(value: Template<TContext> | undefined);
131
+ /**
132
+ * Get agent goal
133
+ */
134
+ get goal(): string | undefined;
135
+ /**
136
+ * Set agent goal
137
+ */
138
+ set goal(value: string | undefined);
139
+ /**
140
+ * Get whether debug mode is enabled
141
+ */
142
+ get debug(): boolean;
143
+ /**
144
+ * Set debug mode (also updates logger level)
145
+ */
146
+ set debug(value: boolean);
147
+ /**
148
+ * Get the AI provider
149
+ */
150
+ get provider(): AiProvider;
151
+ /**
152
+ * Set the AI provider
153
+ */
154
+ set provider(value: AiProvider);
155
+ /**
156
+ * Get the flow switch margin
157
+ * @default 15
158
+ */
159
+ get flowSwitchMargin(): number;
160
+ /**
161
+ * Set the flow switch margin
162
+ */
163
+ set flowSwitchMargin(value: number);
164
+ /**
165
+ * Get the prompt section cache instance
166
+ */
167
+ get promptSectionCache(): PromptSectionCache;
168
+ /**
169
+ * Get all terms
170
+ */
171
+ get terms(): Term<TContext, TData>[];
172
+ /**
173
+ * Get all instructions
174
+ */
175
+ get instructions(): Instruction<TContext, TData>[];
176
+ /**
177
+ * Get all tools
178
+ */
179
+ get tools(): Tool<TContext, TData>[];
180
+ /**
181
+ * Get all flows
182
+ */
183
+ get flows(): Flow<TContext, TData>[];
184
+ /**
185
+ * Get current schema
186
+ */
187
+ get schema(): StructuredSchema | undefined;
188
+ /**
189
+ * Set schema (validates structure)
190
+ */
191
+ set schema(value: StructuredSchema | undefined);
192
+ /**
193
+ * Get the configured signals.
194
+ */
195
+ get signals(): Signal<TContext, TData, any>[];
196
+ /**
197
+ * Get the agent's knowledge base
198
+ */
199
+ get knowledgeBase(): Record<string, unknown>;
200
+ /**
201
+ * Set the agent's knowledge base
202
+ */
203
+ set knowledgeBase(value: Record<string, unknown>);
204
+ /**
205
+ * Get the current session (if set). Delegates to the SessionManager —
206
+ * the single owner of the live session.
207
+ */
208
+ get currentSession(): SessionState<TData> | undefined;
209
+ /**
210
+ * Set the current session for convenience methods
211
+ * Set to undefined to clear the current session
212
+ */
213
+ set currentSession(value: SessionState<TData> | undefined);
214
+ /**
215
+ * Get all flows
216
+ */
217
+ getFlows(): Flow<TContext, TData>[];
218
+ /**
219
+ * Get all terms
220
+ */
221
+ getTerms(): Term<TContext, TData>[];
222
+ /**
223
+ * Get all tools
224
+ */
225
+ getTools(): Tool<TContext, TData>[];
226
+ /**
227
+ * Get all instructions
228
+ */
229
+ getInstructions(): Instruction<TContext, TData>[];
230
+ /**
231
+ * Invalidate flow-dependent prompt cache sections.
232
+ * Called automatically when the active flow changes.
233
+ */
234
+ invalidateFlowSections(): void;
235
+ /**
236
+ * Get the persistence manager (if configured)
237
+ */
238
+ getPersistenceManager(): PersistenceManager<TData> | undefined;
239
+ /**
240
+ * Check if persistence is enabled
241
+ */
242
+ hasPersistence(): boolean;
243
+ /**
244
+ * Get the resolved compaction options (if compaction is configured)
245
+ */
246
+ getCompactionOptions(): CompactionOptions | undefined;
247
+ /**
248
+ * Create a new flow (journey) using agent-level data type
249
+ */
250
+ createFlow(options: FlowOptions<TContext, TData>): Flow<TContext, TData>;
251
+ /**
252
+ * Create a domain term for the glossary
253
+ */
254
+ createTerm(term: Term<TContext, TData>): this;
255
+ /**
256
+ * Create an instruction (unified behavioral primitive).
257
+ */
258
+ createInstruction(instruction: Instruction<TContext, TData>): this;
259
+ /**
260
+ * Add a tool to the agent using the unified Tool interface
261
+ * Creates and adds the tool to agent scope in one operation
262
+ */
263
+ addTool<TResult = unknown>(tool: Tool<TContext, TData, TResult>): this;
264
+ /**
265
+ * Register multiple tools at the agent level
266
+ */
267
+ registerTools<TResult = unknown>(tools: Tool<TContext, TData, TResult>[]): this;
268
+ /**
269
+ * Update the agent's context
270
+ * Triggers both agent-level and flow-specific onContextUpdate lifecycle hooks if configured
271
+ */
272
+ updateContext(updates: Partial<TContext>): Promise<void>;
273
+ /**
274
+ * Update collected data in session with lifecycle hook support
275
+ * Triggers both agent-level and flow-specific onDataUpdate lifecycle hooks if configured
276
+ * @internal
277
+ */
278
+ private updateData;
279
+ /**
280
+ * Get current context (fetches from provider if configured)
281
+ */
282
+ getContext(): Promise<TContext | undefined>;
283
+ /**
284
+ * Generate a response based on history and context as a stream
285
+ */
286
+ respondStream(params: RespondParams<TContext, TData>): AsyncGenerator<AgentResponseStreamChunk<TData>>;
287
+ /**
288
+ * Generate a response based on history and context
289
+ */
290
+ respond(params: RespondParams<TContext, TData>): Promise<AgentResponse<TData>>;
291
+ /**
292
+ * Get agent options
293
+ * @internal Used by ResponseModal
294
+ */
295
+ getAgentOptions(): AgentOptions<TContext, TData>;
296
+ /**
297
+ * Get flow router
298
+ * @internal Used by ResponseModal
299
+ */
300
+ getFlowRouter(): FlowRouter<TContext, TData>;
301
+ /**
302
+ * Get the updateData method bound to this agent
303
+ * @internal Used by ResponseModal
304
+ */
305
+ getUpdateDataMethod(): (session: SessionState<TData>, dataUpdate: Partial<TData>) => Promise<SessionState<TData>>;
306
+ /**
307
+ * Execute a prepare or finalize function/tool
308
+ * @internal Used by ResponseModal
309
+ */
310
+ executePrepareFinalize(prepareOrFinalize: string | Tool<TContext, TData> | ((context: TContext, data?: Partial<TData>) => void | Promise<void>) | undefined, context: TContext, data?: Partial<TData>, flow?: Flow<TContext, TData>, step?: Step<TContext, TData>): Promise<void>;
311
+ /**
312
+ * Get collected data from the current session (or the pre-session staging
313
+ * buffer when no session exists yet). Alias of getCollectedData().
314
+ */
315
+ getData(): Partial<TData>;
316
+ /**
317
+ * Dispatch a directive (or a flow shorthand) into a session.
318
+ * Sets `pendingDirective` on the session without triggering a `respond()` call.
319
+ * The directive will be applied at the start of the next turn.
320
+ *
321
+ * String form desugars to `{ goTo: target }`.
322
+ *
323
+ * Durability: with a persistence adapter and autoSave configured (the
324
+ * defaults), the queued directive is persisted immediately — safe for
325
+ * out-of-process callers like webhooks or cron. Without an adapter it is
326
+ * memory-only, as is `persistence.autoSave: false` (then persisting before
327
+ * the next turn is the caller's job).
328
+ *
329
+ * @param target - Flow ID/title string (desugars to `{ goTo: target }`) or a full Directive
330
+ * @param session - Session to update (uses current session if not provided)
331
+ * @returns Updated session with `pendingDirective` set
332
+ *
333
+ * @throws FlowConfigurationError if the string target doesn't match any flow
334
+ * @throws FlowConfigurationError if the directive fails validation
335
+ * @throws SessionConflictError when persistence is enabled and another writer
336
+ * moved the stored session since this copy was loaded
337
+ *
338
+ * @example
339
+ * // String shorthand — desugars to { goTo: 'Feedback' }
340
+ * const updated = await agent.dispatch('Feedback', session);
341
+ *
342
+ * @example
343
+ * // Full directive
344
+ * const updated = await agent.dispatch({ goTo: 'Billing', reply: 'Transferring you now.' }, session);
345
+ */
346
+ dispatch(target: string | Directive<TContext, TData>, session?: SessionState<TData>): Promise<SessionState<TData>>;
347
+ /**
348
+ * Apply a directive synchronously to a session without invoking `respond()`.
349
+ * Performs in-place application: updates flow/step position, merges state writes.
350
+ *
351
+ * This is the synchronous counterpart to `dispatch` — it applies immediately
352
+ * rather than deferring to the next turn.
353
+ *
354
+ * @param directive - The directive to apply
355
+ * @param session - The session to apply the directive to
356
+ * @returns The updated session with the directive applied
357
+ */
358
+ applyDirective(directive: Directive<TContext, TData>, session: SessionState<TData>): SessionState<TData>;
359
+ /**
360
+ * Validate a directive for structural correctness.
361
+ * Throws FlowConfigurationError for invalid combinations.
362
+ * @private
363
+ */
364
+ private validateDirective;
365
+ /**
366
+ * Strip pre-LLM-only fields (appendPrompt, injectTools, halt) from a directive.
367
+ * These fields are transient (one-turn lifetime) and must not be persisted.
368
+ * @private
369
+ */
370
+ private stripPreDirectiveFields;
371
+ /**
372
+ * Simplified respond method using SessionManager
373
+ * Automatically manages conversation history through the session
374
+ */
375
+ chat(message?: string, options?: GenerateOptions<TContext>): Promise<AgentResponse<TData>>;
376
+ /**
377
+ * Modern streaming API - simple interface like chat() but returns a stream
378
+ * Automatically manages conversation history through the session
379
+ */
380
+ stream(message?: string, options?: StreamOptions<TContext>): AsyncGenerator<AgentResponseStreamChunk<TData>>;
381
+ }
382
+ //# sourceMappingURL=Agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}