@falai/agent 1.2.8 → 2.0.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 +40 -886
- package/dist/adapters/MemoryAdapter.js +2 -2
- package/dist/adapters/MemoryAdapter.js.map +1 -1
- package/dist/adapters/MongoAdapter.js +2 -2
- package/dist/adapters/MongoAdapter.js.map +1 -1
- package/dist/adapters/OpenSearchAdapter.d.ts.map +1 -1
- package/dist/adapters/OpenSearchAdapter.js +9 -7
- package/dist/adapters/OpenSearchAdapter.js.map +1 -1
- package/dist/adapters/PostgreSQLAdapter.d.ts +14 -0
- package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
- package/dist/adapters/PostgreSQLAdapter.js +25 -9
- package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
- package/dist/adapters/PrismaAdapter.js +5 -5
- package/dist/adapters/PrismaAdapter.js.map +1 -1
- package/dist/adapters/RedisAdapter.js +2 -2
- package/dist/adapters/RedisAdapter.js.map +1 -1
- package/dist/adapters/SQLiteAdapter.d.ts +17 -0
- package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/dist/adapters/SQLiteAdapter.js +30 -11
- package/dist/adapters/SQLiteAdapter.js.map +1 -1
- package/dist/cjs/adapters/MemoryAdapter.js +2 -2
- package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
- package/dist/cjs/adapters/MongoAdapter.js +2 -2
- package/dist/cjs/adapters/MongoAdapter.js.map +1 -1
- package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/OpenSearchAdapter.js +9 -7
- package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +14 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.js +25 -9
- package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
- package/dist/cjs/adapters/PrismaAdapter.js +5 -5
- package/dist/cjs/adapters/PrismaAdapter.js.map +1 -1
- package/dist/cjs/adapters/RedisAdapter.js +2 -2
- package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.d.ts +17 -0
- package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.js +30 -11
- package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
- package/dist/cjs/constants/index.d.ts +0 -9
- package/dist/cjs/constants/index.d.ts.map +1 -1
- package/dist/cjs/constants/index.js +2 -11
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/core/Agent.d.ts +119 -153
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +471 -324
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/AutoChainExecutor.d.ts +107 -0
- package/dist/cjs/core/AutoChainExecutor.d.ts.map +1 -0
- package/dist/cjs/core/AutoChainExecutor.js +297 -0
- package/dist/cjs/core/AutoChainExecutor.js.map +1 -0
- package/dist/cjs/core/BranchEvaluator.d.ts +54 -0
- package/dist/cjs/core/BranchEvaluator.d.ts.map +1 -0
- package/dist/cjs/core/BranchEvaluator.js +130 -0
- package/dist/cjs/core/BranchEvaluator.js.map +1 -0
- package/dist/cjs/core/DirectiveBus.d.ts +88 -0
- package/dist/cjs/core/DirectiveBus.d.ts.map +1 -0
- package/dist/cjs/core/DirectiveBus.js +196 -0
- package/dist/cjs/core/DirectiveBus.js.map +1 -0
- package/dist/cjs/core/DirectiveChainTracker.d.ts +49 -0
- package/dist/cjs/core/DirectiveChainTracker.d.ts.map +1 -0
- package/dist/cjs/core/DirectiveChainTracker.js +121 -0
- package/dist/cjs/core/DirectiveChainTracker.js.map +1 -0
- package/dist/cjs/core/Flow.d.ts +186 -0
- package/dist/cjs/core/Flow.d.ts.map +1 -0
- package/dist/cjs/core/Flow.js +550 -0
- package/dist/cjs/core/Flow.js.map +1 -0
- package/dist/cjs/core/FlowRouter.d.ts +182 -0
- package/dist/cjs/core/FlowRouter.d.ts.map +1 -0
- package/dist/cjs/core/{RoutingEngine.js → FlowRouter.js} +323 -306
- package/dist/cjs/core/FlowRouter.js.map +1 -0
- package/dist/cjs/core/PersistenceManager.d.ts +2 -2
- package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
- package/dist/cjs/core/PersistenceManager.js +7 -7
- package/dist/cjs/core/PersistenceManager.js.map +1 -1
- package/dist/cjs/core/PromptComposer.d.ts +21 -8
- package/dist/cjs/core/PromptComposer.d.ts.map +1 -1
- package/dist/cjs/core/PromptComposer.js +182 -105
- package/dist/cjs/core/PromptComposer.js.map +1 -1
- package/dist/cjs/core/PromptSectionCache.d.ts +1 -1
- package/dist/cjs/core/PromptSectionCache.js +1 -1
- package/dist/cjs/core/ResponseEngine.d.ts +18 -8
- package/dist/cjs/core/ResponseEngine.d.ts.map +1 -1
- package/dist/cjs/core/ResponseEngine.js +38 -36
- package/dist/cjs/core/ResponseEngine.js.map +1 -1
- package/dist/cjs/core/ResponseModal.d.ts +73 -56
- package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
- package/dist/cjs/core/ResponseModal.js +1191 -1014
- package/dist/cjs/core/ResponseModal.js.map +1 -1
- package/dist/cjs/core/ResponsePipeline.d.ts +124 -26
- package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/cjs/core/ResponsePipeline.js +509 -136
- package/dist/cjs/core/ResponsePipeline.js.map +1 -1
- package/dist/cjs/core/SignalEvaluator.d.ts +86 -0
- package/dist/cjs/core/SignalEvaluator.d.ts.map +1 -0
- package/dist/cjs/core/SignalEvaluator.js +333 -0
- package/dist/cjs/core/SignalEvaluator.js.map +1 -0
- package/dist/cjs/core/SignalProcessor.d.ts +152 -0
- package/dist/cjs/core/SignalProcessor.d.ts.map +1 -0
- package/dist/cjs/core/SignalProcessor.js +562 -0
- package/dist/cjs/core/SignalProcessor.js.map +1 -0
- package/dist/cjs/core/Step.d.ts +43 -32
- package/dist/cjs/core/Step.d.ts.map +1 -1
- package/dist/cjs/core/Step.js +221 -126
- package/dist/cjs/core/Step.js.map +1 -1
- package/dist/cjs/core/StreamingToolExecutor.d.ts +2 -2
- package/dist/cjs/core/StreamingToolExecutor.d.ts.map +1 -1
- package/dist/cjs/core/StreamingToolExecutor.js.map +1 -1
- package/dist/cjs/core/ToolManager.d.ts +44 -13
- package/dist/cjs/core/ToolManager.d.ts.map +1 -1
- package/dist/cjs/core/ToolManager.js +174 -91
- package/dist/cjs/core/ToolManager.js.map +1 -1
- package/dist/cjs/core/createAgent.d.ts +35 -0
- package/dist/cjs/core/createAgent.d.ts.map +1 -0
- package/dist/cjs/core/createAgent.js +39 -0
- package/dist/cjs/core/createAgent.js.map +1 -0
- package/dist/cjs/core/flow-namespace.d.ts +49 -0
- package/dist/cjs/core/flow-namespace.d.ts.map +1 -0
- package/dist/cjs/core/flow-namespace.js +171 -0
- package/dist/cjs/core/flow-namespace.js.map +1 -0
- package/dist/cjs/index.d.ts +11 -14
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +18 -22
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/agent.d.ts +183 -54
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/agent.js +0 -6
- package/dist/cjs/types/agent.js.map +1 -1
- package/dist/cjs/types/ai.d.ts +3 -3
- package/dist/cjs/types/ai.d.ts.map +1 -1
- package/dist/cjs/types/errors.d.ts +15 -0
- package/dist/cjs/types/errors.d.ts.map +1 -0
- package/dist/cjs/types/errors.js +22 -0
- package/dist/cjs/types/errors.js.map +1 -0
- package/dist/cjs/types/flow.d.ts +513 -0
- package/dist/cjs/types/flow.d.ts.map +1 -0
- package/dist/cjs/types/{route.js → flow.js} +2 -2
- package/dist/cjs/types/flow.js.map +1 -0
- package/dist/cjs/types/index.d.ts +7 -6
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +6 -2
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/persistence.d.ts +11 -7
- package/dist/cjs/types/persistence.d.ts.map +1 -1
- package/dist/cjs/types/routing.d.ts +1 -1
- package/dist/cjs/types/routing.d.ts.map +1 -1
- package/dist/cjs/types/session.d.ts +24 -23
- package/dist/cjs/types/session.d.ts.map +1 -1
- package/dist/cjs/types/signals.d.ts +248 -0
- package/dist/cjs/types/signals.d.ts.map +1 -0
- package/dist/cjs/types/signals.js +11 -0
- package/dist/cjs/types/signals.js.map +1 -0
- package/dist/cjs/types/template.d.ts +2 -8
- package/dist/cjs/types/template.d.ts.map +1 -1
- package/dist/cjs/types/tool.d.ts +36 -29
- package/dist/cjs/types/tool.d.ts.map +1 -1
- package/dist/cjs/types/tool.js +1 -1
- package/dist/cjs/types/tool.js.map +1 -1
- package/dist/cjs/utils/condition.d.ts +7 -1
- package/dist/cjs/utils/condition.d.ts.map +1 -1
- package/dist/cjs/utils/condition.js.map +1 -1
- package/dist/cjs/utils/id.d.ts +13 -5
- package/dist/cjs/utils/id.d.ts.map +1 -1
- package/dist/cjs/utils/id.js +24 -10
- package/dist/cjs/utils/id.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +2 -2
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +7 -3
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/session.d.ts +44 -5
- package/dist/cjs/utils/session.d.ts.map +1 -1
- package/dist/cjs/utils/session.js +197 -38
- package/dist/cjs/utils/session.js.map +1 -1
- package/dist/constants/index.d.ts +0 -9
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +3 -9
- package/dist/constants/index.js.map +1 -1
- package/dist/core/Agent.d.ts +119 -153
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +472 -325
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/AutoChainExecutor.d.ts +107 -0
- package/dist/core/AutoChainExecutor.d.ts.map +1 -0
- package/dist/core/AutoChainExecutor.js +293 -0
- package/dist/core/AutoChainExecutor.js.map +1 -0
- package/dist/core/BranchEvaluator.d.ts +54 -0
- package/dist/core/BranchEvaluator.d.ts.map +1 -0
- package/dist/core/BranchEvaluator.js +126 -0
- package/dist/core/BranchEvaluator.js.map +1 -0
- package/dist/core/DirectiveBus.d.ts +88 -0
- package/dist/core/DirectiveBus.d.ts.map +1 -0
- package/dist/core/DirectiveBus.js +192 -0
- package/dist/core/DirectiveBus.js.map +1 -0
- package/dist/core/DirectiveChainTracker.d.ts +49 -0
- package/dist/core/DirectiveChainTracker.d.ts.map +1 -0
- package/dist/core/DirectiveChainTracker.js +117 -0
- package/dist/core/DirectiveChainTracker.js.map +1 -0
- package/dist/core/Flow.d.ts +186 -0
- package/dist/core/Flow.d.ts.map +1 -0
- package/dist/core/Flow.js +546 -0
- package/dist/core/Flow.js.map +1 -0
- package/dist/core/FlowRouter.d.ts +182 -0
- package/dist/core/FlowRouter.d.ts.map +1 -0
- package/dist/core/{RoutingEngine.js → FlowRouter.js} +322 -305
- package/dist/core/FlowRouter.js.map +1 -0
- package/dist/core/PersistenceManager.d.ts +2 -2
- package/dist/core/PersistenceManager.d.ts.map +1 -1
- package/dist/core/PersistenceManager.js +7 -7
- package/dist/core/PersistenceManager.js.map +1 -1
- package/dist/core/PromptComposer.d.ts +21 -8
- package/dist/core/PromptComposer.d.ts.map +1 -1
- package/dist/core/PromptComposer.js +183 -106
- package/dist/core/PromptComposer.js.map +1 -1
- package/dist/core/PromptSectionCache.d.ts +1 -1
- package/dist/core/PromptSectionCache.js +1 -1
- package/dist/core/ResponseEngine.d.ts +18 -8
- package/dist/core/ResponseEngine.d.ts.map +1 -1
- package/dist/core/ResponseEngine.js +38 -36
- package/dist/core/ResponseEngine.js.map +1 -1
- package/dist/core/ResponseModal.d.ts +73 -56
- package/dist/core/ResponseModal.d.ts.map +1 -1
- package/dist/core/ResponseModal.js +1193 -1016
- package/dist/core/ResponseModal.js.map +1 -1
- package/dist/core/ResponsePipeline.d.ts +124 -26
- package/dist/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/core/ResponsePipeline.js +509 -137
- package/dist/core/ResponsePipeline.js.map +1 -1
- package/dist/core/SignalEvaluator.d.ts +86 -0
- package/dist/core/SignalEvaluator.d.ts.map +1 -0
- package/dist/core/SignalEvaluator.js +326 -0
- package/dist/core/SignalEvaluator.js.map +1 -0
- package/dist/core/SignalProcessor.d.ts +152 -0
- package/dist/core/SignalProcessor.d.ts.map +1 -0
- package/dist/core/SignalProcessor.js +555 -0
- package/dist/core/SignalProcessor.js.map +1 -0
- package/dist/core/Step.d.ts +43 -32
- package/dist/core/Step.d.ts.map +1 -1
- package/dist/core/Step.js +220 -126
- package/dist/core/Step.js.map +1 -1
- package/dist/core/StreamingToolExecutor.d.ts +2 -2
- package/dist/core/StreamingToolExecutor.d.ts.map +1 -1
- package/dist/core/StreamingToolExecutor.js.map +1 -1
- package/dist/core/ToolManager.d.ts +44 -13
- package/dist/core/ToolManager.d.ts.map +1 -1
- package/dist/core/ToolManager.js +174 -91
- package/dist/core/ToolManager.js.map +1 -1
- package/dist/core/createAgent.d.ts +35 -0
- package/dist/core/createAgent.d.ts.map +1 -0
- package/dist/core/createAgent.js +36 -0
- package/dist/core/createAgent.js.map +1 -0
- package/dist/core/flow-namespace.d.ts +49 -0
- package/dist/core/flow-namespace.d.ts.map +1 -0
- package/dist/core/flow-namespace.js +168 -0
- package/dist/core/flow-namespace.js.map +1 -0
- package/dist/index.d.ts +11 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -12
- package/dist/index.js.map +1 -1
- package/dist/types/agent.d.ts +183 -54
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +0 -6
- package/dist/types/agent.js.map +1 -1
- package/dist/types/ai.d.ts +3 -3
- package/dist/types/ai.d.ts.map +1 -1
- package/dist/types/errors.d.ts +15 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +18 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/flow.d.ts +513 -0
- package/dist/types/flow.d.ts.map +1 -0
- package/dist/types/flow.js +5 -0
- package/dist/types/flow.js.map +1 -0
- package/dist/types/index.d.ts +7 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/persistence.d.ts +11 -7
- package/dist/types/persistence.d.ts.map +1 -1
- package/dist/types/routing.d.ts +1 -1
- package/dist/types/routing.d.ts.map +1 -1
- package/dist/types/session.d.ts +24 -23
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/signals.d.ts +248 -0
- package/dist/types/signals.d.ts.map +1 -0
- package/dist/types/signals.js +10 -0
- package/dist/types/signals.js.map +1 -0
- package/dist/types/template.d.ts +2 -8
- package/dist/types/template.d.ts.map +1 -1
- package/dist/types/tool.d.ts +36 -29
- package/dist/types/tool.d.ts.map +1 -1
- package/dist/types/tool.js +1 -1
- package/dist/types/tool.js.map +1 -1
- package/dist/utils/condition.d.ts +7 -1
- package/dist/utils/condition.d.ts.map +1 -1
- package/dist/utils/condition.js.map +1 -1
- package/dist/utils/id.d.ts +13 -5
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +22 -9
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/session.d.ts +44 -5
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +193 -37
- package/dist/utils/session.js.map +1 -1
- package/docs/README.md +15 -202
- package/docs/concepts/architecture.md +281 -0
- package/docs/concepts/directives.md +400 -0
- package/docs/concepts/pipeline.md +399 -0
- package/docs/guides/branching.md +263 -0
- package/docs/guides/compaction.md +163 -0
- package/docs/guides/conditions.md +167 -0
- package/docs/guides/error-handling.md +176 -0
- package/docs/guides/flow-control.md +409 -0
- package/docs/guides/instructions.md +210 -0
- package/docs/guides/persistence.md +182 -0
- package/docs/guides/streaming.md +137 -0
- package/docs/migration/README.md +15 -0
- package/docs/migration/route-to-flow.md +560 -0
- package/docs/migration/v1-to-v2.md +909 -0
- package/docs/reference/adapters.md +481 -0
- package/docs/reference/branches.md +241 -0
- package/docs/reference/create-agent.md +186 -0
- package/docs/reference/directive.md +243 -0
- package/docs/reference/errors.md +122 -0
- package/docs/reference/flow.md +238 -0
- package/docs/reference/instruction.md +177 -0
- package/docs/reference/pre-directive.md +131 -0
- package/docs/reference/providers.md +227 -0
- package/docs/reference/signals.md +356 -0
- package/docs/reference/step.md +339 -0
- package/docs/reference/tool.md +269 -0
- package/docs/start/01-install.md +81 -0
- package/docs/start/02-first-agent.md +196 -0
- package/docs/start/03-collect-data.md +222 -0
- package/docs/start/04-add-tools.md +276 -0
- package/docs/start/05-go-to-production.md +216 -0
- package/examples/01-quickstart.ts +20 -0
- package/examples/02-data-extraction.ts +90 -0
- package/examples/03-tools.ts +136 -0
- package/examples/04-instructions.ts +100 -0
- package/examples/05-branching.ts +140 -0
- package/examples/06-flow-control.ts +103 -0
- package/examples/07-streaming.ts +69 -0
- package/examples/08-persistence.ts +98 -0
- package/examples/09-signals.ts +144 -0
- package/examples/tsconfig.json +30 -0
- package/package.json +2 -1
- package/src/adapters/MemoryAdapter.ts +3 -3
- package/src/adapters/MongoAdapter.ts +3 -3
- package/src/adapters/OpenSearchAdapter.ts +10 -8
- package/src/adapters/PostgreSQLAdapter.ts +26 -10
- package/src/adapters/PrismaAdapter.ts +6 -6
- package/src/adapters/RedisAdapter.ts +3 -3
- package/src/adapters/SQLiteAdapter.ts +31 -12
- package/src/constants/index.ts +2 -10
- package/src/core/Agent.ts +585 -374
- package/src/core/AutoChainExecutor.ts +440 -0
- package/src/core/BranchEvaluator.ts +167 -0
- package/src/core/DirectiveBus.ts +248 -0
- package/src/core/DirectiveChainTracker.ts +144 -0
- package/src/core/Flow.ts +666 -0
- package/src/core/{RoutingEngine.ts → FlowRouter.ts} +385 -365
- package/src/core/PersistenceManager.ts +8 -8
- package/src/core/PromptComposer.ts +209 -140
- package/src/core/PromptSectionCache.ts +1 -1
- package/src/core/ResponseEngine.ts +61 -46
- package/src/core/ResponseModal.ts +1453 -1240
- package/src/core/ResponsePipeline.ts +655 -175
- package/src/core/SignalEvaluator.ts +420 -0
- package/src/core/SignalProcessor.ts +723 -0
- package/src/core/Step.ts +279 -176
- package/src/core/StreamingToolExecutor.ts +4 -4
- package/src/core/ToolManager.ts +200 -97
- package/src/core/createAgent.ts +40 -0
- package/src/core/flow-namespace.ts +219 -0
- package/src/index.ts +42 -36
- package/src/types/agent.ts +182 -53
- package/src/types/ai.ts +3 -3
- package/src/types/errors.ts +18 -0
- package/src/types/flow.ts +590 -0
- package/src/types/index.ts +43 -16
- package/src/types/persistence.ts +12 -8
- package/src/types/routing.ts +1 -1
- package/src/types/session.ts +26 -23
- package/src/types/signals.ts +321 -0
- package/src/types/template.ts +3 -11
- package/src/types/tool.ts +50 -42
- package/src/utils/condition.ts +13 -4
- package/src/utils/id.ts +27 -9
- package/src/utils/index.ts +6 -2
- package/src/utils/session.ts +238 -42
- package/dist/cjs/core/BatchExecutor.d.ts +0 -359
- package/dist/cjs/core/BatchExecutor.d.ts.map +0 -1
- package/dist/cjs/core/BatchExecutor.js +0 -861
- package/dist/cjs/core/BatchExecutor.js.map +0 -1
- package/dist/cjs/core/BatchPromptBuilder.d.ts +0 -89
- package/dist/cjs/core/BatchPromptBuilder.d.ts.map +0 -1
- package/dist/cjs/core/BatchPromptBuilder.js +0 -223
- package/dist/cjs/core/BatchPromptBuilder.js.map +0 -1
- package/dist/cjs/core/Route.d.ts +0 -180
- package/dist/cjs/core/Route.d.ts.map +0 -1
- package/dist/cjs/core/Route.js +0 -542
- package/dist/cjs/core/Route.js.map +0 -1
- package/dist/cjs/core/RoutingEngine.d.ts +0 -185
- package/dist/cjs/core/RoutingEngine.d.ts.map +0 -1
- package/dist/cjs/core/RoutingEngine.js.map +0 -1
- package/dist/cjs/types/route.d.ts +0 -336
- package/dist/cjs/types/route.d.ts.map +0 -1
- package/dist/cjs/types/route.js.map +0 -1
- package/dist/core/BatchExecutor.d.ts +0 -359
- package/dist/core/BatchExecutor.d.ts.map +0 -1
- package/dist/core/BatchExecutor.js +0 -856
- package/dist/core/BatchExecutor.js.map +0 -1
- package/dist/core/BatchPromptBuilder.d.ts +0 -89
- package/dist/core/BatchPromptBuilder.d.ts.map +0 -1
- package/dist/core/BatchPromptBuilder.js +0 -219
- package/dist/core/BatchPromptBuilder.js.map +0 -1
- package/dist/core/Route.d.ts +0 -180
- package/dist/core/Route.d.ts.map +0 -1
- package/dist/core/Route.js +0 -538
- package/dist/core/Route.js.map +0 -1
- package/dist/core/RoutingEngine.d.ts +0 -185
- package/dist/core/RoutingEngine.d.ts.map +0 -1
- package/dist/core/RoutingEngine.js.map +0 -1
- package/dist/types/route.d.ts +0 -336
- package/dist/types/route.d.ts.map +0 -1
- package/dist/types/route.js +0 -5
- package/dist/types/route.js.map +0 -1
- package/docs/CONTRIBUTING.md +0 -521
- package/docs/api/README.md +0 -3299
- package/docs/api/overview.md +0 -1410
- package/docs/architecture/data-extraction-flow.md +0 -360
- package/docs/architecture/multi-step-execution.md +0 -277
- package/docs/core/agent/README.md +0 -938
- package/docs/core/agent/context-management.md +0 -796
- package/docs/core/agent/rules-and-prohibitions.md +0 -113
- package/docs/core/agent/session-management.md +0 -693
- package/docs/core/ai-integration/prompt-composition.md +0 -355
- package/docs/core/ai-integration/providers.md +0 -515
- package/docs/core/ai-integration/response-processing.md +0 -433
- package/docs/core/conversation-flows/data-collection.md +0 -772
- package/docs/core/conversation-flows/route-dsl.md +0 -509
- package/docs/core/conversation-flows/routes.md +0 -249
- package/docs/core/conversation-flows/step-transitions.md +0 -731
- package/docs/core/conversation-flows/steps.md +0 -268
- package/docs/core/error-handling.md +0 -830
- package/docs/core/persistence/adapters.md +0 -255
- package/docs/core/persistence/session-storage.md +0 -656
- package/docs/core/routing/intelligent-routing.md +0 -470
- package/docs/core/tools/enhanced-tool.md +0 -186
- package/docs/core/tools/streaming-execution.md +0 -161
- package/docs/core/tools/tool-definition.md +0 -970
- package/docs/core/tools/tool-scoping.md +0 -819
- package/docs/guides/advanced-patterns/publishing.md +0 -186
- package/docs/guides/context-compaction.md +0 -96
- package/docs/guides/error-handling-patterns.md +0 -578
- package/docs/guides/getting-started/README.md +0 -795
- package/docs/guides/migration/README.md +0 -101
- package/docs/guides/migration/flexible-routing-conditions.md +0 -375
- package/docs/guides/migration/multi-step-execution.md +0 -393
- package/docs/guides/migration/response-modal-refactor.md +0 -518
- package/docs/guides/prompt-optimization.md +0 -164
- package/examples/advanced-patterns/context-compaction.ts +0 -223
- package/examples/advanced-patterns/knowledge-based-agent.ts +0 -735
- package/examples/advanced-patterns/persistent-onboarding.ts +0 -728
- package/examples/advanced-patterns/route-lifecycle-hooks.ts +0 -556
- package/examples/advanced-patterns/streaming-responses.ts +0 -656
- package/examples/ai-providers/anthropic-integration.ts +0 -388
- package/examples/ai-providers/openai-integration.ts +0 -228
- package/examples/condition-patterns/function-only-conditions.ts +0 -365
- package/examples/condition-patterns/mixed-array-conditions.ts +0 -477
- package/examples/condition-patterns/route-skipif-patterns.ts +0 -468
- package/examples/condition-patterns/step-skipif-patterns.ts +0 -0
- package/examples/condition-patterns/string-only-conditions.ts +0 -296
- package/examples/conversation-flows/completion-transitions.ts +0 -318
- package/examples/core-concepts/basic-agent.ts +0 -503
- package/examples/core-concepts/modern-streaming-api.ts +0 -309
- package/examples/core-concepts/schema-driven-extraction.ts +0 -332
- package/examples/core-concepts/session-management.ts +0 -494
- package/examples/integrations/database-integration.ts +0 -631
- package/examples/integrations/healthcare-integration.ts +0 -595
- package/examples/integrations/search-integration.ts +0 -530
- package/examples/integrations/server-session-management.ts +0 -307
- package/examples/persistence/custom-adapter.ts +0 -526
- package/examples/persistence/database-persistence.ts +0 -583
- package/examples/persistence/memory-sessions.ts +0 -495
- package/examples/persistence/prisma-schema.example.prisma +0 -74
- package/examples/persistence/redis-persistence.ts +0 -488
- package/examples/tools/basic-tools.ts +0 -765
- package/examples/tools/data-enrichment-tools.ts +0 -593
- package/examples/tools/enhanced-tool-metadata.ts +0 -268
- package/examples/tools/streaming-tool-execution.ts +0 -283
- package/src/core/BatchExecutor.ts +0 -1187
- package/src/core/BatchPromptBuilder.ts +0 -299
- package/src/core/Route.ts +0 -678
- package/src/types/route.ts +0 -392
package/src/types/agent.ts
CHANGED
|
@@ -4,13 +4,43 @@
|
|
|
4
4
|
|
|
5
5
|
import type { AgentStructuredResponse, AiProvider } from "./ai";
|
|
6
6
|
import type { Tool } from "./tool";
|
|
7
|
-
import type {
|
|
7
|
+
import type { Directive, FlowOptions, StepRef, StoppedReason } from "./flow";
|
|
8
8
|
import type { PersistenceConfig } from "./persistence";
|
|
9
9
|
import type { SessionState } from "./session";
|
|
10
|
+
import type { Signal, SignalFiring } from "./signals";
|
|
10
11
|
import type { StructuredSchema } from "./schema";
|
|
11
|
-
import {
|
|
12
|
+
import type { Event } from "./history";
|
|
13
|
+
import type { Template } from "./template";
|
|
14
|
+
import type { ConditionWhen, ConditionIf } from "./flow";
|
|
12
15
|
import type { PromptCacheConfig } from "../core/PromptSectionCache";
|
|
13
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Context passed to every lifecycle hook (flow and step).
|
|
19
|
+
* Carries the current state and a `dispatch` method for emitting directives
|
|
20
|
+
* onto the per-turn directive bus.
|
|
21
|
+
*/
|
|
22
|
+
export interface HookContext<TContext = unknown, TData = unknown> {
|
|
23
|
+
/** Agent-level context. */
|
|
24
|
+
context: TContext;
|
|
25
|
+
/** Collected data (partial — fields may be undefined). */
|
|
26
|
+
data: Partial<TData>;
|
|
27
|
+
/** Full session state. */
|
|
28
|
+
session: SessionState<TData>;
|
|
29
|
+
/** Conversation history as events. */
|
|
30
|
+
history: Event[];
|
|
31
|
+
/**
|
|
32
|
+
* Emit a directive onto the per-turn directive bus.
|
|
33
|
+
* Multiple `dispatch()` calls are allowed; they merge via Algorithm 4
|
|
34
|
+
* along with any directive returned from the hook itself.
|
|
35
|
+
*/
|
|
36
|
+
dispatch(directive: Directive<TContext, TData>): void;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Reason why a flow was exited, passed to `hooks.onExit`.
|
|
41
|
+
*/
|
|
42
|
+
export type ExitReason = 'completed' | 'goto_flow' | 'goto_step' | 'aborted';
|
|
43
|
+
|
|
14
44
|
/**
|
|
15
45
|
* Agent-level compaction configuration.
|
|
16
46
|
* Unlike CompactionOptions, this does not require a `provider` since the agent already has one.
|
|
@@ -49,12 +79,6 @@ export interface AgentCompactionConfig {
|
|
|
49
79
|
export enum CompositionMode {
|
|
50
80
|
/** Fluid, natural conversation without strict structure */
|
|
51
81
|
FLUID = "fluid",
|
|
52
|
-
/** Canned responses with fluid fallback */
|
|
53
|
-
CANNED_FLUID = "canned_fluid",
|
|
54
|
-
/** Composited canned responses */
|
|
55
|
-
CANNED_COMPOSITED = "composited_canned",
|
|
56
|
-
/** Strict canned responses only */
|
|
57
|
-
CANNED_STRICT = "strict_canned",
|
|
58
82
|
}
|
|
59
83
|
|
|
60
84
|
/**
|
|
@@ -103,14 +127,13 @@ export type ContextProvider<TContext = unknown> = () =>
|
|
|
103
127
|
export interface AgentOptions<TContext = unknown, TData = unknown> {
|
|
104
128
|
/** Display name of the agent */
|
|
105
129
|
name: string;
|
|
106
|
-
/** Detailed description of the agent's purpose and personality */
|
|
107
|
-
description?: string;
|
|
108
130
|
/** The agent's primary goal or objective */
|
|
109
131
|
goal?: string;
|
|
110
|
-
/**
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
132
|
+
/**
|
|
133
|
+
* Agent persona — covers role, tone, self-concept, and communication style.
|
|
134
|
+
* Rendered into the system prompt as "who you are and how you communicate."
|
|
135
|
+
*/
|
|
136
|
+
persona?: Template<TContext>;
|
|
114
137
|
/** Enable debug logging */
|
|
115
138
|
debug?: boolean;
|
|
116
139
|
/** Default context data available to the agent */
|
|
@@ -125,46 +148,53 @@ export interface AgentOptions<TContext = unknown, TData = unknown> {
|
|
|
125
148
|
hooks?: ContextLifecycleHooks<TContext, TData>;
|
|
126
149
|
/** AI provider strategy for generating responses */
|
|
127
150
|
provider: AiProvider;
|
|
128
|
-
/** Composition mode for response generation */
|
|
129
|
-
compositionMode?: CompositionMode;
|
|
130
151
|
/** Initial terms for domain glossary */
|
|
131
152
|
terms?: Term<TContext, TData>[];
|
|
132
|
-
/**
|
|
133
|
-
|
|
134
|
-
|
|
153
|
+
/**
|
|
154
|
+
* Instructions for agent behavior — unified primitive.
|
|
155
|
+
* Each instruction has a `kind`: `'must'` (rule), `'never'` (prohibition), or `'should'` (default, nudge).
|
|
156
|
+
*/
|
|
157
|
+
instructions?: Instruction<TContext, TData>[];
|
|
158
|
+
/** Global tools available to all flows */
|
|
135
159
|
tools?: Tool<TContext, TData, unknown>[];
|
|
136
|
-
/** Initial
|
|
137
|
-
|
|
160
|
+
/** Initial flows (will be instantiated as Flow objects) */
|
|
161
|
+
flows?: FlowOptions<TContext, TData>[];
|
|
138
162
|
/** Optional persistence configuration for auto-saving sessions and messages */
|
|
139
163
|
persistence?: PersistenceConfig<TData>;
|
|
140
164
|
/** Knowledge base containing any JSON structure the AI should know */
|
|
141
165
|
knowledgeBase?: Record<string, unknown>;
|
|
142
|
-
/** Absolute rules the agent must follow across all routes */
|
|
143
|
-
rules?: Template<TContext, TData>[];
|
|
144
|
-
/** Absolute prohibitions the agent must never do across all routes */
|
|
145
|
-
prohibitions?: Template<TContext, TData>[];
|
|
146
166
|
/** Agent-level data schema defining the complete data structure for collection */
|
|
147
167
|
schema?: StructuredSchema;
|
|
148
168
|
/** Initial data to pre-populate when creating the agent */
|
|
149
169
|
initialData?: Partial<TData>;
|
|
150
170
|
/**
|
|
151
|
-
* Margin (0-100) the best alternative
|
|
171
|
+
* Margin (0-100) the best alternative flow must exceed the current flow's score
|
|
152
172
|
* by before the agent switches. Higher values make the agent "stickier" to the
|
|
153
|
-
* current
|
|
173
|
+
* current flow. Set to 0 to switch whenever any flow scores higher.
|
|
154
174
|
* @default 15
|
|
155
175
|
*/
|
|
156
|
-
|
|
176
|
+
flowSwitchMargin?: number;
|
|
157
177
|
/**
|
|
158
|
-
|
|
159
|
-
*
|
|
178
|
+
/**
|
|
179
|
+
* Maximum number of consecutive auto-steps (`auto: true`) that may execute
|
|
180
|
+
* within a single turn before the pipeline throws `FlowConfigurationError`.
|
|
181
|
+
* Guards against infinite loops in auto-step chains.
|
|
160
182
|
*
|
|
161
|
-
*
|
|
162
|
-
* - `Infinity`: No limit — all eligible steps batch together
|
|
163
|
-
* - Any positive integer: Cap the batch to that many steps
|
|
183
|
+
* The default (10) is applied at Agent construction time, not on this type.
|
|
164
184
|
*
|
|
165
|
-
* @default
|
|
185
|
+
* @default 10
|
|
166
186
|
*/
|
|
167
|
-
|
|
187
|
+
maxAutoStepsPerTurn?: number;
|
|
188
|
+
/**
|
|
189
|
+
* Maximum number of chained directives allowed within a single turn before
|
|
190
|
+
* the pipeline throws `FlowConfigurationError`. Guards against infinite
|
|
191
|
+
* redirection loops (e.g., goTo → onEnter emits goTo → onComplete emits goTo → …).
|
|
192
|
+
*
|
|
193
|
+
* Chain breakers (`abort` mid-chain) stop counting and apply immediately.
|
|
194
|
+
*
|
|
195
|
+
* @default 10
|
|
196
|
+
*/
|
|
197
|
+
maxDirectiveChain?: number;
|
|
168
198
|
/**
|
|
169
199
|
* Optional compaction configuration for managing conversation history size.
|
|
170
200
|
* When provided, the agent will validate the options and make them available
|
|
@@ -177,6 +207,32 @@ export interface AgentOptions<TContext = unknown, TData = unknown> {
|
|
|
177
207
|
* @default { enabled: true }
|
|
178
208
|
*/
|
|
179
209
|
promptCache?: PromptCacheConfig;
|
|
210
|
+
/**
|
|
211
|
+
* Reserved for future router strategies. v2.0: only `'ai'` is implemented.
|
|
212
|
+
* Future v2.x widens to `'embedding' | 'rules'` etc.
|
|
213
|
+
*
|
|
214
|
+
* Setting any non-`'ai'` value in v2.0 throws `NotImplementedError` at
|
|
215
|
+
* `Agent` construction time. This is intentional — it surfaces forward-compat
|
|
216
|
+
* misconfiguration loudly. Future v2.x widens the accepted union without
|
|
217
|
+
* breaking the throw site (the new value just stops throwing).
|
|
218
|
+
*
|
|
219
|
+
* @default 'ai'
|
|
220
|
+
*/
|
|
221
|
+
routerMode?: 'ai';
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Signals: typed event detectors that run around the LLM turn.
|
|
225
|
+
* Empty array or undefined → signal phases are no-ops, zero cost.
|
|
226
|
+
*/
|
|
227
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
228
|
+
signals?: Signal<TContext, TData, any>[];
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Maximum signals per batched classifier call. Default 10.
|
|
232
|
+
* If more signals are eligible after gating, they are split into
|
|
233
|
+
* parallel batches of this size.
|
|
234
|
+
*/
|
|
235
|
+
signalBatchSize?: number;
|
|
180
236
|
}
|
|
181
237
|
|
|
182
238
|
/**
|
|
@@ -192,42 +248,104 @@ export interface Term<TContext = unknown, TData = unknown> {
|
|
|
192
248
|
}
|
|
193
249
|
|
|
194
250
|
/**
|
|
195
|
-
*
|
|
251
|
+
* Instruction — unified behavioral primitive.
|
|
252
|
+
* Collapses v1's `Guideline` (scoped nudge), `Rule` (absolute must-do),
|
|
253
|
+
* and `Prohibition` (absolute must-not) into a single type with a `kind` discriminator.
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* // A "should" (default) — same as a v1 Guideline
|
|
257
|
+
* { prompt: "Prefer short answers", when: "User asks a simple question" }
|
|
258
|
+
*
|
|
259
|
+
* // A "must" — same as a v1 Rule
|
|
260
|
+
* { kind: 'must', prompt: "Always validate email format before proceeding" }
|
|
261
|
+
*
|
|
262
|
+
* // A "never" — same as a v1 Prohibition
|
|
263
|
+
* { kind: 'never', prompt: "Promise delivery dates you cannot guarantee" }
|
|
196
264
|
*/
|
|
197
|
-
export interface
|
|
198
|
-
/** Unique identifier */
|
|
265
|
+
export interface Instruction<TContext = unknown, TData = unknown> {
|
|
266
|
+
/** Unique identifier (auto-generated if omitted). */
|
|
199
267
|
id?: string;
|
|
200
|
-
/**
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
268
|
+
/**
|
|
269
|
+
* Instruction severity.
|
|
270
|
+
* - `'must'` — absolute rule the agent must always follow.
|
|
271
|
+
* - `'never'` — absolute prohibition the agent must never do.
|
|
272
|
+
* - `'should'`— behavioral nudge, active when conditions match.
|
|
273
|
+
*
|
|
274
|
+
* @default 'should'
|
|
275
|
+
*/
|
|
276
|
+
kind?: 'must' | 'never' | 'should';
|
|
277
|
+
/**
|
|
278
|
+
* AI-evaluated activation condition. String or array of strings (AND semantics).
|
|
279
|
+
* Undefined = always active. Functions are NOT allowed here — use `if`.
|
|
280
|
+
*/
|
|
281
|
+
when?: ConditionWhen;
|
|
282
|
+
/**
|
|
283
|
+
* Code-evaluated activation condition. Function or array of functions (AND semantics).
|
|
284
|
+
* Free to evaluate. When both `when` and `if` are set, `if` runs first;
|
|
285
|
+
* `when` is only evaluated when `if` passes.
|
|
286
|
+
*/
|
|
287
|
+
if?: ConditionIf<TContext, TData>;
|
|
288
|
+
/** Behavioral instruction text rendered into the prompt. */
|
|
289
|
+
prompt: Template<TContext, TData>;
|
|
290
|
+
/** Whether this instruction is currently enabled. @default true */
|
|
205
291
|
enabled?: boolean;
|
|
206
|
-
/** Tags for organizing and filtering
|
|
292
|
+
/** Tags for organizing and filtering instructions. */
|
|
207
293
|
tags?: string[];
|
|
208
|
-
/** Additional metadata */
|
|
294
|
+
/** Additional metadata. */
|
|
209
295
|
metadata?: Record<string, unknown>;
|
|
210
296
|
}
|
|
211
297
|
|
|
212
298
|
/**
|
|
213
|
-
*
|
|
299
|
+
* Carries the three scope buckets through the prompt pipeline so the composer
|
|
300
|
+
* can render scope captions correctly.
|
|
214
301
|
*/
|
|
215
|
-
export interface
|
|
216
|
-
/**
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
|
|
302
|
+
export interface ScopedInstructions<TContext = unknown, TData = unknown> {
|
|
303
|
+
/** Agent-level — rendered with caption `[Always]`. */
|
|
304
|
+
global: Instruction<TContext, TData>[];
|
|
305
|
+
/**
|
|
306
|
+
* Flow-level — rendered with caption `[In: <FlowTitle>]`.
|
|
307
|
+
* `flowTitle` is captured here so the composer doesn't need a Flow reference.
|
|
308
|
+
*/
|
|
309
|
+
flow?: { flowTitle: string; items: Instruction<TContext, TData>[] };
|
|
310
|
+
/**
|
|
311
|
+
* Step-level — rendered with caption `[Step: <stepId>]`.
|
|
312
|
+
* `stepId` is captured here for the same reason.
|
|
313
|
+
*/
|
|
314
|
+
step?: { stepId: string; items: Instruction<TContext, TData>[] };
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Observability record for an instruction that was active and rendered into a turn's prompt.
|
|
319
|
+
* Deterministic — derived from rendering, not from LLM self-report.
|
|
320
|
+
*/
|
|
321
|
+
export interface AppliedInstruction {
|
|
322
|
+
/** The instruction's id */
|
|
323
|
+
id: string;
|
|
324
|
+
/** Which scope the instruction originated from */
|
|
325
|
+
scope: 'global' | 'flow' | 'step';
|
|
326
|
+
/** FlowTitle for `scope === 'flow'`, stepId for `scope === 'step'`, undefined for `scope === 'global'`. */
|
|
327
|
+
scopeRef?: string;
|
|
220
328
|
}
|
|
221
329
|
|
|
222
330
|
export interface AgentResponse<TData = Record<string, unknown>> {
|
|
223
331
|
message: string;
|
|
224
332
|
session?: SessionState<TData>;
|
|
225
333
|
toolCalls?: Array<{ toolName: string; arguments: Record<string, unknown> }>;
|
|
226
|
-
|
|
334
|
+
isFlowComplete?: boolean;
|
|
227
335
|
/** Steps executed in this response (for multi-step execution) */
|
|
228
336
|
executedSteps?: StepRef[];
|
|
229
337
|
/** Why execution stopped (for multi-step execution) */
|
|
230
338
|
stoppedReason?: StoppedReason;
|
|
339
|
+
/**
|
|
340
|
+
* Instructions whose conditions passed and were rendered into this turn's prompt.
|
|
341
|
+
* Deterministic — derived from rendering, not from LLM self-report.
|
|
342
|
+
*/
|
|
343
|
+
appliedInstructions?: AppliedInstruction[];
|
|
344
|
+
/**
|
|
345
|
+
* Signals that fired during this turn (both pre- and post-phases), in fire order.
|
|
346
|
+
* Mirrors the observability framing of `executedSteps` and `appliedInstructions`.
|
|
347
|
+
*/
|
|
348
|
+
triggeredSignals?: SignalFiring<unknown, TData>[];
|
|
231
349
|
}
|
|
232
350
|
|
|
233
351
|
export interface AgentResponseStreamChunk<TData = Record<string, unknown>> {
|
|
@@ -236,7 +354,7 @@ export interface AgentResponseStreamChunk<TData = Record<string, unknown>> {
|
|
|
236
354
|
done: boolean;
|
|
237
355
|
session?: SessionState<TData>;
|
|
238
356
|
toolCalls?: Array<{ toolName: string; arguments: Record<string, unknown> }>;
|
|
239
|
-
|
|
357
|
+
isFlowComplete?: boolean;
|
|
240
358
|
/** Steps executed in this response (for multi-step execution) */
|
|
241
359
|
executedSteps?: StepRef[];
|
|
242
360
|
/** Why execution stopped (for multi-step execution) */
|
|
@@ -249,6 +367,17 @@ export interface AgentResponseStreamChunk<TData = Record<string, unknown>> {
|
|
|
249
367
|
};
|
|
250
368
|
structured?: AgentStructuredResponse;
|
|
251
369
|
error?: Error;
|
|
370
|
+
/**
|
|
371
|
+
* Instructions whose conditions passed and were rendered into this turn's prompt.
|
|
372
|
+
* Populated on the final (`done: true`) chunk only.
|
|
373
|
+
*/
|
|
374
|
+
appliedInstructions?: AppliedInstruction[];
|
|
375
|
+
/**
|
|
376
|
+
* Signals that fired during this turn (both pre- and post-phases), in fire order.
|
|
377
|
+
* Mirrors the observability framing of `executedSteps` and `appliedInstructions`.
|
|
378
|
+
* Populated on the final (`done: true`) chunk only.
|
|
379
|
+
*/
|
|
380
|
+
triggeredSignals?: SignalFiring<unknown, TData>[];
|
|
252
381
|
}
|
|
253
382
|
|
|
254
383
|
/**
|
package/src/types/ai.ts
CHANGED
|
@@ -69,9 +69,9 @@ export interface GenerateMessageInput<TContext = unknown> {
|
|
|
69
69
|
export interface AgentStructuredResponse extends Record<string, unknown> {
|
|
70
70
|
/** The actual message to send to the user */
|
|
71
71
|
message: string;
|
|
72
|
-
/**
|
|
73
|
-
|
|
74
|
-
/** Current step within the
|
|
72
|
+
/** Flow chosen by the agent (flow title or null if no flow) */
|
|
73
|
+
flow?: string | null;
|
|
74
|
+
/** Current step within the flow (step description or null) */
|
|
75
75
|
step?: string | null;
|
|
76
76
|
/** Tool calls the agent wants to execute */
|
|
77
77
|
toolCalls?: Array<{
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed error classes for @falai/agent.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Typed error for not-yet-implemented surface. Subclass of Error (not of
|
|
7
|
+
* FlowConfigurationError) so handlers can distinguish "not yet built" from
|
|
8
|
+
* "misconfigured".
|
|
9
|
+
*
|
|
10
|
+
* Thrown when a reserved option is set to a value that the current version
|
|
11
|
+
* does not support (e.g. `routerMode: 'embedding'` in v2.0).
|
|
12
|
+
*/
|
|
13
|
+
export class NotImplementedError extends Error {
|
|
14
|
+
constructor(message: string) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = 'NotImplementedError';
|
|
17
|
+
}
|
|
18
|
+
}
|