@falai/agent 2.6.1 → 2.7.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.js +29 -33
- package/dist/adapters/MemoryAdapter.js.map +1 -1
- package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
- package/dist/adapters/PostgreSQLAdapter.js +16 -11
- package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
- package/dist/adapters/RedisAdapter.d.ts +1 -0
- package/dist/adapters/RedisAdapter.d.ts.map +1 -1
- package/dist/adapters/RedisAdapter.js +75 -25
- package/dist/adapters/RedisAdapter.js.map +1 -1
- package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/dist/adapters/SQLiteAdapter.js +7 -29
- package/dist/adapters/SQLiteAdapter.js.map +1 -1
- package/dist/adapters/sessionRow.d.ts +22 -0
- package/dist/adapters/sessionRow.d.ts.map +1 -0
- package/dist/adapters/sessionRow.js +48 -0
- package/dist/adapters/sessionRow.js.map +1 -0
- package/dist/cjs/adapters/MemoryAdapter.js +29 -33
- package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.js +16 -11
- package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
- package/dist/cjs/adapters/RedisAdapter.d.ts +1 -0
- package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/RedisAdapter.js +75 -25
- package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.js +7 -29
- package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
- package/dist/cjs/adapters/sessionRow.d.ts +22 -0
- package/dist/cjs/adapters/sessionRow.d.ts.map +1 -0
- package/dist/cjs/adapters/sessionRow.js +52 -0
- package/dist/cjs/adapters/sessionRow.js.map +1 -0
- package/dist/cjs/core/Agent.d.ts +8 -0
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +40 -2
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/AutoChainExecutor.d.ts +8 -18
- package/dist/cjs/core/AutoChainExecutor.d.ts.map +1 -1
- package/dist/cjs/core/AutoChainExecutor.js +23 -26
- package/dist/cjs/core/AutoChainExecutor.js.map +1 -1
- package/dist/cjs/core/CompactionEngine.d.ts +14 -1
- package/dist/cjs/core/CompactionEngine.d.ts.map +1 -1
- package/dist/cjs/core/CompactionEngine.js +30 -6
- package/dist/cjs/core/CompactionEngine.js.map +1 -1
- package/dist/cjs/core/FlowRouter.d.ts.map +1 -1
- package/dist/cjs/core/FlowRouter.js +32 -10
- package/dist/cjs/core/FlowRouter.js.map +1 -1
- package/dist/cjs/core/ResponseGenerationError.d.ts.map +1 -1
- package/dist/cjs/core/ResponseGenerationError.js +3 -5
- package/dist/cjs/core/ResponseGenerationError.js.map +1 -1
- package/dist/cjs/core/ResponseModal.d.ts +29 -0
- package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
- package/dist/cjs/core/ResponseModal.js +141 -18
- package/dist/cjs/core/ResponseModal.js.map +1 -1
- package/dist/cjs/core/ResponsePipeline.d.ts +36 -6
- package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/cjs/core/ResponsePipeline.js +208 -73
- package/dist/cjs/core/ResponsePipeline.js.map +1 -1
- package/dist/cjs/core/SessionFinalizer.d.ts.map +1 -1
- package/dist/cjs/core/SessionFinalizer.js +30 -3
- package/dist/cjs/core/SessionFinalizer.js.map +1 -1
- package/dist/cjs/core/SessionManager.d.ts +10 -1
- package/dist/cjs/core/SessionManager.d.ts.map +1 -1
- package/dist/cjs/core/SessionManager.js +43 -16
- package/dist/cjs/core/SessionManager.js.map +1 -1
- package/dist/cjs/core/SignalProcessor.d.ts.map +1 -1
- package/dist/cjs/core/SignalProcessor.js +5 -77
- package/dist/cjs/core/SignalProcessor.js.map +1 -1
- package/dist/cjs/core/Step.d.ts.map +1 -1
- package/dist/cjs/core/Step.js +50 -2
- package/dist/cjs/core/Step.js.map +1 -1
- package/dist/cjs/core/StepLifecycle.d.ts +16 -6
- package/dist/cjs/core/StepLifecycle.d.ts.map +1 -1
- package/dist/cjs/core/StepLifecycle.js +97 -14
- package/dist/cjs/core/StepLifecycle.js.map +1 -1
- package/dist/cjs/core/StreamingToolExecutor.d.ts.map +1 -1
- package/dist/cjs/core/StreamingToolExecutor.js +28 -4
- package/dist/cjs/core/StreamingToolExecutor.js.map +1 -1
- package/dist/cjs/core/ToolLoopExecutor.d.ts +5 -1
- package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -1
- package/dist/cjs/core/ToolLoopExecutor.js +155 -63
- package/dist/cjs/core/ToolLoopExecutor.js.map +1 -1
- package/dist/cjs/core/ToolManager.d.ts +1 -1
- package/dist/cjs/core/ToolManager.d.ts.map +1 -1
- package/dist/cjs/core/ToolManager.js +40 -17
- package/dist/cjs/core/ToolManager.js.map +1 -1
- package/dist/cjs/core/flow-namespace.d.ts +15 -0
- package/dist/cjs/core/flow-namespace.d.ts.map +1 -1
- package/dist/cjs/core/flow-namespace.js +22 -0
- package/dist/cjs/core/flow-namespace.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.d.ts +10 -3
- package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.js +54 -73
- package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
- package/dist/cjs/providers/GeminiProvider.d.ts +9 -3
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GeminiProvider.js +24 -68
- package/dist/cjs/providers/GeminiProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +9 -0
- package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAICompatibleProvider.js +101 -74
- package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts +1 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.js +1 -1
- package/dist/cjs/providers/errorClassification.d.ts +7 -0
- package/dist/cjs/providers/errorClassification.d.ts.map +1 -1
- package/dist/cjs/providers/errorClassification.js +27 -0
- package/dist/cjs/providers/errorClassification.js.map +1 -1
- package/dist/cjs/types/agent.d.ts +26 -0
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/flow.d.ts +49 -32
- package/dist/cjs/types/flow.d.ts.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/tool.d.ts +2 -0
- package/dist/cjs/types/tool.d.ts.map +1 -1
- package/dist/cjs/types/tool.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +4 -4
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +10 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/retry.d.ts +99 -1
- package/dist/cjs/utils/retry.d.ts.map +1 -1
- package/dist/cjs/utils/retry.js +140 -3
- package/dist/cjs/utils/retry.js.map +1 -1
- package/dist/cjs/utils/serialize.d.ts +17 -0
- package/dist/cjs/utils/serialize.d.ts.map +1 -1
- package/dist/cjs/utils/serialize.js +33 -0
- package/dist/cjs/utils/serialize.js.map +1 -1
- package/dist/cjs/utils/session.d.ts +21 -1
- package/dist/cjs/utils/session.d.ts.map +1 -1
- package/dist/cjs/utils/session.js +36 -4
- package/dist/cjs/utils/session.js.map +1 -1
- package/dist/core/Agent.d.ts +8 -0
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +40 -2
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/AutoChainExecutor.d.ts +8 -18
- package/dist/core/AutoChainExecutor.d.ts.map +1 -1
- package/dist/core/AutoChainExecutor.js +23 -26
- package/dist/core/AutoChainExecutor.js.map +1 -1
- package/dist/core/CompactionEngine.d.ts +14 -1
- package/dist/core/CompactionEngine.d.ts.map +1 -1
- package/dist/core/CompactionEngine.js +30 -6
- package/dist/core/CompactionEngine.js.map +1 -1
- package/dist/core/FlowRouter.d.ts.map +1 -1
- package/dist/core/FlowRouter.js +32 -10
- package/dist/core/FlowRouter.js.map +1 -1
- package/dist/core/ResponseGenerationError.d.ts.map +1 -1
- package/dist/core/ResponseGenerationError.js +3 -5
- package/dist/core/ResponseGenerationError.js.map +1 -1
- package/dist/core/ResponseModal.d.ts +29 -0
- package/dist/core/ResponseModal.d.ts.map +1 -1
- package/dist/core/ResponseModal.js +142 -19
- package/dist/core/ResponseModal.js.map +1 -1
- package/dist/core/ResponsePipeline.d.ts +36 -6
- package/dist/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/core/ResponsePipeline.js +208 -73
- package/dist/core/ResponsePipeline.js.map +1 -1
- package/dist/core/SessionFinalizer.d.ts.map +1 -1
- package/dist/core/SessionFinalizer.js +31 -4
- package/dist/core/SessionFinalizer.js.map +1 -1
- package/dist/core/SessionManager.d.ts +10 -1
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +44 -17
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/SignalProcessor.d.ts.map +1 -1
- package/dist/core/SignalProcessor.js +5 -77
- package/dist/core/SignalProcessor.js.map +1 -1
- package/dist/core/Step.d.ts.map +1 -1
- package/dist/core/Step.js +50 -2
- package/dist/core/Step.js.map +1 -1
- package/dist/core/StepLifecycle.d.ts +16 -6
- package/dist/core/StepLifecycle.d.ts.map +1 -1
- package/dist/core/StepLifecycle.js +97 -14
- package/dist/core/StepLifecycle.js.map +1 -1
- package/dist/core/StreamingToolExecutor.d.ts.map +1 -1
- package/dist/core/StreamingToolExecutor.js +28 -4
- package/dist/core/StreamingToolExecutor.js.map +1 -1
- package/dist/core/ToolLoopExecutor.d.ts +5 -1
- package/dist/core/ToolLoopExecutor.d.ts.map +1 -1
- package/dist/core/ToolLoopExecutor.js +155 -63
- package/dist/core/ToolLoopExecutor.js.map +1 -1
- package/dist/core/ToolManager.d.ts +1 -1
- package/dist/core/ToolManager.d.ts.map +1 -1
- package/dist/core/ToolManager.js +41 -18
- package/dist/core/ToolManager.js.map +1 -1
- package/dist/core/flow-namespace.d.ts +15 -0
- package/dist/core/flow-namespace.d.ts.map +1 -1
- package/dist/core/flow-namespace.js +22 -0
- package/dist/core/flow-namespace.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/AnthropicProvider.d.ts +10 -3
- package/dist/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/providers/AnthropicProvider.js +56 -75
- package/dist/providers/AnthropicProvider.js.map +1 -1
- package/dist/providers/GeminiProvider.d.ts +9 -3
- package/dist/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/GeminiProvider.js +26 -70
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/OpenAICompatibleProvider.d.ts +9 -0
- package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -1
- package/dist/providers/OpenAICompatibleProvider.js +103 -76
- package/dist/providers/OpenAICompatibleProvider.js.map +1 -1
- package/dist/providers/OpenAIProvider.d.ts +1 -1
- package/dist/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/providers/OpenAIProvider.js +1 -1
- package/dist/providers/errorClassification.d.ts +7 -0
- package/dist/providers/errorClassification.d.ts.map +1 -1
- package/dist/providers/errorClassification.js +26 -0
- package/dist/providers/errorClassification.js.map +1 -1
- package/dist/types/agent.d.ts +26 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/flow.d.ts +49 -32
- package/dist/types/flow.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/tool.d.ts +2 -0
- package/dist/types/tool.d.ts.map +1 -1
- package/dist/types/tool.js.map +1 -1
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/retry.d.ts +99 -1
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/retry.js +137 -3
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/serialize.d.ts +17 -0
- package/dist/utils/serialize.d.ts.map +1 -1
- package/dist/utils/serialize.js +31 -0
- package/dist/utils/serialize.js.map +1 -1
- package/dist/utils/session.d.ts +21 -1
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +33 -4
- package/dist/utils/session.js.map +1 -1
- package/docs/concepts/architecture.md +3 -3
- package/docs/concepts/directives.md +1 -1
- package/docs/guides/error-handling.md +46 -45
- package/docs/guides/flow-control.md +8 -1
- package/docs/guides/instructions.md +15 -6
- package/docs/guides/persistence.md +12 -5
- package/docs/guides/streaming.md +10 -0
- package/docs/migration/README.md +4 -0
- package/docs/migration/v2-3-to-v2-4.md +4 -0
- package/docs/migration/v2-6-to-v2-7.md +246 -0
- package/docs/reference/adapters.md +15 -1
- package/docs/reference/create-agent.md +28 -0
- package/docs/reference/directive.md +1 -1
- package/docs/reference/errors.md +29 -31
- package/docs/reference/providers.md +23 -19
- package/docs/reference/step.md +28 -21
- package/docs/reference/tool.md +14 -5
- package/docs/start/02-first-agent.md +8 -4
- package/docs/start/03-collect-data.md +19 -10
- package/examples/01-quickstart.ts +1 -1
- package/examples/02-data-extraction.ts +1 -1
- package/examples/03-tools.ts +1 -1
- package/examples/04-instructions.ts +1 -1
- package/examples/05-branching.ts +1 -1
- package/examples/06-flow-control.ts +3 -3
- package/examples/07-streaming.ts +1 -1
- package/examples/08-persistence.ts +1 -1
- package/examples/09-signals.ts +1 -1
- package/package.json +2 -2
- package/src/adapters/MemoryAdapter.ts +29 -33
- package/src/adapters/PostgreSQLAdapter.ts +23 -18
- package/src/adapters/RedisAdapter.ts +81 -34
- package/src/adapters/SQLiteAdapter.ts +10 -31
- package/src/adapters/sessionRow.ts +57 -0
- package/src/core/Agent.ts +48 -2
- package/src/core/AutoChainExecutor.ts +37 -50
- package/src/core/CompactionEngine.ts +40 -6
- package/src/core/FlowRouter.ts +38 -12
- package/src/core/ResponseGenerationError.ts +3 -6
- package/src/core/ResponseModal.ts +185 -19
- package/src/core/ResponsePipeline.ts +259 -85
- package/src/core/SessionFinalizer.ts +35 -5
- package/src/core/SessionManager.ts +55 -21
- package/src/core/SignalProcessor.ts +5 -85
- package/src/core/Step.ts +79 -2
- package/src/core/StepLifecycle.ts +125 -22
- package/src/core/StreamingToolExecutor.ts +31 -6
- package/src/core/ToolLoopExecutor.ts +200 -74
- package/src/core/ToolManager.ts +45 -18
- package/src/core/flow-namespace.ts +29 -0
- package/src/index.ts +4 -1
- package/src/providers/AnthropicProvider.ts +83 -131
- package/src/providers/GeminiProvider.ts +42 -116
- package/src/providers/OpenAICompatibleProvider.ts +132 -133
- package/src/providers/OpenAIProvider.ts +2 -2
- package/src/providers/errorClassification.ts +34 -0
- package/src/types/agent.ts +25 -0
- package/src/types/flow.ts +37 -39
- package/src/types/index.ts +1 -0
- package/src/types/tool.ts +2 -0
- package/src/utils/index.ts +22 -3
- package/src/utils/retry.ts +251 -2
- package/src/utils/serialize.ts +38 -0
- package/src/utils/session.ts +41 -4
- package/dist/cjs/core/DirectiveBus.d.ts +0 -88
- package/dist/cjs/core/DirectiveBus.d.ts.map +0 -1
- package/dist/cjs/core/DirectiveBus.js +0 -196
- package/dist/cjs/core/DirectiveBus.js.map +0 -1
- package/dist/core/DirectiveBus.d.ts +0 -88
- package/dist/core/DirectiveBus.d.ts.map +0 -1
- package/dist/core/DirectiveBus.js +0 -192
- package/dist/core/DirectiveBus.js.map +0 -1
- package/src/core/DirectiveBus.ts +0 -248
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowRouter.d.ts","sourceRoot":"","sources":["../../src/core/FlowRouter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FlowRouter.d.ts","sourceRoot":"","sources":["../../src/core/FlowRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,eAAe,EAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,WAAW,aAAa,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAChE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QAEb,KAAK,EAAE,GAAG,CAAC;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;KAChC,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,8BAA8B,CAC7C,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,OAAO;IAEf,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;IAC/C,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7C,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAC3E,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,UAAU,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,iBAAiB,YAAA;IAExD;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAMvB;;;;;;;;OAQG;YACW,mBAAmB;IAwHjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IA+CzB;;;;OAIG;YACW,oBAAoB;IA+KlC;;;OAGG;YACW,yCAAyC;IA4EvD;;;;;OAKG;IACG,+BAA+B,CACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS,EAC9C,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,GAChD,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAqH5C;;;;;;OAMG;IACG,iBAAiB,CAAC,MAAM,EAAE;QAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,CAAC;QACjB,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7C,QAAQ,EAAE,UAAU,CAAC;QACrB,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC;QACV,YAAY,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,YAAY,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;KAC1C,CAAC;IA2PF;;;;;OAKG;IACG,iBAAiB,CACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAC/B,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,GAChD,OAAO,CAAC;QACT,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IAqBF;;;;;OAKG;IACH,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;IAIvG;;;;;OAKG;IACH,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAWnG;;;;;;;;OAQG;IACH,iBAAiB,CACf,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAC/B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS;IAiFpC;;;OAGG;YACW,wBAAwB;IAqJtC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAyChC,sBAAsB,CACpB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAC/B,YAAY,CAAC,EAAE,gBAAgB,EAC/B,eAAe,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,GACxC,gBAAgB;IAuEb,kBAAkB,CACtB,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC;CAoKnB"}
|
package/dist/core/FlowRouter.js
CHANGED
|
@@ -583,6 +583,17 @@ export class FlowRouter {
|
|
|
583
583
|
updatedSession = this.enterFlowIfNeeded(updatedSession, selectedFlow);
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
|
+
else {
|
|
587
|
+
// Routing LLM output could not be parsed into the expected structured
|
|
588
|
+
// shape (no `flows` payload). The turn degrades to a fallback response
|
|
589
|
+
// with the flow position untouched — surface that loudly instead of
|
|
590
|
+
// failing silently.
|
|
591
|
+
const rawSnippet = (routingResult.message ?? "").trim().slice(0, 120);
|
|
592
|
+
logger.warn(`[FlowRouter] Routing output unparseable: routing LLM returned no structured "flows" payload` +
|
|
593
|
+
`${rawSnippet ? `; raw output: "${rawSnippet}"` : ""}. ` +
|
|
594
|
+
`This turn degrades to a generic fallback response and the flow position is left unchanged. ` +
|
|
595
|
+
`Check the provider's structured-output/JSON support or inspect the routing prompt for schema violations.`);
|
|
596
|
+
}
|
|
586
597
|
return {
|
|
587
598
|
selectedFlow,
|
|
588
599
|
selectedStep,
|
|
@@ -673,20 +684,31 @@ export class FlowRouter {
|
|
|
673
684
|
return undefined;
|
|
674
685
|
}
|
|
675
686
|
// Apply sticky routing: if there's a current route, only switch if the
|
|
676
|
-
// best alternative exceeds the current flow's score by the configured margin
|
|
687
|
+
// best alternative exceeds the current flow's score by the configured margin.
|
|
688
|
+
// The margin applies symmetrically: even when the current flow has no
|
|
689
|
+
// weighted entry (the AI scored it 0 or omitted it), switching away
|
|
690
|
+
// requires clearing the margin over a zero baseline — shared agent-level
|
|
691
|
+
// data can otherwise zero out a mid-conversation flow.
|
|
677
692
|
if (currentRouteId) {
|
|
678
693
|
const currentEntry = weightedScores.find(e => e.route.id === currentRouteId);
|
|
679
694
|
const bestEntry = weightedScores[0];
|
|
680
|
-
if (
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
695
|
+
if (bestEntry && bestEntry.route.id !== currentRouteId) {
|
|
696
|
+
const currentScore = currentEntry ? currentEntry.score : 0;
|
|
697
|
+
if (bestEntry.score < currentScore + switchMargin) {
|
|
698
|
+
const currentRoute = currentEntry?.route ?? routes.find(r => r.id === currentRouteId);
|
|
699
|
+
if (currentRoute) {
|
|
700
|
+
logger.debug(`[FlowRouter] Staying on current flow: ${currentRoute.title} ` +
|
|
701
|
+
`(current: ${currentScore}, best alternative: ${bestEntry.score}, ` +
|
|
702
|
+
`margin required: ${switchMargin})`);
|
|
703
|
+
return currentRoute;
|
|
704
|
+
}
|
|
705
|
+
logger.debug(`[FlowRouter] Current flow ${currentRouteId} is no longer routable — selecting best alternative: ${bestEntry.route.title}`);
|
|
706
|
+
}
|
|
707
|
+
else {
|
|
708
|
+
logger.debug(`[FlowRouter] Switching flow: ${currentEntry?.route.title ?? currentRouteId} → ${bestEntry.route.title} ` +
|
|
709
|
+
`(current: ${currentScore}, alternative: ${bestEntry.score}, ` +
|
|
710
|
+
`margin: ${switchMargin})`);
|
|
686
711
|
}
|
|
687
|
-
logger.debug(`[FlowRouter] Switching flow: ${currentEntry.route.title} → ${bestEntry.route.title} ` +
|
|
688
|
-
`(current: ${currentEntry.score}, alternative: ${bestEntry.score}, ` +
|
|
689
|
-
`margin: ${switchMargin})`);
|
|
690
712
|
}
|
|
691
713
|
}
|
|
692
714
|
logger.debug(`[FlowRouter] Selected optimal route: ${weightedScores[0].route.title} ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowRouter.js","sourceRoot":"","sources":["../../src/core/FlowRouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FlowRouter.js","sourceRoot":"","sources":["../../src/core/FlowRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseGenerationError.d.ts","sourceRoot":"","sources":["../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,UAAU,8BAA8B;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAG1B,OAAO,CAAC,EAAE,8BAA8B;gBADxD,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,8BAA8B,YAAA;
|
|
1
|
+
{"version":3,"file":"ResponseGenerationError.d.ts","sourceRoot":"","sources":["../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,UAAU,8BAA8B;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAG1B,OAAO,CAAC,EAAE,8BAA8B;gBADxD,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,8BAA8B,YAAA;IAQ5D;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,uBAAuB;IAS1B;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB;CAGrF"}
|
|
@@ -7,13 +7,11 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export class ResponseGenerationError extends Error {
|
|
9
9
|
constructor(message, details) {
|
|
10
|
-
|
|
10
|
+
// Native `cause` chain: `err.cause` is the original error, so
|
|
11
|
+
// consumers can reach ProviderError.code etc. without string matching.
|
|
12
|
+
super(message, { cause: details?.originalError });
|
|
11
13
|
this.details = details;
|
|
12
14
|
this.name = 'ResponseGenerationError';
|
|
13
|
-
// Preserve stack trace from original error if available
|
|
14
|
-
if (details?.originalError instanceof Error && details.originalError.stack) {
|
|
15
|
-
this.stack = `${this.stack}\nCaused by: ${details.originalError.stack}`;
|
|
16
|
-
}
|
|
17
15
|
}
|
|
18
16
|
/**
|
|
19
17
|
* Create a ResponseGenerationError from an unknown error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseGenerationError.js","sourceRoot":"","sources":["../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C,YACI,OAAe,EACC,OAAwC;QAExD,
|
|
1
|
+
{"version":3,"file":"ResponseGenerationError.js","sourceRoot":"","sources":["../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C,YACI,OAAe,EACC,OAAwC;QAExD,8DAA8D;QAC9D,uEAAuE;QACvE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAJlC,YAAO,GAAP,OAAO,CAAiC;QAKxD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,KAAc,EACd,KAAa,EACb,MAAgC,EAChC,OAAiC;QAEjC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,IAAI,uBAAuB,CAC9B,2DAA2D,KAAK,KAAK,OAAO,IAAI;YAChF,wCAAwC,KAAK,iBAAiB,EAC9D,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CACnD,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAc;QAC3C,OAAO,KAAK,YAAY,uBAAuB,CAAC;IACpD,CAAC;CACJ"}
|
|
@@ -58,6 +58,19 @@ export interface ResponseModalOptions {
|
|
|
58
58
|
*/
|
|
59
59
|
export interface RespondParams<TContext = unknown, TData = unknown> extends Record<string, unknown> {
|
|
60
60
|
history: History;
|
|
61
|
+
/**
|
|
62
|
+
* The user's message for this turn. When set, the engine appends it to the
|
|
63
|
+
* generation history AND to the returned session's history, then appends
|
|
64
|
+
* the assistant reply on top — callers who hold sessions no longer need to
|
|
65
|
+
* maintain history arrays by hand.
|
|
66
|
+
*/
|
|
67
|
+
message?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Restrict this turn's ROUTING candidates to these flow ids/titles.
|
|
70
|
+
* Directive targets (goTo etc.) still resolve against the full registry.
|
|
71
|
+
* Use for entry-pin funnels instead of cloning/filtering agents.
|
|
72
|
+
*/
|
|
73
|
+
allowedFlows?: string[];
|
|
61
74
|
step?: StepRef;
|
|
62
75
|
session?: SessionState<TData>;
|
|
63
76
|
contextOverride?: Partial<TContext>;
|
|
@@ -124,6 +137,22 @@ export declare class ResponseModal<TContext = unknown, TData = unknown> {
|
|
|
124
137
|
* @private
|
|
125
138
|
*/
|
|
126
139
|
private getToolManager;
|
|
140
|
+
/**
|
|
141
|
+
* Repair-parse a JSON-shaped protocol fragment (truncated output,
|
|
142
|
+
* fence-wrapped JSON) into a structured payload. Raw protocol fragments
|
|
143
|
+
* must never surface as the user-visible reply: if the repair parse fails,
|
|
144
|
+
* fail the turn LOUDLY so the caller's rollback/retry path engages instead
|
|
145
|
+
* of leaking `{"message": "…` to an end user. Plain prose (not JSON-shaped
|
|
146
|
+
* at all) never reaches this helper — the call sites gate on the fragment
|
|
147
|
+
* shape and pass it through untouched.
|
|
148
|
+
*/
|
|
149
|
+
private salvageStructuredOutput;
|
|
150
|
+
/**
|
|
151
|
+
* Tool-emitted directives (ctx.dispatch / `{directive}` returns): state
|
|
152
|
+
* writes apply now; control flow queues for the next turn's
|
|
153
|
+
* pendingDirective applier (same deferred semantics as dispatch()).
|
|
154
|
+
*/
|
|
155
|
+
private applyToolEmittedDirectives;
|
|
127
156
|
/**
|
|
128
157
|
* Collect scoped instructions from agent, flow, and step into a ScopedInstructions value.
|
|
129
158
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseModal.d.ts","sourceRoot":"","sources":["../../src/core/ResponseModal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,YAAY,EACZ,aAAa,EACb,wBAAwB,
|
|
1
|
+
{"version":3,"file":"ResponseModal.d.ts","sourceRoot":"","sources":["../../src/core/ResponseModal.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,14 @@ import { AutoChainExecutor } from "./AutoChainExecutor";
|
|
|
8
8
|
import { StepLifecycle } from "./StepLifecycle";
|
|
9
9
|
import { SessionFinalizer } from "./SessionFinalizer";
|
|
10
10
|
import { ToolLoopExecutor } from "./ToolLoopExecutor";
|
|
11
|
+
import { flow } from "./flow-namespace";
|
|
11
12
|
import { SignalCoordinator } from "./SignalCoordinator";
|
|
12
13
|
import { ResponseGenerationError } from "./ResponseGenerationError";
|
|
13
|
-
import {
|
|
14
|
+
import { ProviderError, SessionConflictError } from "../types/errors";
|
|
15
|
+
import { cloneDeep, mergeCollected, logger, historyToEvents, completeCurrentFlow, render, userMessage, assistantMessage } from "../utils";
|
|
14
16
|
import { createTemplateContext } from "../utils/template";
|
|
15
17
|
import { StreamingMessageDecoder } from "../utils/streamingMessage";
|
|
18
|
+
import { tryParseJSONResponse } from "../utils/json";
|
|
16
19
|
/**
|
|
17
20
|
* ResponseModal class that encapsulates all response generation logic
|
|
18
21
|
* Uses unified approach for both streaming and non-streaming responses
|
|
@@ -81,6 +84,13 @@ export class ResponseModal {
|
|
|
81
84
|
if (preTurnSession) {
|
|
82
85
|
this.agent.session.syncSession(preTurnSession);
|
|
83
86
|
}
|
|
87
|
+
// Typed library errors carry their own semantics (ProviderError.code,
|
|
88
|
+
// SessionConflictError) — rethrow bare so consumers can branch on
|
|
89
|
+
// them instead of string-matching. Everything else wraps with the
|
|
90
|
+
// original attached as `cause`.
|
|
91
|
+
if (error instanceof ProviderError || error instanceof SessionConflictError) {
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
84
94
|
throw new ResponseGenerationError(`[ResponseGenerationError] Response generation failed: ${error instanceof Error ? error.message : String(error)}. ` +
|
|
85
95
|
`Check provider configuration and network connectivity.`, { originalError: error, params, phase: 'response_generation' });
|
|
86
96
|
}
|
|
@@ -222,6 +232,44 @@ export class ResponseModal {
|
|
|
222
232
|
getToolManager() {
|
|
223
233
|
return this.agent.tool;
|
|
224
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Repair-parse a JSON-shaped protocol fragment (truncated output,
|
|
237
|
+
* fence-wrapped JSON) into a structured payload. Raw protocol fragments
|
|
238
|
+
* must never surface as the user-visible reply: if the repair parse fails,
|
|
239
|
+
* fail the turn LOUDLY so the caller's rollback/retry path engages instead
|
|
240
|
+
* of leaking `{"message": "…` to an end user. Plain prose (not JSON-shaped
|
|
241
|
+
* at all) never reaches this helper — the call sites gate on the fragment
|
|
242
|
+
* shape and pass it through untouched.
|
|
243
|
+
*/
|
|
244
|
+
salvageStructuredOutput(raw, surface) {
|
|
245
|
+
const salvaged = tryParseJSONResponse(raw);
|
|
246
|
+
if (salvaged && typeof salvaged.message === "string") {
|
|
247
|
+
logger.warn(`[ResponseModal] Salvaged malformed structured output from ${surface} via JSON repair parse.`);
|
|
248
|
+
return { ...salvaged, message: salvaged.message };
|
|
249
|
+
}
|
|
250
|
+
throw ResponseGenerationError.fromError(new Error("Model returned a schema-mandated response that could not be parsed as JSON. " +
|
|
251
|
+
`The ${surface} was failed instead of delivering raw protocol output to the user.`), 'structured_output_malformed', { responseSchemaName: 'response_output' });
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Tool-emitted directives (ctx.dispatch / `{directive}` returns): state
|
|
255
|
+
* writes apply now; control flow queues for the next turn's
|
|
256
|
+
* pendingDirective applier (same deferred semantics as dispatch()).
|
|
257
|
+
*/
|
|
258
|
+
async applyToolEmittedDirectives(session, d) {
|
|
259
|
+
if (d.dataUpdate) {
|
|
260
|
+
session = mergeCollected(session, d.dataUpdate);
|
|
261
|
+
}
|
|
262
|
+
if (d.contextUpdate) {
|
|
263
|
+
await this.agent.updateContext(d.contextUpdate);
|
|
264
|
+
}
|
|
265
|
+
const control = { ...d };
|
|
266
|
+
delete control.dataUpdate;
|
|
267
|
+
delete control.contextUpdate;
|
|
268
|
+
if (Object.keys(control).length > 0) {
|
|
269
|
+
flow.queuePending(session, control);
|
|
270
|
+
}
|
|
271
|
+
return session;
|
|
272
|
+
}
|
|
225
273
|
/**
|
|
226
274
|
* Collect scoped instructions from agent, flow, and step into a ScopedInstructions value.
|
|
227
275
|
* @private
|
|
@@ -242,16 +290,19 @@ export class ResponseModal {
|
|
|
242
290
|
*/
|
|
243
291
|
async prepareUnifiedResponseContext(params) {
|
|
244
292
|
try {
|
|
245
|
-
const { history: simpleHistory, contextOverride, signal } = params;
|
|
293
|
+
const { history: simpleHistory, contextOverride, signal, message: turnMessage, allowedFlows } = params;
|
|
246
294
|
// Validate input parameters
|
|
247
295
|
if (!simpleHistory) {
|
|
248
296
|
throw new ResponseGenerationError('[ResponseGenerationError] Missing history: history is required for response generation. ' +
|
|
249
|
-
'Pass a valid history array
|
|
297
|
+
'Pass a valid history array (or pass `message` alongside an existing history base).', { params, phase: 'validation' });
|
|
250
298
|
}
|
|
299
|
+
// `message` is the user turn: appended to what the model sees this
|
|
300
|
+
// turn AND recorded on the returned session's history.
|
|
301
|
+
const history = turnMessage
|
|
302
|
+
? [...simpleHistory, userMessage(turnMessage)]
|
|
303
|
+
: simpleHistory;
|
|
251
304
|
// Convert HistoryItem[] to Event[] for internal processing
|
|
252
|
-
const historyEvents = historyToEvents(
|
|
253
|
-
// Keep original HistoryItem[] format for external APIs
|
|
254
|
-
const history = simpleHistory;
|
|
305
|
+
const historyEvents = historyToEvents(history);
|
|
255
306
|
// Use ResponsePipeline for context and session preparation; context
|
|
256
307
|
// and session are passed explicitly — the pipeline holds no state
|
|
257
308
|
let responseContext;
|
|
@@ -291,9 +342,22 @@ export class ResponseModal {
|
|
|
291
342
|
throw ResponseGenerationError.fromError(error, 'data_merging', params, { stagedData });
|
|
292
343
|
}
|
|
293
344
|
}
|
|
345
|
+
// Record the user turn on the session's own history so the returned
|
|
346
|
+
// session carries the full exchange (respond owns session.history
|
|
347
|
+
// when `message` is used).
|
|
348
|
+
if (turnMessage) {
|
|
349
|
+
session.history = [...(session.history ?? []), userMessage(turnMessage)];
|
|
350
|
+
}
|
|
294
351
|
// PHASE 1: PREPARE - Execute prepare function if current step has one
|
|
295
352
|
try {
|
|
296
|
-
await this.stepLifecycle.runPrepare(session, effectiveContext);
|
|
353
|
+
const prepareDirective = await this.stepLifecycle.runPrepare(session, effectiveContext);
|
|
354
|
+
// Queue the control-flow directive for THIS turn: routing
|
|
355
|
+
// (handleRoutingAndStepSelection) consumes session.pendingDirective
|
|
356
|
+
// before deciding flow/step, so a prepare-phase goTo/goToStep/
|
|
357
|
+
// reset steers the current turn.
|
|
358
|
+
if (prepareDirective) {
|
|
359
|
+
flow.queuePending(session, prepareDirective);
|
|
360
|
+
}
|
|
297
361
|
}
|
|
298
362
|
catch (error) {
|
|
299
363
|
throw ResponseGenerationError.fromError(error, 'step_preparation', params, { session, effectiveContext });
|
|
@@ -307,6 +371,7 @@ export class ResponseModal {
|
|
|
307
371
|
history: historyEvents,
|
|
308
372
|
context: effectiveContext,
|
|
309
373
|
signal,
|
|
374
|
+
allowedFlows,
|
|
310
375
|
});
|
|
311
376
|
}
|
|
312
377
|
catch (error) {
|
|
@@ -316,6 +381,7 @@ export class ResponseModal {
|
|
|
316
381
|
effectiveContext,
|
|
317
382
|
session: routingResult.session,
|
|
318
383
|
history,
|
|
384
|
+
turnMessage,
|
|
319
385
|
selectedFlow: routingResult.selectedFlow,
|
|
320
386
|
selectedStep: routingResult.selectedStep,
|
|
321
387
|
responseDirectives: routingResult.responseDirectives,
|
|
@@ -325,6 +391,7 @@ export class ResponseModal {
|
|
|
325
391
|
signalPreDirective: routingResult.signalPreDirective,
|
|
326
392
|
signalHalted: routingResult.signalHalted,
|
|
327
393
|
signalHaltReply: routingResult.signalHaltReply,
|
|
394
|
+
endedFlows: routingResult.endedFlows,
|
|
328
395
|
};
|
|
329
396
|
}
|
|
330
397
|
catch (error) {
|
|
@@ -469,6 +536,8 @@ export class ResponseModal {
|
|
|
469
536
|
let isFlowComplete = false;
|
|
470
537
|
let appliedInstructions;
|
|
471
538
|
let runPostPhase = true;
|
|
539
|
+
let tokensUsed;
|
|
540
|
+
const endedFlows = [...(responseContext.endedFlows ?? [])];
|
|
472
541
|
switch (plan.outcome.kind) {
|
|
473
542
|
case 'halt': {
|
|
474
543
|
message = plan.outcome.message;
|
|
@@ -485,6 +554,11 @@ export class ResponseModal {
|
|
|
485
554
|
});
|
|
486
555
|
isFlowComplete = true;
|
|
487
556
|
stoppedReason = plan.outcome.stoppedReason;
|
|
557
|
+
endedFlows.push({
|
|
558
|
+
flowId: plan.outcome.selectedFlow.id,
|
|
559
|
+
title: plan.outcome.selectedFlow.title,
|
|
560
|
+
reason: plan.outcome.stoppedReason,
|
|
561
|
+
});
|
|
488
562
|
break;
|
|
489
563
|
}
|
|
490
564
|
case 'flowStep': {
|
|
@@ -506,6 +580,7 @@ export class ResponseModal {
|
|
|
506
580
|
toolCalls = result.toolCalls;
|
|
507
581
|
session = result.session;
|
|
508
582
|
appliedInstructions = result.appliedInstructions;
|
|
583
|
+
tokensUsed = result.tokensUsed;
|
|
509
584
|
if (plan.outcome.step) {
|
|
510
585
|
executedSteps = [{ id: plan.outcome.step.id, flowId: plan.outcome.selectedFlow.id }];
|
|
511
586
|
}
|
|
@@ -529,6 +604,13 @@ export class ResponseModal {
|
|
|
529
604
|
const tail = await this.applyTurnPostPhase({
|
|
530
605
|
session, context: effectiveContext, historyEvents, message, signalFirings, runPostPhase,
|
|
531
606
|
});
|
|
607
|
+
// History ownership: with params.message the returned session carries
|
|
608
|
+
// the full exchange — the user turn was recorded pre-routing, the
|
|
609
|
+
// assistant tail lands here (post-phase, so overridden replies are the
|
|
610
|
+
// ones recorded). Empty tails are skipped.
|
|
611
|
+
if (responseContext.turnMessage && tail.message) {
|
|
612
|
+
tail.session.history = [...(tail.session.history ?? []), assistantMessage(tail.message)];
|
|
613
|
+
}
|
|
532
614
|
return {
|
|
533
615
|
message: tail.message,
|
|
534
616
|
session: tail.session,
|
|
@@ -538,6 +620,8 @@ export class ResponseModal {
|
|
|
538
620
|
stoppedReason,
|
|
539
621
|
appliedInstructions,
|
|
540
622
|
triggeredSignals: tail.triggeredSignals,
|
|
623
|
+
...(tokensUsed !== undefined ? { metadata: { tokensUsed } } : {}),
|
|
624
|
+
...(endedFlows.length > 0 ? { endedFlows } : {}),
|
|
541
625
|
};
|
|
542
626
|
}
|
|
543
627
|
/**
|
|
@@ -622,16 +706,23 @@ export class ResponseModal {
|
|
|
622
706
|
signal,
|
|
623
707
|
parameters: responseSchema ? { jsonSchema: responseSchema, schemaName: "response_output" } : undefined,
|
|
624
708
|
});
|
|
625
|
-
let
|
|
626
|
-
let
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
709
|
+
let structuredData = result.structured;
|
|
710
|
+
let message = structuredData?.message || result.message;
|
|
711
|
+
const tokensUsed = result.metadata?.tokensUsed;
|
|
712
|
+
// A schema was requested but the provider failed to parse the model's
|
|
713
|
+
// JSON (truncated output, fence-wrapped fragments). Raw protocol
|
|
714
|
+
// fragments must never surface as the user-visible reply: attempt one
|
|
715
|
+
// repair-parse, and if that fails fail the turn LOUDLY so the caller's
|
|
716
|
+
// rollback/retry path engages instead of leaking `{"message": "…` to
|
|
717
|
+
// an end user. Plain prose (not JSON-shaped at all) still passes
|
|
718
|
+
// through — it is not a protocol fragment.
|
|
719
|
+
if (!structuredData && responseSchema && message && /^\s*(```|{)/.test(message)) {
|
|
720
|
+
const salvaged = this.salvageStructuredOutput(message, "turn");
|
|
721
|
+
structuredData = salvaged;
|
|
722
|
+
message = salvaged.message;
|
|
723
|
+
}
|
|
724
|
+
const effectiveResult = structuredData ? { ...result, structured: structuredData } : result;
|
|
725
|
+
let toolCalls = structuredData?.toolCalls;
|
|
635
726
|
// Execute tools with unified loop handling
|
|
636
727
|
const toolResult = await this.toolLoopExecutor.runLoop({
|
|
637
728
|
toolCalls,
|
|
@@ -649,13 +740,19 @@ export class ResponseModal {
|
|
|
649
740
|
if (toolResult.finalMessage) {
|
|
650
741
|
message = toolResult.finalMessage;
|
|
651
742
|
}
|
|
743
|
+
// Tool-emitted directives (ctx.dispatch / `{directive}` returns):
|
|
744
|
+
// state writes apply now; control flow queues for the next turn's
|
|
745
|
+
// pendingDirective applier (same deferred semantics as dispatch()).
|
|
746
|
+
if (toolResult.directives) {
|
|
747
|
+
session = await this.applyToolEmittedDirectives(session, toolResult.directives);
|
|
748
|
+
}
|
|
652
749
|
// Collect data from response
|
|
653
750
|
// Use follow-up structured data from tool loop when available, fall back to original result
|
|
654
751
|
const dataSource = toolResult.structured
|
|
655
752
|
? { structured: toolResult.structured }
|
|
656
|
-
:
|
|
753
|
+
: effectiveResult;
|
|
657
754
|
session = await this.collectDataFromResponse({ result: dataSource, selectedFlow, nextStep, session });
|
|
658
|
-
return { message, toolCalls, session, appliedInstructions };
|
|
755
|
+
return { message, toolCalls, session, appliedInstructions, tokensUsed };
|
|
659
756
|
}
|
|
660
757
|
finally {
|
|
661
758
|
// Drain the transient appendage at end of turn.
|
|
@@ -740,6 +837,13 @@ export class ResponseModal {
|
|
|
740
837
|
});
|
|
741
838
|
const accumulated = tail.message;
|
|
742
839
|
const delta = tail.replyOverridden ? accumulated : chunk.delta;
|
|
840
|
+
// History ownership (parity with the sync tail): with
|
|
841
|
+
// params.message the returned session carries the full
|
|
842
|
+
// exchange — the user turn was recorded pre-routing, the
|
|
843
|
+
// assistant tail lands here, BEFORE finalize persists it.
|
|
844
|
+
if (responseContext.turnMessage && tail.message) {
|
|
845
|
+
tail.session.history = [...(tail.session.history ?? []), assistantMessage(tail.message)];
|
|
846
|
+
}
|
|
743
847
|
// Single streaming exit: finalize the post-phase session so
|
|
744
848
|
// post-signal mutations (e.g. pendingDirective) are persisted.
|
|
745
849
|
await this.sessionFinalizer.finalize(tail.session, effectiveContext);
|
|
@@ -919,6 +1023,14 @@ export class ResponseModal {
|
|
|
919
1023
|
});
|
|
920
1024
|
session = batchResult.session;
|
|
921
1025
|
toolCalls = batchResult.toolCalls;
|
|
1026
|
+
// Tool-emitted directives (ctx.dispatch / `{directive}`):
|
|
1027
|
+
// state writes apply now; control flow queues for the next
|
|
1028
|
+
// turn's pendingDirective applier (same deferred semantics
|
|
1029
|
+
// as dispatch()). A verbatim tool reply already replaced the
|
|
1030
|
+
// closing message inside runStreamingBatch.
|
|
1031
|
+
if (batchResult.directives) {
|
|
1032
|
+
session = await this.applyToolEmittedDirectives(session, batchResult.directives);
|
|
1033
|
+
}
|
|
922
1034
|
// Prefer the post-tool follow-up structured for collection and
|
|
923
1035
|
// emission whenever present — independent of whether a closing
|
|
924
1036
|
// message was forced — matching the non-streaming path's
|
|
@@ -935,6 +1047,17 @@ export class ResponseModal {
|
|
|
935
1047
|
: batchResult.finalMessage;
|
|
936
1048
|
}
|
|
937
1049
|
}
|
|
1050
|
+
// Streaming twin of the non-streaming salvage guard: a schema was
|
|
1051
|
+
// requested but no structured payload arrived, and the accumulated
|
|
1052
|
+
// text is JSON-shaped (a protocol fragment) — repair-parse it or
|
|
1053
|
+
// fail the turn rather than leaking raw output to the user.
|
|
1054
|
+
if (chunk.done && !finalStructured && responseSchema && finalAccumulated && /^\s*(```|{)/.test(finalAccumulated)) {
|
|
1055
|
+
const salvaged = this.salvageStructuredOutput(finalAccumulated, "stream");
|
|
1056
|
+
finalStructured = salvaged;
|
|
1057
|
+
finalDelta = salvaged.message.startsWith(finalAccumulated)
|
|
1058
|
+
? salvaged.message.slice(finalAccumulated.length)
|
|
1059
|
+
: salvaged.message;
|
|
1060
|
+
}
|
|
938
1061
|
// Collect data on the final chunk for any flow step — flow
|
|
939
1062
|
// required/optional fields are valid targets even without a step
|
|
940
1063
|
// `collect` — preferring the post-tool follow-up structured so a
|