@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,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI provider strategy types
|
|
3
|
+
*/
|
|
4
|
+
import type { Event } from "./history";
|
|
5
|
+
/**
|
|
6
|
+
* Reasoning/thinking configuration for AI models
|
|
7
|
+
*/
|
|
8
|
+
export interface ReasoningConfig {
|
|
9
|
+
/**
|
|
10
|
+
* Effort level for reasoning models (OpenAI: gpt-5, o-series)
|
|
11
|
+
* - minimal: Fastest, least reasoning
|
|
12
|
+
* - low: Basic reasoning
|
|
13
|
+
* - medium: Balanced reasoning
|
|
14
|
+
* - high: Maximum reasoning effort
|
|
15
|
+
*/
|
|
16
|
+
effort?: "minimal" | "low" | "medium" | "high";
|
|
17
|
+
/**
|
|
18
|
+
* Summary detail level of reasoning process
|
|
19
|
+
* - auto: Model decides
|
|
20
|
+
* - concise: Brief summary
|
|
21
|
+
* - detailed: Full reasoning details
|
|
22
|
+
*/
|
|
23
|
+
summary?: "auto" | "concise" | "detailed";
|
|
24
|
+
/**
|
|
25
|
+
* Whether to include thinking/reasoning in response (Gemini)
|
|
26
|
+
*/
|
|
27
|
+
includeThoughts?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Input for AI message generation
|
|
31
|
+
*/
|
|
32
|
+
export interface GenerateMessageInput<TContext = unknown> {
|
|
33
|
+
/** The constructed prompt */
|
|
34
|
+
prompt: string;
|
|
35
|
+
/** Interaction history */
|
|
36
|
+
history: Event[];
|
|
37
|
+
/** Context data */
|
|
38
|
+
context: TContext;
|
|
39
|
+
/** Tools available for AI to call during this interaction */
|
|
40
|
+
tools?: Array<{
|
|
41
|
+
id: string;
|
|
42
|
+
name?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
parameters?: unknown;
|
|
45
|
+
}>;
|
|
46
|
+
/** Additional generation parameters */
|
|
47
|
+
parameters?: {
|
|
48
|
+
/** Maximum output tokens to generate */
|
|
49
|
+
maxOutputTokens?: number;
|
|
50
|
+
/** Reasoning/thinking configuration */
|
|
51
|
+
reasoning?: ReasoningConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Required: Structured JSON schema the provider must enforce for output
|
|
54
|
+
*/
|
|
55
|
+
jsonSchema: {
|
|
56
|
+
[key: string]: unknown;
|
|
57
|
+
};
|
|
58
|
+
/** Optional schema name (used by providers that require one) */
|
|
59
|
+
schemaName?: string;
|
|
60
|
+
};
|
|
61
|
+
/** Abort signal for cancellation */
|
|
62
|
+
signal?: AbortSignal;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Structured response from AI containing message and metadata
|
|
66
|
+
*/
|
|
67
|
+
export interface AgentStructuredResponse extends Record<string, unknown> {
|
|
68
|
+
/** The actual message to send to the user */
|
|
69
|
+
message: string;
|
|
70
|
+
/** Route chosen by the agent (route title or null if no route) */
|
|
71
|
+
route?: string | null;
|
|
72
|
+
/** Current step within the route (step description or null) */
|
|
73
|
+
step?: string | null;
|
|
74
|
+
/** Tool calls the agent wants to execute */
|
|
75
|
+
toolCalls?: Array<{
|
|
76
|
+
/** Name of the tool to call */
|
|
77
|
+
toolName: string;
|
|
78
|
+
/** Arguments to pass to the tool */
|
|
79
|
+
arguments: Record<string, unknown>;
|
|
80
|
+
}>;
|
|
81
|
+
/** Additional reasoning or internal thoughts (optional) */
|
|
82
|
+
reasoning?: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Output from AI message generation
|
|
86
|
+
*/
|
|
87
|
+
export interface GenerateMessageOutput<TStructured = AgentStructuredResponse> {
|
|
88
|
+
/** The generated message */
|
|
89
|
+
message: string;
|
|
90
|
+
/** Optional metadata about generation */
|
|
91
|
+
metadata?: {
|
|
92
|
+
/** Model used */
|
|
93
|
+
model?: string;
|
|
94
|
+
/** Tokens consumed */
|
|
95
|
+
tokensUsed?: number;
|
|
96
|
+
/** Finish reason */
|
|
97
|
+
finishReason?: string;
|
|
98
|
+
/** Additional provider-specific data */
|
|
99
|
+
[key: string]: unknown;
|
|
100
|
+
};
|
|
101
|
+
/** Structured response data (when JSON mode is enabled) */
|
|
102
|
+
structured?: TStructured;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Stream chunk from AI message generation
|
|
106
|
+
*/
|
|
107
|
+
export interface GenerateMessageStreamChunk<TStructured = AgentStructuredResponse> {
|
|
108
|
+
/** The delta/chunk of the message */
|
|
109
|
+
delta: string;
|
|
110
|
+
/** Accumulated message so far */
|
|
111
|
+
accumulated: string;
|
|
112
|
+
/** Whether this is the final chunk */
|
|
113
|
+
done: boolean;
|
|
114
|
+
/** Optional metadata about generation */
|
|
115
|
+
metadata?: {
|
|
116
|
+
/** Model used */
|
|
117
|
+
model?: string;
|
|
118
|
+
/** Tokens consumed */
|
|
119
|
+
tokensUsed?: number;
|
|
120
|
+
/** Finish reason */
|
|
121
|
+
finishReason?: string;
|
|
122
|
+
/** Additional provider-specific data */
|
|
123
|
+
[key: string]: unknown;
|
|
124
|
+
};
|
|
125
|
+
/** Structured response data (only available when done=true and JSON mode is enabled) */
|
|
126
|
+
structured?: TStructured;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* AI provider interface (strategy pattern)
|
|
130
|
+
*/
|
|
131
|
+
export interface AiProvider {
|
|
132
|
+
/** Provider name/identifier */
|
|
133
|
+
readonly name: string;
|
|
134
|
+
/**
|
|
135
|
+
* Generate a message based on prompt and context
|
|
136
|
+
*/
|
|
137
|
+
generateMessage<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): Promise<GenerateMessageOutput<TStructured>>;
|
|
138
|
+
/**
|
|
139
|
+
* Generate a message as a stream based on prompt and context
|
|
140
|
+
*/
|
|
141
|
+
generateMessageStream<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): AsyncGenerator<GenerateMessageStreamChunk<TStructured>>;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=ai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/types/ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/types/ai.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event history and interaction types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Message source enum - defines valid sources for messages and events
|
|
6
|
+
*/
|
|
7
|
+
export declare enum MessageRole {
|
|
8
|
+
/** Message/event from user/customer */
|
|
9
|
+
USER = "user",
|
|
10
|
+
/** Conversational message from AI assistant */
|
|
11
|
+
ASSISTANT = "assistant",
|
|
12
|
+
/** Tool execution/action by AI agent */
|
|
13
|
+
AGENT = "agent",
|
|
14
|
+
/** System message/event */
|
|
15
|
+
SYSTEM = "system"
|
|
16
|
+
}
|
|
17
|
+
export type MessageRoleType = MessageRole;
|
|
18
|
+
import type { SessionState } from "./session";
|
|
19
|
+
/**
|
|
20
|
+
* Types of events in the interaction history
|
|
21
|
+
*/
|
|
22
|
+
export declare enum EventKind {
|
|
23
|
+
/** A text message event */
|
|
24
|
+
MESSAGE = "message",
|
|
25
|
+
/** A tool execution event */
|
|
26
|
+
TOOL = "tool",
|
|
27
|
+
/** A status update event */
|
|
28
|
+
STATUS = "status"
|
|
29
|
+
}
|
|
30
|
+
export type EventKindType = EventKind;
|
|
31
|
+
/**
|
|
32
|
+
* Participant in a conversation
|
|
33
|
+
*/
|
|
34
|
+
export interface Participant {
|
|
35
|
+
/** Display name */
|
|
36
|
+
display_name: string;
|
|
37
|
+
/** Unique identifier */
|
|
38
|
+
id?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Role types for simplified history format
|
|
42
|
+
*/
|
|
43
|
+
export type Role = "user" | "assistant" | "tool" | "system";
|
|
44
|
+
export type UserHistoryItem = {
|
|
45
|
+
role: "user";
|
|
46
|
+
content: string;
|
|
47
|
+
name?: string;
|
|
48
|
+
};
|
|
49
|
+
export type AssistantHistoryItem = {
|
|
50
|
+
role: "assistant";
|
|
51
|
+
content: string | null;
|
|
52
|
+
tool_calls?: Array<{
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
arguments: Record<string, unknown>;
|
|
56
|
+
}>;
|
|
57
|
+
};
|
|
58
|
+
export type ToolHistoryItem = {
|
|
59
|
+
role: "tool";
|
|
60
|
+
tool_call_id: string;
|
|
61
|
+
name: string;
|
|
62
|
+
content: any;
|
|
63
|
+
};
|
|
64
|
+
export type SystemHistoryItem = {
|
|
65
|
+
role: "system";
|
|
66
|
+
content: string;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Simplified history item for developer-friendly API
|
|
70
|
+
*/
|
|
71
|
+
export type HistoryItem = UserHistoryItem | AssistantHistoryItem | ToolHistoryItem | SystemHistoryItem;
|
|
72
|
+
/**
|
|
73
|
+
* Simplified history array type
|
|
74
|
+
*/
|
|
75
|
+
export type History = HistoryItem[];
|
|
76
|
+
/**
|
|
77
|
+
* Simple JSON format for history messages (developer-friendly)
|
|
78
|
+
*/
|
|
79
|
+
export interface HistoryMessage<TData = unknown> {
|
|
80
|
+
/** Role of the message sender */
|
|
81
|
+
role: MessageRole;
|
|
82
|
+
/** Message content */
|
|
83
|
+
content: string;
|
|
84
|
+
/** Optional participant name */
|
|
85
|
+
name?: string;
|
|
86
|
+
/** Optional timestamp (ISO string) */
|
|
87
|
+
timestamp?: string;
|
|
88
|
+
/** Optional session state */
|
|
89
|
+
session?: SessionState<TData>;
|
|
90
|
+
/** Optional additional metadata */
|
|
91
|
+
metadata?: Record<string, unknown>;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Data for a message event
|
|
95
|
+
*/
|
|
96
|
+
export interface MessageEventData {
|
|
97
|
+
/** The participant who sent the message */
|
|
98
|
+
participant: Participant;
|
|
99
|
+
/** The message content */
|
|
100
|
+
message: string;
|
|
101
|
+
/** Whether the message was flagged/censored */
|
|
102
|
+
flagged?: boolean;
|
|
103
|
+
/** Tags/reasons if flagged */
|
|
104
|
+
tags?: string[];
|
|
105
|
+
/** Tool calls made by the assistant */
|
|
106
|
+
toolCalls?: Array<{
|
|
107
|
+
id: string;
|
|
108
|
+
name: string;
|
|
109
|
+
arguments: Record<string, unknown>;
|
|
110
|
+
}>;
|
|
111
|
+
/** Session metadata attached to this message */
|
|
112
|
+
session?: {
|
|
113
|
+
routeId?: string;
|
|
114
|
+
routeTitle?: string;
|
|
115
|
+
stepId?: string;
|
|
116
|
+
stepDescription?: string;
|
|
117
|
+
data?: Record<string, unknown>;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Result of a tool execution
|
|
122
|
+
*/
|
|
123
|
+
export interface ToolResult<TData = unknown> {
|
|
124
|
+
/** The result data */
|
|
125
|
+
data: TData;
|
|
126
|
+
/** Optional metadata */
|
|
127
|
+
meta?: Record<string, unknown>;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* A single tool call within a tool event
|
|
131
|
+
*/
|
|
132
|
+
export interface ToolCall<TArgs = unknown, TResult = unknown> {
|
|
133
|
+
/** Tool identifier */
|
|
134
|
+
tool_id: string;
|
|
135
|
+
/** Arguments passed to the tool */
|
|
136
|
+
arguments: TArgs;
|
|
137
|
+
/** Result returned by the tool */
|
|
138
|
+
result: ToolResult<TResult>;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Data for a tool event
|
|
142
|
+
*/
|
|
143
|
+
export interface ToolEventData {
|
|
144
|
+
/** Array of tool calls executed */
|
|
145
|
+
tool_calls: ToolCall[];
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Data for a status event
|
|
149
|
+
*/
|
|
150
|
+
export interface StatusEventData {
|
|
151
|
+
/** Status message */
|
|
152
|
+
status: string;
|
|
153
|
+
/** Additional details */
|
|
154
|
+
details?: Record<string, unknown>;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Base event structure
|
|
158
|
+
*/
|
|
159
|
+
export interface Event<TData = MessageEventData | ToolEventData | StatusEventData> {
|
|
160
|
+
/** Type of event */
|
|
161
|
+
kind: EventKind;
|
|
162
|
+
/** Source of the event */
|
|
163
|
+
source: MessageRole;
|
|
164
|
+
/** Event-specific data */
|
|
165
|
+
data: TData;
|
|
166
|
+
/** Timestamp (ISO string) */
|
|
167
|
+
timestamp?: string;
|
|
168
|
+
/** Unique event identifier */
|
|
169
|
+
id?: string;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* An emitted event (staged for inclusion)
|
|
173
|
+
*/
|
|
174
|
+
export interface EmittedEvent<TData = MessageEventData | ToolEventData | StatusEventData> extends Event<TData> {
|
|
175
|
+
/** Whether this event has been committed */
|
|
176
|
+
committed?: boolean;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/types/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event history and interaction types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Message source enum - defines valid sources for messages and events
|
|
6
|
+
*/
|
|
7
|
+
export var MessageRole;
|
|
8
|
+
(function (MessageRole) {
|
|
9
|
+
/** Message/event from user/customer */
|
|
10
|
+
MessageRole["USER"] = "user";
|
|
11
|
+
/** Conversational message from AI assistant */
|
|
12
|
+
MessageRole["ASSISTANT"] = "assistant";
|
|
13
|
+
/** Tool execution/action by AI agent */
|
|
14
|
+
MessageRole["AGENT"] = "agent";
|
|
15
|
+
/** System message/event */
|
|
16
|
+
MessageRole["SYSTEM"] = "system";
|
|
17
|
+
})(MessageRole || (MessageRole = {}));
|
|
18
|
+
/**
|
|
19
|
+
* Types of events in the interaction history
|
|
20
|
+
*/
|
|
21
|
+
export var EventKind;
|
|
22
|
+
(function (EventKind) {
|
|
23
|
+
/** A text message event */
|
|
24
|
+
EventKind["MESSAGE"] = "message";
|
|
25
|
+
/** A tool execution event */
|
|
26
|
+
EventKind["TOOL"] = "tool";
|
|
27
|
+
/** A status update event */
|
|
28
|
+
EventKind["STATUS"] = "status";
|
|
29
|
+
})(EventKind || (EventKind = {}));
|
|
30
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/types/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,uCAAuC;IACvC,4BAAa,CAAA;IACb,+CAA+C;IAC/C,sCAAuB,CAAA;IACvB,wCAAwC;IACxC,8BAAe,CAAA;IACf,2BAA2B;IAC3B,gCAAiB,CAAA;AACnB,CAAC,EATW,WAAW,KAAX,WAAW,QAStB;AAMD;;GAEG;AACH,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,2BAA2B;IAC3B,gCAAmB,CAAA;IACnB,6BAA6B;IAC7B,0BAAa,CAAA;IACb,4BAA4B;IAC5B,8BAAiB,CAAA;AACnB,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central type definitions export
|
|
3
|
+
*/
|
|
4
|
+
export type { AgentOptions, Term, Guideline, GuidelineMatch, AgentResponseStreamChunk, AgentResponse, ContextLifecycleHooks, ContextProvider, ValidationError, ValidationResult, } from "./agent";
|
|
5
|
+
export { CompositionMode } from "./agent";
|
|
6
|
+
export type { Event, EmittedEvent, MessageEventData, ToolEventData, StatusEventData, Participant, ToolResult as EventToolResult, ToolCall, HistoryMessage, Role, HistoryItem, History, UserHistoryItem, AssistantHistoryItem, SystemHistoryItem, ToolHistoryItem, } from "./history";
|
|
7
|
+
export { EventKind, MessageRole } from "./history";
|
|
8
|
+
export * from "./history";
|
|
9
|
+
export type { RouteOptions, RouteRef, StepRef, StepOptions, BranchSpec, StepResult, BranchResult, RouteCompletionHandler, RouteTransitionConfig, RouteLifecycleHooks, } from "./route";
|
|
10
|
+
export * from "./route";
|
|
11
|
+
export type { SessionState, PendingTransition } from "./session";
|
|
12
|
+
export type { Tool, ToolContext, ToolResult, ToolHandler, ToolExecutionResult, DataEnrichmentConfig, ValidationConfig, ApiCallConfig, ComputationConfig } from "./tool";
|
|
13
|
+
export { ToolScope } from "./tool";
|
|
14
|
+
export type { AiProvider, GenerateMessageInput, GenerateMessageOutput, AgentStructuredResponse, ReasoningConfig, GenerateMessageStreamChunk, } from "./ai";
|
|
15
|
+
export type { StructuredSchema } from "./schema";
|
|
16
|
+
export type { RoutingDecision } from "./routing";
|
|
17
|
+
export * from "./routing";
|
|
18
|
+
export type { SessionData, MessageData, SessionStatus, SessionRepository, MessageRepository, PersistenceAdapter, PersistenceConfig, CreateSessionOptions, CreateSessionData, SaveMessageOptions, CollectedStateData, } from "./persistence";
|
|
19
|
+
export * from "./persistence";
|
|
20
|
+
export type { Template, TemplateContext, ConditionTemplate, ConditionEvaluationResult } from "./template";
|
|
21
|
+
export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings, hasProgrammaticConditions } from "../utils/condition";
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,IAAI,eAAe,EAC7B,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,WAAW,EACX,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,cAAc,WAAW,CAAC;AAG1B,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGjE,YAAY,EACV,IAAI,EACJ,WAAW,EACX,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,0BAA0B,GAC3B,MAAM,MAAM,CAAC;AAGd,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,cAAc,WAAW,CAAC;AAG1B,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,cAAc,eAAe,CAAC;AAG9B,YAAY,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central type definitions export
|
|
3
|
+
*/
|
|
4
|
+
export { CompositionMode } from "./agent";
|
|
5
|
+
export { EventKind, MessageRole } from "./history";
|
|
6
|
+
export * from "./history";
|
|
7
|
+
export * from "./route";
|
|
8
|
+
export { ToolScope } from "./tool";
|
|
9
|
+
export * from "./routing";
|
|
10
|
+
export * from "./persistence";
|
|
11
|
+
export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings, hasProgrammaticConditions } from "../utils/condition";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAqB1C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,cAAc,WAAW,CAAC;AAe1B,cAAc,SAAS,CAAC;AAiBxB,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAiBnC,cAAc,WAAW,CAAC;AAgB1B,cAAc,eAAe,CAAC;AAS9B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence-related type definitions
|
|
3
|
+
* Support for optional database persistence (Prisma, etc.)
|
|
4
|
+
*/
|
|
5
|
+
import type { Event, MessageRole } from "./history";
|
|
6
|
+
import type { SessionState } from "./session";
|
|
7
|
+
/**
|
|
8
|
+
* Session status enum
|
|
9
|
+
*/
|
|
10
|
+
export type SessionStatus = "active" | "completed" | "abandoned";
|
|
11
|
+
/**
|
|
12
|
+
* Base session data structure
|
|
13
|
+
*/
|
|
14
|
+
export interface SessionData<TData = Record<string, unknown>> {
|
|
15
|
+
id: string;
|
|
16
|
+
userId?: string;
|
|
17
|
+
agentName?: string;
|
|
18
|
+
status: SessionStatus;
|
|
19
|
+
currentRoute?: string;
|
|
20
|
+
currentStep?: string;
|
|
21
|
+
collectedData?: CollectedStateData<TData>;
|
|
22
|
+
messageCount?: number;
|
|
23
|
+
lastMessageAt?: Date;
|
|
24
|
+
completedAt?: Date;
|
|
25
|
+
createdAt: Date;
|
|
26
|
+
updatedAt: Date;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Data for creating a new session (subset of SessionData)
|
|
30
|
+
*/
|
|
31
|
+
export type CreateSessionData<TData = Record<string, unknown>> = Omit<SessionData<TData>, "id" | "createdAt" | "updatedAt"> & {
|
|
32
|
+
id?: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Structure for data collected during a session that needs to be persisted.
|
|
36
|
+
* This is a subset of SessionState, stored within SessionData.
|
|
37
|
+
*/
|
|
38
|
+
export interface CollectedStateData<TData = Record<string, unknown>> {
|
|
39
|
+
data: Partial<TData>;
|
|
40
|
+
routeHistory: SessionState<TData>["routeHistory"];
|
|
41
|
+
history?: SessionState<TData>["history"];
|
|
42
|
+
currentRouteTitle?: string;
|
|
43
|
+
currentStepDescription?: string;
|
|
44
|
+
metadata: SessionState<TData>["metadata"];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Base message data structure
|
|
48
|
+
*/
|
|
49
|
+
export interface MessageData {
|
|
50
|
+
id: string;
|
|
51
|
+
sessionId: string;
|
|
52
|
+
userId?: string;
|
|
53
|
+
role: MessageRole;
|
|
54
|
+
content: string;
|
|
55
|
+
route?: string;
|
|
56
|
+
step?: string;
|
|
57
|
+
toolCalls?: Array<{
|
|
58
|
+
toolName: string;
|
|
59
|
+
arguments: Record<string, unknown>;
|
|
60
|
+
}>;
|
|
61
|
+
event?: Event;
|
|
62
|
+
createdAt: Date;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Repository interface for sessions
|
|
66
|
+
* Implement this interface with your database of choice
|
|
67
|
+
*/
|
|
68
|
+
export interface SessionRepository<TData = Record<string, unknown>> {
|
|
69
|
+
/**
|
|
70
|
+
* Create a new session
|
|
71
|
+
*/
|
|
72
|
+
create(data: CreateSessionData<TData>): Promise<SessionData<TData>>;
|
|
73
|
+
/**
|
|
74
|
+
* Find session by ID
|
|
75
|
+
*/
|
|
76
|
+
findById(id: string): Promise<SessionData<TData> | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Find active session by user ID
|
|
79
|
+
*/
|
|
80
|
+
findActiveByUserId(userId: string): Promise<SessionData<TData> | null>;
|
|
81
|
+
/**
|
|
82
|
+
* Find all sessions for a user
|
|
83
|
+
*/
|
|
84
|
+
findByUserId(userId: string, limit?: number): Promise<SessionData<TData>[]>;
|
|
85
|
+
/**
|
|
86
|
+
* Update session
|
|
87
|
+
*/
|
|
88
|
+
update(id: string, data: Partial<Omit<SessionData<TData>, "id" | "createdAt">>): Promise<SessionData<TData> | null>;
|
|
89
|
+
/**
|
|
90
|
+
* Update session status
|
|
91
|
+
*/
|
|
92
|
+
updateStatus(id: string, status: SessionStatus, completedAt?: Date): Promise<SessionData<TData> | null>;
|
|
93
|
+
/**
|
|
94
|
+
* Update collected data
|
|
95
|
+
*/
|
|
96
|
+
updateCollectedData(id: string, collectedData: CollectedStateData<TData>): Promise<SessionData<TData> | null>;
|
|
97
|
+
/**
|
|
98
|
+
* Update current route and step
|
|
99
|
+
*/
|
|
100
|
+
updateRouteStep(id: string, route?: string, step?: string): Promise<SessionData<TData> | null>;
|
|
101
|
+
/**
|
|
102
|
+
* Increment message count
|
|
103
|
+
*/
|
|
104
|
+
incrementMessageCount(id: string): Promise<SessionData<TData> | null>;
|
|
105
|
+
/**
|
|
106
|
+
* Delete session
|
|
107
|
+
*/
|
|
108
|
+
delete(id: string): Promise<boolean>;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Repository interface for messages
|
|
112
|
+
* Implement this interface with your database of choice
|
|
113
|
+
*/
|
|
114
|
+
export interface MessageRepository {
|
|
115
|
+
/**
|
|
116
|
+
* Create a new message
|
|
117
|
+
*/
|
|
118
|
+
create(data: Omit<MessageData, "id" | "createdAt">): Promise<MessageData>;
|
|
119
|
+
/**
|
|
120
|
+
* Find message by ID
|
|
121
|
+
*/
|
|
122
|
+
findById(id: string): Promise<MessageData | null>;
|
|
123
|
+
/**
|
|
124
|
+
* Find all messages for a session
|
|
125
|
+
*/
|
|
126
|
+
findBySessionId(sessionId: string, limit?: number): Promise<MessageData[]>;
|
|
127
|
+
/**
|
|
128
|
+
* Find messages for a user
|
|
129
|
+
*/
|
|
130
|
+
findByUserId(userId: string, limit?: number): Promise<MessageData[]>;
|
|
131
|
+
/**
|
|
132
|
+
* Delete message by ID
|
|
133
|
+
*/
|
|
134
|
+
delete(id: string): Promise<boolean>;
|
|
135
|
+
/**
|
|
136
|
+
* Delete all messages for a session
|
|
137
|
+
*/
|
|
138
|
+
deleteBySessionId(sessionId: string): Promise<number>;
|
|
139
|
+
/**
|
|
140
|
+
* Delete all messages for a user
|
|
141
|
+
*/
|
|
142
|
+
deleteByUserId(userId: string): Promise<number>;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Persistence adapter interface
|
|
146
|
+
* Implement this to create adapters for different databases
|
|
147
|
+
*/
|
|
148
|
+
export interface PersistenceAdapter<TData = Record<string, unknown>> {
|
|
149
|
+
/**
|
|
150
|
+
* Session repository
|
|
151
|
+
*/
|
|
152
|
+
readonly sessionRepository: SessionRepository<TData>;
|
|
153
|
+
/**
|
|
154
|
+
* Message repository
|
|
155
|
+
*/
|
|
156
|
+
readonly messageRepository: MessageRepository;
|
|
157
|
+
/**
|
|
158
|
+
* Initialize the adapter (create tables, indexes, etc.)
|
|
159
|
+
* Called automatically when adapter is created
|
|
160
|
+
*/
|
|
161
|
+
initialize?(): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Disconnect/cleanup resources
|
|
164
|
+
*/
|
|
165
|
+
disconnect?(): Promise<void>;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Configuration for persistence
|
|
169
|
+
*/
|
|
170
|
+
export interface PersistenceConfig<TData = Record<string, unknown>> {
|
|
171
|
+
/**
|
|
172
|
+
* Persistence adapter instance (e.g., PrismaAdapter)
|
|
173
|
+
*/
|
|
174
|
+
adapter: PersistenceAdapter<TData>;
|
|
175
|
+
/**
|
|
176
|
+
* Whether to auto-save messages (default: true)
|
|
177
|
+
*/
|
|
178
|
+
autoSave?: boolean;
|
|
179
|
+
/**
|
|
180
|
+
* User ID to associate with sessions/messages
|
|
181
|
+
* Can also be provided per-call in methods
|
|
182
|
+
*/
|
|
183
|
+
userId?: string;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Options for creating a session
|
|
187
|
+
*/
|
|
188
|
+
export interface CreateSessionOptions<TData = Record<string, unknown>> {
|
|
189
|
+
userId?: string;
|
|
190
|
+
agentName?: string;
|
|
191
|
+
initialData?: Partial<TData>;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Options for saving a message
|
|
195
|
+
*/
|
|
196
|
+
export interface SaveMessageOptions {
|
|
197
|
+
sessionId: string;
|
|
198
|
+
userId?: string;
|
|
199
|
+
role: MessageRole;
|
|
200
|
+
content: string;
|
|
201
|
+
route?: string;
|
|
202
|
+
step?: string;
|
|
203
|
+
toolCalls?: Array<{
|
|
204
|
+
toolName: string;
|
|
205
|
+
arguments: Record<string, unknown>;
|
|
206
|
+
}>;
|
|
207
|
+
event?: Event;
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/types/persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../src/types/persistence.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|