forked from farhoodlabs/paperclip
53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { resolveSessionKey } from "./execute.js";
|
|
|
|
describe("resolveSessionKey", () => {
|
|
it("prefixes run-scoped session keys with the configured agent", () => {
|
|
expect(
|
|
resolveSessionKey({
|
|
strategy: "run",
|
|
configuredSessionKey: null,
|
|
agentId: "meridian",
|
|
runId: "run-123",
|
|
issueId: null,
|
|
}),
|
|
).toBe("agent:meridian:paperclip:run:run-123");
|
|
});
|
|
|
|
it("prefixes issue-scoped session keys with the configured agent", () => {
|
|
expect(
|
|
resolveSessionKey({
|
|
strategy: "issue",
|
|
configuredSessionKey: null,
|
|
agentId: "meridian",
|
|
runId: "run-123",
|
|
issueId: "issue-456",
|
|
}),
|
|
).toBe("agent:meridian:paperclip:issue:issue-456");
|
|
});
|
|
|
|
it("prefixes fixed session keys with the configured agent", () => {
|
|
expect(
|
|
resolveSessionKey({
|
|
strategy: "fixed",
|
|
configuredSessionKey: "paperclip",
|
|
agentId: "meridian",
|
|
runId: "run-123",
|
|
issueId: null,
|
|
}),
|
|
).toBe("agent:meridian:paperclip");
|
|
});
|
|
|
|
it("does not double-prefix an already-routed session key", () => {
|
|
expect(
|
|
resolveSessionKey({
|
|
strategy: "fixed",
|
|
configuredSessionKey: "agent:meridian:paperclip",
|
|
agentId: "meridian",
|
|
runId: "run-123",
|
|
issueId: null,
|
|
}),
|
|
).toBe("agent:meridian:paperclip");
|
|
});
|
|
});
|