Add weighted random workflow steps and a random choice agent tool

This commit is contained in:
Ian Gulliver
2026-10-23 08:22:57 -07:00
parent f18dd88465
commit 6bbae3fffe
12 changed files with 673 additions and 388 deletions
@@ -0,0 +1,17 @@
CREATE TABLE workflow_steps_next (
definition_id TEXT NOT NULL REFERENCES workflow_definitions(id),
id INTEGER NOT NULL,
parent INTEGER,
position INTEGER NOT NULL,
kind TEXT NOT NULL CHECK (kind IN ('stage', 'order', 'parallel', 'random')),
stage TEXT NOT NULL,
model TEXT NOT NULL,
prompt TEXT NOT NULL,
weight REAL NOT NULL DEFAULT 0,
PRIMARY KEY (definition_id, id),
UNIQUE (definition_id, parent, position)
);
INSERT INTO workflow_steps_next (definition_id, id, parent, position, kind, stage, model, prompt)
SELECT definition_id, id, parent, position, kind, stage, model, prompt FROM workflow_steps;
DROP TABLE workflow_steps;
ALTER TABLE workflow_steps_next RENAME TO workflow_steps;