mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-13 18:32:12 +03:00
Landed with the design call resolved per the owner's pick — **option 1**: the synced store is now endpoint-agnostic (persistDiscoveredModels and managedModelImport no longer drop non-chat models at write time), and chat selectability moved to read time (auto-pool expansion in autoStrategy applies filterChatSelectableModels; the models-route projection already had its chatOnly filter). Your discovery test now passes end-to-end (3/3): /api/show capabilities persist per connection and image/embedding requests route through the advertising host. Reconciliation notes: conflicted areas merged onto the current tip (adobe discovery import, requestedModel preflight signature, resolvedProvider fast-path coexists with the synced-route override — explicit resolution wins); carried base-red drains (#10055 memoization, #11071 test variants) dropped as already-landed; the managed-model-import exclusion test was propagated to the new contract (image/video models persist; the read filter still hides them from chat pickers — pinned by a new assertion). Full battery: 205/206 focused (the one red is a confirmed periodic-timer timing flake on the loaded devbox — 20/20 isolated), autoCombo vitest 30/30, combo suites 46/46, gates + typecheck clean. Thank you @yourspraveen — the capability probe + routing design was right; it just needed the store contract opened up. Fixes #11087.
87 lines
2.8 KiB
TypeScript
87 lines
2.8 KiB
TypeScript
import assert from "node:assert/strict";
|
|
import test from "node:test";
|
|
|
|
import {
|
|
LEASE_EXCLUSIVE_SCOPE,
|
|
LeaseContextError,
|
|
isExclusiveLeaseManagedKey,
|
|
parseManagedLeaseRequestContext,
|
|
validateExclusiveLeaseKeyConfiguration,
|
|
} from "../../src/sse/services/leaseContext.ts";
|
|
|
|
const OWNER = "vlo_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
|
|
|
test("routing session identity is never accepted as lease owner identity", () => {
|
|
const headers = new Headers({
|
|
"X-Session-Id": OWNER,
|
|
"X-OmniRoute-Lease-Generation": "1",
|
|
});
|
|
assert.throws(
|
|
() => parseManagedLeaseRequestContext(headers),
|
|
(error: unknown) =>
|
|
error instanceof LeaseContextError &&
|
|
error.status === 400 &&
|
|
error.code === "LEASE_CONTEXT_REQUIRED"
|
|
);
|
|
});
|
|
|
|
test("parses only canonical explicit owner and positive safe generation", () => {
|
|
const context = parseManagedLeaseRequestContext(
|
|
new Headers({
|
|
"X-OmniRoute-Lease-Owner": OWNER,
|
|
"X-OmniRoute-Lease-Generation": "42",
|
|
"X-Session-Id": "routing-session-a",
|
|
})
|
|
);
|
|
assert.equal(context.leaseOwnerId, OWNER);
|
|
assert.equal(context.generation, 42);
|
|
assert.notEqual(context.leaseOwnerId, "routing-session-a");
|
|
});
|
|
|
|
for (const [name, owner, generation] of [
|
|
["malformed owner", "vlo_short", "1"],
|
|
["missing generation", OWNER, ""],
|
|
["zero generation", OWNER, "0"],
|
|
["fractional generation", OWNER, "1.5"],
|
|
["unsafe generation", OWNER, "9007199254740992"],
|
|
] as const) {
|
|
test(`rejects ${name}`, () => {
|
|
const headers = new Headers({ "X-OmniRoute-Lease-Owner": owner });
|
|
if (generation) headers.set("X-OmniRoute-Lease-Generation", generation);
|
|
assert.throws(
|
|
() => parseManagedLeaseRequestContext(headers),
|
|
(error: unknown) =>
|
|
error instanceof LeaseContextError &&
|
|
error.status === 400 &&
|
|
error.code === "LEASE_CONTEXT_INVALID"
|
|
);
|
|
});
|
|
}
|
|
|
|
test("only the explicit lease scope opts a key into hard leases", () => {
|
|
assert.equal(isExclusiveLeaseManagedKey({ scopes: [LEASE_EXCLUSIVE_SCOPE] }), true);
|
|
assert.equal(isExclusiveLeaseManagedKey({ scopes: ["manage"] }), false);
|
|
assert.equal(isExclusiveLeaseManagedKey({ scopes: [] }), false);
|
|
});
|
|
|
|
test("managed scope requires a non-empty existing allowedConnections list", () => {
|
|
assert.doesNotThrow(() =>
|
|
validateExclusiveLeaseKeyConfiguration({
|
|
scopes: [LEASE_EXCLUSIVE_SCOPE],
|
|
allowedConnections: ["connection-a"],
|
|
})
|
|
);
|
|
assert.throws(
|
|
() =>
|
|
validateExclusiveLeaseKeyConfiguration({
|
|
scopes: [LEASE_EXCLUSIVE_SCOPE],
|
|
allowedConnections: [],
|
|
}),
|
|
(error: unknown) =>
|
|
error instanceof LeaseContextError && error.code === "LEASE_KEY_CONFIGURATION_INVALID"
|
|
);
|
|
assert.doesNotThrow(() =>
|
|
validateExclusiveLeaseKeyConfiguration({ scopes: ["manage"], allowedConnections: [] })
|
|
);
|
|
});
|