@falai/agent 0.9.0 → 0.9.2

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 (145) hide show
  1. package/README.md +42 -34
  2. package/dist/cjs/src/core/Agent.d.ts +19 -5
  3. package/dist/cjs/src/core/Agent.d.ts.map +1 -1
  4. package/dist/cjs/src/core/Agent.js +79 -35
  5. package/dist/cjs/src/core/Agent.js.map +1 -1
  6. package/dist/cjs/src/core/ResponseModal.d.ts +9 -3
  7. package/dist/cjs/src/core/ResponseModal.d.ts.map +1 -1
  8. package/dist/cjs/src/core/ResponseModal.js +121 -55
  9. package/dist/cjs/src/core/ResponseModal.js.map +1 -1
  10. package/dist/cjs/src/core/ResponsePipeline.d.ts +8 -4
  11. package/dist/cjs/src/core/ResponsePipeline.d.ts.map +1 -1
  12. package/dist/cjs/src/core/ResponsePipeline.js +47 -19
  13. package/dist/cjs/src/core/ResponsePipeline.js.map +1 -1
  14. package/dist/cjs/src/core/Route.d.ts +12 -5
  15. package/dist/cjs/src/core/Route.d.ts.map +1 -1
  16. package/dist/cjs/src/core/Route.js +26 -5
  17. package/dist/cjs/src/core/Route.js.map +1 -1
  18. package/dist/cjs/src/core/RoutingEngine.d.ts +5 -0
  19. package/dist/cjs/src/core/RoutingEngine.d.ts.map +1 -1
  20. package/dist/cjs/src/core/RoutingEngine.js +37 -25
  21. package/dist/cjs/src/core/RoutingEngine.js.map +1 -1
  22. package/dist/cjs/src/core/SessionManager.d.ts +9 -1
  23. package/dist/cjs/src/core/SessionManager.d.ts.map +1 -1
  24. package/dist/cjs/src/core/SessionManager.js +27 -5
  25. package/dist/cjs/src/core/SessionManager.js.map +1 -1
  26. package/dist/cjs/src/core/Step.d.ts +60 -7
  27. package/dist/cjs/src/core/Step.d.ts.map +1 -1
  28. package/dist/cjs/src/core/Step.js +151 -4
  29. package/dist/cjs/src/core/Step.js.map +1 -1
  30. package/dist/cjs/src/core/ToolManager.d.ts +234 -0
  31. package/dist/cjs/src/core/ToolManager.d.ts.map +1 -0
  32. package/dist/cjs/src/core/ToolManager.js +1117 -0
  33. package/dist/cjs/src/core/ToolManager.js.map +1 -0
  34. package/dist/cjs/src/index.d.ts +2 -3
  35. package/dist/cjs/src/index.d.ts.map +1 -1
  36. package/dist/cjs/src/index.js +5 -3
  37. package/dist/cjs/src/index.js.map +1 -1
  38. package/dist/cjs/src/types/agent.d.ts +1 -1
  39. package/dist/cjs/src/types/agent.d.ts.map +1 -1
  40. package/dist/cjs/src/types/index.d.ts +3 -2
  41. package/dist/cjs/src/types/index.d.ts.map +1 -1
  42. package/dist/cjs/src/types/index.js +3 -1
  43. package/dist/cjs/src/types/index.js.map +1 -1
  44. package/dist/cjs/src/types/route.d.ts +6 -4
  45. package/dist/cjs/src/types/route.d.ts.map +1 -1
  46. package/dist/cjs/src/types/tool.d.ts +84 -14
  47. package/dist/cjs/src/types/tool.d.ts.map +1 -1
  48. package/dist/cjs/src/types/tool.js +13 -0
  49. package/dist/cjs/src/types/tool.js.map +1 -1
  50. package/dist/src/core/Agent.d.ts +19 -5
  51. package/dist/src/core/Agent.d.ts.map +1 -1
  52. package/dist/src/core/Agent.js +79 -35
  53. package/dist/src/core/Agent.js.map +1 -1
  54. package/dist/src/core/ResponseModal.d.ts +9 -3
  55. package/dist/src/core/ResponseModal.d.ts.map +1 -1
  56. package/dist/src/core/ResponseModal.js +121 -55
  57. package/dist/src/core/ResponseModal.js.map +1 -1
  58. package/dist/src/core/ResponsePipeline.d.ts +8 -4
  59. package/dist/src/core/ResponsePipeline.d.ts.map +1 -1
  60. package/dist/src/core/ResponsePipeline.js +47 -19
  61. package/dist/src/core/ResponsePipeline.js.map +1 -1
  62. package/dist/src/core/Route.d.ts +12 -5
  63. package/dist/src/core/Route.d.ts.map +1 -1
  64. package/dist/src/core/Route.js +26 -5
  65. package/dist/src/core/Route.js.map +1 -1
  66. package/dist/src/core/RoutingEngine.d.ts +5 -0
  67. package/dist/src/core/RoutingEngine.d.ts.map +1 -1
  68. package/dist/src/core/RoutingEngine.js +37 -25
  69. package/dist/src/core/RoutingEngine.js.map +1 -1
  70. package/dist/src/core/SessionManager.d.ts +9 -1
  71. package/dist/src/core/SessionManager.d.ts.map +1 -1
  72. package/dist/src/core/SessionManager.js +27 -5
  73. package/dist/src/core/SessionManager.js.map +1 -1
  74. package/dist/src/core/Step.d.ts +60 -7
  75. package/dist/src/core/Step.d.ts.map +1 -1
  76. package/dist/src/core/Step.js +151 -4
  77. package/dist/src/core/Step.js.map +1 -1
  78. package/dist/src/core/ToolManager.d.ts +234 -0
  79. package/dist/src/core/ToolManager.d.ts.map +1 -0
  80. package/dist/src/core/ToolManager.js +1111 -0
  81. package/dist/src/core/ToolManager.js.map +1 -0
  82. package/dist/src/index.d.ts +2 -3
  83. package/dist/src/index.d.ts.map +1 -1
  84. package/dist/src/index.js +1 -1
  85. package/dist/src/index.js.map +1 -1
  86. package/dist/src/types/agent.d.ts +1 -1
  87. package/dist/src/types/agent.d.ts.map +1 -1
  88. package/dist/src/types/index.d.ts +3 -2
  89. package/dist/src/types/index.d.ts.map +1 -1
  90. package/dist/src/types/index.js +1 -0
  91. package/dist/src/types/index.js.map +1 -1
  92. package/dist/src/types/route.d.ts +6 -4
  93. package/dist/src/types/route.d.ts.map +1 -1
  94. package/dist/src/types/tool.d.ts +84 -14
  95. package/dist/src/types/tool.d.ts.map +1 -1
  96. package/dist/src/types/tool.js +12 -1
  97. package/dist/src/types/tool.js.map +1 -1
  98. package/docs/CONTRIBUTING.md +40 -0
  99. package/docs/README.md +12 -5
  100. package/docs/api/README.md +75 -45
  101. package/docs/api/overview.md +74 -32
  102. package/docs/core/agent/session-management.md +152 -5
  103. package/docs/core/ai-integration/response-processing.md +115 -4
  104. package/docs/core/conversation-flows/routes.md +130 -0
  105. package/docs/core/error-handling.md +638 -0
  106. package/docs/core/tools/tool-definition.md +684 -60
  107. package/docs/core/tools/tool-scoping.md +244 -53
  108. package/docs/guides/error-handling-patterns.md +578 -0
  109. package/docs/guides/getting-started/README.md +139 -28
  110. package/examples/advanced-patterns/knowledge-based-agent.ts +6 -6
  111. package/examples/advanced-patterns/persistent-onboarding.ts +30 -43
  112. package/examples/ai-providers/anthropic-integration.ts +9 -5
  113. package/examples/ai-providers/openai-integration.ts +11 -7
  114. package/examples/core-concepts/basic-agent.ts +106 -67
  115. package/examples/core-concepts/schema-driven-extraction.ts +10 -7
  116. package/examples/core-concepts/session-management.ts +71 -18
  117. package/examples/integrations/healthcare-integration.ts +15 -29
  118. package/examples/integrations/server-session-management.ts +3 -3
  119. package/examples/persistence/memory-sessions.ts +3 -3
  120. package/examples/tools/basic-tools.ts +293 -89
  121. package/examples/tools/data-enrichment-tools.ts +185 -75
  122. package/package.json +1 -1
  123. package/src/core/Agent.ts +98 -44
  124. package/src/core/ResponseModal.ts +148 -72
  125. package/src/core/ResponsePipeline.ts +82 -56
  126. package/src/core/Route.ts +39 -12
  127. package/src/core/RoutingEngine.ts +46 -42
  128. package/src/core/SessionManager.ts +39 -7
  129. package/src/core/Step.ts +198 -20
  130. package/src/core/ToolManager.ts +1394 -0
  131. package/src/index.ts +8 -3
  132. package/src/types/agent.ts +1 -1
  133. package/src/types/index.ts +13 -2
  134. package/src/types/route.ts +6 -4
  135. package/src/types/tool.ts +116 -25
  136. package/dist/cjs/src/core/ToolExecutor.d.ts +0 -45
  137. package/dist/cjs/src/core/ToolExecutor.d.ts.map +0 -1
  138. package/dist/cjs/src/core/ToolExecutor.js +0 -84
  139. package/dist/cjs/src/core/ToolExecutor.js.map +0 -1
  140. package/dist/src/core/ToolExecutor.d.ts +0 -45
  141. package/dist/src/core/ToolExecutor.d.ts.map +0 -1
  142. package/dist/src/core/ToolExecutor.js +0 -80
  143. package/dist/src/core/ToolExecutor.js.map +0 -1
  144. package/docs/core/tools/tool-execution.md +0 -815
  145. package/src/core/ToolExecutor.ts +0 -126
