@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
|
@@ -11,15 +11,17 @@ order: 10
|
|
|
11
11
|
|
|
12
12
|
Providers are the strategy plug between an `Agent` and a model vendor. Every provider implements the same `AiProvider` interface, so the Agent itself stays vendor-agnostic. Pass an instance to `createAgent({ provider })` and the agent talks to that vendor for every turn (and for compaction, if you wire it in).
|
|
13
13
|
|
|
14
|
-
`@falai/agent` ships five built-in providers. All five accept an `apiKey` and a required `model`, support `backupModels` for automatic failover
|
|
14
|
+
`@falai/agent` ships five built-in providers. All five accept an `apiKey` and a required `model`, support `backupModels` for automatic failover, and take the same neutral `RequestConfig` for sampling defaults.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
|
19
|
-
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
16
|
+
There are no vendor SDKs behind them. Every provider is a thin binding over [`@providerkit/core`](https://www.npmjs.com/package/@providerkit/core), which speaks each vendor's REST API over `fetch` — so installing this package does not install one vendor's SDK for a consumer who uses another.
|
|
17
|
+
|
|
18
|
+
| Provider | Class | Options | Wire |
|
|
19
|
+
|----------|-------|---------|------|
|
|
20
|
+
| Google Gemini | `GeminiProvider` | `GeminiProviderOptions` | `generateContent` (SSE) |
|
|
21
|
+
| OpenAI | `OpenAIProvider` | `OpenAIProviderOptions` | Responses API |
|
|
22
|
+
| Anthropic Claude | `AnthropicProvider` | `AnthropicProviderOptions` | Messages API |
|
|
23
|
+
| OpenRouter | `OpenRouterProvider` | `OpenRouterProviderOptions` | chat completions |
|
|
24
|
+
| DeepSeek | `DeepSeekProvider` | `DeepSeekProviderOptions` | chat completions |
|
|
23
25
|
|
|
24
26
|
## Capabilities
|
|
25
27
|
|
|
@@ -86,9 +88,10 @@ interface GeminiProviderOptions {
|
|
|
86
88
|
apiKey: string;
|
|
87
89
|
model: string;
|
|
88
90
|
backupModels?: string[];
|
|
89
|
-
|
|
91
|
+
baseUrl?: string;
|
|
92
|
+
config?: RequestConfig; // temperature, topP, maxTokens, stopSequences
|
|
90
93
|
retryConfig?: { timeout?: number; retries?: number };
|
|
91
|
-
|
|
94
|
+
fetchImpl?: typeof fetch; // scripted wire, for tests
|
|
92
95
|
}
|
|
93
96
|
```
|
|
94
97
|
|
|
@@ -140,7 +143,7 @@ interface OpenAIProviderOptions {
|
|
|
140
143
|
| `organization` | `string` | no | — | Forwarded as `OpenAI-Organization`. |
|
|
141
144
|
| `model` | `string` | yes | — | e.g. `"gpt-5.6"`, `"gpt-5.4-mini"`. |
|
|
142
145
|
| `backupModels` | `string[]` | no | `[]` | Tried in order on overload/rate-limit errors. |
|
|
143
|
-
| `config` |
|
|
146
|
+
| `config` | `RequestConfig` | no | — | Defaults for `temperature`, `topP`, `maxTokens`, `stopSequences`. |
|
|
144
147
|
| `retryConfig.timeout` | `number` | no | `60000` | Per-attempt timeout in ms. |
|
|
145
148
|
| `retryConfig.retries` | `number` | no | `3` | Total attempts. |
|
|
146
149
|
|
|
@@ -179,7 +182,7 @@ interface AnthropicProviderOptions {
|
|
|
179
182
|
| `apiKey` | `string` | yes* | — | Throws if empty (unless `client` is set). |
|
|
180
183
|
| `model` | `string` | yes | — | e.g. `"claude-sonnet-5"`, `"claude-opus-5"`. |
|
|
181
184
|
| `backupModels` | `string[]` | no | `[]` | Tried in order on retriable failures (rate limits, overload incl. 529, timeouts, network). |
|
|
182
|
-
| `config` |
|
|
185
|
+
| `config` | `RequestConfig` | no | — | Defaults for `temperature`, `topP`, `maxTokens`, `stopSequences`. `maxTokens` falls back to 4096 if neither it nor `parameters.maxOutputTokens` is set. |
|
|
183
186
|
| `retryConfig.timeout` | `number` | no | `60000` | Per-attempt timeout in ms. On streams it also bounds time-to-first-token. |
|
|
184
187
|
| `retryConfig.retries` | `number` | no | `3` | Total attempts. |
|
|
185
188
|
| `client` | `Anthropic` | no | — | Pre-configured SDK client; overrides the internally-constructed one. Intended for tests injecting scripted transports; production callers should pass `apiKey`. |
|
|
@@ -190,7 +193,7 @@ interface AnthropicProviderOptions {
|
|
|
190
193
|
const anthropic = new AnthropicProvider({
|
|
191
194
|
apiKey: process.env.ANTHROPIC_API_KEY!,
|
|
192
195
|
model: "claude-sonnet-5",
|
|
193
|
-
config: {
|
|
196
|
+
config: { maxTokens: 8192 },
|
|
194
197
|
});
|
|
195
198
|
```
|
|
196
199
|
|
|
@@ -282,12 +285,11 @@ const deepseek = new DeepSeekProvider({
|
|
|
282
285
|
|
|
283
286
|
## Building a custom OpenAI-compatible provider
|
|
284
287
|
|
|
285
|
-
Many vendors (Groq, Together, Fireworks, …) expose OpenAI-compatible chat-completions APIs. Instead of implementing `AiProvider` from scratch, subclass the exported `OpenAICompatibleProvider` base class —
|
|
288
|
+
Many vendors (Groq, Together, Fireworks, …) expose OpenAI-compatible chat-completions APIs. Instead of implementing `AiProvider` from scratch, subclass the exported `OpenAICompatibleProvider` base class — history and tool translation, streaming, tool-call assembly, backup-model fallback, retries and normalized `ProviderError`s all come with it. `OpenAIProvider`, `OpenRouterProvider`, and `DeepSeekProvider` are themselves thin subclasses.
|
|
286
289
|
|
|
287
|
-
A minimal subclass supplies the
|
|
290
|
+
A minimal subclass supplies the endpoint, naming, and capabilities:
|
|
288
291
|
|
|
289
292
|
```typescript
|
|
290
|
-
import OpenAI from "openai";
|
|
291
293
|
import {
|
|
292
294
|
OpenAICompatibleProvider,
|
|
293
295
|
type ProviderCapabilities,
|
|
@@ -303,23 +305,20 @@ export class GroqProvider extends OpenAICompatibleProvider {
|
|
|
303
305
|
supportsPromptCaching: false,
|
|
304
306
|
};
|
|
305
307
|
|
|
306
|
-
protected readonly logLabel = "GROQ"; // tag in log lines
|
|
307
|
-
protected readonly displayName = "Groq"; // name in retry/error messages
|
|
308
|
-
|
|
309
308
|
constructor(options: { apiKey: string; model: string; backupModels?: string[] }) {
|
|
310
309
|
super({
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}),
|
|
310
|
+
id: "groq",
|
|
311
|
+
apiKey: options.apiKey,
|
|
312
|
+
baseUrl: "https://api.groq.com/openai",
|
|
315
313
|
model: options.model,
|
|
314
|
+
structuredOutput: "json_schema",
|
|
316
315
|
backupModels: options.backupModels,
|
|
317
316
|
});
|
|
318
317
|
}
|
|
319
318
|
}
|
|
320
319
|
```
|
|
321
320
|
|
|
322
|
-
That is a complete, working provider.
|
|
321
|
+
That is a complete, working provider. Vendor-specific wire behaviour is not this layer's job any more: it lives in `@providerkit/core`, which the provider classes are thin bindings over. `DeepSeekProvider` is the reference pattern for what is left here — an id, a base URL, the structured-output mode the endpoint actually supports, and its capabilities. To bind a core provider this package does not ship a class for, subclass `ProviderAdapter` directly.
|
|
323
322
|
|
|
324
323
|
## Errors
|
|
325
324
|
|
|
@@ -333,7 +332,11 @@ All five providers share the same construction-time guards and runtime failure m
|
|
|
333
332
|
| Primary and every backup model fail | `ProviderError` with a normalized `code` | After exhausting retries and `backupModels`. Propagates bare out of `respond()`. |
|
|
334
333
|
| Anthropic streaming with `system: undefined` | Vendor 400 | Set `config.system` or rely on history-derived system messages. |
|
|
335
334
|
|
|
336
|
-
The retry/backup logic only kicks in for **transient** errors: rate limits
|
|
335
|
+
The retry/backup logic only kicks in for **transient** errors: rate limits, overload and availability, timeouts, and network faults. Deterministic failures — a wrong key, an exhausted balance, an invalid request, a caller's abort — fail fast without burning the retry budget. Classification reads the response BODY before its status, because vendors file the same cause under whatever status they like.
|
|
336
|
+
|
|
337
|
+
Only failures *before the first chunk* are retried: past that the stream is committed, and a retry would replay text the reader has already seen. The same rule governs the walk to a backup model. `retryConfig.timeout` is the silence deadline — the wait allowed before the first byte, and between any two after it — so a stream that opens and stalls is treated as failed while a long, healthy one is left alone.
|
|
338
|
+
|
|
339
|
+
A model the endpoint will not serve also walks to the next model on the list, which is what the list is for.
|
|
337
340
|
|
|
338
341
|
### `ProviderError`
|
|
339
342
|
|
|
@@ -342,24 +345,20 @@ Terminal failures — after retries and backup models are exhausted — throw th
|
|
|
342
345
|
```typescript
|
|
343
346
|
import { ProviderError } from "@falai/agent";
|
|
344
347
|
|
|
345
|
-
type
|
|
346
|
-
| '
|
|
347
|
-
| '
|
|
348
|
-
| '
|
|
349
|
-
| '
|
|
350
|
-
| '
|
|
351
|
-
| '
|
|
352
|
-
| '
|
|
353
|
-
| '
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
console.error(err.provider, err.code); // e.g. "openai" "rate_limited"
|
|
360
|
-
console.error(err.cause); // original SDK error
|
|
361
|
-
}
|
|
362
|
-
}
|
|
348
|
+
type ErrorKind =
|
|
349
|
+
| 'aborted' // the caller pressed Stop — never retried
|
|
350
|
+
| 'timeout' // our deadline, or a 408
|
|
351
|
+
| 'network' // never reached the provider
|
|
352
|
+
| 'overload' // theirs and temporary — retry, and try another model
|
|
353
|
+
| 'rate' // per-minute throttle — wait, or rotate key or model
|
|
354
|
+
| 'quota' // balance or usage window exhausted — waiting will not fix it
|
|
355
|
+
| 'entitlement' // the plan never included this API
|
|
356
|
+
| 'auth' // the key is wrong, not the request
|
|
357
|
+
| 'model' // the model id is not served here
|
|
358
|
+
| 'context' // the prompt outgrew the window — send less
|
|
359
|
+
| 'content' // safety filter or refusal
|
|
360
|
+
| 'invalid' // any other 4xx — a bug in what we sent
|
|
361
|
+
| 'unknown'
|
|
363
362
|
```
|
|
364
363
|
|
|
365
364
|
When the failure surfaces through `agent.respond(...)`, the `ProviderError` propagates **bare** — catch it with `instanceof`, no unwrapping. (On streaming turns, errors arrive wrapped as `ResponseGenerationError` on the final chunk's `error` field, with the original on `.cause`.) See [Errors](./errors.md).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @intent Minimal agent: one flow, one step, one response.
|
|
2
2
|
* @teaches createAgent, GeminiProvider, Flow, Step, respond
|
|
3
3
|
* @readAfter docs/start/02-first-agent.md */
|
|
4
|
-
import { createAgent, GeminiProvider } from "../src";
|
|
4
|
+
import { createAgent, GeminiProvider } from "../src/index.js";
|
|
5
5
|
|
|
6
6
|
if (!process.env.GEMINI_API_KEY) throw new Error("Set GEMINI_API_KEY");
|
|
7
7
|
|
package/examples/05-branching.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** @intent Demonstrates step.branches — source-local forks with if, when, and Directive targets.
|
|
2
2
|
* @teaches BranchEntry, BranchMap, if-only fork, when-only fork, combined if+when, mixed targets
|
|
3
3
|
* @readAfter docs/guides/branching.md */
|
|
4
|
-
import { createAgent, GeminiProvider } from "../src";
|
|
5
|
-
import type { BranchMap, Directive, FlowOptions, StepOptions } from "../src";
|
|
4
|
+
import { createAgent, GeminiProvider } from "../src/index.js";
|
|
5
|
+
import type { BranchMap, Directive, FlowOptions, StepOptions } from "../src/index.js";
|
|
6
6
|
|
|
7
7
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
8
8
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @intent Session persistence with MemoryAdapter: implicit default, explicit wiring, and sessionId for cross-turn continuity.
|
|
2
2
|
* @teaches MemoryAdapter, PersistenceConfig, sessionId, session resumption
|
|
3
3
|
* @readAfter docs/guides/persistence.md */
|
|
4
|
-
import { createAgent, GeminiProvider, MemoryAdapter } from "../src";
|
|
4
|
+
import { createAgent, GeminiProvider, MemoryAdapter } from "../src/index.js";
|
|
5
5
|
|
|
6
6
|
if (!process.env.GEMINI_API_KEY) throw new Error("Set GEMINI_API_KEY");
|
|
7
7
|
|
package/examples/tsconfig.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"target": "ES2022",
|
|
4
|
-
"module": "
|
|
4
|
+
"module": "node16",
|
|
5
5
|
"lib": [
|
|
6
6
|
"ES2022",
|
|
7
7
|
"DOM"
|
|
8
8
|
],
|
|
9
|
-
"moduleResolution": "
|
|
10
|
-
"types": [
|
|
9
|
+
"moduleResolution": "node16",
|
|
10
|
+
"types": [
|
|
11
|
+
"node"
|
|
12
|
+
],
|
|
11
13
|
"strict": true,
|
|
12
14
|
"esModuleInterop": true,
|
|
13
15
|
"skipLibCheck": true,
|
|
@@ -15,6 +17,7 @@
|
|
|
15
17
|
"resolveJsonModule": true,
|
|
16
18
|
"allowSyntheticDefaultImports": true,
|
|
17
19
|
"noEmit": true,
|
|
20
|
+
"allowImportingTsExtensions": true,
|
|
18
21
|
"paths": {
|
|
19
22
|
"@falai/agent": [
|
|
20
23
|
"../src/index.ts"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@falai/agent",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Conversational state engine for TypeScript where the AI understands, but the code is in control",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -38,10 +38,11 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://falai.dev",
|
|
40
40
|
"scripts": {
|
|
41
|
-
"build": "bun run build:esm && bun run build:cjs && bun run fix:cjs",
|
|
41
|
+
"build": "bun run build:esm && bun run build:cjs && bun run fix:cjs && bun run check:dist",
|
|
42
42
|
"build:esm": "tsc",
|
|
43
43
|
"build:cjs": "tsc --project tsconfig.cjs.json",
|
|
44
44
|
"fix:cjs": "echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
|
|
45
|
+
"check:dist": "node --input-type=module -e \"import './dist/index.js'\" && node -e \"require('./dist/cjs/index.js')\"",
|
|
45
46
|
"dev": "tsc --watch",
|
|
46
47
|
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
|
|
47
48
|
"typecheck:examples": "tsc --noEmit --project examples/tsconfig.json",
|
|
@@ -49,10 +50,11 @@
|
|
|
49
50
|
"lint:fix": "eslint src/**/*.ts --fix",
|
|
50
51
|
"clean": "rm -rf dist",
|
|
51
52
|
"prebuild": "bun run clean",
|
|
52
|
-
"prepublishOnly": "bun run lint && bun run typecheck && bun run build && bun run test",
|
|
53
|
+
"prepublishOnly": "bun run lint && bun run typecheck && bun run typecheck:examples && bun run build && bun run test",
|
|
53
54
|
"release:patch": "bun pm version patch && bun publish",
|
|
54
55
|
"release:minor": "bun pm version minor && bun publish",
|
|
55
|
-
"release:major": "bun pm version major && bun publish",
|
|
56
|
+
"release:major": "bun pm version major && bun publish && bun run release:pointer",
|
|
57
|
+
"release:pointer": "node -e \"const v=require('./package.json').version,p='./pointer/package.json',j=require(p);j.version=v;j.dependencies['@falai/agent']='^'+v.split('.')[0]+'.0.0';require('fs').writeFileSync(p,JSON.stringify(j,null,2)+'\\n')\" && cd pointer && bun install && bun publish",
|
|
56
58
|
"release:alpha": "bun publish --tag alpha",
|
|
57
59
|
"release": "bun publish",
|
|
58
60
|
"test": "bun test tests/*.test.ts"
|
|
@@ -77,6 +79,9 @@
|
|
|
77
79
|
],
|
|
78
80
|
"author": "Gustavo Salomé <gusnips>",
|
|
79
81
|
"license": "MIT",
|
|
82
|
+
"engines": {
|
|
83
|
+
"node": ">=22.12"
|
|
84
|
+
},
|
|
80
85
|
"devDependencies": {
|
|
81
86
|
"@eslint/js": "^9.17.0",
|
|
82
87
|
"@types/bun": "^1.3.0",
|
|
@@ -88,10 +93,8 @@
|
|
|
88
93
|
"typescript-eslint": "^8.18.2"
|
|
89
94
|
},
|
|
90
95
|
"dependencies": {
|
|
91
|
-
"@
|
|
92
|
-
"
|
|
93
|
-
"loglevel": "^1.9.2",
|
|
94
|
-
"openai": "^6.3.0"
|
|
96
|
+
"@providerkit/core": "^0.4.1",
|
|
97
|
+
"loglevel": "^1.9.2"
|
|
95
98
|
},
|
|
96
99
|
"peerDependencies": {
|
|
97
100
|
"@opensearch-project/opensearch": "^2.0.0",
|
|
@@ -13,10 +13,10 @@ import type {
|
|
|
13
13
|
SessionStatus,
|
|
14
14
|
SessionUpdateOptions,
|
|
15
15
|
CreateSessionData,
|
|
16
|
-
} from "../types";
|
|
17
|
-
import { SessionConflictError } from "../types/errors";
|
|
18
|
-
import { cloneDeep } from "../utils/clone";
|
|
19
|
-
import { createSessionId } from "../utils";
|
|
16
|
+
} from "../types/index.js";
|
|
17
|
+
import { SessionConflictError } from "../types/errors.js";
|
|
18
|
+
import { cloneDeep } from "../utils/clone.js";
|
|
19
|
+
import { createSessionId } from "../utils/index.js";
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Memory Adapter - Provider-style API for in-memory persistence
|
|
@@ -13,9 +13,9 @@ import type {
|
|
|
13
13
|
CollectedStateData,
|
|
14
14
|
CreateSessionData,
|
|
15
15
|
SessionUpdateOptions,
|
|
16
|
-
} from "../types";
|
|
17
|
-
import { SessionConflictError } from "../types/errors";
|
|
18
|
-
import { createSessionId } from "../utils";
|
|
16
|
+
} from "../types/index.js";
|
|
17
|
+
import { SessionConflictError } from "../types/errors.js";
|
|
18
|
+
import { createSessionId } from "../utils/index.js";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* MongoDB collection interface - matches mongodb driver
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
-
import { cloneDeep } from "../utils/clone";
|
|
36
|
-
import { createSessionId } from "../utils";
|
|
35
|
+
import { cloneDeep } from "../utils/clone.js";
|
|
36
|
+
import { createSessionId } from "../utils/index.js";
|
|
37
37
|
import type {
|
|
38
38
|
PersistenceAdapter,
|
|
39
39
|
SessionRepository,
|
|
@@ -43,8 +43,8 @@ import type {
|
|
|
43
43
|
CollectedStateData,
|
|
44
44
|
CreateSessionData,
|
|
45
45
|
SessionUpdateOptions,
|
|
46
|
-
} from "../types";
|
|
47
|
-
import { SessionConflictError } from "../types/errors";
|
|
46
|
+
} from "../types/index.js";
|
|
47
|
+
import { SessionConflictError } from "../types/errors.js";
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* OpenSearch Client interface (minimal typing for the official client)
|
|
@@ -26,10 +26,10 @@ import type {
|
|
|
26
26
|
SessionStatus,
|
|
27
27
|
PersistenceAdapter,
|
|
28
28
|
SessionUpdateOptions,
|
|
29
|
-
} from "../types";
|
|
30
|
-
import { SessionConflictError } from "../types/errors";
|
|
31
|
-
import { createSessionId } from "../utils";
|
|
32
|
-
import { deserializeSessionRow } from "./sessionRow";
|
|
29
|
+
} from "../types/index.js";
|
|
30
|
+
import { SessionConflictError } from "../types/errors.js";
|
|
31
|
+
import { createSessionId } from "../utils/index.js";
|
|
32
|
+
import { deserializeSessionRow } from "./sessionRow.js";
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* PostgreSQL query result interface
|
|
@@ -15,10 +15,10 @@ import type {
|
|
|
15
15
|
Event,
|
|
16
16
|
CreateSessionData,
|
|
17
17
|
SessionUpdateOptions,
|
|
18
|
-
} from "../types";
|
|
19
|
-
import { SessionConflictError } from "../types/errors";
|
|
20
|
-
import { logger } from '../utils'
|
|
21
|
-
import { createSessionId } from '../utils';
|
|
18
|
+
} from "../types/index.js";
|
|
19
|
+
import { SessionConflictError } from "../types/errors.js";
|
|
20
|
+
import { logger } from '../utils/index.js'
|
|
21
|
+
import { createSessionId } from '../utils/index.js';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Prisma model operations
|
|
@@ -12,10 +12,10 @@ import type {
|
|
|
12
12
|
SessionStatus,
|
|
13
13
|
CollectedStateData,
|
|
14
14
|
SessionUpdateOptions,
|
|
15
|
-
} from "../types";
|
|
16
|
-
import { SessionConflictError } from "../types/errors";
|
|
17
|
-
import { createSessionId, logger } from "../utils";
|
|
18
|
-
import { coerceDate } from "./sessionRow";
|
|
15
|
+
} from "../types/index.js";
|
|
16
|
+
import { SessionConflictError } from "../types/errors.js";
|
|
17
|
+
import { createSessionId, logger } from "../utils/index.js";
|
|
18
|
+
import { coerceDate } from "./sessionRow.js";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Redis client interface - matches ioredis/redis clients
|
|
@@ -30,10 +30,10 @@ import type {
|
|
|
30
30
|
CollectedStateData,
|
|
31
31
|
CreateSessionData,
|
|
32
32
|
SessionUpdateOptions,
|
|
33
|
-
} from "../types";
|
|
34
|
-
import { SessionConflictError } from "../types/errors";
|
|
35
|
-
import { createSessionId } from "../utils";
|
|
36
|
-
import { deserializeSessionRow } from "./sessionRow";
|
|
33
|
+
} from "../types/index.js";
|
|
34
|
+
import { SessionConflictError } from "../types/errors.js";
|
|
35
|
+
import { createSessionId } from "../utils/index.js";
|
|
36
|
+
import { deserializeSessionRow } from "./sessionRow.js";
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* SQLite database interface - matches better-sqlite3
|
package/src/adapters/index.ts
CHANGED
|
@@ -2,42 +2,42 @@
|
|
|
2
2
|
* Database adapters for persistence
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
export { PrismaAdapter } from "./PrismaAdapter";
|
|
5
|
+
export { PrismaAdapter } from "./PrismaAdapter.js";
|
|
6
6
|
export type {
|
|
7
7
|
PrismaClient,
|
|
8
8
|
FieldMappings,
|
|
9
9
|
PrismaAdapterOptions,
|
|
10
|
-
} from "./PrismaAdapter";
|
|
10
|
+
} from "./PrismaAdapter.js";
|
|
11
11
|
|
|
12
|
-
export { RedisAdapter } from "./RedisAdapter";
|
|
13
|
-
export type { RedisClient, RedisAdapterOptions } from "./RedisAdapter";
|
|
12
|
+
export { RedisAdapter } from "./RedisAdapter.js";
|
|
13
|
+
export type { RedisClient, RedisAdapterOptions } from "./RedisAdapter.js";
|
|
14
14
|
|
|
15
|
-
export { MongoAdapter } from "./MongoAdapter";
|
|
15
|
+
export { MongoAdapter } from "./MongoAdapter.js";
|
|
16
16
|
export type {
|
|
17
17
|
MongoClient,
|
|
18
18
|
MongoDatabase,
|
|
19
19
|
MongoCollection,
|
|
20
20
|
MongoAdapterOptions,
|
|
21
|
-
} from "./MongoAdapter";
|
|
21
|
+
} from "./MongoAdapter.js";
|
|
22
22
|
|
|
23
|
-
export { PostgreSQLAdapter } from "./PostgreSQLAdapter";
|
|
23
|
+
export { PostgreSQLAdapter } from "./PostgreSQLAdapter.js";
|
|
24
24
|
export type {
|
|
25
25
|
PgClient,
|
|
26
26
|
PgQueryResult,
|
|
27
27
|
PostgreSQLAdapterOptions,
|
|
28
|
-
} from "./PostgreSQLAdapter";
|
|
28
|
+
} from "./PostgreSQLAdapter.js";
|
|
29
29
|
|
|
30
|
-
export { SQLiteAdapter } from "./SQLiteAdapter";
|
|
30
|
+
export { SQLiteAdapter } from "./SQLiteAdapter.js";
|
|
31
31
|
export type {
|
|
32
32
|
SqliteDatabase,
|
|
33
33
|
SqliteStatement,
|
|
34
34
|
SQLiteAdapterOptions,
|
|
35
|
-
} from "./SQLiteAdapter";
|
|
35
|
+
} from "./SQLiteAdapter.js";
|
|
36
36
|
|
|
37
|
-
export { MemoryAdapter } from "./MemoryAdapter";
|
|
37
|
+
export { MemoryAdapter } from "./MemoryAdapter.js";
|
|
38
38
|
|
|
39
|
-
export { OpenSearchAdapter } from "./OpenSearchAdapter";
|
|
39
|
+
export { OpenSearchAdapter } from "./OpenSearchAdapter.js";
|
|
40
40
|
export type {
|
|
41
41
|
OpenSearchClient,
|
|
42
42
|
OpenSearchAdapterOptions,
|
|
43
|
-
} from "./OpenSearchAdapter";
|
|
43
|
+
} from "./OpenSearchAdapter.js";
|
package/src/core/Agent.ts
CHANGED
|
@@ -18,12 +18,12 @@ import type {
|
|
|
18
18
|
AiProvider,
|
|
19
19
|
CompactionOptions,
|
|
20
20
|
Directive,
|
|
21
|
-
} from "../types";
|
|
22
|
-
import type { Signal } from "../types/signals";
|
|
23
|
-
import { NotImplementedError } from "../types/errors";
|
|
24
|
-
import { SignalProcessor } from "./SignalProcessor";
|
|
25
|
-
import { SignalEvaluator } from "./SignalEvaluator";
|
|
26
|
-
import type { StreamOptions, GenerateOptions, RespondParams, ResponseModalDeps } from "./ResponseModal";
|
|
21
|
+
} from "../types/index.js";
|
|
22
|
+
import type { Signal } from "../types/signals.js";
|
|
23
|
+
import { NotImplementedError } from "../types/errors.js";
|
|
24
|
+
import { SignalProcessor } from "./SignalProcessor.js";
|
|
25
|
+
import { SignalEvaluator } from "./SignalEvaluator.js";
|
|
26
|
+
import type { StreamOptions, GenerateOptions, RespondParams, ResponseModalDeps } from "./ResponseModal.js";
|
|
27
27
|
import {
|
|
28
28
|
mergeCollected,
|
|
29
29
|
enterFlow,
|
|
@@ -32,18 +32,18 @@ import {
|
|
|
32
32
|
logger,
|
|
33
33
|
LoggerLevel,
|
|
34
34
|
generateSignalId,
|
|
35
|
-
} from "../utils";
|
|
36
|
-
|
|
37
|
-
import { Flow } from "./Flow";
|
|
38
|
-
import { Step, FlowConfigurationError as StepFlowConfigurationError } from "./Step";
|
|
39
|
-
import { PersistenceManager } from "./PersistenceManager";
|
|
40
|
-
import { SessionManager } from "./SessionManager";
|
|
41
|
-
import { FlowRouter } from "./FlowRouter";
|
|
42
|
-
import { PromptSectionCache } from "./PromptSectionCache";
|
|
43
|
-
|
|
44
|
-
import { ResponseModal } from "./ResponseModal";
|
|
45
|
-
import { ToolManager } from "./ToolManager";
|
|
46
|
-
import { CompactionEngine } from "./CompactionEngine";
|
|
35
|
+
} from "../utils/index.js";
|
|
36
|
+
|
|
37
|
+
import { Flow } from "./Flow.js";
|
|
38
|
+
import { Step, FlowConfigurationError as StepFlowConfigurationError } from "./Step.js";
|
|
39
|
+
import { PersistenceManager } from "./PersistenceManager.js";
|
|
40
|
+
import { SessionManager } from "./SessionManager.js";
|
|
41
|
+
import { FlowRouter } from "./FlowRouter.js";
|
|
42
|
+
import { PromptSectionCache } from "./PromptSectionCache.js";
|
|
43
|
+
|
|
44
|
+
import { ResponseModal } from "./ResponseModal.js";
|
|
45
|
+
import { ToolManager } from "./ToolManager.js";
|
|
46
|
+
import { CompactionEngine } from "./CompactionEngine.js";
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
49
|
* Error thrown when data validation fails
|
|
@@ -15,20 +15,20 @@
|
|
|
15
15
|
* Implements Algorithm 1 from `.kiro/specs/auto-steps/design.md`.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import type { Directive, SessionState } from "../types";
|
|
19
|
-
import type { Event } from "../types/history";
|
|
20
|
-
import { FlowConfigurationError, Step } from "./Step";
|
|
21
|
-
import { Flow } from "./Flow";
|
|
22
|
-
import { flow } from "./flow-namespace";
|
|
23
|
-
import { enterStep, mergeCollected, logger } from "../utils";
|
|
24
|
-
import { createTemplateContext } from "../utils/template";
|
|
18
|
+
import type { Directive, SessionState } from "../types/index.js";
|
|
19
|
+
import type { Event } from "../types/history.js";
|
|
20
|
+
import { FlowConfigurationError, Step } from "./Step.js";
|
|
21
|
+
import { Flow } from "./Flow.js";
|
|
22
|
+
import { flow } from "./flow-namespace.js";
|
|
23
|
+
import { enterStep, mergeCollected, logger } from "../utils/index.js";
|
|
24
|
+
import { createTemplateContext } from "../utils/template.js";
|
|
25
25
|
import type {
|
|
26
26
|
StoppedReason,
|
|
27
27
|
BranchMap,
|
|
28
28
|
BranchEntry,
|
|
29
29
|
BranchPredicateContext,
|
|
30
|
-
} from "../types/flow";
|
|
31
|
-
import { evaluateIfPredicates } from "../utils/condition";
|
|
30
|
+
} from "../types/flow.js";
|
|
31
|
+
import { evaluateIfPredicates } from "../utils/condition.js";
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* The directive-like object that `prepare` may return on auto-steps.
|
|
@@ -12,11 +12,11 @@ import type {
|
|
|
12
12
|
BranchMap,
|
|
13
13
|
BranchPredicateContext,
|
|
14
14
|
Directive,
|
|
15
|
-
} from "../types/flow";
|
|
16
|
-
import type { AiProvider } from "../types/ai";
|
|
17
|
-
import type { Event } from "../types/history";
|
|
18
|
-
import { eventsToHistory, logger } from "../utils";
|
|
19
|
-
import { splitWhenConditions, evaluateIfPredicates, type WhenConditionGroups } from "../utils/condition";
|
|
15
|
+
} from "../types/flow.js";
|
|
16
|
+
import type { AiProvider } from "../types/ai.js";
|
|
17
|
+
import type { Event } from "../types/history.js";
|
|
18
|
+
import { eventsToHistory, logger } from "../utils/index.js";
|
|
19
|
+
import { splitWhenConditions, evaluateIfPredicates, type WhenConditionGroups } from "../utils/condition.js";
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* The AI condition evaluator function signature.
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import log from "loglevel";
|
|
12
|
-
import type { HistoryItem } from "../types/history";
|
|
13
|
-
import type { CompactionOptions, CompactionResult } from "../types/compaction";
|
|
12
|
+
import type { HistoryItem } from "../types/history.js";
|
|
13
|
+
import type { CompactionOptions, CompactionResult } from "../types/compaction.js";
|
|
14
14
|
|
|
15
15
|
export class CompactionEngine {
|
|
16
16
|
/**
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* Validates: Requirements 22.1, 22.2, 22.3
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { FlowConfigurationError } from "./Step";
|
|
16
|
-
import { logger } from "../utils";
|
|
17
|
-
import type { Directive } from "../types/flow";
|
|
15
|
+
import { FlowConfigurationError } from "./Step.js";
|
|
16
|
+
import { logger } from "../utils/index.js";
|
|
17
|
+
import type { Directive } from "../types/flow.js";
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Entry in the directive chain log — records what was emitted and by whom.
|
package/src/core/Events.ts
CHANGED
|
@@ -11,8 +11,8 @@ import type {
|
|
|
11
11
|
MessageData,
|
|
12
12
|
HistoryItem,
|
|
13
13
|
History,
|
|
14
|
-
} from "../types";
|
|
15
|
-
import { EventKind, MessageRole } from "../types";
|
|
14
|
+
} from "../types/index.js";
|
|
15
|
+
import { EventKind, MessageRole } from "../types/index.js";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Convert a simple JSON history message to an internal Event
|