@falai/agent 2.7.0 → 3.1.0
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 +1 -1
- package/dist/adapters/MemoryAdapter.d.ts +1 -1
- package/dist/adapters/MemoryAdapter.d.ts.map +1 -1
- package/dist/adapters/MemoryAdapter.js +3 -3
- package/dist/adapters/MemoryAdapter.js.map +1 -1
- package/dist/adapters/MongoAdapter.d.ts +1 -1
- package/dist/adapters/MongoAdapter.d.ts.map +1 -1
- package/dist/adapters/MongoAdapter.js +2 -2
- package/dist/adapters/MongoAdapter.js.map +1 -1
- package/dist/adapters/OpenSearchAdapter.d.ts +1 -1
- package/dist/adapters/OpenSearchAdapter.d.ts.map +1 -1
- package/dist/adapters/OpenSearchAdapter.js +3 -3
- package/dist/adapters/OpenSearchAdapter.js.map +1 -1
- package/dist/adapters/PostgreSQLAdapter.d.ts +1 -1
- package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
- package/dist/adapters/PostgreSQLAdapter.js +3 -3
- package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
- package/dist/adapters/PrismaAdapter.d.ts +1 -1
- package/dist/adapters/PrismaAdapter.d.ts.map +1 -1
- package/dist/adapters/PrismaAdapter.js +3 -3
- package/dist/adapters/PrismaAdapter.js.map +1 -1
- package/dist/adapters/RedisAdapter.d.ts +1 -1
- package/dist/adapters/RedisAdapter.d.ts.map +1 -1
- package/dist/adapters/RedisAdapter.js +3 -3
- package/dist/adapters/RedisAdapter.js.map +1 -1
- package/dist/adapters/SQLiteAdapter.d.ts +1 -1
- package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/dist/adapters/SQLiteAdapter.js +3 -3
- package/dist/adapters/SQLiteAdapter.js.map +1 -1
- package/dist/adapters/index.d.ts +13 -13
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +7 -7
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/sessionRow.d.ts +1 -1
- package/dist/adapters/sessionRow.d.ts.map +1 -1
- package/dist/cjs/adapters/MemoryAdapter.d.ts +1 -1
- package/dist/cjs/adapters/MemoryAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/MemoryAdapter.js +14 -14
- package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
- package/dist/cjs/adapters/MongoAdapter.d.ts +1 -1
- package/dist/cjs/adapters/MongoAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/MongoAdapter.js +4 -4
- package/dist/cjs/adapters/MongoAdapter.js.map +1 -1
- package/dist/cjs/adapters/OpenSearchAdapter.d.ts +1 -1
- package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/OpenSearchAdapter.js +6 -6
- package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.js +12 -12
- package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
- package/dist/cjs/adapters/PrismaAdapter.d.ts +1 -1
- package/dist/cjs/adapters/PrismaAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/PrismaAdapter.js +7 -7
- package/dist/cjs/adapters/PrismaAdapter.js.map +1 -1
- package/dist/cjs/adapters/RedisAdapter.d.ts +1 -1
- package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/RedisAdapter.js +13 -13
- package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.d.ts +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.js +8 -8
- package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
- package/dist/cjs/adapters/index.d.ts +13 -13
- package/dist/cjs/adapters/index.d.ts.map +1 -1
- package/dist/cjs/adapters/index.js +14 -14
- package/dist/cjs/adapters/index.js.map +1 -1
- package/dist/cjs/adapters/sessionRow.d.ts +1 -1
- package/dist/cjs/adapters/sessionRow.d.ts.map +1 -1
- package/dist/cjs/core/Agent.d.ts +11 -11
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +65 -65
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/AutoChainExecutor.d.ts +5 -5
- package/dist/cjs/core/AutoChainExecutor.d.ts.map +1 -1
- package/dist/cjs/core/AutoChainExecutor.js +26 -26
- package/dist/cjs/core/AutoChainExecutor.js.map +1 -1
- package/dist/cjs/core/BranchEvaluator.d.ts +4 -4
- package/dist/cjs/core/BranchEvaluator.d.ts.map +1 -1
- package/dist/cjs/core/BranchEvaluator.js +6 -6
- package/dist/cjs/core/BranchEvaluator.js.map +1 -1
- package/dist/cjs/core/CompactionEngine.d.ts +2 -2
- package/dist/cjs/core/CompactionEngine.d.ts.map +1 -1
- package/dist/cjs/core/DirectiveChainTracker.d.ts +1 -1
- package/dist/cjs/core/DirectiveChainTracker.d.ts.map +1 -1
- package/dist/cjs/core/DirectiveChainTracker.js +5 -5
- package/dist/cjs/core/DirectiveChainTracker.js.map +1 -1
- package/dist/cjs/core/Events.d.ts +1 -1
- package/dist/cjs/core/Events.d.ts.map +1 -1
- package/dist/cjs/core/Events.js +15 -15
- package/dist/cjs/core/Events.js.map +1 -1
- package/dist/cjs/core/Flow.d.ts +4 -4
- package/dist/cjs/core/Flow.d.ts.map +1 -1
- package/dist/cjs/core/Flow.js +15 -15
- package/dist/cjs/core/Flow.js.map +1 -1
- package/dist/cjs/core/FlowRouter.d.ts +4 -4
- package/dist/cjs/core/FlowRouter.d.ts.map +1 -1
- package/dist/cjs/core/FlowRouter.js +64 -64
- package/dist/cjs/core/FlowRouter.js.map +1 -1
- package/dist/cjs/core/PersistenceManager.d.ts +1 -1
- package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
- package/dist/cjs/core/PersistenceManager.js +10 -10
- package/dist/cjs/core/PersistenceManager.js.map +1 -1
- package/dist/cjs/core/PromptComposer.d.ts +4 -4
- package/dist/cjs/core/PromptComposer.d.ts.map +1 -1
- package/dist/cjs/core/PromptComposer.js +13 -13
- package/dist/cjs/core/PromptComposer.js.map +1 -1
- package/dist/cjs/core/PromptSectionCache.d.ts +2 -2
- package/dist/cjs/core/PromptSectionCache.d.ts.map +1 -1
- package/dist/cjs/core/ResponseEngine.d.ts +4 -4
- package/dist/cjs/core/ResponseEngine.d.ts.map +1 -1
- package/dist/cjs/core/ResponseEngine.js +7 -7
- package/dist/cjs/core/ResponseEngine.js.map +1 -1
- package/dist/cjs/core/ResponseModal.d.ts +10 -10
- package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
- package/dist/cjs/core/ResponseModal.js +69 -69
- package/dist/cjs/core/ResponseModal.js.map +1 -1
- package/dist/cjs/core/ResponsePipeline.d.ts +15 -7
- package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/cjs/core/ResponsePipeline.js +99 -91
- package/dist/cjs/core/ResponsePipeline.js.map +1 -1
- package/dist/cjs/core/SessionFinalizer.d.ts +4 -4
- package/dist/cjs/core/SessionFinalizer.d.ts.map +1 -1
- package/dist/cjs/core/SessionFinalizer.js +12 -12
- package/dist/cjs/core/SessionFinalizer.js.map +1 -1
- package/dist/cjs/core/SessionManager.d.ts +5 -5
- package/dist/cjs/core/SessionManager.d.ts.map +1 -1
- package/dist/cjs/core/SessionManager.js +8 -8
- package/dist/cjs/core/SessionManager.js.map +1 -1
- package/dist/cjs/core/SignalCoordinator.d.ts +5 -5
- package/dist/cjs/core/SignalCoordinator.d.ts.map +1 -1
- package/dist/cjs/core/SignalCoordinator.js +12 -12
- package/dist/cjs/core/SignalCoordinator.js.map +1 -1
- package/dist/cjs/core/SignalEvaluator.d.ts +4 -4
- package/dist/cjs/core/SignalEvaluator.d.ts.map +1 -1
- package/dist/cjs/core/SignalEvaluator.js +6 -6
- package/dist/cjs/core/SignalEvaluator.js.map +1 -1
- package/dist/cjs/core/SignalProcessor.d.ts +6 -6
- package/dist/cjs/core/SignalProcessor.d.ts.map +1 -1
- package/dist/cjs/core/SignalProcessor.js +14 -14
- package/dist/cjs/core/SignalProcessor.js.map +1 -1
- package/dist/cjs/core/Step.d.ts +5 -5
- package/dist/cjs/core/Step.d.ts.map +1 -1
- package/dist/cjs/core/Step.js +17 -17
- package/dist/cjs/core/Step.js.map +1 -1
- package/dist/cjs/core/StepLifecycle.d.ts +3 -3
- package/dist/cjs/core/StepLifecycle.d.ts.map +1 -1
- package/dist/cjs/core/StepLifecycle.js +10 -10
- package/dist/cjs/core/StepLifecycle.js.map +1 -1
- package/dist/cjs/core/StreamingToolExecutor.d.ts +1 -1
- package/dist/cjs/core/StreamingToolExecutor.d.ts.map +1 -1
- package/dist/cjs/core/StreamingToolExecutor.js +5 -5
- package/dist/cjs/core/StreamingToolExecutor.js.map +1 -1
- package/dist/cjs/core/ToolLoopExecutor.d.ts +4 -4
- package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -1
- package/dist/cjs/core/ToolLoopExecutor.js +51 -51
- package/dist/cjs/core/ToolLoopExecutor.js.map +1 -1
- package/dist/cjs/core/ToolManager.d.ts +5 -5
- package/dist/cjs/core/ToolManager.d.ts.map +1 -1
- package/dist/cjs/core/ToolManager.js +66 -66
- package/dist/cjs/core/ToolManager.js.map +1 -1
- package/dist/cjs/core/createAgent.d.ts +2 -2
- package/dist/cjs/core/createAgent.d.ts.map +1 -1
- package/dist/cjs/core/createAgent.js +2 -2
- package/dist/cjs/core/createAgent.js.map +1 -1
- package/dist/cjs/core/flow-namespace.d.ts +2 -2
- package/dist/cjs/core/flow-namespace.d.ts.map +1 -1
- package/dist/cjs/core/flow-namespace.js +4 -4
- package/dist/cjs/core/flow-namespace.js.map +1 -1
- package/dist/cjs/core/toolGates.d.ts +1 -1
- package/dist/cjs/core/toolGates.d.ts.map +1 -1
- package/dist/cjs/core/toolGates.js +3 -3
- package/dist/cjs/core/toolGates.js.map +1 -1
- package/dist/cjs/index.d.ts +50 -48
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +96 -91
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.d.ts +25 -42
- package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.js +32 -408
- package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
- package/dist/cjs/providers/DeepSeekProvider.d.ts +13 -34
- package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -1
- package/dist/cjs/providers/DeepSeekProvider.js +17 -51
- package/dist/cjs/providers/DeepSeekProvider.js.map +1 -1
- package/dist/cjs/providers/GeminiProvider.d.ts +24 -83
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GeminiProvider.js +33 -514
- package/dist/cjs/providers/GeminiProvider.js.map +1 -1
- package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts +9 -10
- package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GenericOpenAICompatibleProvider.js +14 -20
- package/dist/cjs/providers/GenericOpenAICompatibleProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +26 -144
- package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAICompatibleProvider.js +42 -523
- package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts +14 -20
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.js +20 -27
- package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.d.ts +20 -24
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.js +22 -38
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
- package/dist/cjs/providers/ProviderAdapter.d.ts +102 -0
- package/dist/cjs/providers/ProviderAdapter.d.ts.map +1 -0
- package/dist/cjs/providers/ProviderAdapter.js +257 -0
- package/dist/cjs/providers/ProviderAdapter.js.map +1 -0
- package/dist/cjs/providers/index.d.ts +21 -18
- package/dist/cjs/providers/index.d.ts.map +1 -1
- package/dist/cjs/providers/index.js +23 -21
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/types/agent.d.ts +11 -11
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/ai.d.ts +11 -21
- package/dist/cjs/types/ai.d.ts.map +1 -1
- package/dist/cjs/types/compaction.d.ts +2 -2
- package/dist/cjs/types/compaction.d.ts.map +1 -1
- package/dist/cjs/types/errors.d.ts +16 -20
- package/dist/cjs/types/errors.d.ts.map +1 -1
- package/dist/cjs/types/errors.js +17 -18
- package/dist/cjs/types/errors.js.map +1 -1
- package/dist/cjs/types/flow.d.ts +7 -7
- package/dist/cjs/types/flow.d.ts.map +1 -1
- package/dist/cjs/types/history.d.ts +1 -1
- package/dist/cjs/types/history.d.ts.map +1 -1
- package/dist/cjs/types/index.d.ts +17 -17
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +14 -14
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/persistence.d.ts +2 -2
- package/dist/cjs/types/persistence.d.ts.map +1 -1
- package/dist/cjs/types/session.d.ts +4 -4
- package/dist/cjs/types/session.d.ts.map +1 -1
- package/dist/cjs/types/signals.d.ts +3 -3
- package/dist/cjs/types/signals.d.ts.map +1 -1
- package/dist/cjs/types/template.d.ts +2 -2
- package/dist/cjs/types/template.d.ts.map +1 -1
- package/dist/cjs/types/tool.d.ts +2 -2
- package/dist/cjs/types/tool.d.ts.map +1 -1
- package/dist/cjs/utils/condition.d.ts +1 -1
- package/dist/cjs/utils/condition.d.ts.map +1 -1
- package/dist/cjs/utils/condition.js +6 -6
- package/dist/cjs/utils/condition.js.map +1 -1
- package/dist/cjs/utils/event.d.ts +1 -1
- package/dist/cjs/utils/event.d.ts.map +1 -1
- package/dist/cjs/utils/event.js +2 -2
- package/dist/cjs/utils/event.js.map +1 -1
- package/dist/cjs/utils/history.d.ts +2 -2
- package/dist/cjs/utils/history.d.ts.map +1 -1
- package/dist/cjs/utils/history.js +15 -15
- package/dist/cjs/utils/history.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +11 -13
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +57 -67
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/serialize.d.ts +2 -2
- package/dist/cjs/utils/serialize.d.ts.map +1 -1
- package/dist/cjs/utils/session.d.ts +3 -3
- package/dist/cjs/utils/session.d.ts.map +1 -1
- package/dist/cjs/utils/session.js +4 -4
- package/dist/cjs/utils/session.js.map +1 -1
- package/dist/cjs/utils/template.d.ts +3 -3
- package/dist/cjs/utils/template.d.ts.map +1 -1
- package/dist/cjs/utils/template.js +5 -5
- package/dist/cjs/utils/template.js.map +1 -1
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +1 -1
- package/dist/core/Agent.d.ts +11 -11
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +13 -13
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/AutoChainExecutor.d.ts +5 -5
- package/dist/core/AutoChainExecutor.d.ts.map +1 -1
- package/dist/core/AutoChainExecutor.js +5 -5
- package/dist/core/AutoChainExecutor.js.map +1 -1
- package/dist/core/BranchEvaluator.d.ts +4 -4
- package/dist/core/BranchEvaluator.d.ts.map +1 -1
- package/dist/core/BranchEvaluator.js +2 -2
- package/dist/core/BranchEvaluator.js.map +1 -1
- package/dist/core/CompactionEngine.d.ts +2 -2
- package/dist/core/CompactionEngine.d.ts.map +1 -1
- package/dist/core/DirectiveChainTracker.d.ts +1 -1
- package/dist/core/DirectiveChainTracker.d.ts.map +1 -1
- package/dist/core/DirectiveChainTracker.js +2 -2
- package/dist/core/DirectiveChainTracker.js.map +1 -1
- package/dist/core/Events.d.ts +1 -1
- package/dist/core/Events.d.ts.map +1 -1
- package/dist/core/Events.js +1 -1
- package/dist/core/Events.js.map +1 -1
- package/dist/core/Flow.d.ts +4 -4
- package/dist/core/Flow.d.ts.map +1 -1
- package/dist/core/Flow.js +3 -3
- package/dist/core/Flow.js.map +1 -1
- package/dist/core/FlowRouter.d.ts +4 -4
- package/dist/core/FlowRouter.d.ts.map +1 -1
- package/dist/core/FlowRouter.js +4 -4
- package/dist/core/FlowRouter.js.map +1 -1
- package/dist/core/PersistenceManager.d.ts +1 -1
- package/dist/core/PersistenceManager.d.ts.map +1 -1
- package/dist/core/PersistenceManager.js +3 -3
- package/dist/core/PersistenceManager.js.map +1 -1
- package/dist/core/PromptComposer.d.ts +4 -4
- package/dist/core/PromptComposer.d.ts.map +1 -1
- package/dist/core/PromptComposer.js +3 -3
- package/dist/core/PromptComposer.js.map +1 -1
- package/dist/core/PromptSectionCache.d.ts +2 -2
- package/dist/core/PromptSectionCache.d.ts.map +1 -1
- package/dist/core/ResponseEngine.d.ts +4 -4
- package/dist/core/ResponseEngine.d.ts.map +1 -1
- package/dist/core/ResponseEngine.js +2 -2
- package/dist/core/ResponseEngine.js.map +1 -1
- package/dist/core/ResponseModal.d.ts +10 -10
- package/dist/core/ResponseModal.d.ts.map +1 -1
- package/dist/core/ResponseModal.js +14 -14
- package/dist/core/ResponseModal.js.map +1 -1
- package/dist/core/ResponsePipeline.d.ts +15 -7
- package/dist/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/core/ResponsePipeline.js +25 -17
- package/dist/core/ResponsePipeline.js.map +1 -1
- package/dist/core/SessionFinalizer.d.ts +4 -4
- package/dist/core/SessionFinalizer.d.ts.map +1 -1
- package/dist/core/SessionFinalizer.js +3 -3
- package/dist/core/SessionFinalizer.js.map +1 -1
- package/dist/core/SessionManager.d.ts +5 -5
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +3 -3
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/SignalCoordinator.d.ts +5 -5
- package/dist/core/SignalCoordinator.d.ts.map +1 -1
- package/dist/core/SignalCoordinator.js +2 -2
- package/dist/core/SignalCoordinator.js.map +1 -1
- package/dist/core/SignalEvaluator.d.ts +4 -4
- package/dist/core/SignalEvaluator.d.ts.map +1 -1
- package/dist/core/SignalEvaluator.js +2 -2
- package/dist/core/SignalEvaluator.js.map +1 -1
- package/dist/core/SignalProcessor.d.ts +6 -6
- package/dist/core/SignalProcessor.d.ts.map +1 -1
- package/dist/core/SignalProcessor.js +3 -3
- package/dist/core/SignalProcessor.js.map +1 -1
- package/dist/core/Step.d.ts +5 -5
- package/dist/core/Step.d.ts.map +1 -1
- package/dist/core/Step.js +4 -4
- package/dist/core/Step.js.map +1 -1
- package/dist/core/StepLifecycle.d.ts +3 -3
- package/dist/core/StepLifecycle.d.ts.map +1 -1
- package/dist/core/StepLifecycle.js +2 -2
- package/dist/core/StepLifecycle.js.map +1 -1
- package/dist/core/StreamingToolExecutor.d.ts +1 -1
- package/dist/core/StreamingToolExecutor.d.ts.map +1 -1
- package/dist/core/StreamingToolExecutor.js +2 -2
- package/dist/core/StreamingToolExecutor.js.map +1 -1
- package/dist/core/ToolLoopExecutor.d.ts +4 -4
- package/dist/core/ToolLoopExecutor.d.ts.map +1 -1
- package/dist/core/ToolLoopExecutor.js +3 -3
- package/dist/core/ToolLoopExecutor.js.map +1 -1
- package/dist/core/ToolManager.d.ts +5 -5
- package/dist/core/ToolManager.d.ts.map +1 -1
- package/dist/core/ToolManager.js +4 -4
- package/dist/core/ToolManager.js.map +1 -1
- package/dist/core/createAgent.d.ts +2 -2
- package/dist/core/createAgent.d.ts.map +1 -1
- package/dist/core/createAgent.js +1 -1
- package/dist/core/createAgent.js.map +1 -1
- package/dist/core/flow-namespace.d.ts +2 -2
- package/dist/core/flow-namespace.d.ts.map +1 -1
- package/dist/core/flow-namespace.js +1 -1
- package/dist/core/flow-namespace.js.map +1 -1
- package/dist/core/toolGates.d.ts +1 -1
- package/dist/core/toolGates.d.ts.map +1 -1
- package/dist/core/toolGates.js +1 -1
- package/dist/core/toolGates.js.map +1 -1
- package/dist/index.d.ts +50 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -31
- package/dist/index.js.map +1 -1
- package/dist/providers/AnthropicProvider.d.ts +25 -42
- package/dist/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/providers/AnthropicProvider.js +32 -405
- package/dist/providers/AnthropicProvider.js.map +1 -1
- package/dist/providers/DeepSeekProvider.d.ts +13 -34
- package/dist/providers/DeepSeekProvider.d.ts.map +1 -1
- package/dist/providers/DeepSeekProvider.js +16 -47
- package/dist/providers/DeepSeekProvider.js.map +1 -1
- package/dist/providers/GeminiProvider.d.ts +24 -83
- package/dist/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/GeminiProvider.js +33 -514
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/GenericOpenAICompatibleProvider.d.ts +9 -10
- package/dist/providers/GenericOpenAICompatibleProvider.d.ts.map +1 -1
- package/dist/providers/GenericOpenAICompatibleProvider.js +13 -16
- package/dist/providers/GenericOpenAICompatibleProvider.js.map +1 -1
- package/dist/providers/OpenAICompatibleProvider.d.ts +26 -144
- package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -1
- package/dist/providers/OpenAICompatibleProvider.js +41 -522
- package/dist/providers/OpenAICompatibleProvider.js.map +1 -1
- package/dist/providers/OpenAIProvider.d.ts +14 -20
- package/dist/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/providers/OpenAIProvider.js +19 -23
- package/dist/providers/OpenAIProvider.js.map +1 -1
- package/dist/providers/OpenRouterProvider.d.ts +20 -24
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js +21 -34
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/providers/ProviderAdapter.d.ts +102 -0
- package/dist/providers/ProviderAdapter.d.ts.map +1 -0
- package/dist/providers/ProviderAdapter.js +251 -0
- package/dist/providers/ProviderAdapter.js.map +1 -0
- package/dist/providers/index.d.ts +21 -18
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +13 -10
- package/dist/providers/index.js.map +1 -1
- package/dist/types/agent.d.ts +11 -11
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/ai.d.ts +11 -21
- package/dist/types/ai.d.ts.map +1 -1
- package/dist/types/compaction.d.ts +2 -2
- package/dist/types/compaction.d.ts.map +1 -1
- package/dist/types/errors.d.ts +16 -20
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +15 -16
- package/dist/types/errors.js.map +1 -1
- package/dist/types/flow.d.ts +7 -7
- package/dist/types/flow.d.ts.map +1 -1
- package/dist/types/history.d.ts +1 -1
- package/dist/types/history.d.ts.map +1 -1
- package/dist/types/index.d.ts +17 -17
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -4
- package/dist/types/index.js.map +1 -1
- package/dist/types/persistence.d.ts +2 -2
- package/dist/types/persistence.d.ts.map +1 -1
- package/dist/types/session.d.ts +4 -4
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/signals.d.ts +3 -3
- package/dist/types/signals.d.ts.map +1 -1
- package/dist/types/template.d.ts +2 -2
- package/dist/types/template.d.ts.map +1 -1
- package/dist/types/tool.d.ts +2 -2
- package/dist/types/tool.d.ts.map +1 -1
- package/dist/utils/condition.d.ts +1 -1
- package/dist/utils/condition.d.ts.map +1 -1
- package/dist/utils/condition.js +2 -2
- package/dist/utils/condition.js.map +1 -1
- package/dist/utils/event.d.ts +1 -1
- package/dist/utils/event.d.ts.map +1 -1
- package/dist/utils/event.js +1 -1
- package/dist/utils/event.js.map +1 -1
- package/dist/utils/history.d.ts +2 -2
- package/dist/utils/history.d.ts.map +1 -1
- package/dist/utils/history.js +1 -1
- package/dist/utils/history.js.map +1 -1
- package/dist/utils/index.d.ts +11 -13
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +11 -12
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/serialize.d.ts +2 -2
- package/dist/utils/serialize.d.ts.map +1 -1
- package/dist/utils/session.d.ts +3 -3
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +2 -2
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/template.d.ts +3 -3
- package/dist/utils/template.d.ts.map +1 -1
- package/dist/utils/template.js +1 -1
- package/dist/utils/template.js.map +1 -1
- package/docs/reference/branches.md +2 -0
- package/docs/reference/errors.md +5 -5
- package/docs/reference/providers.md +42 -43
- package/examples/01-quickstart.ts +1 -1
- package/examples/04-instructions.ts +1 -1
- package/examples/05-branching.ts +2 -2
- package/examples/08-persistence.ts +1 -1
- package/examples/tsconfig.json +6 -3
- package/package.json +11 -8
- package/src/adapters/MemoryAdapter.ts +4 -4
- package/src/adapters/MongoAdapter.ts +3 -3
- package/src/adapters/OpenSearchAdapter.ts +4 -4
- package/src/adapters/PostgreSQLAdapter.ts +4 -4
- package/src/adapters/PrismaAdapter.ts +4 -4
- package/src/adapters/RedisAdapter.ts +4 -4
- package/src/adapters/SQLiteAdapter.ts +4 -4
- package/src/adapters/index.ts +13 -13
- package/src/adapters/sessionRow.ts +1 -1
- package/src/core/Agent.ts +18 -18
- package/src/core/AutoChainExecutor.ts +9 -9
- package/src/core/BranchEvaluator.ts +5 -5
- package/src/core/CompactionEngine.ts +2 -2
- package/src/core/DirectiveChainTracker.ts +3 -3
- package/src/core/Events.ts +2 -2
- package/src/core/Flow.ts +9 -9
- package/src/core/FlowRouter.ts +8 -8
- package/src/core/PersistenceManager.ts +4 -4
- package/src/core/PromptComposer.ts +8 -8
- package/src/core/PromptSectionCache.ts +2 -2
- package/src/core/ResponseEngine.ts +6 -6
- package/src/core/ResponseModal.ts +24 -24
- package/src/core/ResponsePipeline.ts +43 -23
- package/src/core/SessionFinalizer.ts +7 -7
- package/src/core/SessionManager.ts +7 -7
- package/src/core/SignalCoordinator.ts +7 -7
- package/src/core/SignalEvaluator.ts +6 -6
- package/src/core/SignalProcessor.ts +9 -9
- package/src/core/Step.ts +9 -9
- package/src/core/StepLifecycle.ts +6 -6
- package/src/core/StreamingToolExecutor.ts +4 -4
- package/src/core/ToolLoopExecutor.ts +7 -7
- package/src/core/ToolManager.ts +9 -9
- package/src/core/createAgent.ts +2 -2
- package/src/core/flow-namespace.ts +3 -3
- package/src/core/toolGates.ts +2 -2
- package/src/index.ts +59 -48
- package/src/providers/AnthropicProvider.ts +46 -548
- package/src/providers/DeepSeekProvider.ts +27 -92
- package/src/providers/GeminiProvider.ts +44 -680
- package/src/providers/GenericOpenAICompatibleProvider.ts +19 -27
- package/src/providers/OpenAICompatibleProvider.ts +60 -763
- package/src/providers/OpenAIProvider.ts +31 -55
- package/src/providers/OpenRouterProvider.ts +40 -70
- package/src/providers/ProviderAdapter.ts +377 -0
- package/src/providers/index.ts +21 -23
- package/src/types/agent.ts +11 -11
- package/src/types/ai.ts +11 -21
- package/src/types/compaction.ts +2 -2
- package/src/types/errors.ts +17 -35
- package/src/types/flow.ts +7 -7
- package/src/types/history.ts +1 -1
- package/src/types/index.ts +17 -17
- package/src/types/persistence.ts +2 -2
- package/src/types/session.ts +4 -4
- package/src/types/signals.ts +3 -3
- package/src/types/template.ts +2 -2
- package/src/types/tool.ts +2 -2
- package/src/utils/condition.ts +3 -3
- package/src/utils/event.ts +1 -1
- package/src/utils/history.ts +3 -3
- package/src/utils/index.ts +11 -31
- package/src/utils/serialize.ts +2 -2
- package/src/utils/session.ts +6 -6
- package/src/utils/template.ts +3 -3
- package/dist/cjs/providers/errorClassification.d.ts +0 -68
- package/dist/cjs/providers/errorClassification.d.ts.map +0 -1
- package/dist/cjs/providers/errorClassification.js +0 -150
- package/dist/cjs/providers/errorClassification.js.map +0 -1
- package/dist/cjs/utils/retry.d.ts +0 -165
- package/dist/cjs/utils/retry.d.ts.map +0 -1
- package/dist/cjs/utils/retry.js +0 -338
- package/dist/cjs/utils/retry.js.map +0 -1
- package/dist/providers/errorClassification.d.ts +0 -68
- package/dist/providers/errorClassification.d.ts.map +0 -1
- package/dist/providers/errorClassification.js +0 -142
- package/dist/providers/errorClassification.js.map +0 -1
- package/dist/utils/retry.d.ts +0 -165
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/retry.js +0 -327
- package/dist/utils/retry.js.map +0 -1
- package/src/providers/errorClassification.ts +0 -206
- package/src/utils/retry.ts +0 -523
package/src/core/Flow.ts
CHANGED
|
@@ -13,16 +13,16 @@ import type {
|
|
|
13
13
|
TemplateContext,
|
|
14
14
|
ConditionEvaluationResult,
|
|
15
15
|
Directive,
|
|
16
|
-
} from "../types";
|
|
17
|
-
import type { SessionState } from "../types/session";
|
|
18
|
-
import type { StepResult } from "../types/flow";
|
|
19
|
-
import type { ConditionWhen, ConditionIf } from "../types/flow";
|
|
16
|
+
} from "../types/index.js";
|
|
17
|
+
import type { SessionState } from "../types/session.js";
|
|
18
|
+
import type { StepResult } from "../types/flow.js";
|
|
19
|
+
import type { ConditionWhen, ConditionIf } from "../types/flow.js";
|
|
20
20
|
|
|
21
|
-
import { generateFlowId, logger } from "../utils";
|
|
22
|
-
import { splitWhenConditions } from "../utils/condition";
|
|
21
|
+
import { generateFlowId, logger } from "../utils/index.js";
|
|
22
|
+
import { splitWhenConditions } from "../utils/condition.js";
|
|
23
23
|
|
|
24
|
-
import { Step, FlowConfigurationError } from "./Step";
|
|
25
|
-
import { Agent } from './Agent'
|
|
24
|
+
import { Step, FlowConfigurationError } from "./Step.js";
|
|
25
|
+
import { Agent } from './Agent.js'
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Represents a conversational flow/journey
|
|
@@ -647,7 +647,7 @@ export class Flow<TContext = unknown, TData = unknown> {
|
|
|
647
647
|
context: context as TContext,
|
|
648
648
|
data: session.data ?? {} as Partial<TData>,
|
|
649
649
|
session: {} as SessionState<TData>,
|
|
650
|
-
history: [] as import("../types/history").Event[],
|
|
650
|
+
history: [] as import("../types/history.js").Event[],
|
|
651
651
|
dispatch: () => { },
|
|
652
652
|
};
|
|
653
653
|
const result = await this.hooks.onComplete(hookCtx);
|
package/src/core/FlowRouter.ts
CHANGED
|
@@ -5,14 +5,14 @@ import type {
|
|
|
5
5
|
SessionState,
|
|
6
6
|
AiProvider,
|
|
7
7
|
TemplateContext,
|
|
8
|
-
} from "../types";
|
|
9
|
-
import { MessageRole } from "../types";
|
|
10
|
-
import { enterFlow, mergeCollected, isFlowCompletedThisSession } from "../utils";
|
|
11
|
-
import type { Flow } from "./Flow";
|
|
12
|
-
import type { Step } from "./Step";
|
|
13
|
-
import { PromptComposer } from "./PromptComposer";
|
|
14
|
-
import { PromptSectionCache } from "./PromptSectionCache";
|
|
15
|
-
import { createTemplateContext, getLastMessageFromHistory, logger, eventsToHistory } from "../utils";
|
|
8
|
+
} from "../types/index.js";
|
|
9
|
+
import { MessageRole } from "../types/index.js";
|
|
10
|
+
import { enterFlow, mergeCollected, isFlowCompletedThisSession } from "../utils/index.js";
|
|
11
|
+
import type { Flow } from "./Flow.js";
|
|
12
|
+
import type { Step } from "./Step.js";
|
|
13
|
+
import { PromptComposer } from "./PromptComposer.js";
|
|
14
|
+
import { PromptSectionCache } from "./PromptSectionCache.js";
|
|
15
|
+
import { createTemplateContext, getLastMessageFromHistory, logger, eventsToHistory } from "../utils/index.js";
|
|
16
16
|
|
|
17
17
|
export interface CandidateStep<TContext = unknown, TData = unknown> {
|
|
18
18
|
step: Step<TContext, TData>;
|
|
@@ -17,10 +17,10 @@ import type {
|
|
|
17
17
|
History,
|
|
18
18
|
PersistenceAdapter,
|
|
19
19
|
CollectedStateData,
|
|
20
|
-
} from "../types";
|
|
21
|
-
import { createSession, sessionStepToData, sessionDataToStep, logger } from "../utils";
|
|
22
|
-
import { SessionConflictError } from "../types/errors";
|
|
23
|
-
import { convertMessagesToHistory } from "./Events";
|
|
20
|
+
} from "../types/index.js";
|
|
21
|
+
import { createSession, sessionStepToData, sessionDataToStep, logger } from "../utils/index.js";
|
|
22
|
+
import { SessionConflictError } from "../types/errors.js";
|
|
23
|
+
import { convertMessagesToHistory } from "./Events.js";
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Manager for handling persistence operations
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { Event, Term, Instruction, AgentOptions, ScopedInstructions, AppliedInstruction } from "../types";
|
|
2
|
-
import type { Flow } from "./Flow";
|
|
3
|
-
import { render, renderMany, formatKnowledgeBase, createTemplateContext } from "../utils/template";
|
|
4
|
-
import { TemplateContext } from "../types/template";
|
|
5
|
-
import { PromptSectionCache } from "./PromptSectionCache";
|
|
6
|
-
import { logger } from "../utils";
|
|
7
|
-
import { splitWhenConditions } from "../utils/condition";
|
|
1
|
+
import type { Event, Term, Instruction, AgentOptions, ScopedInstructions, AppliedInstruction } from "../types/index.js";
|
|
2
|
+
import type { Flow } from "./Flow.js";
|
|
3
|
+
import { render, renderMany, formatKnowledgeBase, createTemplateContext } from "../utils/template.js";
|
|
4
|
+
import { TemplateContext } from "../types/template.js";
|
|
5
|
+
import { PromptSectionCache } from "./PromptSectionCache.js";
|
|
6
|
+
import { logger } from "../utils/index.js";
|
|
7
|
+
import { splitWhenConditions } from "../utils/condition.js";
|
|
8
8
|
|
|
9
9
|
export class PromptComposer<TContext = unknown, TData = unknown> {
|
|
10
10
|
private parts: string[] = [];
|
|
@@ -168,7 +168,7 @@ export class PromptComposer<TContext = unknown, TData = unknown> {
|
|
|
168
168
|
const result = await predicate({
|
|
169
169
|
context: (this.renderContext.context ?? {}) as TContext,
|
|
170
170
|
data: (this.renderContext.data || {}),
|
|
171
|
-
session: (this.renderContext.session ?? { id: '', data: {}, history: [], metadata: {} }) as import("../types/session").SessionState<TData>,
|
|
171
|
+
session: (this.renderContext.session ?? { id: '', data: {}, history: [], metadata: {} }) as import("../types/session.js").SessionState<TData>,
|
|
172
172
|
history: this.renderContext.history || [],
|
|
173
173
|
});
|
|
174
174
|
if (!result) return false;
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* directives, available tools) are recomputed on every resolveAll() call.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type { PromptSectionType, PromptCacheConfig, SectionCompute } from "../types/prompt-cache";
|
|
11
|
-
export type { PromptSectionType, PromptCacheConfig, SectionCompute } from "../types/prompt-cache";
|
|
10
|
+
import type { PromptSectionType, PromptCacheConfig, SectionCompute } from "../types/prompt-cache.js";
|
|
11
|
+
export type { PromptSectionType, PromptCacheConfig, SectionCompute } from "../types/prompt-cache.js";
|
|
12
12
|
|
|
13
13
|
/** Internal entry tracking a registered section */
|
|
14
14
|
interface PromptSectionEntry {
|
|
@@ -7,12 +7,12 @@ import type {
|
|
|
7
7
|
Template,
|
|
8
8
|
ScopedInstructions,
|
|
9
9
|
AppliedInstruction,
|
|
10
|
-
} from "../types";
|
|
11
|
-
import type { Flow } from "./Flow";
|
|
12
|
-
import type { Step } from "./Step";
|
|
13
|
-
import { PromptComposer } from "./PromptComposer";
|
|
14
|
-
import { PromptSectionCache } from "./PromptSectionCache";
|
|
15
|
-
import { createTemplateContext, render } from "../utils/template";
|
|
10
|
+
} from "../types/index.js";
|
|
11
|
+
import type { Flow } from "./Flow.js";
|
|
12
|
+
import type { Step } from "./Step.js";
|
|
13
|
+
import { PromptComposer } from "./PromptComposer.js";
|
|
14
|
+
import { PromptSectionCache } from "./PromptSectionCache.js";
|
|
15
|
+
import { createTemplateContext, render } from "../utils/template.js";
|
|
16
16
|
|
|
17
17
|
export interface BuildResponsePromptParams<
|
|
18
18
|
TContext = unknown,
|
|
@@ -23,30 +23,30 @@ import type {
|
|
|
23
23
|
Term,
|
|
24
24
|
StructuredSchema,
|
|
25
25
|
CompactionOptions,
|
|
26
|
-
} from "../types";
|
|
27
|
-
import type { SignalFiring } from "../types/signals";
|
|
28
|
-
import type { SessionManager } from "./SessionManager";
|
|
29
|
-
import type { SignalProcessor } from "./SignalProcessor";
|
|
30
|
-
import type { PromptSectionCache } from "./PromptSectionCache";
|
|
31
|
-
import type { FlowRouter } from "./FlowRouter";
|
|
32
|
-
import type { PersistenceManager } from "./PersistenceManager";
|
|
33
|
-
import type { Flow } from "./Flow";
|
|
34
|
-
import { Step } from "./Step";
|
|
35
|
-
import { ResponseEngine } from "./ResponseEngine";
|
|
36
|
-
import { ResponsePipeline } from "./ResponsePipeline";
|
|
37
|
-
import { AutoChainExecutor, type AutoChainResult } from "./AutoChainExecutor";
|
|
38
|
-
import { StepLifecycle } from "./StepLifecycle";
|
|
39
|
-
import { SessionFinalizer } from "./SessionFinalizer";
|
|
40
|
-
import { ToolLoopExecutor } from "./ToolLoopExecutor";
|
|
41
|
-
import { flow } from "./flow-namespace";
|
|
42
|
-
import { SignalCoordinator } from "./SignalCoordinator";
|
|
43
|
-
import { ResponseGenerationError } from "./ResponseGenerationError";
|
|
44
|
-
import { ProviderError, SessionConflictError } from "../types/errors";
|
|
45
|
-
import { cloneDeep, mergeCollected, logger, historyToEvents, completeCurrentFlow, render, userMessage, assistantMessage } from "../utils";
|
|
46
|
-
import { createTemplateContext } from "../utils/template";
|
|
47
|
-
import { StreamingMessageDecoder } from "../utils/streamingMessage";
|
|
48
|
-
import { tryParseJSONResponse } from "../utils/json";
|
|
49
|
-
import type { ToolManager } from "./ToolManager";
|
|
26
|
+
} from "../types/index.js";
|
|
27
|
+
import type { SignalFiring } from "../types/signals.js";
|
|
28
|
+
import type { SessionManager } from "./SessionManager.js";
|
|
29
|
+
import type { SignalProcessor } from "./SignalProcessor.js";
|
|
30
|
+
import type { PromptSectionCache } from "./PromptSectionCache.js";
|
|
31
|
+
import type { FlowRouter } from "./FlowRouter.js";
|
|
32
|
+
import type { PersistenceManager } from "./PersistenceManager.js";
|
|
33
|
+
import type { Flow } from "./Flow.js";
|
|
34
|
+
import { Step } from "./Step.js";
|
|
35
|
+
import { ResponseEngine } from "./ResponseEngine.js";
|
|
36
|
+
import { ResponsePipeline } from "./ResponsePipeline.js";
|
|
37
|
+
import { AutoChainExecutor, type AutoChainResult } from "./AutoChainExecutor.js";
|
|
38
|
+
import { StepLifecycle } from "./StepLifecycle.js";
|
|
39
|
+
import { SessionFinalizer } from "./SessionFinalizer.js";
|
|
40
|
+
import { ToolLoopExecutor } from "./ToolLoopExecutor.js";
|
|
41
|
+
import { flow } from "./flow-namespace.js";
|
|
42
|
+
import { SignalCoordinator } from "./SignalCoordinator.js";
|
|
43
|
+
import { ResponseGenerationError } from "./ResponseGenerationError.js";
|
|
44
|
+
import { ProviderError, SessionConflictError } from "../types/errors.js";
|
|
45
|
+
import { cloneDeep, mergeCollected, logger, historyToEvents, completeCurrentFlow, render, userMessage, assistantMessage } from "../utils/index.js";
|
|
46
|
+
import { createTemplateContext } from "../utils/template.js";
|
|
47
|
+
import { StreamingMessageDecoder } from "../utils/streamingMessage.js";
|
|
48
|
+
import { tryParseJSONResponse } from "../utils/json.js";
|
|
49
|
+
import type { ToolManager } from "./ToolManager.js";
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* The narrow surface ResponseModal (and its collaborators) need from the
|
|
@@ -8,8 +8,8 @@ import type { EndedFlow,
|
|
|
8
8
|
SessionState,
|
|
9
9
|
Directive,
|
|
10
10
|
StructuredSchema,
|
|
11
|
-
} from "../types";
|
|
12
|
-
import type { SignalFiring } from "../types/signals";
|
|
11
|
+
} from "../types/index.js";
|
|
12
|
+
import type { SignalFiring } from "../types/signals.js";
|
|
13
13
|
import {
|
|
14
14
|
createSession,
|
|
15
15
|
enterStep,
|
|
@@ -18,16 +18,16 @@ import {
|
|
|
18
18
|
historyToEvents,
|
|
19
19
|
eventsToHistory,
|
|
20
20
|
getLastMessageFromHistory,
|
|
21
|
-
} from "../utils";
|
|
22
|
-
import { enterFlow } from "../utils/session";
|
|
23
|
-
import { createTemplateContext } from "../utils/template";
|
|
24
|
-
import { Flow } from "./Flow";
|
|
25
|
-
import { Step, FlowConfigurationError } from "../core/Step";
|
|
26
|
-
import { FlowRouter } from "./FlowRouter";
|
|
27
|
-
import { evaluateBranches, createAiConditionEvaluator } from "./BranchEvaluator";
|
|
28
|
-
import { DirectiveChainTracker } from "./DirectiveChainTracker";
|
|
29
|
-
import { ResponseGenerationError } from "./ResponseGenerationError";
|
|
30
|
-
import type { SignalCoordinator } from "./SignalCoordinator";
|
|
21
|
+
} from "../utils/index.js";
|
|
22
|
+
import { enterFlow } from "../utils/session.js";
|
|
23
|
+
import { createTemplateContext } from "../utils/template.js";
|
|
24
|
+
import { Flow } from "./Flow.js";
|
|
25
|
+
import { Step, FlowConfigurationError } from "../core/Step.js";
|
|
26
|
+
import { FlowRouter } from "./FlowRouter.js";
|
|
27
|
+
import { evaluateBranches, createAiConditionEvaluator } from "./BranchEvaluator.js";
|
|
28
|
+
import { DirectiveChainTracker } from "./DirectiveChainTracker.js";
|
|
29
|
+
import { ResponseGenerationError } from "./ResponseGenerationError.js";
|
|
30
|
+
import type { SignalCoordinator } from "./SignalCoordinator.js";
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Position fields on a Directive that represent a navigation decision.
|
|
@@ -454,11 +454,23 @@ export class ResponsePipeline<TContext = unknown, TData = unknown> {
|
|
|
454
454
|
context: TContext;
|
|
455
455
|
/** Merged directive from the directive bus (pre-LLM + post-LLM phases). */
|
|
456
456
|
busDirective?: Directive<TContext, TData>;
|
|
457
|
-
}): Promise<{
|
|
457
|
+
}): Promise<{
|
|
458
|
+
nextStep: Step<TContext, TData> | undefined;
|
|
459
|
+
session: SessionState<TData>;
|
|
460
|
+
flowChanged?: Flow<TContext, TData>;
|
|
461
|
+
/**
|
|
462
|
+
* The turn's authoritative completion verdict — callers must use this, not
|
|
463
|
+
* the `isFlowComplete` they passed in. The router derives its verdict from
|
|
464
|
+
* the LINEAR chain alone (the current step has no successor), before
|
|
465
|
+
* branches run, so what it returns is only a proposal. Branches win over
|
|
466
|
+
* flow completion (Algorithm 1, STEP 1) and this is where that resolves.
|
|
467
|
+
*/
|
|
468
|
+
isFlowComplete: boolean;
|
|
469
|
+
}> {
|
|
458
470
|
const { selectedFlow, selectedStep, session, isFlowComplete, context, busDirective } = params;
|
|
459
471
|
|
|
460
472
|
if (!selectedFlow) {
|
|
461
|
-
return { nextStep: undefined, session };
|
|
473
|
+
return { nextStep: undefined, session, isFlowComplete };
|
|
462
474
|
}
|
|
463
475
|
|
|
464
476
|
// ─── GUARD: directive bus winner with a position field preempts branches ───
|
|
@@ -470,7 +482,7 @@ export class ResponsePipeline<TContext = unknown, TData = unknown> {
|
|
|
470
482
|
logger.debug(
|
|
471
483
|
`[ResponsePipeline] Directive bus winner has position field — skipping branch evaluation and linear/AI selection`,
|
|
472
484
|
);
|
|
473
|
-
return { nextStep: undefined, session };
|
|
485
|
+
return { nextStep: undefined, session, isFlowComplete };
|
|
474
486
|
}
|
|
475
487
|
|
|
476
488
|
// STEP 1 (Algorithm 1): branches win over linear chain AND flow completion.
|
|
@@ -486,14 +498,21 @@ export class ResponsePipeline<TContext = unknown, TData = unknown> {
|
|
|
486
498
|
currentStep, selectedFlow, session, context
|
|
487
499
|
);
|
|
488
500
|
if (branchResult) {
|
|
489
|
-
|
|
501
|
+
// A branch that resolved a position overrides the router's completion
|
|
502
|
+
// proposal. Without this, a branch that parks on a step of its own
|
|
503
|
+
// flow (`then: '<stepId>'`, `then: { reset: true }`) keeps
|
|
504
|
+
// isFlowComplete=true, the caller drops the step it just resolved,
|
|
505
|
+
// and the turn ends as a silent completion — no LLM call, empty
|
|
506
|
+
// reply, flow marked completed for the rest of the session.
|
|
507
|
+
const resolvedPosition = Boolean(branchResult.nextStep || branchResult.flowChanged);
|
|
508
|
+
return { ...branchResult, isFlowComplete: resolvedPosition ? false : isFlowComplete };
|
|
490
509
|
}
|
|
491
510
|
// undefined → fall through to linear/AI selection or flow completion
|
|
492
511
|
}
|
|
493
512
|
}
|
|
494
513
|
|
|
495
514
|
if (isFlowComplete) {
|
|
496
|
-
return { nextStep: undefined, session };
|
|
515
|
+
return { nextStep: undefined, session, isFlowComplete: true };
|
|
497
516
|
}
|
|
498
517
|
|
|
499
518
|
let nextStep: Step<TContext, TData>;
|
|
@@ -546,7 +565,7 @@ export class ResponsePipeline<TContext = unknown, TData = unknown> {
|
|
|
546
565
|
nextStep = currentStepInstance;
|
|
547
566
|
}
|
|
548
567
|
}
|
|
549
|
-
return { nextStep, session };
|
|
568
|
+
return { nextStep, session, isFlowComplete: false };
|
|
550
569
|
}
|
|
551
570
|
}
|
|
552
571
|
|
|
@@ -558,7 +577,7 @@ export class ResponsePipeline<TContext = unknown, TData = unknown> {
|
|
|
558
577
|
);
|
|
559
578
|
logger.debug(`[ResponsePipeline] Entered step: ${nextStep.id}`);
|
|
560
579
|
|
|
561
|
-
return { nextStep, session: updatedSession };
|
|
580
|
+
return { nextStep, session: updatedSession, isFlowComplete: false };
|
|
562
581
|
}
|
|
563
582
|
|
|
564
583
|
/**
|
|
@@ -928,7 +947,7 @@ export class ResponsePipeline<TContext = unknown, TData = unknown> {
|
|
|
928
947
|
selectedStep: stepResult.nextStep,
|
|
929
948
|
responseDirectives: routingResult.responseDirectives,
|
|
930
949
|
session: stepResult.session,
|
|
931
|
-
isFlowComplete: stepResult.
|
|
950
|
+
isFlowComplete: stepResult.isFlowComplete,
|
|
932
951
|
signalFirings: signalResult.firings,
|
|
933
952
|
signalPreDirective: signalResult.mergedDirective || undefined,
|
|
934
953
|
endedFlows: routingResult.endedFlows,
|
|
@@ -997,8 +1016,9 @@ export class ResponsePipeline<TContext = unknown, TData = unknown> {
|
|
|
997
1016
|
selectedStep: stepResult.nextStep, // Use the determined next step
|
|
998
1017
|
responseDirectives: routingResult.responseDirectives,
|
|
999
1018
|
session: stepResult.session,
|
|
1000
|
-
//
|
|
1001
|
-
|
|
1019
|
+
// determineNextStep owns the verdict: a branch that resolved a position
|
|
1020
|
+
// (new flow, or a step of this one) overrides the router's proposal.
|
|
1021
|
+
isFlowComplete: stepResult.isFlowComplete,
|
|
1002
1022
|
endedFlows: routingResult.endedFlows,
|
|
1003
1023
|
};
|
|
1004
1024
|
} catch (error) {
|
|
@@ -1247,7 +1267,7 @@ export class ResponsePipeline<TContext = unknown, TData = unknown> {
|
|
|
1247
1267
|
selectedStep: stepResult.nextStep,
|
|
1248
1268
|
responseDirectives: undefined,
|
|
1249
1269
|
session: stepResult.session,
|
|
1250
|
-
isFlowComplete:
|
|
1270
|
+
isFlowComplete: stepResult.isFlowComplete,
|
|
1251
1271
|
},
|
|
1252
1272
|
};
|
|
1253
1273
|
}
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
* yield sites.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import type { AgentOptions, SessionState } from "../types";
|
|
15
|
-
import type { CompactionOptions } from "../types/compaction";
|
|
16
|
-
import type { PersistenceManager } from "./PersistenceManager";
|
|
17
|
-
import type { StepLifecycle } from "./StepLifecycle";
|
|
18
|
-
import { flow } from "./flow-namespace";
|
|
19
|
-
import { CompactionEngine } from "./CompactionEngine";
|
|
20
|
-
import { boundConversationHistory, DEFAULT_MAX_HISTORY_MESSAGES, logger } from "../utils";
|
|
14
|
+
import type { AgentOptions, SessionState } from "../types/index.js";
|
|
15
|
+
import type { CompactionOptions } from "../types/compaction.js";
|
|
16
|
+
import type { PersistenceManager } from "./PersistenceManager.js";
|
|
17
|
+
import type { StepLifecycle } from "./StepLifecycle.js";
|
|
18
|
+
import { flow } from "./flow-namespace.js";
|
|
19
|
+
import { CompactionEngine } from "./CompactionEngine.js";
|
|
20
|
+
import { boundConversationHistory, DEFAULT_MAX_HISTORY_MESSAGES, logger } from "../utils/index.js";
|
|
21
21
|
|
|
22
22
|
export class SessionFinalizer<TContext = unknown, TData = unknown> {
|
|
23
23
|
constructor(
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import log from "loglevel";
|
|
9
|
-
import type { SessionState } from "../types/session";
|
|
10
|
-
import type { History, HistoryItem } from "../types/history";
|
|
11
|
-
import { PersistenceManager } from "./PersistenceManager";
|
|
12
|
-
import { CompactionEngine } from "./CompactionEngine";
|
|
13
|
-
import type { PersistenceAdapter } from "../types/persistence";
|
|
14
|
-
import type { Agent } from "./Agent";
|
|
15
|
-
import { boundConversationHistory, createSession, DEFAULT_MAX_HISTORY_MESSAGES } from "../utils";
|
|
9
|
+
import type { SessionState } from "../types/session.js";
|
|
10
|
+
import type { History, HistoryItem } from "../types/history.js";
|
|
11
|
+
import { PersistenceManager } from "./PersistenceManager.js";
|
|
12
|
+
import { CompactionEngine } from "./CompactionEngine.js";
|
|
13
|
+
import type { PersistenceAdapter } from "../types/persistence.js";
|
|
14
|
+
import type { Agent } from "./Agent.js";
|
|
15
|
+
import { boundConversationHistory, createSession, DEFAULT_MAX_HISTORY_MESSAGES } from "../utils/index.js";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* SessionManager handles session lifecycle and conversation history
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
* of the user-visible message.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import type { Directive, Event, SessionState } from "../types";
|
|
16
|
-
import type { SignalFiring } from "../types/signals";
|
|
17
|
-
import type { SignalProcessor } from "./SignalProcessor";
|
|
18
|
-
import type { Flow } from "./Flow";
|
|
19
|
-
import type { Step } from "./Step";
|
|
20
|
-
import { hasDirectivePositionField } from "./ResponsePipeline";
|
|
21
|
-
import { enterFlow, enterStep, mergeCollected, logger } from "../utils";
|
|
15
|
+
import type { Directive, Event, SessionState } from "../types/index.js";
|
|
16
|
+
import type { SignalFiring } from "../types/signals.js";
|
|
17
|
+
import type { SignalProcessor } from "./SignalProcessor.js";
|
|
18
|
+
import type { Flow } from "./Flow.js";
|
|
19
|
+
import type { Step } from "./Step.js";
|
|
20
|
+
import { hasDirectivePositionField } from "./ResponsePipeline.js";
|
|
21
|
+
import { enterFlow, enterStep, mergeCollected, logger } from "../utils/index.js";
|
|
22
22
|
|
|
23
23
|
/** Result of a signal phase run (pre or post). */
|
|
24
24
|
export interface SignalPhaseResult<TContext = unknown, TData = unknown> {
|
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
* @module SignalEvaluator
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import type { AiProvider } from "../types/ai";
|
|
13
|
-
import type { Event } from "../types/history";
|
|
14
|
-
import type { SessionState } from "../types/session";
|
|
12
|
+
import type { AiProvider } from "../types/ai.js";
|
|
13
|
+
import type { Event } from "../types/history.js";
|
|
14
|
+
import type { SessionState } from "../types/session.js";
|
|
15
15
|
import type {
|
|
16
16
|
Signal,
|
|
17
17
|
SignalPredicate,
|
|
18
18
|
SignalPredicateContext,
|
|
19
|
-
} from "../types/signals";
|
|
20
|
-
import { eventsToHistory, logger } from "../utils";
|
|
21
|
-
import { splitWhenConditions, evaluateIfPredicates } from "../utils/condition";
|
|
19
|
+
} from "../types/signals.js";
|
|
20
|
+
import { eventsToHistory, logger } from "../utils/index.js";
|
|
21
|
+
import { splitWhenConditions, evaluateIfPredicates } from "../utils/condition.js";
|
|
22
22
|
|
|
23
23
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
24
24
|
// Types
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
* @module SignalProcessor
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import type { AiProvider } from "../types/ai";
|
|
15
|
-
import type { Event } from "../types/history";
|
|
16
|
-
import { MessageRole as MessageRoleEnum } from "../types/history";
|
|
17
|
-
import type { SessionState } from "../types/session";
|
|
18
|
-
import type { Directive } from "../types/flow";
|
|
14
|
+
import type { AiProvider } from "../types/ai.js";
|
|
15
|
+
import type { Event } from "../types/history.js";
|
|
16
|
+
import { MessageRole as MessageRoleEnum } from "../types/history.js";
|
|
17
|
+
import type { SessionState } from "../types/session.js";
|
|
18
|
+
import type { Directive } from "../types/flow.js";
|
|
19
19
|
import type {
|
|
20
20
|
Signal,
|
|
21
21
|
SignalContext,
|
|
@@ -23,10 +23,10 @@ import type {
|
|
|
23
23
|
SignalFiring,
|
|
24
24
|
SignalPredicateContext,
|
|
25
25
|
SignalTriggerState,
|
|
26
|
-
} from "../types/signals";
|
|
27
|
-
import type { SignalEvaluator } from "./SignalEvaluator";
|
|
28
|
-
import { flow } from "./flow-namespace";
|
|
29
|
-
import { logger } from "../utils";
|
|
26
|
+
} from "../types/signals.js";
|
|
27
|
+
import type { SignalEvaluator } from "./SignalEvaluator.js";
|
|
28
|
+
import { flow } from "./flow-namespace.js";
|
|
29
|
+
import { logger } from "../utils/index.js";
|
|
30
30
|
|
|
31
31
|
/** Recorded on `SignalFiring.extractionError` when a matched extraction-mode
|
|
32
32
|
* signal yields no payload (model omitted the field or returned null). */
|
package/src/core/Step.ts
CHANGED
|
@@ -9,15 +9,15 @@ import type {
|
|
|
9
9
|
Instruction,
|
|
10
10
|
Tool,
|
|
11
11
|
PrepareResult,
|
|
12
|
-
} from "../types";
|
|
13
|
-
import type { SessionState } from "../types/session";
|
|
14
|
-
import type { StepResult, BranchSpec, BranchResult } from "../types/flow";
|
|
15
|
-
import { ToolScope, Template, TemplateContext } from "../types";
|
|
16
|
-
import type { ConditionWhen, ConditionIf } from "../types/flow";
|
|
17
|
-
import { generateStepId, logger } from "../utils";
|
|
18
|
-
import { splitWhenConditions } from "../utils/condition";
|
|
19
|
-
import { Agent } from './Agent'
|
|
20
|
-
import { flow } from "./flow-namespace";
|
|
12
|
+
} from "../types/index.js";
|
|
13
|
+
import type { SessionState } from "../types/session.js";
|
|
14
|
+
import type { StepResult, BranchSpec, BranchResult } from "../types/flow.js";
|
|
15
|
+
import { ToolScope, Template, TemplateContext } from "../types/index.js";
|
|
16
|
+
import type { ConditionWhen, ConditionIf } from "../types/flow.js";
|
|
17
|
+
import { generateStepId, logger } from "../utils/index.js";
|
|
18
|
+
import { splitWhenConditions } from "../utils/condition.js";
|
|
19
|
+
import { Agent } from './Agent.js'
|
|
20
|
+
import { flow } from "./flow-namespace.js";
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Error thrown when a step's configuration violates auto-step constraints.
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* verbatim replies, halts) are returned to the caller to act on.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import type { Directive, PrepareResult, SessionState, Tool } from "../types";
|
|
18
|
-
import type { Flow } from "./Flow";
|
|
19
|
-
import type { Step } from "./Step";
|
|
20
|
-
import type { ToolManager } from "./ToolManager";
|
|
21
|
-
import { flow } from "./flow-namespace";
|
|
22
|
-
import { logger } from "../utils";
|
|
17
|
+
import type { Directive, PrepareResult, SessionState, Tool } from "../types/index.js";
|
|
18
|
+
import type { Flow } from "./Flow.js";
|
|
19
|
+
import type { Step } from "./Step.js";
|
|
20
|
+
import type { ToolManager } from "./ToolManager.js";
|
|
21
|
+
import { flow } from "./flow-namespace.js";
|
|
22
|
+
import { logger } from "../utils/index.js";
|
|
23
23
|
|
|
24
24
|
/** Fields a caller can still act on after state writes have been applied. */
|
|
25
25
|
const CONTROL_FIELDS = [
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import log from "loglevel";
|
|
14
|
-
import type { Directive } from "../types";
|
|
14
|
+
import type { Directive } from "../types/index.js";
|
|
15
15
|
import type {
|
|
16
16
|
ToolCallRequest,
|
|
17
17
|
ToolExecutionUpdate,
|
|
@@ -19,9 +19,9 @@ import type {
|
|
|
19
19
|
ToolContext,
|
|
20
20
|
Tool,
|
|
21
21
|
TrackedTool,
|
|
22
|
-
} from "../types/tool";
|
|
23
|
-
import { evaluateToolGates } from "./toolGates";
|
|
24
|
-
import { isToolResultLike, extractResultDirectives } from "../utils";
|
|
22
|
+
} from "../types/tool.js";
|
|
23
|
+
import { evaluateToolGates } from "./toolGates.js";
|
|
24
|
+
import { isToolResultLike, extractResultDirectives } from "../utils/index.js";
|
|
25
25
|
|
|
26
26
|
/** Options for the StreamingToolExecutor */
|
|
27
27
|
interface StreamingToolExecutorOptions {
|
|
@@ -22,13 +22,13 @@ import type {
|
|
|
22
22
|
HistoryItem,
|
|
23
23
|
SessionState,
|
|
24
24
|
ToolCallRequest,
|
|
25
|
-
} from "../types";
|
|
26
|
-
import type { Flow } from "./Flow";
|
|
27
|
-
import type { Step } from "./Step";
|
|
28
|
-
import type { ToolManager } from "./ToolManager";
|
|
29
|
-
import { ResponseGenerationError } from "./ResponseGenerationError";
|
|
30
|
-
import { flow } from "./flow-namespace";
|
|
31
|
-
import { historyToEvents, logger, serializeToolResult, assistantMessage, toolMessage } from "../utils";
|
|
25
|
+
} from "../types/index.js";
|
|
26
|
+
import type { Flow } from "./Flow.js";
|
|
27
|
+
import type { Step } from "./Step.js";
|
|
28
|
+
import type { ToolManager } from "./ToolManager.js";
|
|
29
|
+
import { ResponseGenerationError } from "./ResponseGenerationError.js";
|
|
30
|
+
import { flow } from "./flow-namespace.js";
|
|
31
|
+
import { historyToEvents, logger, serializeToolResult, assistantMessage, toolMessage } from "../utils/index.js";
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* One attempted tool execution, keyed by CALL (not tool name): parallel or
|
package/src/core/ToolManager.ts
CHANGED
|
@@ -15,16 +15,16 @@ import type {
|
|
|
15
15
|
ToolCallRequest,
|
|
16
16
|
ToolExecutionUpdate,
|
|
17
17
|
Event,
|
|
18
|
-
} from "../types";
|
|
19
|
-
import type { Directive } from "../types/flow";
|
|
20
|
-
import { ToolScope } from "../types";
|
|
21
|
-
import { logger, isToolResultLike, extractResultDirectives } from "../utils";
|
|
18
|
+
} from "../types/index.js";
|
|
19
|
+
import type { Directive } from "../types/flow.js";
|
|
20
|
+
import { ToolScope } from "../types/index.js";
|
|
21
|
+
import { logger, isToolResultLike, extractResultDirectives } from "../utils/index.js";
|
|
22
22
|
// Type-only import: ToolManager must not create a runtime cycle with Agent
|
|
23
|
-
import type { Agent } from "./Agent";
|
|
24
|
-
import { Flow } from "./Flow";
|
|
25
|
-
import { Step } from "./Step";
|
|
26
|
-
import { StreamingToolExecutor } from "./StreamingToolExecutor";
|
|
27
|
-
import { evaluateToolGates } from "./toolGates";
|
|
23
|
+
import type { Agent } from "./Agent.js";
|
|
24
|
+
import { Flow } from "./Flow.js";
|
|
25
|
+
import { Step } from "./Step.js";
|
|
26
|
+
import { StreamingToolExecutor } from "./StreamingToolExecutor.js";
|
|
27
|
+
import { evaluateToolGates } from "./toolGates.js";
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Error thrown when tool creation fails
|
package/src/core/createAgent.ts
CHANGED
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
* **Validates: Requirements 14.1–14.7**
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
import { Agent } from "./Agent";
|
|
22
|
-
import type { AgentOptions } from "../types";
|
|
21
|
+
import { Agent } from "./Agent.js";
|
|
22
|
+
import type { AgentOptions } from "../types/index.js";
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Create an Agent from a single options object.
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* Directives are plain object literals; this namespace provides runtime utilities only.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type { Directive } from "../types/flow";
|
|
9
|
-
import type { SessionState } from "../types/session";
|
|
10
|
-
import { FlowConfigurationError } from "./Step";
|
|
8
|
+
import type { Directive } from "../types/flow.js";
|
|
9
|
+
import type { SessionState } from "../types/session.js";
|
|
10
|
+
import { FlowConfigurationError } from "./Step.js";
|
|
11
11
|
|
|
12
12
|
// ─── Position field metadata ─────────────────────────────────────────────────
|
|
13
13
|
|
package/src/core/toolGates.ts
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* ("when denied, handler is NOT invoked") was silently a no-op on one
|
|
10
10
|
* transport. Centralizing the logic here keeps both executors in lockstep.
|
|
11
11
|
*/
|
|
12
|
-
import type { Tool, ToolContext, ToolExecutionResult } from "../types/tool";
|
|
13
|
-
import { logger } from "../utils";
|
|
12
|
+
import type { Tool, ToolContext, ToolExecutionResult } from "../types/tool.js";
|
|
13
|
+
import { logger } from "../utils/index.js";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Run a tool's pre-execution gates in order: `validateInput`, then
|