@@ -0,0 +1,234 @@
1
+ /**
2
+ * ToolManager - Centralized tool management with simplified creation APIs
3
+ */
4
+ import type { Tool, ToolExecutionResult, DataEnrichmentConfig, ValidationConfig, ValidationResult, ApiCallConfig, ComputationConfig, Event } from "../types";
5
+ import { ToolScope } from "../types";
6
+ import { Agent } from "./Agent";
7
+ import { Route } from "./Route";
8
+ import { Step } from "./Step";
9
+ /**
10
+ * Error thrown when tool creation fails
11
+ */
12
+ export declare class ToolCreationError extends Error {
13
+ readonly toolId: string;
14
+ readonly cause?: Error | undefined;
15
+ constructor(message: string, toolId: string, cause?: Error | undefined);
16
+ }
17
+ /**
18
+ * Error thrown when tool execution fails
19
+ */
20
+ export declare class ToolExecutionError extends Error {
21
+ readonly toolId: string;
22
+ readonly executionContext?: Record<string, unknown> | undefined;
23
+ readonly cause?: Error | undefined;
24
+ constructor(message: string, toolId: string, executionContext?: Record<string, unknown> | undefined, cause?: Error | undefined);
25
+ }
26
+ /**
27
+ * ToolManager - Centralized tool management with simplified APIs
28
+ */
29
+ export declare class ToolManager<TContext = unknown, TData = unknown> {
30
+ private agent;
31
+ private toolRegistry;
32
+ constructor(agent: Agent<TContext, TData>);
33
+ /**
34
+ * Validate a tool definition for completeness and correctness
35
+ */
36
+ private validateToolDefinition;
37
+ /**
38
+ * Validate data enrichment configuration
39
+ */
40
+ private validateDataEnrichmentConfig;
41
+ /**
42
+ * Validate validation configuration
43
+ */
44
+ private validateValidationConfig;
45
+ /**
46
+ * Validate API call configuration
47
+ */
48
+ private validateApiCallConfig;
49
+ /**
50
+ * Validate computation configuration
51
+ */
52
+ private validateComputationConfig;
53
+ /**
54
+ * Create a tool instance with type inference from parent Agent
55
+ * Does not register the tool anywhere - just creates it
56
+ */
57
+ create(definition: Tool<TContext, TData>): Tool<TContext, TData>;
58
+ /**
59
+ * Register a tool in the registry for later reference by ID
60
+ * Can accept a tool instance
61
+ */
62
+ register(tool: Tool<TContext, TData>): Tool<TContext, TData>;
63
+ /**
64
+ * Register multiple tools at once
65
+ */
66
+ registerMany(tools: Array<Tool<TContext, TData>>): Tool<TContext, TData>[];
67
+ /**
68
+ * Get a registered tool by ID
69
+ */
70
+ getRegisteredTool(toolId: string): Tool<TContext, TData> | undefined;
71
+ /**
72
+ * Get all registered tools
73
+ */
74
+ getAllRegistered(): Map<string, Tool<TContext, TData>>;
75
+ /**
76
+ * Check if a tool is registered
77
+ */
78
+ isRegistered(toolId: string): boolean;
79
+ /**
80
+ * Get all registered tool IDs
81
+ */
82
+ getRegisteredIds(): string[];
83
+ /**
84
+ * Get tool by ID from a specific scope
85
+ */
86
+ getFromScope(toolId: string, scope: ToolScope, step?: Step<TContext, TData>, route?: Route<TContext, TData>): Tool<TContext, TData> | undefined;
87
+ /**
88
+ * Check if a tool exists in any scope
89
+ */
90
+ exists(toolId: string, step?: Step<TContext, TData>, route?: Route<TContext, TData>): boolean;
91
+ /**
92
+ * Get tool count by scope
93
+ */
94
+ getToolCount(scope?: ToolScope, step?: Step<TContext, TData>, route?: Route<TContext, TData>): number;
95
+ /**
96
+ * Clear all registered tools
97
+ */
98
+ clearRegistry(): void;
99
+ /**
100
+ * Remove a tool from registry
101
+ */
102
+ unregister(toolId: string): boolean;
103
+ /**
104
+ * Add a tool to the agent scope (creates and adds in one operation)
105
+ */
106
+ addToAgent(tool: Tool<TContext, TData>): Tool<TContext, TData>;
107
+ /**
108
+ * Add a tool to a specific route scope (creates and adds in one operation)
109
+ */
110
+ addToRoute(route: Route<TContext, TData>, tool: Tool<TContext, TData>): Tool<TContext, TData>;
111
+ /**
112
+ * Find a tool by ID across different scopes with enhanced resolution logic
113
+ * Priority: step → route → agent → registry
114
+ * Supports both ID and name matching for better compatibility
115
+ */
116
+ find(toolId: string, scope?: ToolScope, step?: Step<TContext, TData>, route?: Route<TContext, TData>): Tool<TContext, TData> | undefined;
117
+ /**
118
+ * Get available tools for current context with enhanced resolution and deduplication
119
+ * Returns tools in priority order with higher-priority scopes taking precedence
120
+ */
121
+ getAvailable(scope?: ToolScope, step?: Step<TContext, TData>, route?: Route<TContext, TData>): Tool<TContext, TData>[];
122
+ /**
123
+ * Execute a tool by ID with proper error handling and fallback strategies
124
+ * Consolidates tool execution logic from ToolExecutor and ResponseModal
125
+ */
126
+ execute(toolId: string, args?: Record<string, unknown>, context?: {
127
+ step?: Step<TContext, TData>;
128
+ route?: Route<TContext, TData>;
129
+ context?: TContext;
130
+ data?: Partial<TData>;
131
+ history?: Event[];
132
+ updateContext?: (updates: Partial<TContext>) => Promise<void>;
133
+ updateData?: (updates: Partial<TData>) => Promise<void>;
134
+ fallbackTools?: string[];
135
+ retryCount?: number;
136
+ }): Promise<ToolExecutionResult>;
137
+ /**
138
+ * Determine if an error is transient and should be retried
139
+ */
140
+ private isTransientError;
141
+ /**
142
+ * Execute a single tool with context and collected data
143
+ * Consolidates logic from ToolExecutor class with enhanced error handling
144
+ */
145
+ executeTool(params: {
146
+ tool: Tool<TContext, TData>;
147
+ context: TContext;
148
+ updateContext: (updates: Partial<TContext>) => Promise<void>;
149
+ updateData: (updates: Partial<TData>) => Promise<void>;
150
+ history: Event[];
151
+ data?: Partial<TData>;
152
+ toolArguments?: Record<string, unknown>;
153
+ }): Promise<ToolExecutionResult>;
154
+ /**
155
+ * Execute multiple tools in sequence
156
+ * Consolidates logic from ToolExecutor class
157
+ */
158
+ executeTools(params: {
159
+ tools: Array<Tool<TContext, TData>>;
160
+ context: TContext;
161
+ updateContext: (updates: Partial<TContext>) => Promise<void>;
162
+ updateData: (updates: Partial<TData>) => Promise<void>;
163
+ history: Event[];
164
+ data?: Partial<TData>;
165
+ }): Promise<ToolExecutionResult[]>;
166
+ /**
167
+ * Create a data enrichment tool that modifies collected data
168
+ * Returns a tool instance that can be registered or added to scope
169
+ */
170
+ createDataEnrichment<TFields extends keyof TData>(config: DataEnrichmentConfig<TContext, TData, TFields>): Tool<TContext, TData, void>;
171
+ /**
172
+ * Create a validation tool that validates data fields
173
+ * Returns a tool instance that can be registered or added to scope
174
+ */
175
+ createValidation<TFields extends keyof TData>(config: ValidationConfig<TContext, TData, TFields>): Tool<TContext, TData, ValidationResult>;
176
+ /**
177
+ * Create an API call tool that makes external HTTP requests
178
+ * Returns a tool instance that can be registered or added to scope
179
+ */
180
+ createApiCall<TResult = unknown>(config: ApiCallConfig<TContext, TData, TResult>): Tool<TContext, TData, TResult>;
181
+ /**
182
+ * Create a computation tool that performs calculations on input data
183
+ * Returns a tool instance that can be registered or added to scope
184
+ */
185
+ createComputation<TResult = unknown>(config: ComputationConfig<TContext, TData, TResult>): Tool<TContext, TData, TResult>;
186
+ /**
187
+ * Get detailed information about a tool for debugging
188
+ */
189
+ getToolInfo(toolId: string, scope?: ToolScope, step?: Step<TContext, TData>, route?: Route<TContext, TData>): {
190
+ found: boolean;
191
+ tool?: Tool<TContext, TData>;
192
+ scope?: string;
193
+ metadata?: Record<string, unknown>;
194
+ };
195
+ /**
196
+ * Validate that all tools in a list exist and are accessible
197
+ */
198
+ validateToolReferences(toolIds: string[], step?: Step<TContext, TData>, route?: Route<TContext, TData>): {
199
+ valid: boolean;
200
+ missing: string[];
201
+ found: string[];
202
+ details: Array<{
203
+ id: string;
204
+ found: boolean;
205
+ scope?: string;
206
+ }>;
207
+ };
208
+ /**
209
+ * Get comprehensive statistics about the tool system
210
+ */
211
+ getStatistics(): {
212
+ registeredTools: number;
213
+ agentTools: number;
214
+ totalAvailable: number;
215
+ registeredToolIds: string[];
216
+ duplicateIds: string[];
217
+ };
218
+ /**
219
+ * Perform health check on the tool system
220
+ */
221
+ healthCheck(): {
222
+ healthy: boolean;
223
+ issues: string[];
224
+ warnings: string[];
225
+ statistics: {
226
+ registeredTools: number;
227
+ agentTools: number;
228
+ totalAvailable: number;
229
+ registeredToolIds: string[];
230
+ duplicateIds: string[];
231
+ };
232
+ };
233
+ }
234
+ //# sourceMappingURL=ToolManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolManager.d.ts","sourceRoot":"","sources":["../../../../src/core/ToolManager.ts"],"names":[],"mappings":"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"}