mirror of
https://github.com/soconnor0919/hristudio.git
synced 2026-03-24 03:37:51 -04:00
61 lines
1.8 KiB
TypeScript
61 lines
1.8 KiB
TypeScript
import { db } from "~/server/db";
|
|
import { steps, experiments, actions } from "~/server/db/schema";
|
|
import { eq, asc } from "drizzle-orm";
|
|
|
|
async function debugExperimentStructure() {
|
|
console.log("Debugging Experiment Structure for Interactive Storyteller...");
|
|
|
|
// Find the experiment
|
|
const experiment = await db.query.experiments.findFirst({
|
|
where: eq(experiments.name, "The Interactive Storyteller"),
|
|
with: {
|
|
steps: {
|
|
orderBy: [asc(steps.orderIndex)],
|
|
with: {
|
|
actions: {
|
|
orderBy: [asc(actions.orderIndex)],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
if (!experiment) {
|
|
console.error("Experiment not found!");
|
|
return;
|
|
}
|
|
|
|
console.log(`Experiment: ${experiment.name} (${experiment.id})`);
|
|
console.log(`Plugin Dependencies:`, experiment.pluginDependencies);
|
|
console.log("---------------------------------------------------");
|
|
|
|
experiment.steps.forEach((step, index) => {
|
|
console.log(`Step ${index + 1}: ${step.name}`);
|
|
console.log(` ID: ${step.id}`);
|
|
console.log(` Type: ${step.type}`);
|
|
console.log(` Order: ${step.orderIndex}`);
|
|
console.log(` Conditions:`, JSON.stringify(step.conditions, null, 2));
|
|
|
|
if (step.actions && step.actions.length > 0) {
|
|
console.log(` Actions (${step.actions.length}):`);
|
|
step.actions.forEach((action, actionIndex) => {
|
|
console.log(` ${actionIndex + 1}. [${action.type}] ${action.name}`);
|
|
if (action.type === "wizard_wait_for_response") {
|
|
console.log(
|
|
` Options:`,
|
|
JSON.stringify((action.parameters as any)?.options, null, 2),
|
|
);
|
|
}
|
|
});
|
|
}
|
|
console.log("---------------------------------------------------");
|
|
});
|
|
}
|
|
|
|
debugExperimentStructure()
|
|
.then(() => process.exit(0))
|
|
.catch((err) => {
|
|
console.error(err);
|
|
process.exit(1);
|
|
});
|