mirror of
https://github.com/moltbot/moltbot.git
synced 2026-05-15 17:05:34 +00:00
test: seed commitment qa session through sqlite
This commit is contained in:
@@ -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",
|
||||
},
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user