Add simulation run and results types and db collection

This commit is contained in:
akhisud3195 2025-02-14 14:01:07 +05:30
parent 40164734c4
commit 2c413bf165
2 changed files with 24 additions and 2 deletions

View file

@ -7,7 +7,7 @@ import { Project } from "./types/project_types";
import { EmbeddingDoc } from "./types/datasource_types";
import { DataSourceDoc } from "./types/datasource_types";
import { DataSource } from "./types/datasource_types";
import { Scenario } from "./types/testing_types";
import { Scenario, SimulationResult, SimulationRun } from "./types/testing_types";
import { z } from 'zod';
const client = new MongoClient(process.env["MONGODB_CONNECTION_STRING"] || "mongodb://localhost:27017");
@ -21,4 +21,6 @@ export const projectMembersCollection = db.collection<z.infer<typeof ProjectMemb
export const webpagesCollection = db.collection<z.infer<typeof Webpage>>('webpages');
export const agentWorkflowsCollection = db.collection<z.infer<typeof Workflow>>("agent_workflows");
export const scenariosCollection = db.collection<z.infer<typeof Scenario>>("scenarios");
export const apiKeysCollection = db.collection<z.infer<typeof ApiKey>>("api_keys");
export const apiKeysCollection = db.collection<z.infer<typeof ApiKey>>("api_keys");
export const simulationRunsCollection = db.collection<z.infer<typeof SimulationRun>>("simulation_runs");
export const simulationResultsCollection = db.collection<z.infer<typeof SimulationResult>>("simulation_results");

View file

@ -20,3 +20,23 @@ export const SimulationChatMessagesData = z.object({
});
export const SimulationData = z.union([SimulationArticleData, SimulationScenarioData, SimulationChatMessagesData]);
export const SimulationRun = z.object({
projectId: z.string(),
status: z.union([
z.literal('pending'),
z.literal('running'),
z.literal('completed'),
z.literal('cancelled'),
z.literal('failed')
]),
scenarioIds: z.array(z.string()),
startedAt: z.string().datetime(),
completedAt: z.string().datetime().optional(),
});
export const SimulationResult = z.object({
scenarioId: z.string(),
result: z.union([z.literal('pass'), z.literal('fail')]),
details: z.string()
});