@falai/agent 0.1.0-alpha2
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 +797 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/src/adapters/MemoryAdapter.d.ts +47 -0
- package/dist/cjs/src/adapters/MemoryAdapter.d.ts.map +1 -0
- package/dist/cjs/src/adapters/MemoryAdapter.js +202 -0
- package/dist/cjs/src/adapters/MemoryAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/MongoAdapter.d.ts +97 -0
- package/dist/cjs/src/adapters/MongoAdapter.d.ts.map +1 -0
- package/dist/cjs/src/adapters/MongoAdapter.js +168 -0
- package/dist/cjs/src/adapters/MongoAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/OpenSearchAdapter.d.ts +169 -0
- package/dist/cjs/src/adapters/OpenSearchAdapter.d.ts.map +1 -0
- package/dist/cjs/src/adapters/OpenSearchAdapter.js +458 -0
- package/dist/cjs/src/adapters/OpenSearchAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/PostgreSQLAdapter.d.ts +71 -0
- package/dist/cjs/src/adapters/PostgreSQLAdapter.d.ts.map +1 -0
- package/dist/cjs/src/adapters/PostgreSQLAdapter.js +260 -0
- package/dist/cjs/src/adapters/PostgreSQLAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/PrismaAdapter.d.ts +115 -0
- package/dist/cjs/src/adapters/PrismaAdapter.d.ts.map +1 -0
- package/dist/cjs/src/adapters/PrismaAdapter.js +366 -0
- package/dist/cjs/src/adapters/PrismaAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/RedisAdapter.d.ts +71 -0
- package/dist/cjs/src/adapters/RedisAdapter.d.ts.map +1 -0
- package/dist/cjs/src/adapters/RedisAdapter.js +231 -0
- package/dist/cjs/src/adapters/RedisAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/SQLiteAdapter.d.ts +69 -0
- package/dist/cjs/src/adapters/SQLiteAdapter.d.ts.map +1 -0
- package/dist/cjs/src/adapters/SQLiteAdapter.js +312 -0
- package/dist/cjs/src/adapters/SQLiteAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/index.d.ts +17 -0
- package/dist/cjs/src/adapters/index.d.ts.map +1 -0
- package/dist/cjs/src/adapters/index.js +21 -0
- package/dist/cjs/src/adapters/index.js.map +1 -0
- package/dist/cjs/src/constants/index.d.ts +10 -0
- package/dist/cjs/src/constants/index.d.ts.map +1 -0
- package/dist/cjs/src/constants/index.js +13 -0
- package/dist/cjs/src/constants/index.js.map +1 -0
- package/dist/cjs/src/core/Agent.d.ts +232 -0
- package/dist/cjs/src/core/Agent.d.ts.map +1 -0
- package/dist/cjs/src/core/Agent.js +741 -0
- package/dist/cjs/src/core/Agent.js.map +1 -0
- package/dist/cjs/src/core/Events.d.ts +26 -0
- package/dist/cjs/src/core/Events.d.ts.map +1 -0
- package/dist/cjs/src/core/Events.js +144 -0
- package/dist/cjs/src/core/Events.js.map +1 -0
- package/dist/cjs/src/core/PersistenceManager.d.ts +98 -0
- package/dist/cjs/src/core/PersistenceManager.d.ts.map +1 -0
- package/dist/cjs/src/core/PersistenceManager.js +261 -0
- package/dist/cjs/src/core/PersistenceManager.js.map +1 -0
- package/dist/cjs/src/core/PromptComposer.d.ts +27 -0
- package/dist/cjs/src/core/PromptComposer.d.ts.map +1 -0
- package/dist/cjs/src/core/PromptComposer.js +194 -0
- package/dist/cjs/src/core/PromptComposer.js.map +1 -0
- package/dist/cjs/src/core/ResponseEngine.d.ts +32 -0
- package/dist/cjs/src/core/ResponseEngine.d.ts.map +1 -0
- package/dist/cjs/src/core/ResponseEngine.js +202 -0
- package/dist/cjs/src/core/ResponseEngine.js.map +1 -0
- package/dist/cjs/src/core/ResponseModal.d.ts +222 -0
- package/dist/cjs/src/core/ResponseModal.d.ts.map +1 -0
- package/dist/cjs/src/core/ResponseModal.js +1588 -0
- package/dist/cjs/src/core/ResponseModal.js.map +1 -0
- package/dist/cjs/src/core/ResponsePipeline.d.ts +175 -0
- package/dist/cjs/src/core/ResponsePipeline.d.ts.map +1 -0
- package/dist/cjs/src/core/ResponsePipeline.js +549 -0
- package/dist/cjs/src/core/ResponsePipeline.js.map +1 -0
- package/dist/cjs/src/core/Route.d.ts +181 -0
- package/dist/cjs/src/core/Route.d.ts.map +1 -0
- package/dist/cjs/src/core/Route.js +541 -0
- package/dist/cjs/src/core/Route.js.map +1 -0
- package/dist/cjs/src/core/RoutingEngine.d.ts +159 -0
- package/dist/cjs/src/core/RoutingEngine.d.ts.map +1 -0
- package/dist/cjs/src/core/RoutingEngine.js +961 -0
- package/dist/cjs/src/core/RoutingEngine.js.map +1 -0
- package/dist/cjs/src/core/SessionManager.d.ts +94 -0
- package/dist/cjs/src/core/SessionManager.d.ts.map +1 -0
- package/dist/cjs/src/core/SessionManager.js +239 -0
- package/dist/cjs/src/core/SessionManager.js.map +1 -0
- package/dist/cjs/src/core/Step.d.ts +170 -0
- package/dist/cjs/src/core/Step.d.ts.map +1 -0
- package/dist/cjs/src/core/Step.js +448 -0
- package/dist/cjs/src/core/Step.js.map +1 -0
- package/dist/cjs/src/core/ToolManager.d.ts +234 -0
- package/dist/cjs/src/core/ToolManager.d.ts.map +1 -0
- package/dist/cjs/src/core/ToolManager.js +1117 -0
- package/dist/cjs/src/core/ToolManager.js.map +1 -0
- package/dist/cjs/src/index.d.ts +44 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js +88 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/providers/AnthropicProvider.d.ts +43 -0
- package/dist/cjs/src/providers/AnthropicProvider.d.ts.map +1 -0
- package/dist/cjs/src/providers/AnthropicProvider.js +377 -0
- package/dist/cjs/src/providers/AnthropicProvider.js.map +1 -0
- package/dist/cjs/src/providers/GeminiProvider.d.ts +58 -0
- package/dist/cjs/src/providers/GeminiProvider.d.ts.map +1 -0
- package/dist/cjs/src/providers/GeminiProvider.js +489 -0
- package/dist/cjs/src/providers/GeminiProvider.js.map +1 -0
- package/dist/cjs/src/providers/OpenAIProvider.d.ts +52 -0
- package/dist/cjs/src/providers/OpenAIProvider.d.ts.map +1 -0
- package/dist/cjs/src/providers/OpenAIProvider.js +395 -0
- package/dist/cjs/src/providers/OpenAIProvider.js.map +1 -0
- package/dist/cjs/src/providers/OpenRouterProvider.d.ts +56 -0
- package/dist/cjs/src/providers/OpenRouterProvider.d.ts.map +1 -0
- package/dist/cjs/src/providers/OpenRouterProvider.js +409 -0
- package/dist/cjs/src/providers/OpenRouterProvider.js.map +1 -0
- package/dist/cjs/src/providers/index.d.ts +13 -0
- package/dist/cjs/src/providers/index.d.ts.map +1 -0
- package/dist/cjs/src/providers/index.js +16 -0
- package/dist/cjs/src/providers/index.js.map +1 -0
- package/dist/cjs/src/types/agent.d.ts +181 -0
- package/dist/cjs/src/types/agent.d.ts.map +1 -0
- package/dist/cjs/src/types/agent.js +21 -0
- package/dist/cjs/src/types/agent.js.map +1 -0
- package/dist/cjs/src/types/ai.d.ts +143 -0
- package/dist/cjs/src/types/ai.d.ts.map +1 -0
- package/dist/cjs/src/types/ai.js +6 -0
- package/dist/cjs/src/types/ai.js.map +1 -0
- package/dist/cjs/src/types/history.d.ts +178 -0
- package/dist/cjs/src/types/history.d.ts.map +1 -0
- package/dist/cjs/src/types/history.js +33 -0
- package/dist/cjs/src/types/history.js.map +1 -0
- package/dist/cjs/src/types/index.d.ts +22 -0
- package/dist/cjs/src/types/index.d.ts.map +1 -0
- package/dist/cjs/src/types/index.js +37 -0
- package/dist/cjs/src/types/index.js.map +1 -0
- package/dist/cjs/src/types/persistence.d.ts +209 -0
- package/dist/cjs/src/types/persistence.d.ts.map +1 -0
- package/dist/cjs/src/types/persistence.js +7 -0
- package/dist/cjs/src/types/persistence.js.map +1 -0
- package/dist/cjs/src/types/route.d.ts +238 -0
- package/dist/cjs/src/types/route.d.ts.map +1 -0
- package/dist/cjs/src/types/route.js +6 -0
- package/dist/cjs/src/types/route.js.map +1 -0
- package/dist/cjs/src/types/routing.d.ts +16 -0
- package/dist/cjs/src/types/routing.d.ts.map +1 -0
- package/dist/cjs/src/types/routing.js +3 -0
- package/dist/cjs/src/types/routing.js.map +1 -0
- package/dist/cjs/src/types/schema.d.ts +22 -0
- package/dist/cjs/src/types/schema.d.ts.map +1 -0
- package/dist/cjs/src/types/schema.js +3 -0
- package/dist/cjs/src/types/schema.js.map +1 -0
- package/dist/cjs/src/types/session.d.ts +65 -0
- package/dist/cjs/src/types/session.d.ts.map +1 -0
- package/dist/cjs/src/types/session.js +6 -0
- package/dist/cjs/src/types/session.js.map +1 -0
- package/dist/cjs/src/types/template.d.ts +88 -0
- package/dist/cjs/src/types/template.d.ts.map +1 -0
- package/dist/cjs/src/types/template.js +3 -0
- package/dist/cjs/src/types/template.js.map +1 -0
- package/dist/cjs/src/types/tool.d.ts +130 -0
- package/dist/cjs/src/types/tool.d.ts.map +1 -0
- package/dist/cjs/src/types/tool.js +19 -0
- package/dist/cjs/src/types/tool.js.map +1 -0
- package/dist/cjs/src/utils/clone.d.ts +8 -0
- package/dist/cjs/src/utils/clone.d.ts.map +1 -0
- package/dist/cjs/src/utils/clone.js +32 -0
- package/dist/cjs/src/utils/clone.js.map +1 -0
- package/dist/cjs/src/utils/condition.d.ts +38 -0
- package/dist/cjs/src/utils/condition.d.ts.map +1 -0
- package/dist/cjs/src/utils/condition.js +168 -0
- package/dist/cjs/src/utils/condition.js.map +1 -0
- package/dist/cjs/src/utils/event.d.ts +6 -0
- package/dist/cjs/src/utils/event.d.ts.map +1 -0
- package/dist/cjs/src/utils/event.js +20 -0
- package/dist/cjs/src/utils/event.js.map +1 -0
- package/dist/cjs/src/utils/history.d.ts +60 -0
- package/dist/cjs/src/utils/history.d.ts.map +1 -0
- package/dist/cjs/src/utils/history.js +274 -0
- package/dist/cjs/src/utils/history.js.map +1 -0
- package/dist/cjs/src/utils/id.d.ts +25 -0
- package/dist/cjs/src/utils/id.d.ts.map +1 -0
- package/dist/cjs/src/utils/id.js +70 -0
- package/dist/cjs/src/utils/id.js.map +1 -0
- package/dist/cjs/src/utils/index.d.ts +15 -0
- package/dist/cjs/src/utils/index.d.ts.map +1 -0
- package/dist/cjs/src/utils/index.js +64 -0
- package/dist/cjs/src/utils/index.js.map +1 -0
- package/dist/cjs/src/utils/json.d.ts +16 -0
- package/dist/cjs/src/utils/json.d.ts.map +1 -0
- package/dist/cjs/src/utils/json.js +47 -0
- package/dist/cjs/src/utils/json.js.map +1 -0
- package/dist/cjs/src/utils/logger.d.ts +10 -0
- package/dist/cjs/src/utils/logger.d.ts.map +1 -0
- package/dist/cjs/src/utils/logger.js +23 -0
- package/dist/cjs/src/utils/logger.js.map +1 -0
- package/dist/cjs/src/utils/retry.d.ts +10 -0
- package/dist/cjs/src/utils/retry.d.ts.map +1 -0
- package/dist/cjs/src/utils/retry.js +76 -0
- package/dist/cjs/src/utils/retry.js.map +1 -0
- package/dist/cjs/src/utils/session.d.ts +51 -0
- package/dist/cjs/src/utils/session.d.ts.map +1 -0
- package/dist/cjs/src/utils/session.js +170 -0
- package/dist/cjs/src/utils/session.js.map +1 -0
- package/dist/cjs/src/utils/template.d.ts +155 -0
- package/dist/cjs/src/utils/template.d.ts.map +1 -0
- package/dist/cjs/src/utils/template.js +383 -0
- package/dist/cjs/src/utils/template.js.map +1 -0
- package/dist/src/adapters/MemoryAdapter.d.ts +47 -0
- package/dist/src/adapters/MemoryAdapter.d.ts.map +1 -0
- package/dist/src/adapters/MemoryAdapter.js +198 -0
- package/dist/src/adapters/MemoryAdapter.js.map +1 -0
- package/dist/src/adapters/MongoAdapter.d.ts +97 -0
- package/dist/src/adapters/MongoAdapter.d.ts.map +1 -0
- package/dist/src/adapters/MongoAdapter.js +164 -0
- package/dist/src/adapters/MongoAdapter.js.map +1 -0
- package/dist/src/adapters/OpenSearchAdapter.d.ts +169 -0
- package/dist/src/adapters/OpenSearchAdapter.d.ts.map +1 -0
- package/dist/src/adapters/OpenSearchAdapter.js +454 -0
- package/dist/src/adapters/OpenSearchAdapter.js.map +1 -0
- package/dist/src/adapters/PostgreSQLAdapter.d.ts +71 -0
- package/dist/src/adapters/PostgreSQLAdapter.d.ts.map +1 -0
- package/dist/src/adapters/PostgreSQLAdapter.js +256 -0
- package/dist/src/adapters/PostgreSQLAdapter.js.map +1 -0
- package/dist/src/adapters/PrismaAdapter.d.ts +115 -0
- package/dist/src/adapters/PrismaAdapter.d.ts.map +1 -0
- package/dist/src/adapters/PrismaAdapter.js +362 -0
- package/dist/src/adapters/PrismaAdapter.js.map +1 -0
- package/dist/src/adapters/RedisAdapter.d.ts +71 -0
- package/dist/src/adapters/RedisAdapter.d.ts.map +1 -0
- package/dist/src/adapters/RedisAdapter.js +227 -0
- package/dist/src/adapters/RedisAdapter.js.map +1 -0
- package/dist/src/adapters/SQLiteAdapter.d.ts +69 -0
- package/dist/src/adapters/SQLiteAdapter.d.ts.map +1 -0
- package/dist/src/adapters/SQLiteAdapter.js +308 -0
- package/dist/src/adapters/SQLiteAdapter.js.map +1 -0
- package/dist/src/adapters/index.d.ts +17 -0
- package/dist/src/adapters/index.d.ts.map +1 -0
- package/dist/src/adapters/index.js +11 -0
- package/dist/src/adapters/index.js.map +1 -0
- package/dist/src/constants/index.d.ts +10 -0
- package/dist/src/constants/index.d.ts.map +1 -0
- package/dist/src/constants/index.js +10 -0
- package/dist/src/constants/index.js.map +1 -0
- package/dist/src/core/Agent.d.ts +232 -0
- package/dist/src/core/Agent.d.ts.map +1 -0
- package/dist/src/core/Agent.js +737 -0
- package/dist/src/core/Agent.js.map +1 -0
- package/dist/src/core/Events.d.ts +26 -0
- package/dist/src/core/Events.d.ts.map +1 -0
- package/dist/src/core/Events.js +137 -0
- package/dist/src/core/Events.js.map +1 -0
- package/dist/src/core/PersistenceManager.d.ts +98 -0
- package/dist/src/core/PersistenceManager.d.ts.map +1 -0
- package/dist/src/core/PersistenceManager.js +257 -0
- package/dist/src/core/PersistenceManager.js.map +1 -0
- package/dist/src/core/PromptComposer.d.ts +27 -0
- package/dist/src/core/PromptComposer.d.ts.map +1 -0
- package/dist/src/core/PromptComposer.js +190 -0
- package/dist/src/core/PromptComposer.js.map +1 -0
- package/dist/src/core/ResponseEngine.d.ts +32 -0
- package/dist/src/core/ResponseEngine.d.ts.map +1 -0
- package/dist/src/core/ResponseEngine.js +198 -0
- package/dist/src/core/ResponseEngine.js.map +1 -0
- package/dist/src/core/ResponseModal.d.ts +222 -0
- package/dist/src/core/ResponseModal.d.ts.map +1 -0
- package/dist/src/core/ResponseModal.js +1583 -0
- package/dist/src/core/ResponseModal.js.map +1 -0
- package/dist/src/core/ResponsePipeline.d.ts +175 -0
- package/dist/src/core/ResponsePipeline.d.ts.map +1 -0
- package/dist/src/core/ResponsePipeline.js +545 -0
- package/dist/src/core/ResponsePipeline.js.map +1 -0
- package/dist/src/core/Route.d.ts +181 -0
- package/dist/src/core/Route.d.ts.map +1 -0
- package/dist/src/core/Route.js +537 -0
- package/dist/src/core/Route.js.map +1 -0
- package/dist/src/core/RoutingEngine.d.ts +159 -0
- package/dist/src/core/RoutingEngine.d.ts.map +1 -0
- package/dist/src/core/RoutingEngine.js +957 -0
- package/dist/src/core/RoutingEngine.js.map +1 -0
- package/dist/src/core/SessionManager.d.ts +94 -0
- package/dist/src/core/SessionManager.d.ts.map +1 -0
- package/dist/src/core/SessionManager.js +235 -0
- package/dist/src/core/SessionManager.js.map +1 -0
- package/dist/src/core/Step.d.ts +170 -0
- package/dist/src/core/Step.d.ts.map +1 -0
- package/dist/src/core/Step.js +444 -0
- package/dist/src/core/Step.js.map +1 -0
- package/dist/src/core/ToolManager.d.ts +234 -0
- package/dist/src/core/ToolManager.d.ts.map +1 -0
- package/dist/src/core/ToolManager.js +1111 -0
- package/dist/src/core/ToolManager.js.map +1 -0
- package/dist/src/index.d.ts +44 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +37 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/providers/AnthropicProvider.d.ts +43 -0
- package/dist/src/providers/AnthropicProvider.d.ts.map +1 -0
- package/dist/src/providers/AnthropicProvider.js +370 -0
- package/dist/src/providers/AnthropicProvider.js.map +1 -0
- package/dist/src/providers/GeminiProvider.d.ts +58 -0
- package/dist/src/providers/GeminiProvider.d.ts.map +1 -0
- package/dist/src/providers/GeminiProvider.js +485 -0
- package/dist/src/providers/GeminiProvider.js.map +1 -0
- package/dist/src/providers/OpenAIProvider.d.ts +52 -0
- package/dist/src/providers/OpenAIProvider.d.ts.map +1 -0
- package/dist/src/providers/OpenAIProvider.js +388 -0
- package/dist/src/providers/OpenAIProvider.js.map +1 -0
- package/dist/src/providers/OpenRouterProvider.d.ts +56 -0
- package/dist/src/providers/OpenRouterProvider.d.ts.map +1 -0
- package/dist/src/providers/OpenRouterProvider.js +402 -0
- package/dist/src/providers/OpenRouterProvider.js.map +1 -0
- package/dist/src/providers/index.d.ts +13 -0
- package/dist/src/providers/index.d.ts.map +1 -0
- package/dist/src/providers/index.js +9 -0
- package/dist/src/providers/index.js.map +1 -0
- package/dist/src/types/agent.d.ts +181 -0
- package/dist/src/types/agent.d.ts.map +1 -0
- package/dist/src/types/agent.js +18 -0
- package/dist/src/types/agent.js.map +1 -0
- package/dist/src/types/ai.d.ts +143 -0
- package/dist/src/types/ai.d.ts.map +1 -0
- package/dist/src/types/ai.js +5 -0
- package/dist/src/types/ai.js.map +1 -0
- package/dist/src/types/history.d.ts +178 -0
- package/dist/src/types/history.d.ts.map +1 -0
- package/dist/src/types/history.js +30 -0
- package/dist/src/types/history.js.map +1 -0
- package/dist/src/types/index.d.ts +22 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +12 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/persistence.d.ts +209 -0
- package/dist/src/types/persistence.d.ts.map +1 -0
- package/dist/src/types/persistence.js +6 -0
- package/dist/src/types/persistence.js.map +1 -0
- package/dist/src/types/route.d.ts +238 -0
- package/dist/src/types/route.d.ts.map +1 -0
- package/dist/src/types/route.js +5 -0
- package/dist/src/types/route.js.map +1 -0
- package/dist/src/types/routing.d.ts +16 -0
- package/dist/src/types/routing.d.ts.map +1 -0
- package/dist/src/types/routing.js +2 -0
- package/dist/src/types/routing.js.map +1 -0
- package/dist/src/types/schema.d.ts +22 -0
- package/dist/src/types/schema.d.ts.map +1 -0
- package/dist/src/types/schema.js +2 -0
- package/dist/src/types/schema.js.map +1 -0
- package/dist/src/types/session.d.ts +65 -0
- package/dist/src/types/session.d.ts.map +1 -0
- package/dist/src/types/session.js +5 -0
- package/dist/src/types/session.js.map +1 -0
- package/dist/src/types/template.d.ts +88 -0
- package/dist/src/types/template.d.ts.map +1 -0
- package/dist/src/types/template.js +2 -0
- package/dist/src/types/template.js.map +1 -0
- package/dist/src/types/tool.d.ts +130 -0
- package/dist/src/types/tool.d.ts.map +1 -0
- package/dist/src/types/tool.js +16 -0
- package/dist/src/types/tool.js.map +1 -0
- package/dist/src/utils/clone.d.ts +8 -0
- package/dist/src/utils/clone.d.ts.map +1 -0
- package/dist/src/utils/clone.js +29 -0
- package/dist/src/utils/clone.js.map +1 -0
- package/dist/src/utils/condition.d.ts +38 -0
- package/dist/src/utils/condition.d.ts.map +1 -0
- package/dist/src/utils/condition.js +161 -0
- package/dist/src/utils/condition.js.map +1 -0
- package/dist/src/utils/event.d.ts +6 -0
- package/dist/src/utils/event.d.ts.map +1 -0
- package/dist/src/utils/event.js +17 -0
- package/dist/src/utils/event.js.map +1 -0
- package/dist/src/utils/history.d.ts +60 -0
- package/dist/src/utils/history.d.ts.map +1 -0
- package/dist/src/utils/history.js +263 -0
- package/dist/src/utils/history.js.map +1 -0
- package/dist/src/utils/id.d.ts +25 -0
- package/dist/src/utils/id.d.ts.map +1 -0
- package/dist/src/utils/id.js +64 -0
- package/dist/src/utils/id.js.map +1 -0
- package/dist/src/utils/index.d.ts +15 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +23 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/json.d.ts +16 -0
- package/dist/src/utils/json.d.ts.map +1 -0
- package/dist/src/utils/json.js +43 -0
- package/dist/src/utils/json.js.map +1 -0
- package/dist/src/utils/logger.d.ts +10 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +17 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/retry.d.ts +10 -0
- package/dist/src/utils/retry.d.ts.map +1 -0
- package/dist/src/utils/retry.js +71 -0
- package/dist/src/utils/retry.js.map +1 -0
- package/dist/src/utils/session.d.ts +51 -0
- package/dist/src/utils/session.d.ts.map +1 -0
- package/dist/src/utils/session.js +160 -0
- package/dist/src/utils/session.js.map +1 -0
- package/dist/src/utils/template.d.ts +155 -0
- package/dist/src/utils/template.d.ts.map +1 -0
- package/dist/src/utils/template.js +374 -0
- package/dist/src/utils/template.js.map +1 -0
- package/docs/CONTRIBUTING.md +521 -0
- package/docs/README.md +228 -0
- package/docs/api/README.md +3258 -0
- package/docs/api/overview.md +1134 -0
- package/docs/architecture/data-extraction-flow.md +363 -0
- package/docs/core/agent/README.md +902 -0
- package/docs/core/agent/context-management.md +796 -0
- package/docs/core/agent/session-management.md +641 -0
- package/docs/core/ai-integration/prompt-composition.md +220 -0
- package/docs/core/ai-integration/providers.md +515 -0
- package/docs/core/ai-integration/response-processing.md +287 -0
- package/docs/core/conversation-flows/data-collection.md +623 -0
- package/docs/core/conversation-flows/route-dsl.md +502 -0
- package/docs/core/conversation-flows/routes.md +247 -0
- package/docs/core/conversation-flows/step-transitions.md +595 -0
- package/docs/core/conversation-flows/steps.md +154 -0
- package/docs/core/error-handling.md +638 -0
- package/docs/core/persistence/adapters.md +255 -0
- package/docs/core/persistence/session-storage.md +644 -0
- package/docs/core/routing/intelligent-routing.md +466 -0
- package/docs/core/tools/tool-definition.md +970 -0
- package/docs/core/tools/tool-scoping.md +819 -0
- package/docs/guides/advanced-patterns/publishing.md +186 -0
- package/docs/guides/error-handling-patterns.md +578 -0
- package/docs/guides/getting-started/README.md +696 -0
- package/docs/guides/migration/README.md +72 -0
- package/docs/guides/migration/flexible-routing-conditions.md +375 -0
- package/docs/guides/migration/response-modal-refactor.md +518 -0
- package/examples/advanced-patterns/knowledge-based-agent.ts +735 -0
- package/examples/advanced-patterns/persistent-onboarding.ts +728 -0
- package/examples/advanced-patterns/route-lifecycle-hooks.ts +556 -0
- package/examples/advanced-patterns/streaming-responses.ts +578 -0
- package/examples/ai-providers/anthropic-integration.ts +388 -0
- package/examples/ai-providers/openai-integration.ts +228 -0
- package/examples/condition-patterns/function-only-conditions.ts +365 -0
- package/examples/condition-patterns/mixed-array-conditions.ts +477 -0
- package/examples/condition-patterns/route-skipif-patterns.ts +468 -0
- package/examples/condition-patterns/step-skipif-patterns.ts +0 -0
- package/examples/condition-patterns/string-only-conditions.ts +296 -0
- package/examples/conversation-flows/completion-transitions.ts +318 -0
- package/examples/core-concepts/basic-agent.ts +503 -0
- package/examples/core-concepts/modern-streaming-api.ts +309 -0
- package/examples/core-concepts/schema-driven-extraction.ts +332 -0
- package/examples/core-concepts/session-management.ts +494 -0
- package/examples/integrations/database-integration.ts +630 -0
- package/examples/integrations/healthcare-integration.ts +595 -0
- package/examples/integrations/search-integration.ts +530 -0
- package/examples/integrations/server-session-management.ts +307 -0
- package/examples/persistence/custom-adapter.ts +529 -0
- package/examples/persistence/database-persistence.ts +583 -0
- package/examples/persistence/memory-sessions.ts +495 -0
- package/examples/persistence/prisma-schema.example.prisma +74 -0
- package/examples/persistence/redis-persistence.ts +488 -0
- package/examples/tools/basic-tools.ts +765 -0
- package/examples/tools/data-enrichment-tools.ts +593 -0
- package/package.json +125 -0
- package/src/adapters/MemoryAdapter.ts +273 -0
- package/src/adapters/MongoAdapter.ts +304 -0
- package/src/adapters/OpenSearchAdapter.ts +670 -0
- package/src/adapters/PostgreSQLAdapter.ts +428 -0
- package/src/adapters/PrismaAdapter.ts +553 -0
- package/src/adapters/RedisAdapter.ts +377 -0
- package/src/adapters/SQLiteAdapter.ts +459 -0
- package/src/adapters/index.ts +43 -0
- package/src/constants/index.ts +10 -0
- package/src/core/Agent.ts +970 -0
- package/src/core/Events.ts +164 -0
- package/src/core/PersistenceManager.ts +353 -0
- package/src/core/PromptComposer.ts +253 -0
- package/src/core/ResponseEngine.ts +306 -0
- package/src/core/ResponseModal.ts +2050 -0
- package/src/core/ResponsePipeline.ts +864 -0
- package/src/core/Route.ts +677 -0
- package/src/core/RoutingEngine.ts +1396 -0
- package/src/core/SessionManager.ts +297 -0
- package/src/core/Step.ts +593 -0
- package/src/core/ToolManager.ts +1394 -0
- package/src/index.ts +155 -0
- package/src/providers/AnthropicProvider.ts +560 -0
- package/src/providers/GeminiProvider.ts +683 -0
- package/src/providers/OpenAIProvider.ts +602 -0
- package/src/providers/OpenRouterProvider.ts +613 -0
- package/src/providers/index.ts +16 -0
- package/src/types/agent.ts +196 -0
- package/src/types/ai.ts +158 -0
- package/src/types/history.ts +206 -0
- package/src/types/index.ts +119 -0
- package/src/types/persistence.ts +251 -0
- package/src/types/route.ts +272 -0
- package/src/types/routing.ts +18 -0
- package/src/types/schema.ts +23 -0
- package/src/types/session.ts +74 -0
- package/src/types/template.ts +104 -0
- package/src/types/tool.ts +174 -0
- package/src/utils/clone.ts +34 -0
- package/src/utils/condition.ts +190 -0
- package/src/utils/event.ts +16 -0
- package/src/utils/history.ts +306 -0
- package/src/utils/id.ts +73 -0
- package/src/utils/index.ts +69 -0
- package/src/utils/json.ts +46 -0
- package/src/utils/logger.ts +19 -0
- package/src/utils/retry.ts +97 -0
- package/src/utils/session.ts +204 -0
- package/src/utils/template.ts +444 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent-related type definitions
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { AgentStructuredResponse, AiProvider } from "./ai";
|
|
6
|
+
import type { Tool } from "./tool";
|
|
7
|
+
import type { RouteOptions } from "./route";
|
|
8
|
+
import type { PersistenceConfig } from "./persistence";
|
|
9
|
+
import type { SessionState } from "./session";
|
|
10
|
+
import type { StructuredSchema } from "./schema";
|
|
11
|
+
import { Template, ConditionTemplate } from "./template";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Composition mode determines how the agent processes and structures responses
|
|
15
|
+
*/
|
|
16
|
+
export enum CompositionMode {
|
|
17
|
+
/** Fluid, natural conversation without strict structure */
|
|
18
|
+
FLUID = "fluid",
|
|
19
|
+
/** Canned responses with fluid fallback */
|
|
20
|
+
CANNED_FLUID = "canned_fluid",
|
|
21
|
+
/** Composited canned responses */
|
|
22
|
+
CANNED_COMPOSITED = "composited_canned",
|
|
23
|
+
/** Strict canned responses only */
|
|
24
|
+
CANNED_STRICT = "strict_canned",
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Context lifecycle hooks for managing step persistence
|
|
29
|
+
*/
|
|
30
|
+
export interface ContextLifecycleHooks<TContext = unknown, TData = unknown> {
|
|
31
|
+
/**
|
|
32
|
+
* Called before respond() to get fresh context
|
|
33
|
+
* Useful for loading context from a database or cache
|
|
34
|
+
*/
|
|
35
|
+
beforeRespond?: (currentContext: TContext) => Promise<TContext> | TContext;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Called after context is updated via updateContext() or tool execution
|
|
39
|
+
* Useful for persisting context to a database or cache
|
|
40
|
+
*/
|
|
41
|
+
onContextUpdate?: (
|
|
42
|
+
newContext: TContext,
|
|
43
|
+
previousContext: TContext
|
|
44
|
+
) => Promise<void> | void;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Called after collected data is updated (from AI response or tool execution)
|
|
48
|
+
* Useful for validation, enrichment, or persistence of collected data
|
|
49
|
+
* Return modified collected data or the same data to keep it unchanged
|
|
50
|
+
*
|
|
51
|
+
* Note: This hook now works with agent-level data collection (TData type)
|
|
52
|
+
*/
|
|
53
|
+
onDataUpdate?: (
|
|
54
|
+
data: Partial<TData>,
|
|
55
|
+
previousCollected: Partial<TData>
|
|
56
|
+
) => Partial<TData> | Promise<Partial<TData>>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Context provider function for always-fresh context
|
|
61
|
+
* Alternative to static context, useful for loading from external sources
|
|
62
|
+
*/
|
|
63
|
+
export type ContextProvider<TContext = unknown> = () =>
|
|
64
|
+
| Promise<TContext>
|
|
65
|
+
| TContext;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Options for creating an Agent
|
|
69
|
+
*/
|
|
70
|
+
export interface AgentOptions<TContext = unknown, TData = unknown> {
|
|
71
|
+
/** Display name of the agent */
|
|
72
|
+
name: string;
|
|
73
|
+
/** Detailed description of the agent's purpose and personality */
|
|
74
|
+
description?: string;
|
|
75
|
+
/** The agent's primary goal or objective */
|
|
76
|
+
goal?: string;
|
|
77
|
+
/** Optional personality/tone prompt used in prompts */
|
|
78
|
+
personality?: Template<TContext>;
|
|
79
|
+
/** Optional identity prompt defining the agent's self-concept and role */
|
|
80
|
+
identity?: Template<TContext>;
|
|
81
|
+
/** Enable debug logging */
|
|
82
|
+
debug?: boolean;
|
|
83
|
+
/** Default context data available to the agent */
|
|
84
|
+
context?: TContext;
|
|
85
|
+
/** Optional current session for convenience methods */
|
|
86
|
+
session?: SessionState;
|
|
87
|
+
/** Optional sessionId to load or create - managed by SessionManager */
|
|
88
|
+
sessionId?: string;
|
|
89
|
+
/** Context provider function for always-fresh context (alternative to static context) */
|
|
90
|
+
contextProvider?: ContextProvider<TContext>;
|
|
91
|
+
/** Lifecycle hooks for context management */
|
|
92
|
+
hooks?: ContextLifecycleHooks<TContext, TData>;
|
|
93
|
+
/** AI provider strategy for generating responses */
|
|
94
|
+
provider: AiProvider;
|
|
95
|
+
/** Composition mode for response generation */
|
|
96
|
+
compositionMode?: CompositionMode;
|
|
97
|
+
/** Initial terms for domain glossary */
|
|
98
|
+
terms?: Term<TContext, TData>[];
|
|
99
|
+
/** Initial guidelines for agent behavior */
|
|
100
|
+
guidelines?: Guideline<TContext, TData>[];
|
|
101
|
+
/** Global tools available to all routes */
|
|
102
|
+
tools?: Tool<TContext, TData, unknown>[];
|
|
103
|
+
/** Initial routes (will be instantiated as Route objects) */
|
|
104
|
+
routes?: RouteOptions<TContext, TData>[];
|
|
105
|
+
/** Optional persistence configuration for auto-saving sessions and messages */
|
|
106
|
+
persistence?: PersistenceConfig<TData>;
|
|
107
|
+
/** Knowledge base containing any JSON structure the AI should know */
|
|
108
|
+
knowledgeBase?: Record<string, unknown>;
|
|
109
|
+
/** Agent-level data schema defining the complete data structure for collection */
|
|
110
|
+
schema?: StructuredSchema;
|
|
111
|
+
/** Initial data to pre-populate when creating the agent */
|
|
112
|
+
initialData?: Partial<TData>;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* A term in the domain glossary
|
|
117
|
+
*/
|
|
118
|
+
export interface Term<TContext = unknown, TData = unknown> {
|
|
119
|
+
/** Name of the term */
|
|
120
|
+
name: Template<TContext, TData>;
|
|
121
|
+
/** Description/definition of the term */
|
|
122
|
+
description: Template<TContext, TData>;
|
|
123
|
+
/** Alternative names or synonyms */
|
|
124
|
+
synonyms?: Template<TContext, TData>[];
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* A behavioral guideline for the agent
|
|
129
|
+
*/
|
|
130
|
+
export interface Guideline<TContext = unknown, TData = unknown> {
|
|
131
|
+
/** Unique identifier */
|
|
132
|
+
id?: string;
|
|
133
|
+
/** Condition that triggers this guideline (optional for always-active guidelines) */
|
|
134
|
+
condition?: ConditionTemplate<TContext, TData>;
|
|
135
|
+
/** Action the agent should take when the condition is met */
|
|
136
|
+
action: Template<TContext, TData>;
|
|
137
|
+
/** Whether this guideline is currently enabled */
|
|
138
|
+
enabled?: boolean;
|
|
139
|
+
/** Tags for organizing and filtering guidelines */
|
|
140
|
+
tags?: string[];
|
|
141
|
+
/** Additional metadata */
|
|
142
|
+
metadata?: Record<string, unknown>;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Guideline match with rationale
|
|
147
|
+
*/
|
|
148
|
+
export interface GuidelineMatch<TContext = unknown, TData = unknown> {
|
|
149
|
+
/** The matched guideline */
|
|
150
|
+
guideline: Guideline<TContext, TData>;
|
|
151
|
+
/** Explanation of why this guideline was matched */
|
|
152
|
+
rationale?: string;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export interface AgentResponse<TData = Record<string, unknown>> {
|
|
156
|
+
message: string;
|
|
157
|
+
session?: SessionState<TData>;
|
|
158
|
+
toolCalls?: Array<{ toolName: string; arguments: Record<string, unknown> }>;
|
|
159
|
+
isRouteComplete?: boolean;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export interface AgentResponseStreamChunk<TData = Record<string, unknown>> {
|
|
163
|
+
delta: string;
|
|
164
|
+
accumulated: string;
|
|
165
|
+
done: boolean;
|
|
166
|
+
session?: SessionState<TData>;
|
|
167
|
+
toolCalls?: Array<{ toolName: string; arguments: Record<string, unknown> }>;
|
|
168
|
+
isRouteComplete?: boolean;
|
|
169
|
+
metadata?: {
|
|
170
|
+
model?: string;
|
|
171
|
+
tokensUsed?: number;
|
|
172
|
+
finishReason?: string;
|
|
173
|
+
[key: string]: unknown;
|
|
174
|
+
};
|
|
175
|
+
structured?: AgentStructuredResponse;
|
|
176
|
+
error?: Error;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Validation error for data validation
|
|
181
|
+
*/
|
|
182
|
+
export interface ValidationError {
|
|
183
|
+
field: string;
|
|
184
|
+
value: unknown;
|
|
185
|
+
message: string;
|
|
186
|
+
schemaPath: string;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Result of data validation
|
|
191
|
+
*/
|
|
192
|
+
export interface ValidationResult {
|
|
193
|
+
valid: boolean;
|
|
194
|
+
errors: ValidationError[];
|
|
195
|
+
warnings: ValidationError[];
|
|
196
|
+
}
|
package/src/types/ai.ts
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI provider strategy types
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { Event } from "./history";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Reasoning/thinking configuration for AI models
|
|
9
|
+
*/
|
|
10
|
+
export interface ReasoningConfig {
|
|
11
|
+
/**
|
|
12
|
+
* Effort level for reasoning models (OpenAI: gpt-5, o-series)
|
|
13
|
+
* - minimal: Fastest, least reasoning
|
|
14
|
+
* - low: Basic reasoning
|
|
15
|
+
* - medium: Balanced reasoning
|
|
16
|
+
* - high: Maximum reasoning effort
|
|
17
|
+
*/
|
|
18
|
+
effort?: "minimal" | "low" | "medium" | "high";
|
|
19
|
+
/**
|
|
20
|
+
* Summary detail level of reasoning process
|
|
21
|
+
* - auto: Model decides
|
|
22
|
+
* - concise: Brief summary
|
|
23
|
+
* - detailed: Full reasoning details
|
|
24
|
+
*/
|
|
25
|
+
summary?: "auto" | "concise" | "detailed";
|
|
26
|
+
/**
|
|
27
|
+
* Whether to include thinking/reasoning in response (Gemini)
|
|
28
|
+
*/
|
|
29
|
+
includeThoughts?: boolean;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Input for AI message generation
|
|
34
|
+
*/
|
|
35
|
+
export interface GenerateMessageInput<TContext = unknown> {
|
|
36
|
+
/** The constructed prompt */
|
|
37
|
+
prompt: string;
|
|
38
|
+
/** Interaction history */
|
|
39
|
+
history: Event[];
|
|
40
|
+
/** Context data */
|
|
41
|
+
context: TContext;
|
|
42
|
+
/** Tools available for AI to call during this interaction */
|
|
43
|
+
tools?: Array<{
|
|
44
|
+
id: string;
|
|
45
|
+
name?: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
parameters?: unknown;
|
|
48
|
+
}>;
|
|
49
|
+
/** Additional generation parameters */
|
|
50
|
+
parameters?: {
|
|
51
|
+
/** Maximum output tokens to generate */
|
|
52
|
+
maxOutputTokens?: number;
|
|
53
|
+
/** Reasoning/thinking configuration */
|
|
54
|
+
reasoning?: ReasoningConfig;
|
|
55
|
+
/**
|
|
56
|
+
* Required: Structured JSON schema the provider must enforce for output
|
|
57
|
+
*/
|
|
58
|
+
jsonSchema: { [key: string]: unknown };
|
|
59
|
+
/** Optional schema name (used by providers that require one) */
|
|
60
|
+
schemaName?: string;
|
|
61
|
+
};
|
|
62
|
+
/** Abort signal for cancellation */
|
|
63
|
+
signal?: AbortSignal;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Structured response from AI containing message and metadata
|
|
68
|
+
*/
|
|
69
|
+
export interface AgentStructuredResponse extends Record<string, unknown> {
|
|
70
|
+
/** The actual message to send to the user */
|
|
71
|
+
message: string;
|
|
72
|
+
/** Route chosen by the agent (route title or null if no route) */
|
|
73
|
+
route?: string | null;
|
|
74
|
+
/** Current step within the route (step description or null) */
|
|
75
|
+
step?: string | null;
|
|
76
|
+
/** Tool calls the agent wants to execute */
|
|
77
|
+
toolCalls?: Array<{
|
|
78
|
+
/** Name of the tool to call */
|
|
79
|
+
toolName: string;
|
|
80
|
+
/** Arguments to pass to the tool */
|
|
81
|
+
arguments: Record<string, unknown>;
|
|
82
|
+
}>;
|
|
83
|
+
/** Additional reasoning or internal thoughts (optional) */
|
|
84
|
+
reasoning?: string;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Output from AI message generation
|
|
89
|
+
*/
|
|
90
|
+
export interface GenerateMessageOutput<TStructured = AgentStructuredResponse> {
|
|
91
|
+
/** The generated message */
|
|
92
|
+
message: string;
|
|
93
|
+
/** Optional metadata about generation */
|
|
94
|
+
metadata?: {
|
|
95
|
+
/** Model used */
|
|
96
|
+
model?: string;
|
|
97
|
+
/** Tokens consumed */
|
|
98
|
+
tokensUsed?: number;
|
|
99
|
+
/** Finish reason */
|
|
100
|
+
finishReason?: string;
|
|
101
|
+
/** Additional provider-specific data */
|
|
102
|
+
[key: string]: unknown;
|
|
103
|
+
};
|
|
104
|
+
/** Structured response data (when JSON mode is enabled) */
|
|
105
|
+
structured?: TStructured;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Stream chunk from AI message generation
|
|
110
|
+
*/
|
|
111
|
+
export interface GenerateMessageStreamChunk<
|
|
112
|
+
TStructured = AgentStructuredResponse
|
|
113
|
+
> {
|
|
114
|
+
/** The delta/chunk of the message */
|
|
115
|
+
delta: string;
|
|
116
|
+
/** Accumulated message so far */
|
|
117
|
+
accumulated: string;
|
|
118
|
+
/** Whether this is the final chunk */
|
|
119
|
+
done: boolean;
|
|
120
|
+
/** Optional metadata about generation */
|
|
121
|
+
metadata?: {
|
|
122
|
+
/** Model used */
|
|
123
|
+
model?: string;
|
|
124
|
+
/** Tokens consumed */
|
|
125
|
+
tokensUsed?: number;
|
|
126
|
+
/** Finish reason */
|
|
127
|
+
finishReason?: string;
|
|
128
|
+
/** Additional provider-specific data */
|
|
129
|
+
[key: string]: unknown;
|
|
130
|
+
};
|
|
131
|
+
/** Structured response data (only available when done=true and JSON mode is enabled) */
|
|
132
|
+
structured?: TStructured;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* AI provider interface (strategy pattern)
|
|
137
|
+
*/
|
|
138
|
+
export interface AiProvider {
|
|
139
|
+
/** Provider name/identifier */
|
|
140
|
+
readonly name: string;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Generate a message based on prompt and context
|
|
144
|
+
*/
|
|
145
|
+
generateMessage<TContext = unknown, TStructured = AgentStructuredResponse>(
|
|
146
|
+
input: GenerateMessageInput<TContext>
|
|
147
|
+
): Promise<GenerateMessageOutput<TStructured>>;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Generate a message as a stream based on prompt and context
|
|
151
|
+
*/
|
|
152
|
+
generateMessageStream<
|
|
153
|
+
TContext = unknown,
|
|
154
|
+
TStructured = AgentStructuredResponse
|
|
155
|
+
>(
|
|
156
|
+
input: GenerateMessageInput<TContext>
|
|
157
|
+
): AsyncGenerator<GenerateMessageStreamChunk<TStructured>>;
|
|
158
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event history and interaction types
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Message source enum - defines valid sources for messages and events
|
|
7
|
+
*/
|
|
8
|
+
export enum MessageRole {
|
|
9
|
+
/** Message/event from user/customer */
|
|
10
|
+
USER = "user",
|
|
11
|
+
/** Conversational message from AI assistant */
|
|
12
|
+
ASSISTANT = "assistant",
|
|
13
|
+
/** Tool execution/action by AI agent */
|
|
14
|
+
AGENT = "agent",
|
|
15
|
+
/** System message/event */
|
|
16
|
+
SYSTEM = "system",
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type MessageRoleType = MessageRole;
|
|
20
|
+
|
|
21
|
+
import type { SessionState } from "./session";
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Types of events in the interaction history
|
|
25
|
+
*/
|
|
26
|
+
export enum EventKind {
|
|
27
|
+
/** A text message event */
|
|
28
|
+
MESSAGE = "message",
|
|
29
|
+
/** A tool execution event */
|
|
30
|
+
TOOL = "tool",
|
|
31
|
+
/** A status update event */
|
|
32
|
+
STATUS = "status",
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export type EventKindType = EventKind;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Participant in a conversation
|
|
39
|
+
*/
|
|
40
|
+
export interface Participant {
|
|
41
|
+
/** Display name */
|
|
42
|
+
display_name: string;
|
|
43
|
+
/** Unique identifier */
|
|
44
|
+
id?: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Role types for simplified history format
|
|
49
|
+
*/
|
|
50
|
+
export type Role = "user" | "assistant" | "tool" | "system";
|
|
51
|
+
|
|
52
|
+
export type UserHistoryItem = {
|
|
53
|
+
role: "user";
|
|
54
|
+
content: string;
|
|
55
|
+
name?: string;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export type AssistantHistoryItem = {
|
|
59
|
+
role: "assistant";
|
|
60
|
+
content: string | null;
|
|
61
|
+
tool_calls?: Array<{
|
|
62
|
+
id: string;
|
|
63
|
+
name: string;
|
|
64
|
+
arguments: Record<string, unknown>;
|
|
65
|
+
}>;
|
|
66
|
+
};
|
|
67
|
+
export type ToolHistoryItem = {
|
|
68
|
+
role: "tool";
|
|
69
|
+
tool_call_id: string;
|
|
70
|
+
name: string;
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
72
|
+
content: any;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export type SystemHistoryItem = {
|
|
76
|
+
role: "system";
|
|
77
|
+
content: string;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Simplified history item for developer-friendly API
|
|
82
|
+
*/
|
|
83
|
+
export type HistoryItem =
|
|
84
|
+
| UserHistoryItem
|
|
85
|
+
| AssistantHistoryItem
|
|
86
|
+
| ToolHistoryItem
|
|
87
|
+
| SystemHistoryItem;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Simplified history array type
|
|
91
|
+
*/
|
|
92
|
+
export type History = HistoryItem[];
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Simple JSON format for history messages (developer-friendly)
|
|
96
|
+
*/
|
|
97
|
+
export interface HistoryMessage<TData = unknown> {
|
|
98
|
+
/** Role of the message sender */
|
|
99
|
+
role: MessageRole;
|
|
100
|
+
/** Message content */
|
|
101
|
+
content: string;
|
|
102
|
+
/** Optional participant name */
|
|
103
|
+
name?: string;
|
|
104
|
+
/** Optional timestamp (ISO string) */
|
|
105
|
+
timestamp?: string;
|
|
106
|
+
/** Optional session state */
|
|
107
|
+
session?: SessionState<TData>;
|
|
108
|
+
/** Optional additional metadata */
|
|
109
|
+
metadata?: Record<string, unknown>;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Data for a message event
|
|
114
|
+
*/
|
|
115
|
+
export interface MessageEventData {
|
|
116
|
+
/** The participant who sent the message */
|
|
117
|
+
participant: Participant;
|
|
118
|
+
/** The message content */
|
|
119
|
+
message: string;
|
|
120
|
+
/** Whether the message was flagged/censored */
|
|
121
|
+
flagged?: boolean;
|
|
122
|
+
/** Tags/reasons if flagged */
|
|
123
|
+
tags?: string[];
|
|
124
|
+
/** Tool calls made by the assistant */
|
|
125
|
+
toolCalls?: Array<{
|
|
126
|
+
id: string;
|
|
127
|
+
name: string;
|
|
128
|
+
arguments: Record<string, unknown>;
|
|
129
|
+
}>;
|
|
130
|
+
/** Session metadata attached to this message */
|
|
131
|
+
session?: {
|
|
132
|
+
routeId?: string;
|
|
133
|
+
routeTitle?: string;
|
|
134
|
+
stepId?: string;
|
|
135
|
+
stepDescription?: string;
|
|
136
|
+
data?: Record<string, unknown>;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Result of a tool execution
|
|
142
|
+
*/
|
|
143
|
+
export interface ToolResult<TData = unknown> {
|
|
144
|
+
/** The result data */
|
|
145
|
+
data: TData;
|
|
146
|
+
/** Optional metadata */
|
|
147
|
+
meta?: Record<string, unknown>;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* A single tool call within a tool event
|
|
152
|
+
*/
|
|
153
|
+
export interface ToolCall<TArgs = unknown, TResult = unknown> {
|
|
154
|
+
/** Tool identifier */
|
|
155
|
+
tool_id: string;
|
|
156
|
+
/** Arguments passed to the tool */
|
|
157
|
+
arguments: TArgs;
|
|
158
|
+
/** Result returned by the tool */
|
|
159
|
+
result: ToolResult<TResult>;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Data for a tool event
|
|
164
|
+
*/
|
|
165
|
+
export interface ToolEventData {
|
|
166
|
+
/** Array of tool calls executed */
|
|
167
|
+
tool_calls: ToolCall[];
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Data for a status event
|
|
172
|
+
*/
|
|
173
|
+
export interface StatusEventData {
|
|
174
|
+
/** Status message */
|
|
175
|
+
status: string;
|
|
176
|
+
/** Additional details */
|
|
177
|
+
details?: Record<string, unknown>;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Base event structure
|
|
182
|
+
*/
|
|
183
|
+
export interface Event<
|
|
184
|
+
TData = MessageEventData | ToolEventData | StatusEventData
|
|
185
|
+
> {
|
|
186
|
+
/** Type of event */
|
|
187
|
+
kind: EventKind;
|
|
188
|
+
/** Source of the event */
|
|
189
|
+
source: MessageRole;
|
|
190
|
+
/** Event-specific data */
|
|
191
|
+
data: TData;
|
|
192
|
+
/** Timestamp (ISO string) */
|
|
193
|
+
timestamp?: string;
|
|
194
|
+
/** Unique event identifier */
|
|
195
|
+
id?: string;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* An emitted event (staged for inclusion)
|
|
200
|
+
*/
|
|
201
|
+
export interface EmittedEvent<
|
|
202
|
+
TData = MessageEventData | ToolEventData | StatusEventData
|
|
203
|
+
> extends Event<TData> {
|
|
204
|
+
/** Whether this event has been committed */
|
|
205
|
+
committed?: boolean;
|
|
206
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central type definitions export
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
// Agent types
|
|
6
|
+
export type {
|
|
7
|
+
AgentOptions,
|
|
8
|
+
Term,
|
|
9
|
+
Guideline,
|
|
10
|
+
GuidelineMatch,
|
|
11
|
+
AgentResponseStreamChunk,
|
|
12
|
+
AgentResponse,
|
|
13
|
+
ContextLifecycleHooks,
|
|
14
|
+
ContextProvider,
|
|
15
|
+
ValidationError,
|
|
16
|
+
ValidationResult,
|
|
17
|
+
} from "./agent";
|
|
18
|
+
export { CompositionMode } from "./agent";
|
|
19
|
+
|
|
20
|
+
// History types
|
|
21
|
+
export type {
|
|
22
|
+
Event,
|
|
23
|
+
EmittedEvent,
|
|
24
|
+
MessageEventData,
|
|
25
|
+
ToolEventData,
|
|
26
|
+
StatusEventData,
|
|
27
|
+
Participant,
|
|
28
|
+
ToolResult as EventToolResult,
|
|
29
|
+
ToolCall,
|
|
30
|
+
HistoryMessage,
|
|
31
|
+
Role,
|
|
32
|
+
HistoryItem,
|
|
33
|
+
History,
|
|
34
|
+
UserHistoryItem,
|
|
35
|
+
AssistantHistoryItem,
|
|
36
|
+
SystemHistoryItem,
|
|
37
|
+
ToolHistoryItem,
|
|
38
|
+
} from "./history";
|
|
39
|
+
export { EventKind, MessageRole } from "./history";
|
|
40
|
+
export * from "./history";
|
|
41
|
+
|
|
42
|
+
// Route types
|
|
43
|
+
export type {
|
|
44
|
+
RouteOptions,
|
|
45
|
+
RouteRef,
|
|
46
|
+
StepRef,
|
|
47
|
+
StepOptions,
|
|
48
|
+
BranchSpec,
|
|
49
|
+
StepResult,
|
|
50
|
+
BranchResult,
|
|
51
|
+
RouteCompletionHandler,
|
|
52
|
+
RouteTransitionConfig,
|
|
53
|
+
RouteLifecycleHooks,
|
|
54
|
+
} from "./route";
|
|
55
|
+
export * from "./route";
|
|
56
|
+
|
|
57
|
+
// Session types
|
|
58
|
+
export type { SessionState, PendingTransition } from "./session";
|
|
59
|
+
|
|
60
|
+
// Tool types
|
|
61
|
+
export type {
|
|
62
|
+
Tool,
|
|
63
|
+
ToolContext,
|
|
64
|
+
ToolResult,
|
|
65
|
+
ToolHandler,
|
|
66
|
+
ToolExecutionResult,
|
|
67
|
+
DataEnrichmentConfig,
|
|
68
|
+
ValidationConfig,
|
|
69
|
+
ApiCallConfig,
|
|
70
|
+
ComputationConfig
|
|
71
|
+
} from "./tool";
|
|
72
|
+
export { ToolScope } from "./tool";
|
|
73
|
+
|
|
74
|
+
// AI provider types
|
|
75
|
+
export type {
|
|
76
|
+
AiProvider,
|
|
77
|
+
GenerateMessageInput,
|
|
78
|
+
GenerateMessageOutput,
|
|
79
|
+
AgentStructuredResponse,
|
|
80
|
+
ReasoningConfig,
|
|
81
|
+
GenerateMessageStreamChunk,
|
|
82
|
+
} from "./ai";
|
|
83
|
+
|
|
84
|
+
// Schema types
|
|
85
|
+
export type { StructuredSchema } from "./schema";
|
|
86
|
+
|
|
87
|
+
// Routing types
|
|
88
|
+
export type { RoutingDecision } from "./routing";
|
|
89
|
+
export * from "./routing";
|
|
90
|
+
|
|
91
|
+
// Persistence types
|
|
92
|
+
export type {
|
|
93
|
+
SessionData,
|
|
94
|
+
MessageData,
|
|
95
|
+
SessionStatus,
|
|
96
|
+
SessionRepository,
|
|
97
|
+
MessageRepository,
|
|
98
|
+
PersistenceAdapter,
|
|
99
|
+
PersistenceConfig,
|
|
100
|
+
CreateSessionOptions,
|
|
101
|
+
CreateSessionData,
|
|
102
|
+
SaveMessageOptions,
|
|
103
|
+
CollectedStateData,
|
|
104
|
+
} from "./persistence";
|
|
105
|
+
export * from "./persistence";
|
|
106
|
+
|
|
107
|
+
// Template types
|
|
108
|
+
export type {
|
|
109
|
+
Template,
|
|
110
|
+
TemplateContext,
|
|
111
|
+
ConditionTemplate,
|
|
112
|
+
ConditionEvaluationResult
|
|
113
|
+
} from "./template";
|
|
114
|
+
export {
|
|
115
|
+
ConditionEvaluator,
|
|
116
|
+
createConditionEvaluator,
|
|
117
|
+
extractAIContextStrings,
|
|
118
|
+
hasProgrammaticConditions
|
|
119
|
+
} from "../utils/condition";
|