test: seed commitment qa session through sqlite

This commit is contained in:
Peter Steinberger
2026-05-08 15:54:26 +01:00
parent e6e2ccc542
commit 284fcada14
2 changed files with 24 additions and 14 deletions

View File

@@ -39,9 +39,12 @@ async function seedQaSessionTranscript(
agentId?: string;
sessionId: string;
sessionKey?: string;
messages: Array<{ role: string; content: unknown; timestamp?: number | string }>;
messages?: Array<{ role: string; content: unknown; timestamp?: number | string }>;
now?: number;
originLabel?: string;
lastChannel?: string;
lastProvider?: string;
lastTo?: string;
},
) {
const agentId = params.agentId?.trim() || "qa";
@@ -52,10 +55,11 @@ async function seedQaSessionTranscript(
}
const sessionFile = createSqliteSessionTranscriptLocator({ agentId, sessionId });
const sessionKey = params.sessionKey?.trim() || `agent:${agentId}:seed-${sessionId}`;
const messages = params.messages ?? [];
let parentId: string | null = null;
const messageEvents = params.messages.map((message, index) => {
const messageEvents = messages.map((message, index) => {
const id = `qa-seed-${index + 1}`;
const timestampMs = now - Math.max(1, params.messages.length - index) * 30_000;
const timestampMs = now - Math.max(1, messages.length - index) * 30_000;
const event = {
type: "message" as const,
id,
@@ -97,6 +101,9 @@ async function seedQaSessionTranscript(
sessionId,
updatedAt: now,
sessionFile,
...(params.lastChannel ? { lastChannel: params.lastChannel } : {}),
...(params.lastProvider ? { lastProvider: params.lastProvider } : {}),
...(params.lastTo ? { lastTo: params.lastTo } : {}),
origin: {
label: params.originLabel ?? "QA seeded SQLite transcript",
},

View File

@@ -64,28 +64,31 @@ steps:
- set: stateDir
value:
expr: "path.join(env.gateway.tempRoot, 'state')"
- set: sessionsPath
value:
expr: "path.join(stateDir, 'agents', 'qa', 'sessions', 'sessions.json')"
- set: commitmentStorePath
value:
expr: "path.join(stateDir, 'commitments', 'commitments.json')"
- set: dueNow
value:
expr: "Date.now()"
- call: fs.mkdir
args:
- expr: "path.dirname(sessionsPath)"
- recursive: true
- call: fs.mkdir
args:
- expr: "path.dirname(commitmentStorePath)"
- recursive: true
- call: fs.writeFile
- call: seedQaSessionTranscript
saveAs: seededSession
args:
- ref: sessionsPath
- expr: "JSON.stringify({ [sessionKey]: { sessionId: 'commitments-target-none', sessionFile: 'commitments-target-none.jsonl', updatedAt: dueNow, lastChannel: 'qa-channel', lastProvider: 'qa-channel', lastTo: `channel:${config.conversationId}` } }, null, 2)"
- utf8
- ref: env
- agentId: qa
sessionId: commitments-target-none
sessionKey:
ref: sessionKey
now:
ref: dueNow
originLabel: QA seeded commitments heartbeat target-none session
lastChannel: qa-channel
lastProvider: qa-channel
lastTo:
expr: "`channel:${config.conversationId}`"
- call: fs.writeFile
args:
- ref: commitmentStorePath