@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,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* History normalization utilities
|
|
4
|
+
* Convert simplified history format to internal Event format
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.historyItemToEvent = historyItemToEvent;
|
|
8
|
+
exports.historyToEvents = historyToEvents;
|
|
9
|
+
exports.eventToHistoryItem = eventToHistoryItem;
|
|
10
|
+
exports.eventsToHistory = eventsToHistory;
|
|
11
|
+
exports.normalizeHistory = normalizeHistory;
|
|
12
|
+
exports.userMessage = userMessage;
|
|
13
|
+
exports.assistantMessage = assistantMessage;
|
|
14
|
+
exports.toolMessage = toolMessage;
|
|
15
|
+
exports.systemMessage = systemMessage;
|
|
16
|
+
const types_1 = require("../types");
|
|
17
|
+
/**
|
|
18
|
+
* Convert a simplified history item to an internal Event
|
|
19
|
+
* @param item - The HistoryItem to convert
|
|
20
|
+
* @returns Event with proper type-safe structure
|
|
21
|
+
* @throws Error if the history item is malformed or has invalid data
|
|
22
|
+
*/
|
|
23
|
+
function historyItemToEvent(item) {
|
|
24
|
+
if (!item || typeof item !== 'object') {
|
|
25
|
+
throw new Error('Invalid history item: must be a non-null object');
|
|
26
|
+
}
|
|
27
|
+
if (!item.role || typeof item.role !== 'string') {
|
|
28
|
+
throw new Error('Invalid history item: role is required and must be a string');
|
|
29
|
+
}
|
|
30
|
+
const timestamp = new Date().toISOString();
|
|
31
|
+
switch (item.role) {
|
|
32
|
+
case "user": {
|
|
33
|
+
const userItem = item;
|
|
34
|
+
if (typeof userItem.content !== 'string') {
|
|
35
|
+
throw new Error('Invalid user history item: content must be a string');
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
kind: types_1.EventKind.MESSAGE,
|
|
39
|
+
source: types_1.MessageRole.USER,
|
|
40
|
+
timestamp,
|
|
41
|
+
data: {
|
|
42
|
+
participant: {
|
|
43
|
+
display_name: userItem.name || "User",
|
|
44
|
+
},
|
|
45
|
+
message: userItem.content,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
case "assistant": {
|
|
50
|
+
const assistantItem = item;
|
|
51
|
+
if (assistantItem.content !== null && typeof assistantItem.content !== 'string') {
|
|
52
|
+
throw new Error('Invalid assistant history item: content must be a string or null');
|
|
53
|
+
}
|
|
54
|
+
const event = {
|
|
55
|
+
kind: types_1.EventKind.MESSAGE,
|
|
56
|
+
source: types_1.MessageRole.ASSISTANT,
|
|
57
|
+
timestamp,
|
|
58
|
+
data: {
|
|
59
|
+
participant: {
|
|
60
|
+
display_name: "Assistant",
|
|
61
|
+
},
|
|
62
|
+
message: assistantItem.content || "",
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
// If there are tool calls, validate and add them
|
|
66
|
+
if (assistantItem.tool_calls && assistantItem.tool_calls.length > 0) {
|
|
67
|
+
if (!Array.isArray(assistantItem.tool_calls)) {
|
|
68
|
+
throw new Error('Invalid assistant history item: tool_calls must be an array');
|
|
69
|
+
}
|
|
70
|
+
for (const toolCall of assistantItem.tool_calls) {
|
|
71
|
+
if (!toolCall.id || !toolCall.name || typeof toolCall.arguments !== 'object') {
|
|
72
|
+
throw new Error('Invalid tool call: id, name, and arguments are required');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
event.data.toolCalls = assistantItem.tool_calls;
|
|
76
|
+
}
|
|
77
|
+
return event;
|
|
78
|
+
}
|
|
79
|
+
case "tool": {
|
|
80
|
+
const toolItem = item;
|
|
81
|
+
if (!toolItem.tool_call_id || typeof toolItem.tool_call_id !== 'string') {
|
|
82
|
+
throw new Error('Invalid tool history item: tool_call_id is required and must be a string');
|
|
83
|
+
}
|
|
84
|
+
if (!toolItem.name || typeof toolItem.name !== 'string') {
|
|
85
|
+
throw new Error('Invalid tool history item: name is required and must be a string');
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
kind: types_1.EventKind.TOOL,
|
|
89
|
+
source: types_1.MessageRole.AGENT,
|
|
90
|
+
timestamp,
|
|
91
|
+
data: {
|
|
92
|
+
tool_calls: [
|
|
93
|
+
{
|
|
94
|
+
tool_id: toolItem.tool_call_id,
|
|
95
|
+
arguments: {}, // Tool results don't have arguments
|
|
96
|
+
result: {
|
|
97
|
+
data: toolItem.content,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
case "system": {
|
|
105
|
+
const systemItem = item;
|
|
106
|
+
if (typeof systemItem.content !== 'string') {
|
|
107
|
+
throw new Error('Invalid system history item: content must be a string');
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
kind: types_1.EventKind.MESSAGE,
|
|
111
|
+
source: types_1.MessageRole.SYSTEM,
|
|
112
|
+
timestamp,
|
|
113
|
+
data: {
|
|
114
|
+
participant: {
|
|
115
|
+
display_name: "System",
|
|
116
|
+
},
|
|
117
|
+
message: systemItem.content,
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
default:
|
|
122
|
+
throw new Error(`Invalid history item role: ${String(item.role)}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Convert an array of HistoryItems to Events
|
|
127
|
+
* @param history - Array of HistoryItems to convert
|
|
128
|
+
* @returns Array of Events with proper type-safe structure
|
|
129
|
+
* @throws Error if any history item is malformed
|
|
130
|
+
*/
|
|
131
|
+
function historyToEvents(history) {
|
|
132
|
+
if (!Array.isArray(history)) {
|
|
133
|
+
throw new Error('Invalid history: must be an array');
|
|
134
|
+
}
|
|
135
|
+
return history.map((item, index) => {
|
|
136
|
+
try {
|
|
137
|
+
return historyItemToEvent(item);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
throw new Error(`Error converting history item at index ${index}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Convert an Event back to a HistoryItem
|
|
146
|
+
* @param event - The Event to convert
|
|
147
|
+
* @returns HistoryItem with simplified structure
|
|
148
|
+
* @throws Error if the event is malformed or has invalid data
|
|
149
|
+
*/
|
|
150
|
+
function eventToHistoryItem(event) {
|
|
151
|
+
if (!event || typeof event !== 'object') {
|
|
152
|
+
throw new Error('Invalid event: must be a non-null object');
|
|
153
|
+
}
|
|
154
|
+
if (!event.kind || !event.source || !event.data) {
|
|
155
|
+
throw new Error('Invalid event: kind, source, and data are required');
|
|
156
|
+
}
|
|
157
|
+
switch (event.kind) {
|
|
158
|
+
case types_1.EventKind.MESSAGE: {
|
|
159
|
+
const messageData = event.data;
|
|
160
|
+
if (!messageData.message && messageData.message !== '') {
|
|
161
|
+
throw new Error('Invalid message event: message is required');
|
|
162
|
+
}
|
|
163
|
+
switch (event.source) {
|
|
164
|
+
case types_1.MessageRole.USER: {
|
|
165
|
+
const userItem = {
|
|
166
|
+
role: "user",
|
|
167
|
+
content: messageData.message,
|
|
168
|
+
};
|
|
169
|
+
if (messageData.participant?.display_name && messageData.participant.display_name !== "User") {
|
|
170
|
+
userItem.name = messageData.participant.display_name;
|
|
171
|
+
}
|
|
172
|
+
return userItem;
|
|
173
|
+
}
|
|
174
|
+
case types_1.MessageRole.ASSISTANT: {
|
|
175
|
+
const assistantItem = {
|
|
176
|
+
role: "assistant",
|
|
177
|
+
content: messageData.message || null,
|
|
178
|
+
};
|
|
179
|
+
if (messageData.toolCalls && messageData.toolCalls.length > 0) {
|
|
180
|
+
assistantItem.tool_calls = messageData.toolCalls;
|
|
181
|
+
}
|
|
182
|
+
return assistantItem;
|
|
183
|
+
}
|
|
184
|
+
case types_1.MessageRole.SYSTEM: {
|
|
185
|
+
return {
|
|
186
|
+
role: "system",
|
|
187
|
+
content: messageData.message,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
default:
|
|
191
|
+
throw new Error(`Unsupported message source for conversion: ${event.source}`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
case types_1.EventKind.TOOL: {
|
|
195
|
+
const toolData = event.data;
|
|
196
|
+
if (!toolData.tool_calls || !Array.isArray(toolData.tool_calls) || toolData.tool_calls.length === 0) {
|
|
197
|
+
throw new Error('Invalid tool event: tool_calls array is required and must not be empty');
|
|
198
|
+
}
|
|
199
|
+
const firstToolCall = toolData.tool_calls[0];
|
|
200
|
+
if (!firstToolCall.tool_id) {
|
|
201
|
+
throw new Error('Invalid tool call: tool_id is required');
|
|
202
|
+
}
|
|
203
|
+
const toolItem = {
|
|
204
|
+
role: "tool",
|
|
205
|
+
tool_call_id: firstToolCall.tool_id,
|
|
206
|
+
name: firstToolCall.tool_id, // Use tool_id as name for simplicity
|
|
207
|
+
content: firstToolCall.result?.data,
|
|
208
|
+
};
|
|
209
|
+
return toolItem;
|
|
210
|
+
}
|
|
211
|
+
case types_1.EventKind.STATUS: {
|
|
212
|
+
// Status events don't have a direct HistoryItem equivalent
|
|
213
|
+
// Convert to system message for compatibility
|
|
214
|
+
const statusData = event.data;
|
|
215
|
+
return {
|
|
216
|
+
role: "system",
|
|
217
|
+
content: statusData.status || "Status update",
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
default:
|
|
221
|
+
throw new Error(`Unsupported event kind for conversion: ${String(event.kind)}`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Convert an array of Events back to HistoryItems
|
|
226
|
+
* @param events - Array of Events to convert
|
|
227
|
+
* @returns Array of HistoryItems with simplified structure
|
|
228
|
+
* @throws Error if any event is malformed
|
|
229
|
+
*/
|
|
230
|
+
function eventsToHistory(events) {
|
|
231
|
+
if (!Array.isArray(events)) {
|
|
232
|
+
throw new Error('Invalid events: must be an array');
|
|
233
|
+
}
|
|
234
|
+
return events.map((event, index) => {
|
|
235
|
+
try {
|
|
236
|
+
return eventToHistoryItem(event);
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
throw new Error(`Error converting event at index ${index}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Normalize a simplified history array to internal Event array
|
|
245
|
+
* @deprecated Use historyToEvents instead
|
|
246
|
+
*/
|
|
247
|
+
function normalizeHistory(history) {
|
|
248
|
+
return historyToEvents(history);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Helper function to create a user message
|
|
252
|
+
*/
|
|
253
|
+
function userMessage(content, name) {
|
|
254
|
+
return { role: "user", content, name };
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Helper function to create an assistant message
|
|
258
|
+
*/
|
|
259
|
+
function assistantMessage(content, toolCalls) {
|
|
260
|
+
return { role: "assistant", content, tool_calls: toolCalls };
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Helper function to create a tool message
|
|
264
|
+
*/
|
|
265
|
+
function toolMessage(toolCallId, name, content) {
|
|
266
|
+
return { role: "tool", tool_call_id: toolCallId, name, content };
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Helper function to create a system message
|
|
270
|
+
*/
|
|
271
|
+
function systemMessage(content) {
|
|
272
|
+
return { role: "system", content };
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/utils/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID generation utilities
|
|
3
|
+
* Provides deterministic ID generation to ensure consistency across server restarts
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Generate a deterministic route ID
|
|
7
|
+
* Format: route_{sanitized_title}_{hash}
|
|
8
|
+
*/
|
|
9
|
+
export declare function generateRouteId(title: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Generate a deterministic step ID
|
|
12
|
+
* Format: step_{sanitized_description}_{hash} or step_{routeId}_{index}
|
|
13
|
+
*/
|
|
14
|
+
export declare function generateStepId(routeId: string, description?: string, index?: number): string;
|
|
15
|
+
/**
|
|
16
|
+
* Generate a deterministic tool ID
|
|
17
|
+
* Format: tool_{sanitized_name}_{hash}
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateToolId(name: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Generate a deterministic tool ID for inline tool handlers
|
|
22
|
+
* Format: tool_inline_{stepId}_{hash}
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateInlineToolId(stepId: string): string;
|
|
25
|
+
//# sourceMappingURL=id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CASR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3D"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ID generation utilities
|
|
4
|
+
* Provides deterministic ID generation to ensure consistency across server restarts
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.generateRouteId = generateRouteId;
|
|
8
|
+
exports.generateStepId = generateStepId;
|
|
9
|
+
exports.generateToolId = generateToolId;
|
|
10
|
+
exports.generateInlineToolId = generateInlineToolId;
|
|
11
|
+
/**
|
|
12
|
+
* Generate a deterministic ID from a string by creating a simple hash
|
|
13
|
+
* This ensures the same input always produces the same ID
|
|
14
|
+
*/
|
|
15
|
+
function simpleHash(str) {
|
|
16
|
+
let hash = 0;
|
|
17
|
+
for (let i = 0; i < str.length; i++) {
|
|
18
|
+
const char = str.charCodeAt(i);
|
|
19
|
+
hash = (hash << 5) - hash + char;
|
|
20
|
+
hash = hash & hash; // Convert to 32-bit integer
|
|
21
|
+
}
|
|
22
|
+
return Math.abs(hash).toString(36);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Sanitize a string for use in an ID
|
|
26
|
+
*/
|
|
27
|
+
function sanitize(str) {
|
|
28
|
+
return str.toLowerCase().replace(/[^a-z0-9]+/g, "_");
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Generate a deterministic route ID
|
|
32
|
+
* Format: route_{sanitized_title}_{hash}
|
|
33
|
+
*/
|
|
34
|
+
function generateRouteId(title) {
|
|
35
|
+
const sanitized = sanitize(title);
|
|
36
|
+
const hash = simpleHash(title);
|
|
37
|
+
return `route_${sanitized}_${hash}`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Generate a deterministic step ID
|
|
41
|
+
* Format: step_{sanitized_description}_{hash} or step_{routeId}_{index}
|
|
42
|
+
*/
|
|
43
|
+
function generateStepId(routeId, description, index) {
|
|
44
|
+
if (description) {
|
|
45
|
+
const sanitized = sanitize(description);
|
|
46
|
+
const hash = simpleHash(`${routeId}_${description}`);
|
|
47
|
+
return `step_${sanitized}_${hash}`;
|
|
48
|
+
}
|
|
49
|
+
// Fallback for steps without descriptions
|
|
50
|
+
const suffix = index !== undefined ? index : simpleHash(routeId);
|
|
51
|
+
return `step_${routeId}_${suffix}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Generate a deterministic tool ID
|
|
55
|
+
* Format: tool_{sanitized_name}_{hash}
|
|
56
|
+
*/
|
|
57
|
+
function generateToolId(name) {
|
|
58
|
+
const sanitized = sanitize(name);
|
|
59
|
+
const hash = simpleHash(name);
|
|
60
|
+
return `tool_${sanitized}_${hash}`;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Generate a deterministic tool ID for inline tool handlers
|
|
64
|
+
* Format: tool_inline_{stepId}_{hash}
|
|
65
|
+
*/
|
|
66
|
+
function generateInlineToolId(stepId) {
|
|
67
|
+
const hash = simpleHash(`${stepId}_inline_tool`);
|
|
68
|
+
return `tool_inline_${stepId}_${hash}`;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../../src/utils/id.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA2BH,0CAIC;AAMD,wCAaC;AAMD,wCAIC;AAMD,oDAGC;AAnED;;;GAGG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,4BAA4B;IAClD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,SAAS,SAAS,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,OAAe,EACf,WAAoB,EACpB,KAAc;IAEd,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;QACrD,OAAO,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,0CAA0C;IAC1C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,QAAQ,OAAO,IAAI,MAAM,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,MAAc;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC;IACjD,OAAO,eAAe,MAAM,IAAI,IAAI,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions and helpers
|
|
3
|
+
*/
|
|
4
|
+
export { generateRouteId, generateStepId, generateToolId, generateInlineToolId, } from "./id";
|
|
5
|
+
export { createSession, createSessionId, enterRoute, enterStep, mergeCollected, sessionStepToData, sessionDataToStep, } from "./session";
|
|
6
|
+
export { render, renderMany, renderTemplate, renderTemplateObject, formatKnowledgeBase, createTemplateContext, } from "./template";
|
|
7
|
+
export { cloneDeep } from "./clone";
|
|
8
|
+
export { getLastMessageFromHistory } from "./event";
|
|
9
|
+
export { normalizeHistory, historyItemToEvent, historyToEvents, eventToHistoryItem, eventsToHistory, userMessage, assistantMessage, toolMessage, systemMessage, } from "./history";
|
|
10
|
+
export { LoggerLevel, logger } from "./logger";
|
|
11
|
+
export type { RetryOptions } from "./retry";
|
|
12
|
+
export { retry, withTimeoutAndRetry } from "./retry";
|
|
13
|
+
export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings, hasProgrammaticConditions, } from "./condition";
|
|
14
|
+
export { parseJSONResponse, tryParseJSONResponse } from "./json";
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,MAAM,MAAM,CAAC;AAGd,OAAO,EACL,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,MAAM,EACN,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAGpD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAG/C,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGrD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utility functions and helpers
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.tryParseJSONResponse = exports.parseJSONResponse = exports.hasProgrammaticConditions = exports.extractAIContextStrings = exports.createConditionEvaluator = exports.ConditionEvaluator = exports.withTimeoutAndRetry = exports.retry = exports.logger = exports.LoggerLevel = exports.systemMessage = exports.toolMessage = exports.assistantMessage = exports.userMessage = exports.eventsToHistory = exports.eventToHistoryItem = exports.historyToEvents = exports.historyItemToEvent = exports.normalizeHistory = exports.getLastMessageFromHistory = exports.cloneDeep = exports.createTemplateContext = exports.formatKnowledgeBase = exports.renderTemplateObject = exports.renderTemplate = exports.renderMany = exports.render = exports.sessionDataToStep = exports.sessionStepToData = exports.mergeCollected = exports.enterStep = exports.enterRoute = exports.createSessionId = exports.createSession = exports.generateInlineToolId = exports.generateToolId = exports.generateStepId = exports.generateRouteId = void 0;
|
|
7
|
+
// ID generation
|
|
8
|
+
var id_1 = require("./id");
|
|
9
|
+
Object.defineProperty(exports, "generateRouteId", { enumerable: true, get: function () { return id_1.generateRouteId; } });
|
|
10
|
+
Object.defineProperty(exports, "generateStepId", { enumerable: true, get: function () { return id_1.generateStepId; } });
|
|
11
|
+
Object.defineProperty(exports, "generateToolId", { enumerable: true, get: function () { return id_1.generateToolId; } });
|
|
12
|
+
Object.defineProperty(exports, "generateInlineToolId", { enumerable: true, get: function () { return id_1.generateInlineToolId; } });
|
|
13
|
+
// Session management
|
|
14
|
+
var session_1 = require("./session");
|
|
15
|
+
Object.defineProperty(exports, "createSession", { enumerable: true, get: function () { return session_1.createSession; } });
|
|
16
|
+
Object.defineProperty(exports, "createSessionId", { enumerable: true, get: function () { return session_1.createSessionId; } });
|
|
17
|
+
Object.defineProperty(exports, "enterRoute", { enumerable: true, get: function () { return session_1.enterRoute; } });
|
|
18
|
+
Object.defineProperty(exports, "enterStep", { enumerable: true, get: function () { return session_1.enterStep; } });
|
|
19
|
+
Object.defineProperty(exports, "mergeCollected", { enumerable: true, get: function () { return session_1.mergeCollected; } });
|
|
20
|
+
Object.defineProperty(exports, "sessionStepToData", { enumerable: true, get: function () { return session_1.sessionStepToData; } });
|
|
21
|
+
Object.defineProperty(exports, "sessionDataToStep", { enumerable: true, get: function () { return session_1.sessionDataToStep; } });
|
|
22
|
+
// Template rendering
|
|
23
|
+
var template_1 = require("./template");
|
|
24
|
+
Object.defineProperty(exports, "render", { enumerable: true, get: function () { return template_1.render; } });
|
|
25
|
+
Object.defineProperty(exports, "renderMany", { enumerable: true, get: function () { return template_1.renderMany; } });
|
|
26
|
+
Object.defineProperty(exports, "renderTemplate", { enumerable: true, get: function () { return template_1.renderTemplate; } });
|
|
27
|
+
Object.defineProperty(exports, "renderTemplateObject", { enumerable: true, get: function () { return template_1.renderTemplateObject; } });
|
|
28
|
+
Object.defineProperty(exports, "formatKnowledgeBase", { enumerable: true, get: function () { return template_1.formatKnowledgeBase; } });
|
|
29
|
+
Object.defineProperty(exports, "createTemplateContext", { enumerable: true, get: function () { return template_1.createTemplateContext; } });
|
|
30
|
+
// Cloning utilities
|
|
31
|
+
var clone_1 = require("./clone");
|
|
32
|
+
Object.defineProperty(exports, "cloneDeep", { enumerable: true, get: function () { return clone_1.cloneDeep; } });
|
|
33
|
+
// Event utilities
|
|
34
|
+
var event_1 = require("./event");
|
|
35
|
+
Object.defineProperty(exports, "getLastMessageFromHistory", { enumerable: true, get: function () { return event_1.getLastMessageFromHistory; } });
|
|
36
|
+
// History utilities
|
|
37
|
+
var history_1 = require("./history");
|
|
38
|
+
Object.defineProperty(exports, "normalizeHistory", { enumerable: true, get: function () { return history_1.normalizeHistory; } });
|
|
39
|
+
Object.defineProperty(exports, "historyItemToEvent", { enumerable: true, get: function () { return history_1.historyItemToEvent; } });
|
|
40
|
+
Object.defineProperty(exports, "historyToEvents", { enumerable: true, get: function () { return history_1.historyToEvents; } });
|
|
41
|
+
Object.defineProperty(exports, "eventToHistoryItem", { enumerable: true, get: function () { return history_1.eventToHistoryItem; } });
|
|
42
|
+
Object.defineProperty(exports, "eventsToHistory", { enumerable: true, get: function () { return history_1.eventsToHistory; } });
|
|
43
|
+
Object.defineProperty(exports, "userMessage", { enumerable: true, get: function () { return history_1.userMessage; } });
|
|
44
|
+
Object.defineProperty(exports, "assistantMessage", { enumerable: true, get: function () { return history_1.assistantMessage; } });
|
|
45
|
+
Object.defineProperty(exports, "toolMessage", { enumerable: true, get: function () { return history_1.toolMessage; } });
|
|
46
|
+
Object.defineProperty(exports, "systemMessage", { enumerable: true, get: function () { return history_1.systemMessage; } });
|
|
47
|
+
// Logging
|
|
48
|
+
var logger_1 = require("./logger");
|
|
49
|
+
Object.defineProperty(exports, "LoggerLevel", { enumerable: true, get: function () { return logger_1.LoggerLevel; } });
|
|
50
|
+
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
|
|
51
|
+
var retry_1 = require("./retry");
|
|
52
|
+
Object.defineProperty(exports, "retry", { enumerable: true, get: function () { return retry_1.retry; } });
|
|
53
|
+
Object.defineProperty(exports, "withTimeoutAndRetry", { enumerable: true, get: function () { return retry_1.withTimeoutAndRetry; } });
|
|
54
|
+
// Condition utilities
|
|
55
|
+
var condition_1 = require("./condition");
|
|
56
|
+
Object.defineProperty(exports, "ConditionEvaluator", { enumerable: true, get: function () { return condition_1.ConditionEvaluator; } });
|
|
57
|
+
Object.defineProperty(exports, "createConditionEvaluator", { enumerable: true, get: function () { return condition_1.createConditionEvaluator; } });
|
|
58
|
+
Object.defineProperty(exports, "extractAIContextStrings", { enumerable: true, get: function () { return condition_1.extractAIContextStrings; } });
|
|
59
|
+
Object.defineProperty(exports, "hasProgrammaticConditions", { enumerable: true, get: function () { return condition_1.hasProgrammaticConditions; } });
|
|
60
|
+
// JSON utilities
|
|
61
|
+
var json_1 = require("./json");
|
|
62
|
+
Object.defineProperty(exports, "parseJSONResponse", { enumerable: true, get: function () { return json_1.parseJSONResponse; } });
|
|
63
|
+
Object.defineProperty(exports, "tryParseJSONResponse", { enumerable: true, get: function () { return json_1.tryParseJSONResponse; } });
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,gBAAgB;AAChB,2BAKc;AAJZ,qGAAA,eAAe,OAAA;AACf,oGAAA,cAAc,OAAA;AACd,oGAAA,cAAc,OAAA;AACd,0GAAA,oBAAoB,OAAA;AAGtB,qBAAqB;AACrB,qCAQmB;AAPjB,wGAAA,aAAa,OAAA;AACb,0GAAA,eAAe,OAAA;AACf,qGAAA,UAAU,OAAA;AACV,oGAAA,SAAS,OAAA;AACT,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AAGnB,qBAAqB;AACrB,uCAOoB;AANlB,kGAAA,MAAM,OAAA;AACN,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AAGvB,oBAAoB;AACpB,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAElB,kBAAkB;AAClB,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAElC,oBAAoB;AACpB,qCAUmB;AATjB,2GAAA,gBAAgB,OAAA;AAChB,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,sGAAA,WAAW,OAAA;AACX,2GAAA,gBAAgB,OAAA;AAChB,sGAAA,WAAW,OAAA;AACX,wGAAA,aAAa,OAAA;AAGf,UAAU;AACV,mCAA+C;AAAtC,qGAAA,WAAW,OAAA;AAAE,gGAAA,MAAM,OAAA;AAI5B,iCAAqD;AAA5C,8FAAA,KAAK,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAEnC,sBAAsB;AACtB,yCAKqB;AAJnB,+GAAA,kBAAkB,OAAA;AAClB,qHAAA,wBAAwB,OAAA;AACxB,oHAAA,uBAAuB,OAAA;AACvB,sHAAA,yBAAyB,OAAA;AAG3B,iBAAiB;AACjB,+BAAiE;AAAxD,yGAAA,iBAAiB,OAAA;AAAE,4GAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON parsing utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Clean and parse JSON response that might be wrapped in markdown code blocks
|
|
6
|
+
* Handles cases like:
|
|
7
|
+
* - ```json\n{...}\n```
|
|
8
|
+
* - ```\n{...}\n```
|
|
9
|
+
* - Plain JSON: {...}
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseJSONResponse(text: string): unknown;
|
|
12
|
+
/**
|
|
13
|
+
* Safely parse JSON response, returning undefined on failure
|
|
14
|
+
*/
|
|
15
|
+
export declare function tryParseJSONResponse(text: string): unknown;
|
|
16
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../src/utils/json.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAuBvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM1D"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* JSON parsing utilities
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseJSONResponse = parseJSONResponse;
|
|
7
|
+
exports.tryParseJSONResponse = tryParseJSONResponse;
|
|
8
|
+
/**
|
|
9
|
+
* Clean and parse JSON response that might be wrapped in markdown code blocks
|
|
10
|
+
* Handles cases like:
|
|
11
|
+
* - ```json\n{...}\n```
|
|
12
|
+
* - ```\n{...}\n```
|
|
13
|
+
* - Plain JSON: {...}
|
|
14
|
+
*/
|
|
15
|
+
function parseJSONResponse(text) {
|
|
16
|
+
if (!text || typeof text !== 'string') {
|
|
17
|
+
throw new Error('Invalid JSON response: empty or non-string input');
|
|
18
|
+
}
|
|
19
|
+
// Trim whitespace
|
|
20
|
+
let cleaned = text.trim();
|
|
21
|
+
// Remove markdown code block markers
|
|
22
|
+
// Match: ```json or ``` at start, and ``` at end
|
|
23
|
+
const codeBlockRegex = /^```(?:json)?\s*\n?([\s\S]*?)\n?```$/;
|
|
24
|
+
const match = cleaned.match(codeBlockRegex);
|
|
25
|
+
if (match) {
|
|
26
|
+
cleaned = match[1].trim();
|
|
27
|
+
}
|
|
28
|
+
// Try to parse the cleaned JSON
|
|
29
|
+
try {
|
|
30
|
+
return JSON.parse(cleaned);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw new Error(`Failed to parse JSON response: ${error instanceof Error ? error.message : String(error)}\nContent: ${cleaned.substring(0, 200)}...`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Safely parse JSON response, returning undefined on failure
|
|
38
|
+
*/
|
|
39
|
+
function tryParseJSONResponse(text) {
|
|
40
|
+
try {
|
|
41
|
+
return parseJSONResponse(text);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../src/utils/json.ts"],"names":[],"mappings":";AAAA;;GAEG;;AASH,8CAuBC;AAKD,oDAMC;AAzCD;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE1B,qCAAqC;IACrC,iDAAiD;IACjD,MAAM,cAAc,GAAG,sCAAsC,CAAC;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE5C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACxJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAUD,eAAO,MAAM,MAAM,gBAAM,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.logger = exports.LoggerLevel = void 0;
|
|
7
|
+
const loglevel_1 = __importDefault(require("loglevel"));
|
|
8
|
+
var LoggerLevel;
|
|
9
|
+
(function (LoggerLevel) {
|
|
10
|
+
LoggerLevel["DEBUG"] = "debug";
|
|
11
|
+
LoggerLevel["INFO"] = "info";
|
|
12
|
+
LoggerLevel["WARN"] = "warn";
|
|
13
|
+
LoggerLevel["ERROR"] = "error";
|
|
14
|
+
LoggerLevel["SILENT"] = "silent";
|
|
15
|
+
})(LoggerLevel || (exports.LoggerLevel = LoggerLevel = {}));
|
|
16
|
+
/**
|
|
17
|
+
* Default log level
|
|
18
|
+
*/
|
|
19
|
+
const DEFAULT_LOG_LEVEL = LoggerLevel.SILENT;
|
|
20
|
+
// Initialize logger
|
|
21
|
+
loglevel_1.default.setLevel(DEFAULT_LOG_LEVEL);
|
|
22
|
+
exports.logger = loglevel_1.default;
|
|
23
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA2B;AAE3B,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;AAE7C,oBAAoB;AACpB,kBAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAEnB,QAAA,MAAM,GAAG,kBAAG,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface RetryOptions<T> {
|
|
2
|
+
operation: () => Promise<T>;
|
|
3
|
+
maxRetries: number;
|
|
4
|
+
delay: (attempt: number) => number;
|
|
5
|
+
onRetry?: (attempt: number, error: unknown) => void;
|
|
6
|
+
onFailure?: (error: unknown) => boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function retry<T>(options: RetryOptions<T>): Promise<T>;
|
|
9
|
+
export declare const withTimeoutAndRetry: <T>(operation: () => Promise<T>, timeoutMs?: number, maxRetries?: number, operationName?: string) => Promise<T>;
|
|
10
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../../src/utils/retry.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACzC;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA8BnE;AAED,eAAO,MAAM,mBAAmB,GAAU,CAAC,EACzC,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,YAAW,MAAc,EACzB,aAAY,MAAU,EACtB,gBAAe,MAAuB,KACrC,OAAO,CAAC,CAAC,CA8CX,CAAC"}
|