@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,402 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter provider implementation
|
|
3
|
+
* OpenRouter provides access to multiple AI models through a unified OpenAI-compatible API
|
|
4
|
+
*/
|
|
5
|
+
import OpenAI from "openai";
|
|
6
|
+
import { withTimeoutAndRetry, logger } from "../utils";
|
|
7
|
+
const DEFAULT_RETRY_CONFIG = {
|
|
8
|
+
timeout: 60000,
|
|
9
|
+
retries: 3,
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Type guard to check if error is ErrorWithStatus
|
|
13
|
+
*/
|
|
14
|
+
function isErrorWithStatus(error) {
|
|
15
|
+
return (typeof error === "object" &&
|
|
16
|
+
error !== null &&
|
|
17
|
+
("status" in error || "code" in error || "message" in error));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Safely extract error message
|
|
21
|
+
*/
|
|
22
|
+
function getErrorMessage(error) {
|
|
23
|
+
if (error instanceof Error) {
|
|
24
|
+
return error.message;
|
|
25
|
+
}
|
|
26
|
+
if (isErrorWithStatus(error) && error.message) {
|
|
27
|
+
return error.message;
|
|
28
|
+
}
|
|
29
|
+
return String(error);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Determines if an error should trigger backup model usage
|
|
33
|
+
*/
|
|
34
|
+
const shouldUseBackupModel = (error) => {
|
|
35
|
+
if (!isErrorWithStatus(error)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
// Server errors
|
|
39
|
+
if (error.status === 500 || error.status === 503) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
// Rate limiting
|
|
43
|
+
if (error.status === 429) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
// Model not available or overloaded
|
|
47
|
+
if (error.code === "model_not_found" || error.code === "model_overloaded") {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
const message = getErrorMessage(error);
|
|
51
|
+
if (message.includes("overloaded") ||
|
|
52
|
+
message.includes("unavailable") ||
|
|
53
|
+
message.includes("internal error") ||
|
|
54
|
+
message.includes("Internal error") ||
|
|
55
|
+
message.includes("capacity")) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* OpenRouter provider implementation
|
|
62
|
+
* Provides access to multiple AI models through OpenRouter's unified API
|
|
63
|
+
*/
|
|
64
|
+
export class OpenRouterProvider {
|
|
65
|
+
constructor(options) {
|
|
66
|
+
this.name = "openrouter";
|
|
67
|
+
const { apiKey, model, backupModels = [], siteUrl, siteName, config, retryConfig, } = options;
|
|
68
|
+
if (!apiKey) {
|
|
69
|
+
throw new Error("OpenRouter API key is required");
|
|
70
|
+
}
|
|
71
|
+
if (!model) {
|
|
72
|
+
throw new Error("Model is required. See https://openrouter.ai/models");
|
|
73
|
+
}
|
|
74
|
+
// Initialize OpenAI client with OpenRouter base URL
|
|
75
|
+
this.client = new OpenAI({
|
|
76
|
+
apiKey,
|
|
77
|
+
baseURL: "https://openrouter.ai/api/v1",
|
|
78
|
+
defaultHeaders: {
|
|
79
|
+
"HTTP-Referer": siteUrl || "",
|
|
80
|
+
"X-Title": siteName || "",
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
this.primaryModel = model;
|
|
84
|
+
this.backupModels = backupModels;
|
|
85
|
+
this.config = config;
|
|
86
|
+
this.retryConfig = {
|
|
87
|
+
timeout: retryConfig?.timeout || DEFAULT_RETRY_CONFIG.timeout,
|
|
88
|
+
retries: retryConfig?.retries || DEFAULT_RETRY_CONFIG.retries,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Adapt common schema format to OpenRouter's format.
|
|
93
|
+
* OpenRouter is OpenAI-compatible and uses standard JSON Schema.
|
|
94
|
+
*
|
|
95
|
+
* @private
|
|
96
|
+
*/
|
|
97
|
+
adaptSchemaForOpenRouter(schema) {
|
|
98
|
+
// OpenRouter is OpenAI-compatible and uses standard JSON Schema
|
|
99
|
+
// Our StructuredSchema is already JSON Schema compatible
|
|
100
|
+
return schema;
|
|
101
|
+
}
|
|
102
|
+
async generateMessage(input) {
|
|
103
|
+
return this.generateWithBackup(input);
|
|
104
|
+
}
|
|
105
|
+
async *generateMessageStream(input) {
|
|
106
|
+
yield* this.generateStreamWithBackup(input);
|
|
107
|
+
}
|
|
108
|
+
async generateWithBackup(input) {
|
|
109
|
+
// Try primary model first
|
|
110
|
+
try {
|
|
111
|
+
return await this.generateWithModel(this.primaryModel, input);
|
|
112
|
+
}
|
|
113
|
+
catch (primaryError) {
|
|
114
|
+
const primaryErrMsg = getErrorMessage(primaryError);
|
|
115
|
+
logger.warn(`[OPENROUTER] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
|
|
116
|
+
if (!shouldUseBackupModel(primaryError)) {
|
|
117
|
+
throw primaryError;
|
|
118
|
+
}
|
|
119
|
+
logger.debug(`[OPENROUTER] Trying backup models`);
|
|
120
|
+
let lastBackupError = primaryError;
|
|
121
|
+
for (let i = 0; i < this.backupModels.length; i++) {
|
|
122
|
+
const backupModel = this.backupModels[i];
|
|
123
|
+
logger.debug(`[OPENROUTER] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
|
|
124
|
+
try {
|
|
125
|
+
const result = await this.generateWithModel(backupModel, input);
|
|
126
|
+
logger.debug(`[OPENROUTER] Backup model ${backupModel} succeeded`);
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
catch (backupError) {
|
|
130
|
+
const backupErrMsg = getErrorMessage(backupError);
|
|
131
|
+
logger.warn(`[OPENROUTER] Backup model ${backupModel} failed: ${backupErrMsg}`);
|
|
132
|
+
lastBackupError = backupError;
|
|
133
|
+
if (!shouldUseBackupModel(backupError) &&
|
|
134
|
+
i < this.backupModels.length - 1) {
|
|
135
|
+
logger.debug(`[OPENROUTER] Backup model error doesn't qualify for further attempts`);
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
const lastBackupErrMsg = getErrorMessage(lastBackupError);
|
|
141
|
+
logger.error(`[OPENROUTER] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
|
|
142
|
+
throw lastBackupError;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async generateWithModel(model, input) {
|
|
146
|
+
const operation = async () => {
|
|
147
|
+
const params = {
|
|
148
|
+
model,
|
|
149
|
+
messages: [
|
|
150
|
+
{
|
|
151
|
+
role: "user",
|
|
152
|
+
content: input.prompt,
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
...this.config,
|
|
156
|
+
};
|
|
157
|
+
// Override with input parameters if provided
|
|
158
|
+
if (input.parameters?.maxOutputTokens !== undefined) {
|
|
159
|
+
params.max_tokens = input.parameters.maxOutputTokens;
|
|
160
|
+
}
|
|
161
|
+
// Add tools if provided
|
|
162
|
+
if (input.tools && input.tools.length > 0) {
|
|
163
|
+
params.tools = input.tools.map((tool) => ({
|
|
164
|
+
type: "function",
|
|
165
|
+
function: {
|
|
166
|
+
name: tool.name || tool.id,
|
|
167
|
+
description: tool.description,
|
|
168
|
+
parameters: tool.parameters, // JSON schema
|
|
169
|
+
},
|
|
170
|
+
}));
|
|
171
|
+
params.tool_choice = "auto";
|
|
172
|
+
}
|
|
173
|
+
// Use structured output API if JSON schema is provided
|
|
174
|
+
if (input.parameters?.jsonSchema) {
|
|
175
|
+
const response = await this.client.responses.parse({
|
|
176
|
+
model,
|
|
177
|
+
instructions: input.prompt,
|
|
178
|
+
input: "",
|
|
179
|
+
reasoning: {
|
|
180
|
+
effort: input.parameters?.reasoning?.effort || "low",
|
|
181
|
+
},
|
|
182
|
+
text: {
|
|
183
|
+
format: {
|
|
184
|
+
type: "json_schema",
|
|
185
|
+
name: input.parameters?.schemaName || "structured_output",
|
|
186
|
+
// Adapt common schema format to OpenRouter's format
|
|
187
|
+
schema: this.adaptSchemaForOpenRouter(input.parameters.jsonSchema),
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
if (!response.output_parsed) {
|
|
192
|
+
throw new Error("No parsed output returned from OpenRouter");
|
|
193
|
+
}
|
|
194
|
+
const structured = response.output_parsed;
|
|
195
|
+
const message = structured.message;
|
|
196
|
+
return {
|
|
197
|
+
message,
|
|
198
|
+
metadata: {
|
|
199
|
+
model: response.model,
|
|
200
|
+
tokensUsed: response.usage?.total_tokens,
|
|
201
|
+
promptTokens: response.usage?.input_tokens,
|
|
202
|
+
completionTokens: response.usage?.output_tokens,
|
|
203
|
+
},
|
|
204
|
+
structured,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
// Fall back to regular chat completions API if no schema provided
|
|
208
|
+
const response = await this.client.chat.completions.create(params);
|
|
209
|
+
const message = response.choices[0]?.message?.content;
|
|
210
|
+
if (!message) {
|
|
211
|
+
throw new Error("No response from OpenRouter");
|
|
212
|
+
}
|
|
213
|
+
let toolCalls = [];
|
|
214
|
+
if (response.choices?.[0]?.message?.tool_calls) {
|
|
215
|
+
toolCalls = response.choices[0].message.tool_calls
|
|
216
|
+
.filter((toolCall) => toolCall.type === "function")
|
|
217
|
+
.map((toolCall) => {
|
|
218
|
+
let toolCallArguments = {};
|
|
219
|
+
try {
|
|
220
|
+
toolCallArguments = JSON.parse(toolCall.function.arguments);
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
logger.warn(`[OPENROUTER] Failed to parse tool call arguments: ${getErrorMessage(error)}`);
|
|
224
|
+
toolCallArguments = {};
|
|
225
|
+
}
|
|
226
|
+
return {
|
|
227
|
+
toolName: toolCall.function.name,
|
|
228
|
+
arguments: toolCallArguments,
|
|
229
|
+
};
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
return {
|
|
233
|
+
message,
|
|
234
|
+
metadata: {
|
|
235
|
+
model: response.model,
|
|
236
|
+
finishReason: response.choices[0]?.finish_reason,
|
|
237
|
+
tokensUsed: response.usage?.total_tokens,
|
|
238
|
+
promptTokens: response.usage?.prompt_tokens,
|
|
239
|
+
completionTokens: response.usage?.completion_tokens,
|
|
240
|
+
},
|
|
241
|
+
structured: toolCalls.length > 0
|
|
242
|
+
? { message, toolCalls }
|
|
243
|
+
: undefined,
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
return withTimeoutAndRetry(operation, this.retryConfig.timeout, this.retryConfig.retries, `OpenRouter ${model}`);
|
|
247
|
+
}
|
|
248
|
+
async *generateStreamWithBackup(input) {
|
|
249
|
+
// Try primary model first
|
|
250
|
+
try {
|
|
251
|
+
yield* this.generateStreamWithModel(this.primaryModel, input);
|
|
252
|
+
}
|
|
253
|
+
catch (primaryError) {
|
|
254
|
+
const primaryErrMsg = getErrorMessage(primaryError);
|
|
255
|
+
logger.warn(`[OPENROUTER] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
|
|
256
|
+
if (!shouldUseBackupModel(primaryError)) {
|
|
257
|
+
throw primaryError;
|
|
258
|
+
}
|
|
259
|
+
logger.debug(`[OPENROUTER] Trying backup models for streaming`);
|
|
260
|
+
let lastBackupError = primaryError;
|
|
261
|
+
for (let i = 0; i < this.backupModels.length; i++) {
|
|
262
|
+
const backupModel = this.backupModels[i];
|
|
263
|
+
logger.debug(`[OPENROUTER] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
|
|
264
|
+
try {
|
|
265
|
+
yield* this.generateStreamWithModel(backupModel, input);
|
|
266
|
+
logger.debug(`[OPENROUTER] Backup model ${backupModel} succeeded`);
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
catch (backupError) {
|
|
270
|
+
const backupErrMsg = getErrorMessage(backupError);
|
|
271
|
+
logger.warn(`[OPENROUTER] Backup model ${backupModel} failed: ${backupErrMsg}`);
|
|
272
|
+
lastBackupError = backupError;
|
|
273
|
+
if (!shouldUseBackupModel(backupError) &&
|
|
274
|
+
i < this.backupModels.length - 1) {
|
|
275
|
+
logger.debug(`[OPENROUTER] Backup model error doesn't qualify for further attempts`);
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
const lastBackupErrMsg = getErrorMessage(lastBackupError);
|
|
281
|
+
logger.error(`[OPENROUTER] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
|
|
282
|
+
throw lastBackupError;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
async *generateStreamWithModel(model, input) {
|
|
286
|
+
const params = {
|
|
287
|
+
...this.config,
|
|
288
|
+
model,
|
|
289
|
+
messages: [
|
|
290
|
+
{
|
|
291
|
+
role: "user",
|
|
292
|
+
content: input.prompt,
|
|
293
|
+
},
|
|
294
|
+
],
|
|
295
|
+
stream: true,
|
|
296
|
+
};
|
|
297
|
+
// Override with input parameters if provided
|
|
298
|
+
if (input.parameters?.maxOutputTokens !== undefined) {
|
|
299
|
+
params.max_tokens = input.parameters.maxOutputTokens;
|
|
300
|
+
}
|
|
301
|
+
// Add tools if provided
|
|
302
|
+
if (input.tools && input.tools.length > 0) {
|
|
303
|
+
params.tools = input.tools.map((tool) => ({
|
|
304
|
+
type: "function",
|
|
305
|
+
function: {
|
|
306
|
+
name: tool.name || tool.id,
|
|
307
|
+
description: tool.description,
|
|
308
|
+
parameters: tool.parameters, // JSON schema
|
|
309
|
+
},
|
|
310
|
+
}));
|
|
311
|
+
params.tool_choice = "auto";
|
|
312
|
+
}
|
|
313
|
+
// Streaming path does not support responses.parse; if schema present,
|
|
314
|
+
// request JSON object and parse at the end.
|
|
315
|
+
if (input.parameters?.jsonSchema) {
|
|
316
|
+
params.response_format = { type: "json_object" };
|
|
317
|
+
}
|
|
318
|
+
const stream = await this.client.chat.completions.create(params);
|
|
319
|
+
let accumulated = "";
|
|
320
|
+
let currentModel = model;
|
|
321
|
+
let finishReason;
|
|
322
|
+
let promptTokens;
|
|
323
|
+
let completionTokens;
|
|
324
|
+
let totalTokens;
|
|
325
|
+
const toolCalls = [];
|
|
326
|
+
for await (const chunk of stream) {
|
|
327
|
+
currentModel = chunk.model;
|
|
328
|
+
const delta = chunk.choices[0]?.delta?.content || "";
|
|
329
|
+
// Extract tool calls from delta
|
|
330
|
+
if (chunk.choices[0]?.delta?.tool_calls) {
|
|
331
|
+
for (const toolCall of chunk.choices[0].delta.tool_calls) {
|
|
332
|
+
if (toolCall.function) {
|
|
333
|
+
let toolCallArguments = {};
|
|
334
|
+
try {
|
|
335
|
+
toolCallArguments = toolCall.function.arguments
|
|
336
|
+
? JSON.parse(toolCall.function.arguments)
|
|
337
|
+
: {};
|
|
338
|
+
}
|
|
339
|
+
catch (error) {
|
|
340
|
+
logger.warn(`[OPENROUTER] Failed to parse tool call arguments in stream: ${getErrorMessage(error)}`);
|
|
341
|
+
toolCallArguments = {};
|
|
342
|
+
}
|
|
343
|
+
toolCalls.push({
|
|
344
|
+
toolName: toolCall.function.name || "",
|
|
345
|
+
arguments: toolCallArguments,
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
if (delta) {
|
|
351
|
+
accumulated += delta;
|
|
352
|
+
yield {
|
|
353
|
+
delta,
|
|
354
|
+
accumulated,
|
|
355
|
+
done: false,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
if (chunk.choices[0]?.finish_reason) {
|
|
359
|
+
finishReason = chunk.choices[0].finish_reason;
|
|
360
|
+
}
|
|
361
|
+
// OpenRouter may include usage in the final chunk
|
|
362
|
+
if (chunk.usage) {
|
|
363
|
+
promptTokens = chunk.usage.prompt_tokens;
|
|
364
|
+
completionTokens = chunk.usage.completion_tokens;
|
|
365
|
+
totalTokens = chunk.usage.total_tokens;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
// Parse JSON response if schema was provided
|
|
369
|
+
let structured;
|
|
370
|
+
if (input.parameters?.jsonSchema && accumulated) {
|
|
371
|
+
try {
|
|
372
|
+
structured = JSON.parse(accumulated);
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
logger.warn("[OPENROUTER] Failed to parse JSON response in stream:", error);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
// If tools were used, include them in structured response
|
|
379
|
+
if (toolCalls.length > 0) {
|
|
380
|
+
structured = {
|
|
381
|
+
message: accumulated,
|
|
382
|
+
toolCalls,
|
|
383
|
+
...structured,
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
// Yield final chunk
|
|
387
|
+
yield {
|
|
388
|
+
delta: "",
|
|
389
|
+
accumulated,
|
|
390
|
+
done: true,
|
|
391
|
+
metadata: {
|
|
392
|
+
model: currentModel,
|
|
393
|
+
finishReason,
|
|
394
|
+
tokensUsed: totalTokens,
|
|
395
|
+
promptTokens,
|
|
396
|
+
completionTokens,
|
|
397
|
+
},
|
|
398
|
+
structured,
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
//# sourceMappingURL=OpenRouterProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenRouterProvider.js","sourceRoot":"","sources":["../../../src/providers/OpenRouterProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Provider exports
|
|
3
|
+
* Centralized export point for all AI provider implementations
|
|
4
|
+
*/
|
|
5
|
+
export { AnthropicProvider } from "./AnthropicProvider";
|
|
6
|
+
export type { AnthropicProviderOptions } from "./AnthropicProvider";
|
|
7
|
+
export { GeminiProvider } from "./GeminiProvider";
|
|
8
|
+
export type { GeminiProviderOptions } from "./GeminiProvider";
|
|
9
|
+
export { OpenAIProvider } from "./OpenAIProvider";
|
|
10
|
+
export type { OpenAIProviderOptions } from "./OpenAIProvider";
|
|
11
|
+
export { OpenRouterProvider } from "./OpenRouterProvider";
|
|
12
|
+
export type { OpenRouterProviderOptions } from "./OpenRouterProvider";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Provider exports
|
|
3
|
+
* Centralized export point for all AI provider implementations
|
|
4
|
+
*/
|
|
5
|
+
export { AnthropicProvider } from "./AnthropicProvider";
|
|
6
|
+
export { GeminiProvider } from "./GeminiProvider";
|
|
7
|
+
export { OpenAIProvider } from "./OpenAIProvider";
|
|
8
|
+
export { OpenRouterProvider } from "./OpenRouterProvider";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent-related type definitions
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentStructuredResponse, AiProvider } from "./ai";
|
|
5
|
+
import type { Tool } from "./tool";
|
|
6
|
+
import type { RouteOptions } from "./route";
|
|
7
|
+
import type { PersistenceConfig } from "./persistence";
|
|
8
|
+
import type { SessionState } from "./session";
|
|
9
|
+
import type { StructuredSchema } from "./schema";
|
|
10
|
+
import { Template, ConditionTemplate } from "./template";
|
|
11
|
+
/**
|
|
12
|
+
* Composition mode determines how the agent processes and structures responses
|
|
13
|
+
*/
|
|
14
|
+
export declare enum CompositionMode {
|
|
15
|
+
/** Fluid, natural conversation without strict structure */
|
|
16
|
+
FLUID = "fluid",
|
|
17
|
+
/** Canned responses with fluid fallback */
|
|
18
|
+
CANNED_FLUID = "canned_fluid",
|
|
19
|
+
/** Composited canned responses */
|
|
20
|
+
CANNED_COMPOSITED = "composited_canned",
|
|
21
|
+
/** Strict canned responses only */
|
|
22
|
+
CANNED_STRICT = "strict_canned"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Context lifecycle hooks for managing step persistence
|
|
26
|
+
*/
|
|
27
|
+
export interface ContextLifecycleHooks<TContext = unknown, TData = unknown> {
|
|
28
|
+
/**
|
|
29
|
+
* Called before respond() to get fresh context
|
|
30
|
+
* Useful for loading context from a database or cache
|
|
31
|
+
*/
|
|
32
|
+
beforeRespond?: (currentContext: TContext) => Promise<TContext> | TContext;
|
|
33
|
+
/**
|
|
34
|
+
* Called after context is updated via updateContext() or tool execution
|
|
35
|
+
* Useful for persisting context to a database or cache
|
|
36
|
+
*/
|
|
37
|
+
onContextUpdate?: (newContext: TContext, previousContext: TContext) => Promise<void> | void;
|
|
38
|
+
/**
|
|
39
|
+
* Called after collected data is updated (from AI response or tool execution)
|
|
40
|
+
* Useful for validation, enrichment, or persistence of collected data
|
|
41
|
+
* Return modified collected data or the same data to keep it unchanged
|
|
42
|
+
*
|
|
43
|
+
* Note: This hook now works with agent-level data collection (TData type)
|
|
44
|
+
*/
|
|
45
|
+
onDataUpdate?: (data: Partial<TData>, previousCollected: Partial<TData>) => Partial<TData> | Promise<Partial<TData>>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Context provider function for always-fresh context
|
|
49
|
+
* Alternative to static context, useful for loading from external sources
|
|
50
|
+
*/
|
|
51
|
+
export type ContextProvider<TContext = unknown> = () => Promise<TContext> | TContext;
|
|
52
|
+
/**
|
|
53
|
+
* Options for creating an Agent
|
|
54
|
+
*/
|
|
55
|
+
export interface AgentOptions<TContext = unknown, TData = unknown> {
|
|
56
|
+
/** Display name of the agent */
|
|
57
|
+
name: string;
|
|
58
|
+
/** Detailed description of the agent's purpose and personality */
|
|
59
|
+
description?: string;
|
|
60
|
+
/** The agent's primary goal or objective */
|
|
61
|
+
goal?: string;
|
|
62
|
+
/** Optional personality/tone prompt used in prompts */
|
|
63
|
+
personality?: Template<TContext>;
|
|
64
|
+
/** Optional identity prompt defining the agent's self-concept and role */
|
|
65
|
+
identity?: Template<TContext>;
|
|
66
|
+
/** Enable debug logging */
|
|
67
|
+
debug?: boolean;
|
|
68
|
+
/** Default context data available to the agent */
|
|
69
|
+
context?: TContext;
|
|
70
|
+
/** Optional current session for convenience methods */
|
|
71
|
+
session?: SessionState;
|
|
72
|
+
/** Optional sessionId to load or create - managed by SessionManager */
|
|
73
|
+
sessionId?: string;
|
|
74
|
+
/** Context provider function for always-fresh context (alternative to static context) */
|
|
75
|
+
contextProvider?: ContextProvider<TContext>;
|
|
76
|
+
/** Lifecycle hooks for context management */
|
|
77
|
+
hooks?: ContextLifecycleHooks<TContext, TData>;
|
|
78
|
+
/** AI provider strategy for generating responses */
|
|
79
|
+
provider: AiProvider;
|
|
80
|
+
/** Composition mode for response generation */
|
|
81
|
+
compositionMode?: CompositionMode;
|
|
82
|
+
/** Initial terms for domain glossary */
|
|
83
|
+
terms?: Term<TContext, TData>[];
|
|
84
|
+
/** Initial guidelines for agent behavior */
|
|
85
|
+
guidelines?: Guideline<TContext, TData>[];
|
|
86
|
+
/** Global tools available to all routes */
|
|
87
|
+
tools?: Tool<TContext, TData, unknown>[];
|
|
88
|
+
/** Initial routes (will be instantiated as Route objects) */
|
|
89
|
+
routes?: RouteOptions<TContext, TData>[];
|
|
90
|
+
/** Optional persistence configuration for auto-saving sessions and messages */
|
|
91
|
+
persistence?: PersistenceConfig<TData>;
|
|
92
|
+
/** Knowledge base containing any JSON structure the AI should know */
|
|
93
|
+
knowledgeBase?: Record<string, unknown>;
|
|
94
|
+
/** Agent-level data schema defining the complete data structure for collection */
|
|
95
|
+
schema?: StructuredSchema;
|
|
96
|
+
/** Initial data to pre-populate when creating the agent */
|
|
97
|
+
initialData?: Partial<TData>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* A term in the domain glossary
|
|
101
|
+
*/
|
|
102
|
+
export interface Term<TContext = unknown, TData = unknown> {
|
|
103
|
+
/** Name of the term */
|
|
104
|
+
name: Template<TContext, TData>;
|
|
105
|
+
/** Description/definition of the term */
|
|
106
|
+
description: Template<TContext, TData>;
|
|
107
|
+
/** Alternative names or synonyms */
|
|
108
|
+
synonyms?: Template<TContext, TData>[];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* A behavioral guideline for the agent
|
|
112
|
+
*/
|
|
113
|
+
export interface Guideline<TContext = unknown, TData = unknown> {
|
|
114
|
+
/** Unique identifier */
|
|
115
|
+
id?: string;
|
|
116
|
+
/** Condition that triggers this guideline (optional for always-active guidelines) */
|
|
117
|
+
condition?: ConditionTemplate<TContext, TData>;
|
|
118
|
+
/** Action the agent should take when the condition is met */
|
|
119
|
+
action: Template<TContext, TData>;
|
|
120
|
+
/** Whether this guideline is currently enabled */
|
|
121
|
+
enabled?: boolean;
|
|
122
|
+
/** Tags for organizing and filtering guidelines */
|
|
123
|
+
tags?: string[];
|
|
124
|
+
/** Additional metadata */
|
|
125
|
+
metadata?: Record<string, unknown>;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Guideline match with rationale
|
|
129
|
+
*/
|
|
130
|
+
export interface GuidelineMatch<TContext = unknown, TData = unknown> {
|
|
131
|
+
/** The matched guideline */
|
|
132
|
+
guideline: Guideline<TContext, TData>;
|
|
133
|
+
/** Explanation of why this guideline was matched */
|
|
134
|
+
rationale?: string;
|
|
135
|
+
}
|
|
136
|
+
export interface AgentResponse<TData = Record<string, unknown>> {
|
|
137
|
+
message: string;
|
|
138
|
+
session?: SessionState<TData>;
|
|
139
|
+
toolCalls?: Array<{
|
|
140
|
+
toolName: string;
|
|
141
|
+
arguments: Record<string, unknown>;
|
|
142
|
+
}>;
|
|
143
|
+
isRouteComplete?: boolean;
|
|
144
|
+
}
|
|
145
|
+
export interface AgentResponseStreamChunk<TData = Record<string, unknown>> {
|
|
146
|
+
delta: string;
|
|
147
|
+
accumulated: string;
|
|
148
|
+
done: boolean;
|
|
149
|
+
session?: SessionState<TData>;
|
|
150
|
+
toolCalls?: Array<{
|
|
151
|
+
toolName: string;
|
|
152
|
+
arguments: Record<string, unknown>;
|
|
153
|
+
}>;
|
|
154
|
+
isRouteComplete?: boolean;
|
|
155
|
+
metadata?: {
|
|
156
|
+
model?: string;
|
|
157
|
+
tokensUsed?: number;
|
|
158
|
+
finishReason?: string;
|
|
159
|
+
[key: string]: unknown;
|
|
160
|
+
};
|
|
161
|
+
structured?: AgentStructuredResponse;
|
|
162
|
+
error?: Error;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Validation error for data validation
|
|
166
|
+
*/
|
|
167
|
+
export interface ValidationError {
|
|
168
|
+
field: string;
|
|
169
|
+
value: unknown;
|
|
170
|
+
message: string;
|
|
171
|
+
schemaPath: string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Result of data validation
|
|
175
|
+
*/
|
|
176
|
+
export interface ValidationResult {
|
|
177
|
+
valid: boolean;
|
|
178
|
+
errors: ValidationError[];
|
|
179
|
+
warnings: ValidationError[];
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent-related type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Composition mode determines how the agent processes and structures responses
|
|
6
|
+
*/
|
|
7
|
+
export var CompositionMode;
|
|
8
|
+
(function (CompositionMode) {
|
|
9
|
+
/** Fluid, natural conversation without strict structure */
|
|
10
|
+
CompositionMode["FLUID"] = "fluid";
|
|
11
|
+
/** Canned responses with fluid fallback */
|
|
12
|
+
CompositionMode["CANNED_FLUID"] = "canned_fluid";
|
|
13
|
+
/** Composited canned responses */
|
|
14
|
+
CompositionMode["CANNED_COMPOSITED"] = "composited_canned";
|
|
15
|
+
/** Strict canned responses only */
|
|
16
|
+
CompositionMode["CANNED_STRICT"] = "strict_canned";
|
|
17
|
+
})(CompositionMode || (CompositionMode = {}));
|
|
18
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,MAAM,CAAN,IAAY,eASX;AATD,WAAY,eAAe;IACzB,2DAA2D;IAC3D,kCAAe,CAAA;IACf,2CAA2C;IAC3C,gDAA6B,CAAA;IAC7B,kCAAkC;IAClC,0DAAuC,CAAA;IACvC,mCAAmC;IACnC,kDAA+B,CAAA;AACjC,CAAC,EATW,eAAe,KAAf,eAAe,QAS1B"}
|