steroids-cli 0.4.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +640 -0
- package/dist/cli/colors.d.ts +110 -0
- package/dist/cli/colors.d.ts.map +1 -0
- package/dist/cli/colors.js +228 -0
- package/dist/cli/colors.js.map +1 -0
- package/dist/cli/env.d.ts +159 -0
- package/dist/cli/env.d.ts.map +1 -0
- package/dist/cli/env.js +227 -0
- package/dist/cli/env.js.map +1 -0
- package/dist/cli/errors.d.ts +166 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +244 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/flags.d.ts +75 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +232 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/help.d.ts +97 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +275 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +29 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/interactive.d.ts +58 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +127 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli/output.d.ts +116 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +178 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/commands/about.d.ts +7 -0
- package/dist/commands/about.d.ts.map +1 -0
- package/dist/commands/about.js +259 -0
- package/dist/commands/about.js.map +1 -0
- package/dist/commands/ai.d.ts +6 -0
- package/dist/commands/ai.d.ts.map +1 -0
- package/dist/commands/ai.js +382 -0
- package/dist/commands/ai.js.map +1 -0
- package/dist/commands/backup.d.ts +3 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +528 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/completion.d.ts +3 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +405 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +665 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/disputes.d.ts +3 -0
- package/dist/commands/disputes.d.ts.map +1 -0
- package/dist/commands/disputes.js +499 -0
- package/dist/commands/disputes.js.map +1 -0
- package/dist/commands/gc.d.ts +3 -0
- package/dist/commands/gc.d.ts.map +1 -0
- package/dist/commands/gc.js +300 -0
- package/dist/commands/gc.js.map +1 -0
- package/dist/commands/git.d.ts +3 -0
- package/dist/commands/git.d.ts.map +1 -0
- package/dist/commands/git.js +458 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/health.d.ts +3 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +604 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/hooks.d.ts +6 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +529 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +200 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/llm.d.ts +7 -0
- package/dist/commands/llm.d.ts.map +1 -0
- package/dist/commands/llm.js +285 -0
- package/dist/commands/llm.js.map +1 -0
- package/dist/commands/locks.d.ts +3 -0
- package/dist/commands/locks.d.ts.map +1 -0
- package/dist/commands/locks.js +431 -0
- package/dist/commands/locks.js.map +1 -0
- package/dist/commands/logs.d.ts +3 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +487 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/loop-phases.d.ts +11 -0
- package/dist/commands/loop-phases.d.ts.map +1 -0
- package/dist/commands/loop-phases.js +204 -0
- package/dist/commands/loop-phases.js.map +1 -0
- package/dist/commands/loop.d.ts +3 -0
- package/dist/commands/loop.d.ts.map +1 -0
- package/dist/commands/loop.js +396 -0
- package/dist/commands/loop.js.map +1 -0
- package/dist/commands/projects.d.ts +6 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +362 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/purge.d.ts +3 -0
- package/dist/commands/purge.d.ts.map +1 -0
- package/dist/commands/purge.js +516 -0
- package/dist/commands/purge.js.map +1 -0
- package/dist/commands/runners.d.ts +3 -0
- package/dist/commands/runners.d.ts.map +1 -0
- package/dist/commands/runners.js +1076 -0
- package/dist/commands/runners.js.map +1 -0
- package/dist/commands/scan.d.ts +3 -0
- package/dist/commands/scan.d.ts.map +1 -0
- package/dist/commands/scan.js +291 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/commands/sections-commands.d.ts +9 -0
- package/dist/commands/sections-commands.d.ts.map +1 -0
- package/dist/commands/sections-commands.js +282 -0
- package/dist/commands/sections-commands.js.map +1 -0
- package/dist/commands/sections-graph.d.ts +25 -0
- package/dist/commands/sections-graph.d.ts.map +1 -0
- package/dist/commands/sections-graph.js +180 -0
- package/dist/commands/sections-graph.js.map +1 -0
- package/dist/commands/sections.d.ts +3 -0
- package/dist/commands/sections.d.ts.map +1 -0
- package/dist/commands/sections.js +376 -0
- package/dist/commands/sections.js.map +1 -0
- package/dist/commands/stats.d.ts +6 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +324 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/tasks.d.ts +3 -0
- package/dist/commands/tasks.d.ts.map +1 -0
- package/dist/commands/tasks.js +1115 -0
- package/dist/commands/tasks.js.map +1 -0
- package/dist/commands/web.d.ts +7 -0
- package/dist/commands/web.d.ts.map +1 -0
- package/dist/commands/web.js +204 -0
- package/dist/commands/web.js.map +1 -0
- package/dist/config/ai-setup.d.ts +27 -0
- package/dist/config/ai-setup.d.ts.map +1 -0
- package/dist/config/ai-setup.js +432 -0
- package/dist/config/ai-setup.js.map +1 -0
- package/dist/config/browser.d.ts +9 -0
- package/dist/config/browser.d.ts.map +1 -0
- package/dist/config/browser.js +200 -0
- package/dist/config/browser.js.map +1 -0
- package/dist/config/json-schema.d.ts +28 -0
- package/dist/config/json-schema.d.ts.map +1 -0
- package/dist/config/json-schema.js +84 -0
- package/dist/config/json-schema.js.map +1 -0
- package/dist/config/loader.d.ts +152 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +270 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +34 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +437 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/validator.d.ts +32 -0
- package/dist/config/validator.d.ts.map +1 -0
- package/dist/config/validator.js +187 -0
- package/dist/config/validator.js.map +1 -0
- package/dist/database/connection.d.ts +35 -0
- package/dist/database/connection.d.ts.map +1 -0
- package/dist/database/connection.js +208 -0
- package/dist/database/connection.js.map +1 -0
- package/dist/database/queries.d.ts +218 -0
- package/dist/database/queries.d.ts.map +1 -0
- package/dist/database/queries.js +613 -0
- package/dist/database/queries.js.map +1 -0
- package/dist/database/schema.d.ts +8 -0
- package/dist/database/schema.d.ts.map +1 -0
- package/dist/database/schema.js +160 -0
- package/dist/database/schema.js.map +1 -0
- package/dist/disputes/behavior.d.ts +106 -0
- package/dist/disputes/behavior.d.ts.map +1 -0
- package/dist/disputes/behavior.js +150 -0
- package/dist/disputes/behavior.js.map +1 -0
- package/dist/disputes/create.d.ts +59 -0
- package/dist/disputes/create.d.ts.map +1 -0
- package/dist/disputes/create.js +222 -0
- package/dist/disputes/create.js.map +1 -0
- package/dist/disputes/index.d.ts +21 -0
- package/dist/disputes/index.d.ts.map +1 -0
- package/dist/disputes/index.js +76 -0
- package/dist/disputes/index.js.map +1 -0
- package/dist/disputes/markdown.d.ts +41 -0
- package/dist/disputes/markdown.d.ts.map +1 -0
- package/dist/disputes/markdown.js +261 -0
- package/dist/disputes/markdown.js.map +1 -0
- package/dist/disputes/queries.d.ts +83 -0
- package/dist/disputes/queries.d.ts.map +1 -0
- package/dist/disputes/queries.js +180 -0
- package/dist/disputes/queries.js.map +1 -0
- package/dist/disputes/resolve.d.ts +57 -0
- package/dist/disputes/resolve.d.ts.map +1 -0
- package/dist/disputes/resolve.js +171 -0
- package/dist/disputes/resolve.js.map +1 -0
- package/dist/disputes/stale.d.ts +98 -0
- package/dist/disputes/stale.d.ts.map +1 -0
- package/dist/disputes/stale.js +205 -0
- package/dist/disputes/stale.js.map +1 -0
- package/dist/disputes/types.d.ts +92 -0
- package/dist/disputes/types.d.ts.map +1 -0
- package/dist/disputes/types.js +100 -0
- package/dist/disputes/types.js.map +1 -0
- package/dist/git/push.d.ts +26 -0
- package/dist/git/push.d.ts.map +1 -0
- package/dist/git/push.js +97 -0
- package/dist/git/push.js.map +1 -0
- package/dist/git/status.d.ts +61 -0
- package/dist/git/status.d.ts.map +1 -0
- package/dist/git/status.js +251 -0
- package/dist/git/status.js.map +1 -0
- package/dist/hooks/events.d.ts +72 -0
- package/dist/hooks/events.d.ts.map +1 -0
- package/dist/hooks/events.js +120 -0
- package/dist/hooks/events.js.map +1 -0
- package/dist/hooks/index.d.ts +19 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +48 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/integration.d.ts +69 -0
- package/dist/hooks/integration.d.ts.map +1 -0
- package/dist/hooks/integration.js +179 -0
- package/dist/hooks/integration.js.map +1 -0
- package/dist/hooks/merge.d.ts +115 -0
- package/dist/hooks/merge.d.ts.map +1 -0
- package/dist/hooks/merge.js +161 -0
- package/dist/hooks/merge.js.map +1 -0
- package/dist/hooks/orchestrator.d.ts +115 -0
- package/dist/hooks/orchestrator.d.ts.map +1 -0
- package/dist/hooks/orchestrator.js +226 -0
- package/dist/hooks/orchestrator.js.map +1 -0
- package/dist/hooks/payload.d.ts +294 -0
- package/dist/hooks/payload.d.ts.map +1 -0
- package/dist/hooks/payload.js +267 -0
- package/dist/hooks/payload.js.map +1 -0
- package/dist/hooks/script-runner.d.ts +63 -0
- package/dist/hooks/script-runner.d.ts.map +1 -0
- package/dist/hooks/script-runner.js +221 -0
- package/dist/hooks/script-runner.js.map +1 -0
- package/dist/hooks/templates.d.ts +104 -0
- package/dist/hooks/templates.d.ts.map +1 -0
- package/dist/hooks/templates.js +327 -0
- package/dist/hooks/templates.js.map +1 -0
- package/dist/hooks/webhook-runner.d.ts +69 -0
- package/dist/hooks/webhook-runner.d.ts.map +1 -0
- package/dist/hooks/webhook-runner.js +208 -0
- package/dist/hooks/webhook-runner.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +281 -0
- package/dist/index.js.map +1 -0
- package/dist/locking/cleanup.d.ts +70 -0
- package/dist/locking/cleanup.d.ts.map +1 -0
- package/dist/locking/cleanup.js +157 -0
- package/dist/locking/cleanup.js.map +1 -0
- package/dist/locking/queries.d.ts +116 -0
- package/dist/locking/queries.d.ts.map +1 -0
- package/dist/locking/queries.js +255 -0
- package/dist/locking/queries.js.map +1 -0
- package/dist/locking/section-lock.d.ts +74 -0
- package/dist/locking/section-lock.d.ts.map +1 -0
- package/dist/locking/section-lock.js +207 -0
- package/dist/locking/section-lock.js.map +1 -0
- package/dist/locking/task-lock.d.ts +92 -0
- package/dist/locking/task-lock.d.ts.map +1 -0
- package/dist/locking/task-lock.js +246 -0
- package/dist/locking/task-lock.js.map +1 -0
- package/dist/migrations/index.d.ts +7 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +37 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/manifest.d.ts +92 -0
- package/dist/migrations/manifest.d.ts.map +1 -0
- package/dist/migrations/manifest.js +270 -0
- package/dist/migrations/manifest.js.map +1 -0
- package/dist/migrations/runner.d.ts +84 -0
- package/dist/migrations/runner.d.ts.map +1 -0
- package/dist/migrations/runner.js +351 -0
- package/dist/migrations/runner.js.map +1 -0
- package/dist/orchestrator/coder.d.ts +32 -0
- package/dist/orchestrator/coder.d.ts.map +1 -0
- package/dist/orchestrator/coder.js +174 -0
- package/dist/orchestrator/coder.js.map +1 -0
- package/dist/orchestrator/coordinator.d.ts +28 -0
- package/dist/orchestrator/coordinator.d.ts.map +1 -0
- package/dist/orchestrator/coordinator.js +256 -0
- package/dist/orchestrator/coordinator.js.map +1 -0
- package/dist/orchestrator/reviewer.d.ts +35 -0
- package/dist/orchestrator/reviewer.d.ts.map +1 -0
- package/dist/orchestrator/reviewer.js +241 -0
- package/dist/orchestrator/reviewer.js.map +1 -0
- package/dist/orchestrator/task-selector.d.ts +102 -0
- package/dist/orchestrator/task-selector.d.ts.map +1 -0
- package/dist/orchestrator/task-selector.js +341 -0
- package/dist/orchestrator/task-selector.js.map +1 -0
- package/dist/prompts/coder.d.ts +36 -0
- package/dist/prompts/coder.d.ts.map +1 -0
- package/dist/prompts/coder.js +315 -0
- package/dist/prompts/coder.js.map +1 -0
- package/dist/prompts/prompt-helpers.d.ts +51 -0
- package/dist/prompts/prompt-helpers.d.ts.map +1 -0
- package/dist/prompts/prompt-helpers.js +312 -0
- package/dist/prompts/prompt-helpers.js.map +1 -0
- package/dist/prompts/reviewer.d.ts +40 -0
- package/dist/prompts/reviewer.d.ts.map +1 -0
- package/dist/prompts/reviewer.js +438 -0
- package/dist/prompts/reviewer.js.map +1 -0
- package/dist/providers/api-models.d.ts +65 -0
- package/dist/providers/api-models.d.ts.map +1 -0
- package/dist/providers/api-models.js +323 -0
- package/dist/providers/api-models.js.map +1 -0
- package/dist/providers/claude.d.ts +53 -0
- package/dist/providers/claude.d.ts.map +1 -0
- package/dist/providers/claude.js +229 -0
- package/dist/providers/claude.js.map +1 -0
- package/dist/providers/codex.d.ts +53 -0
- package/dist/providers/codex.d.ts.map +1 -0
- package/dist/providers/codex.js +214 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/gemini.d.ts +58 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +242 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +49 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/interface.d.ts +173 -0
- package/dist/providers/interface.d.ts.map +1 -0
- package/dist/providers/interface.js +96 -0
- package/dist/providers/interface.js.map +1 -0
- package/dist/providers/invocation-logger.d.ts +114 -0
- package/dist/providers/invocation-logger.d.ts.map +1 -0
- package/dist/providers/invocation-logger.js +298 -0
- package/dist/providers/invocation-logger.js.map +1 -0
- package/dist/providers/openai.d.ts +53 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +232 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/registry.d.ts +100 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +178 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/runners/activity-log.d.ts +65 -0
- package/dist/runners/activity-log.d.ts.map +1 -0
- package/dist/runners/activity-log.js +148 -0
- package/dist/runners/activity-log.js.map +1 -0
- package/dist/runners/cron.d.ts +26 -0
- package/dist/runners/cron.d.ts.map +1 -0
- package/dist/runners/cron.js +176 -0
- package/dist/runners/cron.js.map +1 -0
- package/dist/runners/daemon.d.ts +71 -0
- package/dist/runners/daemon.d.ts.map +1 -0
- package/dist/runners/daemon.js +245 -0
- package/dist/runners/daemon.js.map +1 -0
- package/dist/runners/global-db.d.ts +31 -0
- package/dist/runners/global-db.d.ts.map +1 -0
- package/dist/runners/global-db.js +230 -0
- package/dist/runners/global-db.js.map +1 -0
- package/dist/runners/hang-detector.d.ts +38 -0
- package/dist/runners/hang-detector.d.ts.map +1 -0
- package/dist/runners/hang-detector.js +136 -0
- package/dist/runners/hang-detector.js.map +1 -0
- package/dist/runners/heartbeat.d.ts +39 -0
- package/dist/runners/heartbeat.d.ts.map +1 -0
- package/dist/runners/heartbeat.js +79 -0
- package/dist/runners/heartbeat.js.map +1 -0
- package/dist/runners/lock.d.ts +47 -0
- package/dist/runners/lock.d.ts.map +1 -0
- package/dist/runners/lock.js +150 -0
- package/dist/runners/lock.js.map +1 -0
- package/dist/runners/orchestrator-loop.d.ts +20 -0
- package/dist/runners/orchestrator-loop.d.ts.map +1 -0
- package/dist/runners/orchestrator-loop.js +285 -0
- package/dist/runners/orchestrator-loop.js.map +1 -0
- package/dist/runners/projects.d.ts +96 -0
- package/dist/runners/projects.d.ts.map +1 -0
- package/dist/runners/projects.js +255 -0
- package/dist/runners/projects.js.map +1 -0
- package/dist/runners/wakeup.d.ts +34 -0
- package/dist/runners/wakeup.d.ts.map +1 -0
- package/dist/runners/wakeup.js +291 -0
- package/dist/runners/wakeup.js.map +1 -0
- package/migrations/001_initial_schema.sql +106 -0
- package/migrations/002_add_commit_sha.sql +12 -0
- package/migrations/003_add_section_priority.sql +13 -0
- package/migrations/004_add_section_dependencies.sql +18 -0
- package/migrations/005_add_audit_actor_model.sql +10 -0
- package/migrations/006_add_task_invocations.sql +33 -0
- package/migrations/007_add_file_anchor.sql +14 -0
- package/migrations/manifest.json +62 -0
- package/package.json +49 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
-- Migration: Initial database schema
|
|
2
|
+
-- This creates the base tables for Steroids CLI
|
|
3
|
+
-- Uses IF NOT EXISTS so it's safe to run on existing databases
|
|
4
|
+
|
|
5
|
+
-- UP
|
|
6
|
+
-- Schema metadata (version tracking)
|
|
7
|
+
CREATE TABLE IF NOT EXISTS _schema (
|
|
8
|
+
key TEXT PRIMARY KEY,
|
|
9
|
+
value TEXT NOT NULL
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
-- Applied migrations log
|
|
13
|
+
CREATE TABLE IF NOT EXISTS _migrations (
|
|
14
|
+
id INTEGER PRIMARY KEY,
|
|
15
|
+
name TEXT NOT NULL UNIQUE,
|
|
16
|
+
checksum TEXT NOT NULL,
|
|
17
|
+
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
-- Sections (task groups)
|
|
21
|
+
CREATE TABLE IF NOT EXISTS sections (
|
|
22
|
+
id TEXT PRIMARY KEY,
|
|
23
|
+
name TEXT NOT NULL,
|
|
24
|
+
position INTEGER NOT NULL,
|
|
25
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
-- Tasks
|
|
29
|
+
CREATE TABLE IF NOT EXISTS tasks (
|
|
30
|
+
id TEXT PRIMARY KEY,
|
|
31
|
+
title TEXT NOT NULL,
|
|
32
|
+
status TEXT NOT NULL DEFAULT 'pending',
|
|
33
|
+
section_id TEXT REFERENCES sections(id),
|
|
34
|
+
source_file TEXT,
|
|
35
|
+
rejection_count INTEGER NOT NULL DEFAULT 0,
|
|
36
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
37
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);
|
|
41
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_section ON tasks(section_id);
|
|
42
|
+
|
|
43
|
+
-- Audit trail (immutable log of status changes)
|
|
44
|
+
CREATE TABLE IF NOT EXISTS audit (
|
|
45
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
46
|
+
task_id TEXT NOT NULL REFERENCES tasks(id),
|
|
47
|
+
from_status TEXT,
|
|
48
|
+
to_status TEXT NOT NULL,
|
|
49
|
+
actor TEXT NOT NULL,
|
|
50
|
+
notes TEXT,
|
|
51
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
CREATE INDEX IF NOT EXISTS idx_audit_task ON audit(task_id);
|
|
55
|
+
|
|
56
|
+
-- Disputes
|
|
57
|
+
CREATE TABLE IF NOT EXISTS disputes (
|
|
58
|
+
id TEXT PRIMARY KEY,
|
|
59
|
+
task_id TEXT NOT NULL REFERENCES tasks(id),
|
|
60
|
+
type TEXT NOT NULL,
|
|
61
|
+
status TEXT NOT NULL DEFAULT 'open',
|
|
62
|
+
reason TEXT NOT NULL,
|
|
63
|
+
coder_position TEXT,
|
|
64
|
+
reviewer_position TEXT,
|
|
65
|
+
resolution TEXT,
|
|
66
|
+
resolution_notes TEXT,
|
|
67
|
+
created_by TEXT NOT NULL,
|
|
68
|
+
resolved_by TEXT,
|
|
69
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
70
|
+
resolved_at TEXT
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
CREATE INDEX IF NOT EXISTS idx_disputes_task ON disputes(task_id);
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_disputes_status ON disputes(status);
|
|
75
|
+
|
|
76
|
+
-- Task locks (for orchestrator coordination)
|
|
77
|
+
CREATE TABLE IF NOT EXISTS task_locks (
|
|
78
|
+
task_id TEXT PRIMARY KEY REFERENCES tasks(id),
|
|
79
|
+
runner_id TEXT NOT NULL,
|
|
80
|
+
acquired_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
81
|
+
expires_at TEXT NOT NULL,
|
|
82
|
+
heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
CREATE INDEX IF NOT EXISTS idx_task_locks_expires ON task_locks(expires_at);
|
|
86
|
+
|
|
87
|
+
-- Section locks (for orchestrator coordination)
|
|
88
|
+
CREATE TABLE IF NOT EXISTS section_locks (
|
|
89
|
+
section_id TEXT PRIMARY KEY REFERENCES sections(id),
|
|
90
|
+
runner_id TEXT NOT NULL,
|
|
91
|
+
acquired_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
92
|
+
expires_at TEXT NOT NULL
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
CREATE INDEX IF NOT EXISTS idx_section_locks_expires ON section_locks(expires_at);
|
|
96
|
+
|
|
97
|
+
-- DOWN
|
|
98
|
+
-- WARNING: This will destroy all data!
|
|
99
|
+
DROP TABLE IF EXISTS section_locks;
|
|
100
|
+
DROP TABLE IF EXISTS task_locks;
|
|
101
|
+
DROP TABLE IF EXISTS disputes;
|
|
102
|
+
DROP TABLE IF EXISTS audit;
|
|
103
|
+
DROP TABLE IF EXISTS tasks;
|
|
104
|
+
DROP TABLE IF EXISTS sections;
|
|
105
|
+
DROP TABLE IF EXISTS _migrations;
|
|
106
|
+
DROP TABLE IF EXISTS _schema;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-- Migration: Add commit_sha to audit table
|
|
2
|
+
-- Tracks which commit was involved in each status change
|
|
3
|
+
|
|
4
|
+
-- UP
|
|
5
|
+
ALTER TABLE audit ADD COLUMN commit_sha TEXT;
|
|
6
|
+
|
|
7
|
+
-- Create index for commit lookups
|
|
8
|
+
CREATE INDEX IF NOT EXISTS idx_audit_commit ON audit(commit_sha);
|
|
9
|
+
|
|
10
|
+
-- DOWN
|
|
11
|
+
-- Note: SQLite doesn't support DROP COLUMN directly
|
|
12
|
+
-- Would need to recreate table without the column
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
-- Migration: Add priority column to sections table
|
|
2
|
+
-- Priority 0 = highest, 100 = lowest, 50 = default
|
|
3
|
+
|
|
4
|
+
-- UP
|
|
5
|
+
ALTER TABLE sections ADD COLUMN priority INTEGER DEFAULT 50;
|
|
6
|
+
|
|
7
|
+
-- Create index for priority-based queries
|
|
8
|
+
CREATE INDEX IF NOT EXISTS idx_sections_priority ON sections(priority);
|
|
9
|
+
|
|
10
|
+
-- DOWN
|
|
11
|
+
-- Note: SQLite doesn't support DROP COLUMN directly
|
|
12
|
+
-- Would need to recreate table without the column
|
|
13
|
+
-- For now, this migration is considered forward-only
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
-- Migration: Add section_dependencies table for section dependency tracking
|
|
2
|
+
-- Allows sections to declare dependencies on other sections
|
|
3
|
+
|
|
4
|
+
-- UP
|
|
5
|
+
CREATE TABLE section_dependencies (
|
|
6
|
+
id TEXT PRIMARY KEY,
|
|
7
|
+
section_id TEXT NOT NULL REFERENCES sections(id),
|
|
8
|
+
depends_on_section_id TEXT NOT NULL REFERENCES sections(id),
|
|
9
|
+
created_at TEXT DEFAULT (datetime('now')),
|
|
10
|
+
UNIQUE(section_id, depends_on_section_id)
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
-- Create indexes for efficient dependency queries
|
|
14
|
+
CREATE INDEX IF NOT EXISTS idx_section_dependencies_section ON section_dependencies(section_id);
|
|
15
|
+
CREATE INDEX IF NOT EXISTS idx_section_dependencies_depends_on ON section_dependencies(depends_on_section_id);
|
|
16
|
+
|
|
17
|
+
-- DOWN
|
|
18
|
+
DROP TABLE IF EXISTS section_dependencies;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
-- Migration: Add actor_type and model columns to audit table
|
|
2
|
+
-- This allows better tracking of who/what made changes
|
|
3
|
+
|
|
4
|
+
-- UP
|
|
5
|
+
ALTER TABLE audit ADD COLUMN actor_type TEXT DEFAULT 'human';
|
|
6
|
+
ALTER TABLE audit ADD COLUMN model TEXT;
|
|
7
|
+
|
|
8
|
+
-- DOWN
|
|
9
|
+
-- SQLite doesn't support DROP COLUMN in older versions
|
|
10
|
+
-- For rollback, would need to recreate table without these columns
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-- Migration: Add task_invocations table for per-task LLM logging
|
|
2
|
+
-- Stores coder and reviewer prompts/responses for debugging death spirals
|
|
3
|
+
|
|
4
|
+
-- UP
|
|
5
|
+
|
|
6
|
+
-- Task invocations (LLM calls per task)
|
|
7
|
+
CREATE TABLE IF NOT EXISTS task_invocations (
|
|
8
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
9
|
+
task_id TEXT NOT NULL REFERENCES tasks(id),
|
|
10
|
+
role TEXT NOT NULL, -- 'coder' or 'reviewer'
|
|
11
|
+
provider TEXT NOT NULL, -- 'claude', 'codex', 'gemini', 'openai'
|
|
12
|
+
model TEXT NOT NULL, -- model identifier
|
|
13
|
+
prompt TEXT NOT NULL, -- full prompt sent to LLM
|
|
14
|
+
response TEXT, -- LLM response (stdout)
|
|
15
|
+
error TEXT, -- stderr if any
|
|
16
|
+
exit_code INTEGER NOT NULL DEFAULT 0,
|
|
17
|
+
duration_ms INTEGER NOT NULL DEFAULT 0,
|
|
18
|
+
success INTEGER NOT NULL DEFAULT 0, -- 0 = failed, 1 = success
|
|
19
|
+
timed_out INTEGER NOT NULL DEFAULT 0, -- 0 = no, 1 = yes
|
|
20
|
+
rejection_number INTEGER, -- which rejection attempt this was (for coders)
|
|
21
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
-- Index for fast lookups by task
|
|
25
|
+
CREATE INDEX IF NOT EXISTS idx_task_invocations_task ON task_invocations(task_id);
|
|
26
|
+
CREATE INDEX IF NOT EXISTS idx_task_invocations_role ON task_invocations(role);
|
|
27
|
+
CREATE INDEX IF NOT EXISTS idx_task_invocations_created ON task_invocations(created_at DESC);
|
|
28
|
+
|
|
29
|
+
-- DOWN
|
|
30
|
+
DROP INDEX IF EXISTS idx_task_invocations_created;
|
|
31
|
+
DROP INDEX IF EXISTS idx_task_invocations_role;
|
|
32
|
+
DROP INDEX IF EXISTS idx_task_invocations_task;
|
|
33
|
+
DROP TABLE IF EXISTS task_invocations;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- Migration: Add file anchor columns to tasks table
|
|
2
|
+
-- Allows tasks to reference a specific file and line in the codebase
|
|
3
|
+
|
|
4
|
+
-- UP
|
|
5
|
+
|
|
6
|
+
ALTER TABLE tasks ADD COLUMN file_path TEXT;
|
|
7
|
+
ALTER TABLE tasks ADD COLUMN file_line INTEGER;
|
|
8
|
+
ALTER TABLE tasks ADD COLUMN file_commit_sha TEXT;
|
|
9
|
+
ALTER TABLE tasks ADD COLUMN file_content_hash TEXT;
|
|
10
|
+
|
|
11
|
+
-- DOWN
|
|
12
|
+
-- Note: SQLite doesn't support DROP COLUMN in versions before 3.35.0
|
|
13
|
+
-- Would need to recreate table without the columns
|
|
14
|
+
-- For now, this migration is considered forward-only
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"latestDbVersion": 7,
|
|
4
|
+
"migrations": [
|
|
5
|
+
{
|
|
6
|
+
"id": 1,
|
|
7
|
+
"name": "001_initial_schema",
|
|
8
|
+
"file": "001_initial_schema.sql",
|
|
9
|
+
"description": "Initial database schema with tasks, sections, disputes, and audit tables",
|
|
10
|
+
"checksum": "",
|
|
11
|
+
"cliVersion": "0.1.0"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": 2,
|
|
15
|
+
"name": "002_add_commit_sha",
|
|
16
|
+
"file": "002_add_commit_sha.sql",
|
|
17
|
+
"description": "Add commit_sha column to audit table for tracking commits per status change",
|
|
18
|
+
"checksum": "",
|
|
19
|
+
"cliVersion": "0.2.3"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": 3,
|
|
23
|
+
"name": "003_add_section_priority",
|
|
24
|
+
"file": "003_add_section_priority.sql",
|
|
25
|
+
"description": "Add priority column to sections table (0=highest, 100=lowest, 50=default)",
|
|
26
|
+
"checksum": "",
|
|
27
|
+
"cliVersion": "0.2.13"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": 4,
|
|
31
|
+
"name": "004_add_section_dependencies",
|
|
32
|
+
"file": "004_add_section_dependencies.sql",
|
|
33
|
+
"description": "Add section_dependencies table for tracking section dependencies",
|
|
34
|
+
"checksum": "",
|
|
35
|
+
"cliVersion": "0.2.14"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": 5,
|
|
39
|
+
"name": "005_add_audit_actor_model",
|
|
40
|
+
"file": "005_add_audit_actor_model.sql",
|
|
41
|
+
"description": "Add actor_type and model columns to audit table for better tracking",
|
|
42
|
+
"checksum": "",
|
|
43
|
+
"cliVersion": "0.4.25"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": 6,
|
|
47
|
+
"name": "006_add_task_invocations",
|
|
48
|
+
"file": "006_add_task_invocations.sql",
|
|
49
|
+
"description": "Add task_invocations table for per-task LLM prompt/response logging",
|
|
50
|
+
"checksum": "",
|
|
51
|
+
"cliVersion": "0.4.27"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": 7,
|
|
55
|
+
"name": "007_add_file_anchor",
|
|
56
|
+
"file": "007_add_file_anchor.sql",
|
|
57
|
+
"description": "Add file anchor columns (file_path, file_line, file_commit_sha, file_content_hash) to tasks table",
|
|
58
|
+
"checksum": "",
|
|
59
|
+
"cliVersion": "0.4.39"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "steroids-cli",
|
|
3
|
+
"version": "0.4.47",
|
|
4
|
+
"description": "Automated task execution system with coder/reviewer loop",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"steroids": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"start": "node dist/index.js",
|
|
12
|
+
"dev": "ts-node src/index.ts",
|
|
13
|
+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
14
|
+
"lint": "eslint src/**/*.ts"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"cli",
|
|
18
|
+
"task-management",
|
|
19
|
+
"automation",
|
|
20
|
+
"ai",
|
|
21
|
+
"coder",
|
|
22
|
+
"reviewer"
|
|
23
|
+
],
|
|
24
|
+
"author": "",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
28
|
+
"@types/jest": "^30.0.0",
|
|
29
|
+
"@types/node": "^20.10.0",
|
|
30
|
+
"@types/uuid": "^9.0.0",
|
|
31
|
+
"jest": "^30.2.0",
|
|
32
|
+
"ts-jest": "^29.4.6",
|
|
33
|
+
"typescript": "^5.3.0"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"better-sqlite3": "^11.0.0",
|
|
37
|
+
"uuid": "^9.0.0",
|
|
38
|
+
"yaml": "^2.8.2"
|
|
39
|
+
},
|
|
40
|
+
"engines": {
|
|
41
|
+
"node": ">=18.0.0"
|
|
42
|
+
},
|
|
43
|
+
"files": [
|
|
44
|
+
"dist/",
|
|
45
|
+
"migrations/",
|
|
46
|
+
"README.md",
|
|
47
|
+
"LICENSE"
|
|
48
|
+
]
|
|
49
|
+
}
|