@falai/agent 2.6.0 → 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 +43 -3
- 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 +156 -64
- 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 +35 -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 +43 -3
- 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 +156 -64
- 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 +35 -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 +30 -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 +51 -3
- 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 +201 -75
- 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 +34 -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
|
@@ -25,6 +25,23 @@ export function hasDirectivePositionField(directive) {
|
|
|
25
25
|
return false;
|
|
26
26
|
return DIRECTIVE_POSITION_FIELDS.some((field) => directive[field] !== undefined);
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Compute the per-key data writes the signal phase applied to a session.
|
|
30
|
+
* The signal phase and routing start from the same input session, so any
|
|
31
|
+
* key whose value differs between the input and the signal output was
|
|
32
|
+
* written by the signal phase alone (handler `updateData` calls).
|
|
33
|
+
*/
|
|
34
|
+
function diffSignalDataWrites(before, after) {
|
|
35
|
+
const beforeData = (before ?? {});
|
|
36
|
+
const afterData = (after ?? {});
|
|
37
|
+
const writes = {};
|
|
38
|
+
for (const key of Object.keys(afterData)) {
|
|
39
|
+
if (afterData[key] !== beforeData[key]) {
|
|
40
|
+
writes[key] = afterData[key];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return writes;
|
|
44
|
+
}
|
|
28
45
|
/**
|
|
29
46
|
* Shared response processing logic between respond() and respondStream() methods
|
|
30
47
|
*/
|
|
@@ -85,7 +102,7 @@ export class ResponsePipeline {
|
|
|
85
102
|
* Handle routing and step selection logic
|
|
86
103
|
*/
|
|
87
104
|
async handleRoutingAndStepSelection(params) {
|
|
88
|
-
const { session, history, context, signal } = params;
|
|
105
|
+
const { session, history, context, signal, allowedFlows } = params;
|
|
89
106
|
// PHASE 2: ROUTING + STEP SELECTION - Determine which flow and step to use (combined)
|
|
90
107
|
let selectedFlow;
|
|
91
108
|
let responseDirectives;
|
|
@@ -93,8 +110,19 @@ export class ResponsePipeline {
|
|
|
93
110
|
let isFlowComplete = false;
|
|
94
111
|
let completedFlows = [];
|
|
95
112
|
let targetSession = session;
|
|
113
|
+
// Flows exited this turn via pendingDirective redirect/reset
|
|
114
|
+
const endedFlows = [];
|
|
115
|
+
let exitPrevFlowId;
|
|
116
|
+
let exitPrevFlowTitle;
|
|
117
|
+
let exitReason;
|
|
96
118
|
// Get flows early since we need them for pending directives
|
|
97
119
|
const flows = this.getFlows();
|
|
120
|
+
// Routing candidates may be narrowed for this turn (entry pins); the
|
|
121
|
+
// pendingDirective applier below still resolves targets against the FULL
|
|
122
|
+
// registry so declared redirects always resolve.
|
|
123
|
+
const routingFlows = allowedFlows && allowedFlows.length > 0
|
|
124
|
+
? flows.filter((f) => allowedFlows.includes(f.id) || allowedFlows.includes(f.title))
|
|
125
|
+
: flows;
|
|
98
126
|
// Check for pending directive from previous flow completion or external dispatch
|
|
99
127
|
if (targetSession.pendingDirective) {
|
|
100
128
|
const directive = targetSession.pendingDirective;
|
|
@@ -114,8 +142,15 @@ export class ResponsePipeline {
|
|
|
114
142
|
...targetSession,
|
|
115
143
|
pendingDirective: nextDirective,
|
|
116
144
|
};
|
|
145
|
+
// Capture the flow we're leaving so directive-driven exits surface on
|
|
146
|
+
// the response (endedFlows).
|
|
147
|
+
exitPrevFlowId = targetSession.currentFlow?.id;
|
|
148
|
+
exitPrevFlowTitle = exitPrevFlowId
|
|
149
|
+
? flows.find((f) => f.id === exitPrevFlowId)?.title
|
|
150
|
+
: undefined;
|
|
117
151
|
// Apply the directive: resolve position field to a flow/step
|
|
118
152
|
if (directive.goTo) {
|
|
153
|
+
exitReason = 'goto';
|
|
119
154
|
const flowTarget = typeof directive.goTo === 'string'
|
|
120
155
|
? directive.goTo
|
|
121
156
|
: directive.goTo.flow;
|
|
@@ -181,6 +216,7 @@ export class ResponsePipeline {
|
|
|
181
216
|
}
|
|
182
217
|
}
|
|
183
218
|
else if (directive.reset) {
|
|
219
|
+
exitReason = 'reset';
|
|
184
220
|
// Reset current flow
|
|
185
221
|
if (targetSession.currentFlow) {
|
|
186
222
|
const currentFlow = flows.find(r => r.id === targetSession.currentFlow?.id);
|
|
@@ -212,10 +248,16 @@ export class ResponsePipeline {
|
|
|
212
248
|
}
|
|
213
249
|
// Skip FlowRouter.decideFlowAndStep — the directive resolved the position
|
|
214
250
|
}
|
|
215
|
-
|
|
216
|
-
|
|
251
|
+
if (exitReason &&
|
|
252
|
+
exitPrevFlowId &&
|
|
253
|
+
(!selectedFlow || selectedFlow.id !== exitPrevFlowId)) {
|
|
254
|
+
endedFlows.push({ flowId: exitPrevFlowId, title: exitPrevFlowTitle, reason: exitReason });
|
|
255
|
+
}
|
|
256
|
+
// If no pending transition or transition handled, do normal routing.
|
|
257
|
+
// Candidates honor allowedFlows; completion scoring runs over the same set.
|
|
258
|
+
if (routingFlows.length > 0 && !selectedFlow) {
|
|
217
259
|
const orchestration = await this.flowRouter.decideFlowAndStep({
|
|
218
|
-
flows:
|
|
260
|
+
flows: routingFlows,
|
|
219
261
|
session: targetSession,
|
|
220
262
|
history,
|
|
221
263
|
agentOptions: this.options,
|
|
@@ -241,8 +283,29 @@ export class ResponsePipeline {
|
|
|
241
283
|
session: targetSession,
|
|
242
284
|
isFlowComplete,
|
|
243
285
|
completedFlows,
|
|
286
|
+
...(endedFlows.length > 0 ? { endedFlows } : {}),
|
|
244
287
|
};
|
|
245
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* Combine a routing-derived session with the signal phase's non-position
|
|
291
|
+
* mutations. The routing session is the base — it owns position state AND
|
|
292
|
+
* data merges such as flow initialData and directive-carried writes; the
|
|
293
|
+
* signal phase's mutations (trigger recording under `signals`, handler
|
|
294
|
+
* data writes) are re-applied on top. Both phases start from the same
|
|
295
|
+
* input session, so their mutations cannot silently collide.
|
|
296
|
+
*/
|
|
297
|
+
combineRoutingAndSignalSessions(params) {
|
|
298
|
+
const { inputSession, signalSession, routingSession } = params;
|
|
299
|
+
let combined = routingSession;
|
|
300
|
+
if (signalSession.signals !== inputSession.signals) {
|
|
301
|
+
combined = { ...combined, signals: signalSession.signals };
|
|
302
|
+
}
|
|
303
|
+
const signalWrites = diffSignalDataWrites(inputSession.data, signalSession.data);
|
|
304
|
+
if (Object.keys(signalWrites).length > 0) {
|
|
305
|
+
combined = mergeCollected(combined, signalWrites);
|
|
306
|
+
}
|
|
307
|
+
return combined;
|
|
308
|
+
}
|
|
246
309
|
/**
|
|
247
310
|
* Determine next step and update session
|
|
248
311
|
*/
|
|
@@ -481,17 +544,20 @@ export class ResponsePipeline {
|
|
|
481
544
|
// Create a fresh chain tracker for this turn (Requirement 22.1)
|
|
482
545
|
this.createChainTracker();
|
|
483
546
|
// ROUTING SKIP OPTIMIZATION (Requirements 20.1, 20.2, 20.3):
|
|
484
|
-
// When the current step has collect fields AND pre-extraction
|
|
485
|
-
// one of those fields, skip FlowRouter.decideFlowAndStep
|
|
486
|
-
|
|
487
|
-
|
|
547
|
+
// When the current step has collect fields AND step-scoped pre-extraction
|
|
548
|
+
// populates at least one of those fields, skip FlowRouter.decideFlowAndStep
|
|
549
|
+
// for this turn. The check's extraction result is reused by the fallthrough
|
|
550
|
+
// paths below so a turn costs at most ONE extraction LLM call.
|
|
551
|
+
const routingSkipCheck = await this.attemptRoutingSkipForCollect(params);
|
|
552
|
+
if (routingSkipCheck.skipResult) {
|
|
553
|
+
const skipResult = routingSkipCheck.skipResult;
|
|
488
554
|
// Even when routing is skipped, run pre-signal phase if processor is present
|
|
489
555
|
if (this.signalCoordinator.enabled) {
|
|
490
556
|
const signalResult = await this.signalCoordinator.runPrePhase(params.session, params.context, params.history);
|
|
491
557
|
// If signal halts, override the routing skip result
|
|
492
558
|
if (signalResult.mergedDirective?.halt) {
|
|
493
559
|
return {
|
|
494
|
-
...
|
|
560
|
+
...skipResult,
|
|
495
561
|
session: signalResult.updatedSession,
|
|
496
562
|
signalFirings: signalResult.firings,
|
|
497
563
|
signalHalted: true,
|
|
@@ -502,15 +568,20 @@ export class ResponsePipeline {
|
|
|
502
568
|
if (hasDirectivePositionField(signalResult.mergedDirective)) {
|
|
503
569
|
return this.signalCoordinator.applyPositionDirective(signalResult);
|
|
504
570
|
}
|
|
505
|
-
// Non-position directive:
|
|
571
|
+
// Non-position directive: keep the skip result (extraction merges,
|
|
572
|
+
// step entry) and re-apply the signal phase's non-position mutations
|
|
506
573
|
return {
|
|
507
|
-
...
|
|
508
|
-
session:
|
|
574
|
+
...skipResult,
|
|
575
|
+
session: this.combineRoutingAndSignalSessions({
|
|
576
|
+
inputSession: params.session,
|
|
577
|
+
signalSession: signalResult.updatedSession,
|
|
578
|
+
routingSession: skipResult.session,
|
|
579
|
+
}),
|
|
509
580
|
signalFirings: signalResult.firings,
|
|
510
581
|
signalPreDirective: signalResult.mergedDirective || undefined,
|
|
511
582
|
};
|
|
512
583
|
}
|
|
513
|
-
return
|
|
584
|
+
return skipResult;
|
|
514
585
|
}
|
|
515
586
|
// ── PARALLEL PRE-SIGNAL PHASE + ROUTING (Algorithm 5) ────────────────
|
|
516
587
|
// When signalProcessor is present, run pre-signals in parallel with routing.
|
|
@@ -524,6 +595,7 @@ export class ResponsePipeline {
|
|
|
524
595
|
history: params.history,
|
|
525
596
|
context: params.context,
|
|
526
597
|
signal: params.signal,
|
|
598
|
+
allowedFlows: params.allowedFlows,
|
|
527
599
|
}),
|
|
528
600
|
]);
|
|
529
601
|
// ── Requirement 8.2: halt → discard routing, skip LLM ────────────
|
|
@@ -544,38 +616,41 @@ export class ResponsePipeline {
|
|
|
544
616
|
}
|
|
545
617
|
// ── Requirement 8.4: non-position directive → use routing, propagate augmentation ──
|
|
546
618
|
// ── Requirement 8.5: no directive → use routing as-is ─────────────
|
|
547
|
-
|
|
548
|
-
//
|
|
619
|
+
// Base = routed session (position state AND router data merges such as
|
|
620
|
+
// flow initialData survive); the signal phase's non-position mutations
|
|
621
|
+
// (trigger state, handler data writes) are re-applied on top.
|
|
622
|
+
let updatedSession = this.combineRoutingAndSignalSessions({
|
|
623
|
+
inputSession: params.session,
|
|
624
|
+
signalSession: signalResult.updatedSession,
|
|
625
|
+
routingSession: routingResult.session,
|
|
626
|
+
});
|
|
627
|
+
// Explicit dataUpdate from the signal's merged directive lands last
|
|
549
628
|
if (signalResult.mergedDirective?.dataUpdate) {
|
|
550
629
|
updatedSession = mergeCollected(updatedSession, signalResult.mergedDirective.dataUpdate);
|
|
551
630
|
}
|
|
552
|
-
// Use routing result for flow/step, but carry signal session state
|
|
553
|
-
// Merge routing session changes on top of signal session
|
|
554
|
-
const routingSession = routingResult.session;
|
|
555
|
-
updatedSession = {
|
|
556
|
-
...updatedSession,
|
|
557
|
-
currentFlow: routingSession.currentFlow,
|
|
558
|
-
currentStep: routingSession.currentStep,
|
|
559
|
-
flowHistory: routingSession.flowHistory,
|
|
560
|
-
pendingDirective: routingSession.pendingDirective,
|
|
561
|
-
};
|
|
562
631
|
const isFlowComplete = routingResult.isFlowComplete;
|
|
563
|
-
// PRE-EXTRACTION: same logic as below — extract data from user message
|
|
632
|
+
// PRE-EXTRACTION: same logic as below — extract data from user message.
|
|
633
|
+
// Reuses the routing-skip check's step-scoped extraction when it already
|
|
634
|
+
// ran this turn (at most ONE extraction LLM call per turn).
|
|
564
635
|
if (routingResult.selectedFlow && !isFlowComplete) {
|
|
565
|
-
|
|
636
|
+
let extractedData;
|
|
637
|
+
if (routingSkipCheck.extractionRan) {
|
|
638
|
+
extractedData = routingSkipCheck.extractedData;
|
|
639
|
+
}
|
|
640
|
+
else if (this.shouldPreExtractData(routingResult.selectedFlow)) {
|
|
566
641
|
logger.debug(`[ResponsePipeline] Pre-extracting data for flow: ${routingResult.selectedFlow.title}`);
|
|
567
|
-
|
|
642
|
+
extractedData = await this.preExtractFlowData({
|
|
568
643
|
route: routingResult.selectedFlow,
|
|
569
644
|
history: params.history,
|
|
570
645
|
context: params.context,
|
|
571
646
|
session: updatedSession,
|
|
572
647
|
signal: params.signal,
|
|
573
648
|
});
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
649
|
+
}
|
|
650
|
+
if (extractedData && Object.keys(extractedData).length > 0) {
|
|
651
|
+
logger.debug(`[ResponsePipeline] Pre-extracted data:`, extractedData);
|
|
652
|
+
updatedSession = mergeCollected(updatedSession, extractedData);
|
|
653
|
+
await this.updateCollectedData(extractedData);
|
|
579
654
|
}
|
|
580
655
|
}
|
|
581
656
|
// Determine next step
|
|
@@ -594,6 +669,7 @@ export class ResponsePipeline {
|
|
|
594
669
|
isFlowComplete: stepResult.flowChanged ? false : isFlowComplete,
|
|
595
670
|
signalFirings: signalResult.firings,
|
|
596
671
|
signalPreDirective: signalResult.mergedDirective || undefined,
|
|
672
|
+
endedFlows: routingResult.endedFlows,
|
|
597
673
|
};
|
|
598
674
|
}
|
|
599
675
|
// ── No signal processor: existing behavior (zero overhead) ────────────
|
|
@@ -602,30 +678,37 @@ export class ResponsePipeline {
|
|
|
602
678
|
history: params.history,
|
|
603
679
|
context: params.context,
|
|
604
680
|
signal: params.signal,
|
|
681
|
+
allowedFlows: params.allowedFlows,
|
|
605
682
|
});
|
|
606
683
|
let updatedSession = routingResult.session;
|
|
607
684
|
const isFlowComplete = routingResult.isFlowComplete;
|
|
608
685
|
// PRE-EXTRACTION: If entering a flow that collects data, extract data from user message first
|
|
609
|
-
// This allows us to skip steps whose data is already provided
|
|
686
|
+
// This allows us to skip steps whose data is already provided.
|
|
687
|
+
// Reuses the routing-skip check's step-scoped extraction when it already
|
|
688
|
+
// ran this turn — at most ONE extraction LLM call per turn.
|
|
610
689
|
if (routingResult.selectedFlow && !isFlowComplete) {
|
|
611
690
|
// Always pre-extract when flow collects data (not just on new flow entry)
|
|
612
691
|
// This ensures step selection has the most up-to-date data
|
|
613
|
-
|
|
692
|
+
let extractedData;
|
|
693
|
+
if (routingSkipCheck.extractionRan) {
|
|
694
|
+
extractedData = routingSkipCheck.extractedData;
|
|
695
|
+
}
|
|
696
|
+
else if (this.shouldPreExtractData(routingResult.selectedFlow)) {
|
|
614
697
|
logger.debug(`[ResponsePipeline] Pre-extracting data for flow: ${routingResult.selectedFlow.title}`);
|
|
615
|
-
|
|
698
|
+
extractedData = await this.preExtractFlowData({
|
|
616
699
|
route: routingResult.selectedFlow,
|
|
617
700
|
history: params.history,
|
|
618
701
|
context: params.context,
|
|
619
702
|
session: updatedSession,
|
|
620
703
|
signal: params.signal,
|
|
621
704
|
});
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
705
|
+
}
|
|
706
|
+
if (extractedData && Object.keys(extractedData).length > 0) {
|
|
707
|
+
logger.debug(`[ResponsePipeline] Pre-extracted data:`, extractedData);
|
|
708
|
+
// Merge pre-extracted data into session before step selection
|
|
709
|
+
updatedSession = mergeCollected(updatedSession, extractedData);
|
|
710
|
+
// Also update agent's collected data
|
|
711
|
+
await this.updateCollectedData(extractedData);
|
|
629
712
|
}
|
|
630
713
|
}
|
|
631
714
|
// Determine next step using pipeline method for consistency
|
|
@@ -643,6 +726,7 @@ export class ResponsePipeline {
|
|
|
643
726
|
session: stepResult.session,
|
|
644
727
|
// If a branch changed the flow, the original isFlowComplete no longer applies
|
|
645
728
|
isFlowComplete: stepResult.flowChanged ? false : isFlowComplete,
|
|
729
|
+
endedFlows: routingResult.endedFlows,
|
|
646
730
|
};
|
|
647
731
|
}
|
|
648
732
|
catch (error) {
|
|
@@ -737,61 +821,80 @@ export class ResponsePipeline {
|
|
|
737
821
|
return { nextStep, session, flowTransition: false };
|
|
738
822
|
}
|
|
739
823
|
/**
|
|
740
|
-
* Routing skip
|
|
741
|
-
* When the current step declares `collect` fields AND
|
|
742
|
-
* at least one of those fields from the user's message,
|
|
824
|
+
* Routing skip check (Requirements 20.1, 20.2, 20.3):
|
|
825
|
+
* When the current step declares `collect` fields AND step-scoped extraction
|
|
826
|
+
* populates at least one of those fields from the user's message, the caller
|
|
827
|
+
* skips routing for this turn (`skipResult`).
|
|
828
|
+
*
|
|
829
|
+
* The extraction is scoped to EXACTLY this step's collect fields — incidental
|
|
830
|
+
* mentions of other (e.g. other-flow) fields cannot pin the routing decision.
|
|
831
|
+
* It is skipped entirely when every collect field is already populated.
|
|
743
832
|
*
|
|
744
|
-
*
|
|
745
|
-
*
|
|
833
|
+
* Always returns what the check did so the caller can reuse the single
|
|
834
|
+
* extraction result in its normal path instead of extracting twice:
|
|
835
|
+
* - `extractionRan` — whether an extraction LLM call was made this turn.
|
|
836
|
+
* - `extractedData` — that call's result (empty when nothing found / not run).
|
|
746
837
|
*/
|
|
747
838
|
async attemptRoutingSkipForCollect(params) {
|
|
748
839
|
const { session } = params;
|
|
840
|
+
const notApplicable = { extractionRan: false, extractedData: {} };
|
|
749
841
|
// Only applies when we already have a current flow and step
|
|
750
842
|
if (!session.currentFlow || !session.currentStep) {
|
|
751
|
-
return
|
|
843
|
+
return notApplicable;
|
|
752
844
|
}
|
|
753
845
|
// Also skip this optimization if there's a pending directive (it takes priority)
|
|
754
846
|
if (session.pendingDirective) {
|
|
755
|
-
return
|
|
847
|
+
return notApplicable;
|
|
756
848
|
}
|
|
757
849
|
// Look up the actual Flow and Step objects to access `collect`
|
|
758
850
|
const currentFlow = this.getFlows().find((f) => f.id === session.currentFlow?.id);
|
|
759
851
|
if (!currentFlow) {
|
|
760
|
-
return
|
|
852
|
+
return notApplicable;
|
|
761
853
|
}
|
|
762
854
|
const currentStep = currentFlow.getStep(session.currentStep.id);
|
|
763
855
|
if (!currentStep || !currentStep.collect || currentStep.collect.length === 0) {
|
|
764
|
-
return
|
|
856
|
+
return notApplicable;
|
|
765
857
|
}
|
|
766
|
-
// We have a step with collect fields. Run pre-extraction to see if the
|
|
767
|
-
// user's message populates any of them.
|
|
768
858
|
const collectFields = currentStep.collect;
|
|
859
|
+
// Every relevant field already set — the skip cannot fire; don't spend
|
|
860
|
+
// an extraction LLM call probing for it.
|
|
861
|
+
const sessionRecord = (session.data ?? {});
|
|
862
|
+
const allPopulated = collectFields.every((field) => {
|
|
863
|
+
const value = sessionRecord[String(field)];
|
|
864
|
+
return value !== undefined && value !== null;
|
|
865
|
+
});
|
|
866
|
+
if (allPopulated) {
|
|
867
|
+
return notApplicable;
|
|
868
|
+
}
|
|
769
869
|
// Snapshot current data for comparison
|
|
770
|
-
const dataBefore = { ...
|
|
771
|
-
//
|
|
870
|
+
const dataBefore = { ...sessionRecord };
|
|
871
|
+
// Step-scoped pre-extraction: see if the user's message populates any of
|
|
872
|
+
// THIS step's collect fields.
|
|
772
873
|
const extractedData = await this.preExtractFlowData({
|
|
773
874
|
route: currentFlow,
|
|
774
875
|
history: params.history,
|
|
775
876
|
context: params.context,
|
|
776
877
|
session,
|
|
777
878
|
signal: params.signal,
|
|
879
|
+
restrictToFields: collectFields.map(String),
|
|
778
880
|
});
|
|
779
881
|
if (!extractedData || Object.keys(extractedData).length === 0) {
|
|
780
|
-
return
|
|
882
|
+
return { extractionRan: true, extractedData: {} };
|
|
781
883
|
}
|
|
782
884
|
// Determine which collect fields were newly populated by pre-extraction
|
|
885
|
+
const extractedRecord = extractedData;
|
|
783
886
|
const populatedCollectFields = [];
|
|
784
887
|
for (const field of collectFields) {
|
|
785
|
-
const key = field;
|
|
786
|
-
const hadValue = dataBefore[
|
|
787
|
-
const hasNewValue =
|
|
888
|
+
const key = String(field);
|
|
889
|
+
const hadValue = dataBefore[key] !== undefined && dataBefore[key] !== null;
|
|
890
|
+
const hasNewValue = extractedRecord[key] !== undefined && extractedRecord[key] !== null;
|
|
788
891
|
if (hasNewValue && !hadValue) {
|
|
789
892
|
populatedCollectFields.push(key);
|
|
790
893
|
}
|
|
791
894
|
}
|
|
792
895
|
if (populatedCollectFields.length === 0) {
|
|
793
896
|
// Pre-extraction didn't populate any declared collect field — no skip
|
|
794
|
-
return
|
|
897
|
+
return { extractionRan: true, extractedData };
|
|
795
898
|
}
|
|
796
899
|
// ROUTING SKIP: pre-extraction populated collect fields → retain current flow/step
|
|
797
900
|
logger.debug(`[ResponsePipeline] Routing skip: pre-extraction populated collect fields [${populatedCollectFields.join(', ')}] for step "${currentStep.id}" — skipping FlowRouter`);
|
|
@@ -808,11 +911,15 @@ export class ResponsePipeline {
|
|
|
808
911
|
context: params.context,
|
|
809
912
|
});
|
|
810
913
|
return {
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
914
|
+
extractionRan: true,
|
|
915
|
+
extractedData,
|
|
916
|
+
skipResult: {
|
|
917
|
+
selectedFlow: stepResult.flowChanged || currentFlow,
|
|
918
|
+
selectedStep: stepResult.nextStep,
|
|
919
|
+
responseDirectives: undefined,
|
|
920
|
+
session: stepResult.session,
|
|
921
|
+
isFlowComplete: false,
|
|
922
|
+
},
|
|
816
923
|
};
|
|
817
924
|
}
|
|
818
925
|
/**
|
|
@@ -831,18 +938,41 @@ export class ResponsePipeline {
|
|
|
831
938
|
const hasDataCollectionSteps = steps.some(step => step.collect && step.collect.length > 0);
|
|
832
939
|
return hasDataCollectionSteps;
|
|
833
940
|
}
|
|
941
|
+
/**
|
|
942
|
+
* Build an extraction schema limited to the given subset of agent schema
|
|
943
|
+
* fields. Used by the routing-skip probe so only the current step's collect
|
|
944
|
+
* fields are visible to the extractor.
|
|
945
|
+
*/
|
|
946
|
+
buildFieldRestrictedSchema(agentSchema, fields) {
|
|
947
|
+
const properties = {};
|
|
948
|
+
for (const field of fields) {
|
|
949
|
+
const prop = agentSchema.properties?.[field];
|
|
950
|
+
if (prop) {
|
|
951
|
+
properties[field] = prop;
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
return {
|
|
955
|
+
type: "object",
|
|
956
|
+
description: `Extraction restricted to these fields: ${fields.join(', ')}`,
|
|
957
|
+
properties,
|
|
958
|
+
additionalProperties: false,
|
|
959
|
+
};
|
|
960
|
+
}
|
|
834
961
|
/**
|
|
835
962
|
* Pre-extract data from user message when entering a flow
|
|
836
963
|
* This allows skipping steps whose data is already provided
|
|
837
964
|
*/
|
|
838
965
|
async preExtractFlowData(params) {
|
|
839
|
-
const { route: flow, history, signal } = params;
|
|
966
|
+
const { route: flow, history, signal, restrictToFields } = params;
|
|
840
967
|
// Build a schema for data extraction based on flow's fields
|
|
841
|
-
const
|
|
842
|
-
if (!
|
|
968
|
+
const agentSchema = this.getSchema();
|
|
969
|
+
if (!agentSchema) {
|
|
843
970
|
logger.warn(`[ResponsePipeline] No schema available for pre-extraction`);
|
|
844
971
|
return {};
|
|
845
972
|
}
|
|
973
|
+
const extractionSchema = restrictToFields
|
|
974
|
+
? this.buildFieldRestrictedSchema(agentSchema, restrictToFields)
|
|
975
|
+
: agentSchema;
|
|
846
976
|
// Get last user message
|
|
847
977
|
const lastMessage = getLastMessageFromHistory(history);
|
|
848
978
|
// Build extraction prompt
|
|
@@ -855,11 +985,16 @@ export class ResponsePipeline {
|
|
|
855
985
|
`Extract data for these fields if present:`,
|
|
856
986
|
];
|
|
857
987
|
// Add field descriptions
|
|
858
|
-
if (
|
|
859
|
-
extractionPrompt.push(`
|
|
988
|
+
if (restrictToFields) {
|
|
989
|
+
extractionPrompt.push(`Only these fields: ${restrictToFields.join(', ')}`);
|
|
860
990
|
}
|
|
861
|
-
|
|
862
|
-
|
|
991
|
+
else {
|
|
992
|
+
if (flow.requiredFields) {
|
|
993
|
+
extractionPrompt.push(`Required fields: ${flow.requiredFields.join(', ')}`);
|
|
994
|
+
}
|
|
995
|
+
if (flow.optionalFields) {
|
|
996
|
+
extractionPrompt.push(`Optional fields: ${flow.optionalFields.join(', ')}`);
|
|
997
|
+
}
|
|
863
998
|
}
|
|
864
999
|
extractionPrompt.push(``, `Return ONLY the extracted data as JSON. If no data can be extracted, return an empty object {}.`);
|
|
865
1000
|
// Convert Event[] to HistoryItem[] for provider call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsePipeline.js","sourceRoot":"","sources":["../../src/core/ResponsePipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResponsePipeline.js","sourceRoot":"","sources":["../../src/core/ResponsePipeline.ts"],"names":[],"mappings":"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"}
|