shitton of the ai changes
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
|
||||
const {
|
||||
DEFAULT_PIPELINE_FALLBACK_POLICIES,
|
||||
} = await import("../dist/ai/user-request-pipeline/blueprint.js");
|
||||
const {
|
||||
decidePipelineFallback,
|
||||
fallbackReasonFromStageStatus,
|
||||
resolvePipelineFallbackAction,
|
||||
} = await import("../dist/ai/user-request-pipeline/fallback-executor.js");
|
||||
|
||||
test("fallback executor resolves configured failed action", () => {
|
||||
assert.equal(
|
||||
resolvePipelineFallbackAction({
|
||||
stage: "input_size_gate",
|
||||
reason: "failed",
|
||||
policies: DEFAULT_PIPELINE_FALLBACK_POLICIES,
|
||||
}),
|
||||
"notify_user",
|
||||
);
|
||||
});
|
||||
|
||||
test("fallback executor uses default action for missing policy", () => {
|
||||
assert.equal(
|
||||
resolvePipelineFallbackAction({
|
||||
stage: "send_response",
|
||||
reason: "failed",
|
||||
policies: [],
|
||||
}),
|
||||
"fail_request",
|
||||
);
|
||||
assert.equal(
|
||||
resolvePipelineFallbackAction({
|
||||
stage: "send_response",
|
||||
reason: "unavailable",
|
||||
policies: [],
|
||||
}),
|
||||
"continue_without_stage",
|
||||
);
|
||||
});
|
||||
|
||||
test("fallback decision exposes notify and continuation flags", () => {
|
||||
const decision = decidePipelineFallback({
|
||||
stage: "document_rag",
|
||||
reason: "failed",
|
||||
policies: DEFAULT_PIPELINE_FALLBACK_POLICIES,
|
||||
});
|
||||
|
||||
assert.equal(decision.action, "notify_user");
|
||||
assert.equal(decision.shouldNotifyUser, true);
|
||||
assert.equal(decision.shouldContinue, true);
|
||||
assert.equal(decision.shouldFailRequest, false);
|
||||
});
|
||||
|
||||
test("fallback reason maps only failed and skipped statuses", () => {
|
||||
assert.equal(fallbackReasonFromStageStatus("failed"), "failed");
|
||||
assert.equal(fallbackReasonFromStageStatus("skipped"), "unavailable");
|
||||
assert.equal(fallbackReasonFromStageStatus("succeeded"), undefined);
|
||||
});
|
||||
Reference in New Issue
Block a user