steroids-cli 0.9.42 → 0.9.43
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/dist/commands/loop-phases.d.ts +12 -0
- package/dist/commands/loop-phases.d.ts.map +1 -1
- package/dist/commands/loop-phases.js +89 -4
- package/dist/commands/loop-phases.js.map +1 -1
- package/dist/commands/tasks-reset.d.ts +3 -0
- package/dist/commands/tasks-reset.d.ts.map +1 -0
- package/dist/commands/tasks-reset.js +203 -0
- package/dist/commands/tasks-reset.js.map +1 -0
- package/dist/commands/tasks.d.ts.map +1 -1
- package/dist/commands/tasks.js +8 -0
- package/dist/commands/tasks.js.map +1 -1
- package/dist/database/connection.d.ts +3 -1
- package/dist/database/connection.d.ts.map +1 -1
- package/dist/database/connection.js +5 -3
- package/dist/database/connection.js.map +1 -1
- package/dist/database/queries.d.ts +9 -0
- package/dist/database/queries.d.ts.map +1 -1
- package/dist/database/queries.js +36 -2
- package/dist/database/queries.js.map +1 -1
- package/dist/database/schema.d.ts +2 -2
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/schema.js +2 -0
- package/dist/database/schema.js.map +1 -1
- package/dist/orchestrator/coder.d.ts +1 -1
- package/dist/orchestrator/coder.d.ts.map +1 -1
- package/dist/orchestrator/coder.js +95 -11
- package/dist/orchestrator/coder.js.map +1 -1
- package/dist/orchestrator/reviewer.d.ts +2 -2
- package/dist/orchestrator/reviewer.d.ts.map +1 -1
- package/dist/orchestrator/reviewer.js +94 -13
- package/dist/orchestrator/reviewer.js.map +1 -1
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +9 -1
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex.d.ts.map +1 -1
- package/dist/providers/codex.js +10 -1
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/gemini.d.ts +9 -48
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +133 -101
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/interface.d.ts +9 -1
- package/dist/providers/interface.d.ts.map +1 -1
- package/dist/providers/interface.js +11 -1
- package/dist/providers/interface.js.map +1 -1
- package/dist/providers/invocation-logger.d.ts +2 -0
- package/dist/providers/invocation-logger.d.ts.map +1 -1
- package/dist/providers/invocation-logger.js +3 -3
- package/dist/providers/invocation-logger.js.map +1 -1
- package/dist/providers/mistral.d.ts.map +1 -1
- package/dist/providers/mistral.js +12 -1
- package/dist/providers/mistral.js.map +1 -1
- package/dist/providers/ping.d.ts +5 -0
- package/dist/providers/ping.d.ts.map +1 -0
- package/dist/providers/ping.js +35 -0
- package/dist/providers/ping.js.map +1 -0
- package/dist/providers/registry.d.ts +4 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +18 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/runners/credit-pause.d.ts +2 -3
- package/dist/runners/credit-pause.d.ts.map +1 -1
- package/dist/runners/credit-pause.js +28 -40
- package/dist/runners/credit-pause.js.map +1 -1
- package/dist/runners/daemon.d.ts +0 -5
- package/dist/runners/daemon.d.ts.map +1 -1
- package/dist/runners/daemon.js +0 -26
- package/dist/runners/daemon.js.map +1 -1
- package/dist/runners/global-db.d.ts +8 -0
- package/dist/runners/global-db.d.ts.map +1 -1
- package/dist/runners/global-db.js +49 -1
- package/dist/runners/global-db.js.map +1 -1
- package/dist/runners/projects.d.ts +10 -22
- package/dist/runners/projects.d.ts.map +1 -1
- package/dist/runners/projects.js +34 -36
- package/dist/runners/projects.js.map +1 -1
- package/dist/runners/wakeup-checks.d.ts.map +1 -1
- package/dist/runners/wakeup-checks.js +4 -2
- package/dist/runners/wakeup-checks.js.map +1 -1
- package/dist/runners/wakeup.d.ts +1 -1
- package/dist/runners/wakeup.d.ts.map +1 -1
- package/dist/runners/wakeup.js +415 -348
- package/dist/runners/wakeup.js.map +1 -1
- package/dist/utils/tokens.d.ts +14 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/tokens.js +62 -0
- package/dist/utils/tokens.js.map +1 -0
- package/migrations/017_add_invocation_runner_id.sql +8 -0
- package/migrations/manifest.json +9 -1
- package/package.json +2 -1
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* Creates all required tables with proper constraints
|
|
4
4
|
*/
|
|
5
5
|
export declare const SCHEMA_VERSION = "0.1.0";
|
|
6
|
-
export declare const SCHEMA_SQL = "\n-- Schema metadata (version tracking)\nCREATE TABLE IF NOT EXISTS _schema (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\n-- Applied migrations log\nCREATE TABLE IF NOT EXISTS _migrations (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n checksum TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Sections (task groups)\nCREATE TABLE IF NOT EXISTS sections (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n position INTEGER NOT NULL,\n priority INTEGER DEFAULT 50,\n skipped INTEGER DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_sections_priority ON sections(priority);\n\n-- Tasks\nCREATE TABLE IF NOT EXISTS tasks (\n id TEXT PRIMARY KEY,\n title TEXT NOT NULL,\n description TEXT CHECK(length(description) <= 4000),\n status TEXT NOT NULL DEFAULT 'pending',\n section_id TEXT REFERENCES sections(id),\n source_file TEXT,\n file_path TEXT,\n file_line INTEGER,\n file_commit_sha TEXT,\n file_content_hash TEXT,\n rejection_count INTEGER NOT NULL DEFAULT 0,\n failure_count INTEGER NOT NULL DEFAULT 0,\n last_failure_at TEXT,\n reference_task_id TEXT REFERENCES tasks(id),\n reference_commit TEXT,\n reference_commit_message TEXT,\n is_follow_up INTEGER NOT NULL DEFAULT 0 CHECK(is_follow_up IN (0, 1)),\n requires_promotion INTEGER NOT NULL DEFAULT 0 CHECK(requires_promotion IN (0, 1)),\n follow_up_depth INTEGER NOT NULL DEFAULT 0 CHECK(follow_up_depth >= 0),\n dedupe_key TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);\nCREATE INDEX IF NOT EXISTS idx_tasks_section ON tasks(section_id);\nCREATE INDEX IF NOT EXISTS idx_tasks_failures ON tasks(failure_count) WHERE failure_count > 0;\nCREATE INDEX IF NOT EXISTS idx_tasks_reference_task ON tasks(reference_task_id) WHERE reference_task_id IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_tasks_follow_up_state ON tasks(is_follow_up, requires_promotion) WHERE is_follow_up = 1;\nCREATE UNIQUE INDEX IF NOT EXISTS idx_tasks_dedupe ON tasks(dedupe_key) WHERE dedupe_key IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_tasks_selection_followup ON tasks(status, is_follow_up, requires_promotion);\n\n-- Audit trail (immutable log of status changes)\nCREATE TABLE IF NOT EXISTS audit (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n from_status TEXT,\n to_status TEXT NOT NULL,\n actor TEXT NOT NULL,\n actor_type TEXT DEFAULT 'human',\n model TEXT,\n notes TEXT,\n commit_sha TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_audit_task ON audit(task_id);\nCREATE INDEX IF NOT EXISTS idx_audit_commit ON audit(commit_sha);\n\n-- Disputes\nCREATE TABLE IF NOT EXISTS disputes (\n id TEXT PRIMARY KEY,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n type TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'open',\n reason TEXT NOT NULL,\n coder_position TEXT,\n reviewer_position TEXT,\n resolution TEXT,\n resolution_notes TEXT,\n created_by TEXT NOT NULL,\n resolved_by TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n resolved_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_disputes_task ON disputes(task_id);\nCREATE INDEX IF NOT EXISTS idx_disputes_status ON disputes(status);\n\n-- Task locks (for orchestrator coordination)\nCREATE TABLE IF NOT EXISTS task_locks (\n task_id TEXT PRIMARY KEY REFERENCES tasks(id),\n runner_id TEXT NOT NULL,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_task_locks_expires ON task_locks(expires_at);\n\n-- Section locks (for orchestrator coordination)\nCREATE TABLE IF NOT EXISTS section_locks (\n section_id TEXT PRIMARY KEY REFERENCES sections(id),\n runner_id TEXT NOT NULL,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_section_locks_expires ON section_locks(expires_at);\n\n-- Section dependencies (ordering constraints between sections)\nCREATE TABLE IF NOT EXISTS section_dependencies (\n id TEXT PRIMARY KEY,\n section_id TEXT NOT NULL REFERENCES sections(id),\n depends_on_section_id TEXT NOT NULL REFERENCES sections(id),\n created_at TEXT DEFAULT (datetime('now')),\n UNIQUE(section_id, depends_on_section_id)\n);\n\nCREATE INDEX IF NOT EXISTS idx_section_dependencies_section ON section_dependencies(section_id);\nCREATE INDEX IF NOT EXISTS idx_section_dependencies_depends_on ON section_dependencies(depends_on_section_id);\n\n-- Task invocations (LLM calls per task)\nCREATE TABLE IF NOT EXISTS task_invocations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n role TEXT NOT NULL,\n provider TEXT NOT NULL,\n model TEXT NOT NULL,\n prompt TEXT NOT NULL,\n response TEXT,\n error TEXT,\n started_at_ms INTEGER,\n completed_at_ms INTEGER,\n status TEXT DEFAULT 'completed' CHECK(status IN ('running', 'completed', 'failed', 'timeout')),\n exit_code INTEGER NOT NULL DEFAULT 0,\n duration_ms INTEGER NOT NULL DEFAULT 0,\n success INTEGER NOT NULL DEFAULT 0,\n timed_out INTEGER NOT NULL DEFAULT 0,\n rejection_number INTEGER,\n session_id TEXT,\n resumed_from_session_id TEXT,\n invocation_mode TEXT DEFAULT 'fresh',\n token_usage_json TEXT,\n last_activity_at_ms INTEGER,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_task_invocations_task ON task_invocations(task_id);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_role ON task_invocations(role);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_created ON task_invocations(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_task_status ON task_invocations(task_id, status, started_at_ms DESC);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_session ON task_invocations(session_id);\n\n-- Incidents (stuck-task detection/recovery)\nCREATE TABLE IF NOT EXISTS incidents (\n id TEXT PRIMARY KEY,\n task_id TEXT REFERENCES tasks(id),\n runner_id TEXT,\n failure_mode TEXT NOT NULL,\n detected_at TEXT NOT NULL,\n resolved_at TEXT,\n resolution TEXT,\n details TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_incidents_task ON incidents(task_id);\nCREATE INDEX IF NOT EXISTS idx_incidents_detected ON incidents(detected_at);\nCREATE INDEX IF NOT EXISTS idx_incidents_unresolved ON incidents(resolved_at) WHERE resolved_at IS NULL;\n\n-- Merge locks (global lock during project merges)\nCREATE TABLE IF NOT EXISTS merge_locks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n runner_id TEXT NOT NULL,\n lock_epoch INTEGER NOT NULL DEFAULT 1,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_merge_locks_expires ON merge_locks(expires_at);\nCREATE INDEX IF NOT EXISTS idx_merge_locks_heartbeat ON merge_locks(heartbeat_at);\nCREATE INDEX IF NOT EXISTS idx_merge_locks_epoch ON merge_locks(session_id, lock_epoch);\n\n-- Merge progress tracking for crash recovery during cherry-pick\nCREATE TABLE IF NOT EXISTS merge_progress (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n workstream_id TEXT NOT NULL,\n position INTEGER NOT NULL,\n commit_sha TEXT NOT NULL,\n applied_commit_sha TEXT,\n status TEXT NOT NULL CHECK (status IN ('applied', 'conflict', 'skipped')),\n conflict_task_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n applied_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_merge_progress_session ON merge_progress(session_id, position);\nCREATE INDEX IF NOT EXISTS idx_merge_progress_status ON merge_progress(status, applied_at);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_position\nON merge_progress(session_id, workstream_id, position);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_commit\nON merge_progress(session_id, workstream_id, commit_sha);\n";
|
|
7
|
-
export declare const INITIAL_SCHEMA_DATA = "\nINSERT OR REPLACE INTO _schema (key, value) VALUES ('version', '0.1.0');\nINSERT OR REPLACE INTO _schema (key, value) VALUES ('created_at', datetime('now'));\n\n-- Mark all migrations as applied since new databases have the full schema\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (1, '001_initial_schema', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (2, '002_add_commit_sha', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (3, '003_add_section_priority', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (4, '004_add_section_dependencies', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (5, '005_add_audit_actor_model', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (6, '006_add_task_invocations', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (7, '007_add_file_anchor', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (8, '008_add_section_skipped', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (9, '009_add_incidents_and_failure_tracking', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (10, '010_add_lifecycle_timestamps', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (11, '011_add_merge_locks_and_progress', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (12, '012_add_merge_lock_epoch', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (13, '013_add_merge_progress_applied_commit_sha', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (14, '014_add_session_context', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (15, '015_add_follow_up_fields', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (16, '016_add_invocation_activity_timestamp', 'builtin');\n";
|
|
6
|
+
export declare const SCHEMA_SQL = "\n-- Schema metadata (version tracking)\nCREATE TABLE IF NOT EXISTS _schema (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\n-- Applied migrations log\nCREATE TABLE IF NOT EXISTS _migrations (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n checksum TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Sections (task groups)\nCREATE TABLE IF NOT EXISTS sections (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n position INTEGER NOT NULL,\n priority INTEGER DEFAULT 50,\n skipped INTEGER DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_sections_priority ON sections(priority);\n\n-- Tasks\nCREATE TABLE IF NOT EXISTS tasks (\n id TEXT PRIMARY KEY,\n title TEXT NOT NULL,\n description TEXT CHECK(length(description) <= 4000),\n status TEXT NOT NULL DEFAULT 'pending',\n section_id TEXT REFERENCES sections(id),\n source_file TEXT,\n file_path TEXT,\n file_line INTEGER,\n file_commit_sha TEXT,\n file_content_hash TEXT,\n rejection_count INTEGER NOT NULL DEFAULT 0,\n failure_count INTEGER NOT NULL DEFAULT 0,\n last_failure_at TEXT,\n reference_task_id TEXT REFERENCES tasks(id),\n reference_commit TEXT,\n reference_commit_message TEXT,\n is_follow_up INTEGER NOT NULL DEFAULT 0 CHECK(is_follow_up IN (0, 1)),\n requires_promotion INTEGER NOT NULL DEFAULT 0 CHECK(requires_promotion IN (0, 1)),\n follow_up_depth INTEGER NOT NULL DEFAULT 0 CHECK(follow_up_depth >= 0),\n dedupe_key TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);\nCREATE INDEX IF NOT EXISTS idx_tasks_section ON tasks(section_id);\nCREATE INDEX IF NOT EXISTS idx_tasks_failures ON tasks(failure_count) WHERE failure_count > 0;\nCREATE INDEX IF NOT EXISTS idx_tasks_reference_task ON tasks(reference_task_id) WHERE reference_task_id IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_tasks_follow_up_state ON tasks(is_follow_up, requires_promotion) WHERE is_follow_up = 1;\nCREATE UNIQUE INDEX IF NOT EXISTS idx_tasks_dedupe ON tasks(dedupe_key) WHERE dedupe_key IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_tasks_selection_followup ON tasks(status, is_follow_up, requires_promotion);\n\n-- Audit trail (immutable log of status changes)\nCREATE TABLE IF NOT EXISTS audit (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n from_status TEXT,\n to_status TEXT NOT NULL,\n actor TEXT NOT NULL,\n actor_type TEXT DEFAULT 'human',\n model TEXT,\n notes TEXT,\n commit_sha TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_audit_task ON audit(task_id);\nCREATE INDEX IF NOT EXISTS idx_audit_commit ON audit(commit_sha);\n\n-- Disputes\nCREATE TABLE IF NOT EXISTS disputes (\n id TEXT PRIMARY KEY,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n type TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'open',\n reason TEXT NOT NULL,\n coder_position TEXT,\n reviewer_position TEXT,\n resolution TEXT,\n resolution_notes TEXT,\n created_by TEXT NOT NULL,\n resolved_by TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n resolved_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_disputes_task ON disputes(task_id);\nCREATE INDEX IF NOT EXISTS idx_disputes_status ON disputes(status);\n\n-- Task locks (for orchestrator coordination)\nCREATE TABLE IF NOT EXISTS task_locks (\n task_id TEXT PRIMARY KEY REFERENCES tasks(id),\n runner_id TEXT NOT NULL,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_task_locks_expires ON task_locks(expires_at);\n\n-- Section locks (for orchestrator coordination)\nCREATE TABLE IF NOT EXISTS section_locks (\n section_id TEXT PRIMARY KEY REFERENCES sections(id),\n runner_id TEXT NOT NULL,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_section_locks_expires ON section_locks(expires_at);\n\n-- Section dependencies (ordering constraints between sections)\nCREATE TABLE IF NOT EXISTS section_dependencies (\n id TEXT PRIMARY KEY,\n section_id TEXT NOT NULL REFERENCES sections(id),\n depends_on_section_id TEXT NOT NULL REFERENCES sections(id),\n created_at TEXT DEFAULT (datetime('now')),\n UNIQUE(section_id, depends_on_section_id)\n);\n\nCREATE INDEX IF NOT EXISTS idx_section_dependencies_section ON section_dependencies(section_id);\nCREATE INDEX IF NOT EXISTS idx_section_dependencies_depends_on ON section_dependencies(depends_on_section_id);\n\n-- Task invocations (LLM calls per task)\nCREATE TABLE IF NOT EXISTS task_invocations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n role TEXT NOT NULL,\n provider TEXT NOT NULL,\n model TEXT NOT NULL,\n prompt TEXT NOT NULL,\n response TEXT,\n error TEXT,\n started_at_ms INTEGER,\n completed_at_ms INTEGER,\n status TEXT DEFAULT 'completed' CHECK(status IN ('running', 'completed', 'failed', 'timeout')),\n exit_code INTEGER NOT NULL DEFAULT 0,\n duration_ms INTEGER NOT NULL DEFAULT 0,\n success INTEGER NOT NULL DEFAULT 0,\n timed_out INTEGER NOT NULL DEFAULT 0,\n rejection_number INTEGER,\n session_id TEXT,\n resumed_from_session_id TEXT,\n invocation_mode TEXT DEFAULT 'fresh',\n token_usage_json TEXT,\n last_activity_at_ms INTEGER,\n runner_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_task_invocations_task ON task_invocations(task_id);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_role ON task_invocations(role);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_created ON task_invocations(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_task_status ON task_invocations(task_id, status, started_at_ms DESC);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_session ON task_invocations(session_id);\n\n-- Incidents (stuck-task detection/recovery)\nCREATE TABLE IF NOT EXISTS incidents (\n id TEXT PRIMARY KEY,\n task_id TEXT REFERENCES tasks(id),\n runner_id TEXT,\n failure_mode TEXT NOT NULL,\n detected_at TEXT NOT NULL,\n resolved_at TEXT,\n resolution TEXT,\n details TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_incidents_task ON incidents(task_id);\nCREATE INDEX IF NOT EXISTS idx_incidents_detected ON incidents(detected_at);\nCREATE INDEX IF NOT EXISTS idx_incidents_unresolved ON incidents(resolved_at) WHERE resolved_at IS NULL;\n\n-- Merge locks (global lock during project merges)\nCREATE TABLE IF NOT EXISTS merge_locks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n runner_id TEXT NOT NULL,\n lock_epoch INTEGER NOT NULL DEFAULT 1,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_merge_locks_expires ON merge_locks(expires_at);\nCREATE INDEX IF NOT EXISTS idx_merge_locks_heartbeat ON merge_locks(heartbeat_at);\nCREATE INDEX IF NOT EXISTS idx_merge_locks_epoch ON merge_locks(session_id, lock_epoch);\n\n-- Merge progress tracking for crash recovery during cherry-pick\nCREATE TABLE IF NOT EXISTS merge_progress (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n workstream_id TEXT NOT NULL,\n position INTEGER NOT NULL,\n commit_sha TEXT NOT NULL,\n applied_commit_sha TEXT,\n status TEXT NOT NULL CHECK (status IN ('applied', 'conflict', 'skipped')),\n conflict_task_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n applied_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_merge_progress_session ON merge_progress(session_id, position);\nCREATE INDEX IF NOT EXISTS idx_merge_progress_status ON merge_progress(status, applied_at);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_position\nON merge_progress(session_id, workstream_id, position);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_commit\nON merge_progress(session_id, workstream_id, commit_sha);\n";
|
|
7
|
+
export declare const INITIAL_SCHEMA_DATA = "\nINSERT OR REPLACE INTO _schema (key, value) VALUES ('version', '0.1.0');\nINSERT OR REPLACE INTO _schema (key, value) VALUES ('created_at', datetime('now'));\n\n-- Mark all migrations as applied since new databases have the full schema\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (1, '001_initial_schema', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (2, '002_add_commit_sha', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (3, '003_add_section_priority', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (4, '004_add_section_dependencies', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (5, '005_add_audit_actor_model', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (6, '006_add_task_invocations', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (7, '007_add_file_anchor', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (8, '008_add_section_skipped', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (9, '009_add_incidents_and_failure_tracking', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (10, '010_add_lifecycle_timestamps', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (11, '011_add_merge_locks_and_progress', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (12, '012_add_merge_lock_epoch', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (13, '013_add_merge_progress_applied_commit_sha', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (14, '014_add_session_context', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (15, '015_add_follow_up_fields', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (16, '016_add_invocation_activity_timestamp', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (17, '017_add_invocation_runner_id', 'builtin');\n";
|
|
8
8
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,UAAU,+yQAwNtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,qkEAsB/B,CAAC"}
|
package/dist/database/schema.js
CHANGED
|
@@ -160,6 +160,7 @@ CREATE TABLE IF NOT EXISTS task_invocations (
|
|
|
160
160
|
invocation_mode TEXT DEFAULT 'fresh',
|
|
161
161
|
token_usage_json TEXT,
|
|
162
162
|
last_activity_at_ms INTEGER,
|
|
163
|
+
runner_id TEXT,
|
|
163
164
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
164
165
|
);
|
|
165
166
|
|
|
@@ -243,5 +244,6 @@ INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (13, '013_add_merg
|
|
|
243
244
|
INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (14, '014_add_session_context', 'builtin');
|
|
244
245
|
INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (15, '015_add_follow_up_fields', 'builtin');
|
|
245
246
|
INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (16, '016_add_invocation_activity_timestamp', 'builtin');
|
|
247
|
+
INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (17, '017_add_invocation_runner_id', 'builtin');
|
|
246
248
|
`;
|
|
247
249
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,cAAc,GAAG,OAAO,CAAC;AAEzB,QAAA,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,cAAc,GAAG,OAAO,CAAC;AAEzB,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwNzB,CAAC;AAEW,QAAA,mBAAmB,GAAG;kEAC+B,sBAAc;;;;;;;;;;;;;;;;;;;;;CAqB/E,CAAC"}
|
|
@@ -24,7 +24,7 @@ export interface BatchCoderResult {
|
|
|
24
24
|
* Invoke coder for a task
|
|
25
25
|
* @param coordinatorGuidance Optional guidance from coordinator after repeated rejections
|
|
26
26
|
*/
|
|
27
|
-
export declare function invokeCoder(task: Task, projectPath: string, action: 'start' | 'resume', coordinatorGuidance?: string): Promise<CoderResult>;
|
|
27
|
+
export declare function invokeCoder(task: Task, projectPath: string, action: 'start' | 'resume', coordinatorGuidance?: string, runnerId?: string): Promise<CoderResult>;
|
|
28
28
|
/**
|
|
29
29
|
* Invoke coder for a batch of tasks
|
|
30
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/orchestrator/coder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/orchestrator/coder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAkBnD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAuFD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,mBAAmB,CAAC,EAAE,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAqMtB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAgC3B"}
|
|
@@ -16,6 +16,8 @@ const status_js_1 = require("../git/status.js");
|
|
|
16
16
|
const loader_js_1 = require("../config/loader.js");
|
|
17
17
|
const registry_js_1 = require("../providers/registry.js");
|
|
18
18
|
const invocation_logger_js_1 = require("../providers/invocation-logger.js");
|
|
19
|
+
const interface_js_1 = require("../providers/interface.js");
|
|
20
|
+
const tokens_js_1 = require("../utils/tokens.js");
|
|
19
21
|
/**
|
|
20
22
|
* Write prompt to temp file
|
|
21
23
|
*/
|
|
@@ -29,7 +31,7 @@ function writePromptToTempFile(prompt) {
|
|
|
29
31
|
* Uses configuration to determine which provider to use
|
|
30
32
|
*/
|
|
31
33
|
async function invokeProvider(promptFile, timeoutMs = 900_000, // 15 minutes default
|
|
32
|
-
taskId, projectPath, resumeSessionId) {
|
|
34
|
+
taskId, projectPath, resumeSessionId, runnerId) {
|
|
33
35
|
// Load configuration to get coder provider settings
|
|
34
36
|
// Project config overrides global config
|
|
35
37
|
const config = (0, loader_js_1.loadConfig)(projectPath);
|
|
@@ -66,6 +68,7 @@ taskId, projectPath, resumeSessionId) {
|
|
|
66
68
|
projectPath,
|
|
67
69
|
resumedFromSessionId: resumeSessionId ?? undefined,
|
|
68
70
|
invocationMode: resumeSessionId ? 'resume' : 'fresh',
|
|
71
|
+
runnerId,
|
|
69
72
|
});
|
|
70
73
|
return {
|
|
71
74
|
success: result.success,
|
|
@@ -80,7 +83,7 @@ taskId, projectPath, resumeSessionId) {
|
|
|
80
83
|
* Invoke coder for a task
|
|
81
84
|
* @param coordinatorGuidance Optional guidance from coordinator after repeated rejections
|
|
82
85
|
*/
|
|
83
|
-
async function invokeCoder(task, projectPath, action, coordinatorGuidance) {
|
|
86
|
+
async function invokeCoder(task, projectPath, action, coordinatorGuidance, runnerId) {
|
|
84
87
|
// Load config to show provider/model being used
|
|
85
88
|
const config = (0, loader_js_1.loadConfig)(projectPath);
|
|
86
89
|
const coderConfig = config.ai?.coder;
|
|
@@ -141,21 +144,102 @@ async function invokeCoder(task, projectPath, action, coordinatorGuidance) {
|
|
|
141
144
|
// Write prompt to temp file
|
|
142
145
|
const promptFile = writePromptToTempFile(prompt);
|
|
143
146
|
try {
|
|
144
|
-
let result
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
let result;
|
|
148
|
+
let sessionNotFound = false;
|
|
149
|
+
try {
|
|
150
|
+
result = await invokeProvider(promptFile, 900_000, task.id, projectPath, resumeSessionId ?? undefined, runnerId);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
if (err instanceof interface_js_1.SessionNotFoundError) {
|
|
154
|
+
console.warn(`Session not found for resume (${resumeSessionId?.substring(0, 8)}) — invalidating session and retrying fresh`);
|
|
155
|
+
sessionNotFound = true;
|
|
156
|
+
result = { success: false, exitCode: 1, stdout: '', stderr: '', duration: 0, timedOut: false };
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
throw err;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// If session resume failed because session was not found, retry fresh with Token Guard
|
|
163
|
+
if (resumeSessionId && sessionNotFound) {
|
|
164
|
+
const providerName = coderConfig?.provider ?? 'unknown';
|
|
165
|
+
const modelName = coderConfig?.model ?? 'unknown';
|
|
166
|
+
let guardedPrompt = '';
|
|
167
|
+
const { getTokenLimitForModel } = await import('../providers/registry.js');
|
|
168
|
+
const { getTaskInvocationsBySession } = await import('../database/queries.js');
|
|
169
|
+
const maxContextWindow = await getTokenLimitForModel(providerName, modelName);
|
|
170
|
+
const reservedHeadroom = 8000;
|
|
171
|
+
const safeLimit = maxContextWindow - reservedHeadroom;
|
|
148
172
|
try {
|
|
149
173
|
const { db, close } = (0, connection_js_1.openDatabase)(projectPath);
|
|
174
|
+
// Base system prompt and task specification
|
|
175
|
+
const baseContext = { ...context, rejectionHistory: [] };
|
|
176
|
+
const basePrompt = (0, coder_js_1.generateCoderPrompt)(baseContext);
|
|
177
|
+
const systemPromptSize = (0, tokens_js_1.countTokens)(basePrompt, modelName);
|
|
178
|
+
if (systemPromptSize > safeLimit) {
|
|
179
|
+
close();
|
|
180
|
+
throw new Error(`Context Too Large: System Prompt and Task Spec alone exceed safe context limit (${systemPromptSize} > ${safeLimit} tokens). Task cannot be processed.`);
|
|
181
|
+
}
|
|
182
|
+
const invocations = getTaskInvocationsBySession(db, task.id, resumeSessionId);
|
|
183
|
+
// Reconstruct history
|
|
184
|
+
const buildHistory = (invs, pruneOlder) => {
|
|
185
|
+
let hist = '';
|
|
186
|
+
for (let i = 0; i < invs.length; i++) {
|
|
187
|
+
const inv = invs[i];
|
|
188
|
+
// Skip the base prompt of the session (which is always the very first invocation in the DB for this session)
|
|
189
|
+
// If we have shifted the array, we must not accidentally skip a continuation prompt.
|
|
190
|
+
// We check if this invocation is the true original first one.
|
|
191
|
+
const isOriginalFirst = inv.id === invocations[0].id;
|
|
192
|
+
if (inv.prompt && !isOriginalFirst) {
|
|
193
|
+
hist += `\n\n--- USER CONTINUATION ---\n${inv.prompt}`;
|
|
194
|
+
}
|
|
195
|
+
if (inv.response) {
|
|
196
|
+
const isOlder = i < invs.length - 1;
|
|
197
|
+
const responseText = (pruneOlder && isOlder) ? (0, tokens_js_1.pruneResponseOutputs)(inv.response) : inv.response;
|
|
198
|
+
hist += `\n\n--- ASSISTANT RESPONSE ---\n${responseText}`;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return hist;
|
|
202
|
+
};
|
|
203
|
+
let currentSize = (0, tokens_js_1.countTokens)(basePrompt + buildHistory(invocations, false), modelName);
|
|
204
|
+
let finalHistoryText = '';
|
|
205
|
+
const guardedInvocations = [...invocations];
|
|
206
|
+
if (currentSize <= safeLimit) {
|
|
207
|
+
finalHistoryText = buildHistory(guardedInvocations, false);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
// Token Guard: First attempt to selectively prune tool outputs and thought blocks
|
|
211
|
+
finalHistoryText = buildHistory(guardedInvocations, true);
|
|
212
|
+
currentSize = (0, tokens_js_1.countTokens)(basePrompt + finalHistoryText, modelName);
|
|
213
|
+
// Token Guard: Truncate history if still necessary by dropping oldest executions entirely
|
|
214
|
+
while (currentSize > safeLimit && guardedInvocations.length > 0) {
|
|
215
|
+
guardedInvocations.shift(); // Prune oldest entry
|
|
216
|
+
finalHistoryText = buildHistory(guardedInvocations, true);
|
|
217
|
+
currentSize = (0, tokens_js_1.countTokens)(basePrompt + finalHistoryText, modelName);
|
|
218
|
+
}
|
|
219
|
+
if (guardedInvocations.length < invocations.length) {
|
|
220
|
+
console.warn(`Token Guard: Pruned ${invocations.length - guardedInvocations.length} older execution(s) entirely to fit within ${safeLimit} token limit.`);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
console.warn(`Token Guard: Selectively pruned tool/thought blocks to fit within ${safeLimit} token limit.`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
guardedPrompt = basePrompt + finalHistoryText;
|
|
150
227
|
(0, queries_js_1.invalidateSession)(db, resumeSessionId);
|
|
151
228
|
close();
|
|
152
229
|
}
|
|
153
|
-
catch {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
230
|
+
catch (e) {
|
|
231
|
+
if (e.message.includes('Context Too Large'))
|
|
232
|
+
throw e;
|
|
233
|
+
// fallback to normal fresh if DB fails
|
|
234
|
+
guardedPrompt = (0, coder_js_1.generateCoderPrompt)(context);
|
|
235
|
+
if ((0, tokens_js_1.countTokens)(guardedPrompt, modelName) > safeLimit) {
|
|
236
|
+
throw new Error(`Context Too Large: System Prompt and Task Spec alone exceed safe context limit. Task cannot be processed.`);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
// Generate guarded fresh prompt and retry
|
|
240
|
+
const freshPromptFile = writePromptToTempFile(guardedPrompt);
|
|
157
241
|
try {
|
|
158
|
-
result = await invokeProvider(freshPromptFile, 900_000, task.id, projectPath);
|
|
242
|
+
result = await invokeProvider(freshPromptFile, 900_000, task.id, projectPath, undefined, runnerId);
|
|
159
243
|
}
|
|
160
244
|
finally {
|
|
161
245
|
if ((0, node_fs_1.existsSync)(freshPromptFile))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coder.js","sourceRoot":"","sources":["../../src/orchestrator/coder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coder.js","sourceRoot":"","sources":["../../src/orchestrator/coder.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export declare function isMultiReviewEnabled(config: SteroidsConfig): boolean;
|
|
|
35
35
|
/**
|
|
36
36
|
* Invoke multiple reviewers in parallel
|
|
37
37
|
*/
|
|
38
|
-
export declare function invokeReviewers(task: Task, projectPath: string, reviewerConfigs: ReviewerConfig[], coordinatorGuidance?: string, coordinatorDecision?: string): Promise<ReviewerResult[]>;
|
|
38
|
+
export declare function invokeReviewers(task: Task, projectPath: string, reviewerConfigs: ReviewerConfig[], coordinatorGuidance?: string, coordinatorDecision?: string, runnerId?: string): Promise<ReviewerResult[]>;
|
|
39
39
|
export interface BatchReviewerResult {
|
|
40
40
|
success: boolean;
|
|
41
41
|
exitCode: number;
|
|
@@ -51,7 +51,7 @@ export interface BatchReviewerResult {
|
|
|
51
51
|
* @param coordinatorDecision Optional decision type from coordinator
|
|
52
52
|
* @param reviewerConfig Optional reviewer configuration to override default
|
|
53
53
|
*/
|
|
54
|
-
export declare function invokeReviewer(task: Task, projectPath: string, coordinatorGuidance?: string, coordinatorDecision?: string, reviewerConfig?: ReviewerConfig): Promise<ReviewerResult>;
|
|
54
|
+
export declare function invokeReviewer(task: Task, projectPath: string, coordinatorGuidance?: string, coordinatorDecision?: string, reviewerConfig?: ReviewerConfig, runnerId?: string): Promise<ReviewerResult>;
|
|
55
55
|
/**
|
|
56
56
|
* Invoke reviewer for a batch of tasks
|
|
57
57
|
* @param tasks Tasks to review
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/orchestrator/reviewer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAkBnD,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/orchestrator/reviewer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAkBnD,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO3F,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAElF;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,cAAc,EAAE,GACxB;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAiClD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CAQ3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEpE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,cAAc,EAAE,EACjC,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,EAAE,CAAC,CAwB3B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAkID;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,EAC5B,cAAc,CAAC,EAAE,cAAc,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CA4PzB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAgE9B"}
|
|
@@ -19,6 +19,8 @@ const reviewer_js_1 = require("../prompts/reviewer.js");
|
|
|
19
19
|
const loader_js_1 = require("../config/loader.js");
|
|
20
20
|
const registry_js_1 = require("../providers/registry.js");
|
|
21
21
|
const invocation_logger_js_1 = require("../providers/invocation-logger.js");
|
|
22
|
+
const interface_js_1 = require("../providers/interface.js");
|
|
23
|
+
const tokens_js_1 = require("../utils/tokens.js");
|
|
22
24
|
const submission_resolution_js_1 = require("../git/submission-resolution.js");
|
|
23
25
|
/**
|
|
24
26
|
* Deterministic policy engine for multi-reviewer decisions
|
|
@@ -73,8 +75,8 @@ function isMultiReviewEnabled(config) {
|
|
|
73
75
|
/**
|
|
74
76
|
* Invoke multiple reviewers in parallel
|
|
75
77
|
*/
|
|
76
|
-
async function invokeReviewers(task, projectPath, reviewerConfigs, coordinatorGuidance, coordinatorDecision) {
|
|
77
|
-
const results = await Promise.allSettled(reviewerConfigs.map(config => invokeReviewer(task, projectPath, coordinatorGuidance, coordinatorDecision, config)));
|
|
78
|
+
async function invokeReviewers(task, projectPath, reviewerConfigs, coordinatorGuidance, coordinatorDecision, runnerId) {
|
|
79
|
+
const results = await Promise.allSettled(reviewerConfigs.map(config => invokeReviewer(task, projectPath, coordinatorGuidance, coordinatorDecision, config, runnerId)));
|
|
78
80
|
return results.map((r, i) => {
|
|
79
81
|
if (r.status === 'fulfilled') {
|
|
80
82
|
return r.value;
|
|
@@ -132,7 +134,7 @@ function parseReviewerDecision(output) {
|
|
|
132
134
|
* Uses configuration to determine which provider to use
|
|
133
135
|
*/
|
|
134
136
|
async function invokeProvider(promptFile, timeoutMs = 600_000, // 10 minutes default for reviewer
|
|
135
|
-
taskId, projectPath, reviewerConfig, resumeSessionId) {
|
|
137
|
+
taskId, projectPath, reviewerConfig, resumeSessionId, runnerId) {
|
|
136
138
|
// Load configuration to get reviewer provider settings if not provided
|
|
137
139
|
// Project config overrides global config
|
|
138
140
|
if (!reviewerConfig) {
|
|
@@ -171,6 +173,7 @@ taskId, projectPath, reviewerConfig, resumeSessionId) {
|
|
|
171
173
|
projectPath,
|
|
172
174
|
resumedFromSessionId: resumeSessionId ?? undefined,
|
|
173
175
|
invocationMode: resumeSessionId ? 'resume' : 'fresh',
|
|
176
|
+
runnerId,
|
|
174
177
|
});
|
|
175
178
|
// Parse the decision from output
|
|
176
179
|
const { decision, notes } = parseReviewerDecision(result.stdout);
|
|
@@ -193,7 +196,7 @@ taskId, projectPath, reviewerConfig, resumeSessionId) {
|
|
|
193
196
|
* @param coordinatorDecision Optional decision type from coordinator
|
|
194
197
|
* @param reviewerConfig Optional reviewer configuration to override default
|
|
195
198
|
*/
|
|
196
|
-
async function invokeReviewer(task, projectPath, coordinatorGuidance, coordinatorDecision, reviewerConfig) {
|
|
199
|
+
async function invokeReviewer(task, projectPath, coordinatorGuidance, coordinatorDecision, reviewerConfig, runnerId) {
|
|
197
200
|
// Load config to show provider/model being used
|
|
198
201
|
const config = (0, loader_js_1.loadConfig)(projectPath);
|
|
199
202
|
const effectiveReviewerConfig = reviewerConfig || config.ai?.reviewer;
|
|
@@ -288,21 +291,99 @@ async function invokeReviewer(task, projectPath, coordinatorGuidance, coordinato
|
|
|
288
291
|
// Write prompt to temp file
|
|
289
292
|
const promptFile = writePromptToTempFile(prompt);
|
|
290
293
|
try {
|
|
291
|
-
let result
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
294
|
+
let result;
|
|
295
|
+
let sessionNotFound = false;
|
|
296
|
+
try {
|
|
297
|
+
result = await invokeProvider(promptFile, 600_000, task.id, projectPath, effectiveReviewerConfig, resumeSessionId ?? undefined, runnerId);
|
|
298
|
+
}
|
|
299
|
+
catch (err) {
|
|
300
|
+
if (err instanceof interface_js_1.SessionNotFoundError) {
|
|
301
|
+
console.warn(`Session not found for resume (${resumeSessionId?.substring(0, 8)}) — invalidating session and retrying fresh`);
|
|
302
|
+
sessionNotFound = true;
|
|
303
|
+
result = { success: false, exitCode: 1, stdout: '', stderr: '', duration: 0, timedOut: false, provider: '', model: '' };
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
throw err;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
// If session resume failed because session was not found, retry fresh
|
|
310
|
+
if (resumeSessionId && sessionNotFound) {
|
|
311
|
+
const providerName = effectiveReviewerConfig?.provider ?? 'unknown';
|
|
312
|
+
const modelName = effectiveReviewerConfig?.model ?? 'unknown';
|
|
313
|
+
let guardedPrompt = '';
|
|
314
|
+
const { getTokenLimitForModel } = await import('../providers/registry.js');
|
|
315
|
+
const { getTaskInvocationsBySession } = await import('../database/queries.js');
|
|
316
|
+
const maxContextWindow = await getTokenLimitForModel(providerName, modelName);
|
|
317
|
+
const reservedHeadroom = 8000;
|
|
318
|
+
const safeLimit = maxContextWindow - reservedHeadroom;
|
|
295
319
|
try {
|
|
296
320
|
const { db, close } = (0, connection_js_1.openDatabase)(projectPath);
|
|
321
|
+
const baseContext = { ...context, rejectionHistory: [] };
|
|
322
|
+
const basePrompt = (0, reviewer_js_1.generateReviewerPrompt)(baseContext);
|
|
323
|
+
const systemPromptSize = (0, tokens_js_1.countTokens)(basePrompt, modelName);
|
|
324
|
+
if (systemPromptSize > safeLimit) {
|
|
325
|
+
close();
|
|
326
|
+
throw new Error(`Context Too Large: System Prompt and Task Spec alone exceed safe context limit (${systemPromptSize} > ${safeLimit} tokens). Task cannot be processed.`);
|
|
327
|
+
}
|
|
328
|
+
const invocations = getTaskInvocationsBySession(db, task.id, resumeSessionId);
|
|
329
|
+
const buildHistory = (invs, pruneOlder) => {
|
|
330
|
+
let hist = '';
|
|
331
|
+
for (let i = 0; i < invs.length; i++) {
|
|
332
|
+
const inv = invs[i];
|
|
333
|
+
// Skip the base prompt of the session (which is always the very first invocation in the DB for this session)
|
|
334
|
+
// If we have shifted the array, we must not accidentally skip a continuation prompt.
|
|
335
|
+
// We check if this invocation is the true original first one.
|
|
336
|
+
const isOriginalFirst = inv.id === invocations[0].id;
|
|
337
|
+
if (inv.prompt && !isOriginalFirst) {
|
|
338
|
+
hist += `\n\n--- USER CONTINUATION ---\n${inv.prompt}`;
|
|
339
|
+
}
|
|
340
|
+
if (inv.response) {
|
|
341
|
+
const isOlder = i < invs.length - 1;
|
|
342
|
+
const responseText = (pruneOlder && isOlder) ? (0, tokens_js_1.pruneResponseOutputs)(inv.response) : inv.response;
|
|
343
|
+
hist += `\n\n--- ASSISTANT RESPONSE ---\n${responseText}`;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
return hist;
|
|
347
|
+
};
|
|
348
|
+
let currentSize = (0, tokens_js_1.countTokens)(basePrompt + buildHistory(invocations, false), modelName);
|
|
349
|
+
let finalHistoryText = '';
|
|
350
|
+
const guardedInvocations = [...invocations];
|
|
351
|
+
if (currentSize <= safeLimit) {
|
|
352
|
+
finalHistoryText = buildHistory(guardedInvocations, false);
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
// Token Guard: First attempt to selectively prune tool outputs and thought blocks
|
|
356
|
+
finalHistoryText = buildHistory(guardedInvocations, true);
|
|
357
|
+
currentSize = (0, tokens_js_1.countTokens)(basePrompt + finalHistoryText, modelName);
|
|
358
|
+
// Token Guard: Truncate history if still necessary by dropping oldest executions entirely
|
|
359
|
+
while (currentSize > safeLimit && guardedInvocations.length > 0) {
|
|
360
|
+
guardedInvocations.shift(); // Prune oldest entry
|
|
361
|
+
finalHistoryText = buildHistory(guardedInvocations, true);
|
|
362
|
+
currentSize = (0, tokens_js_1.countTokens)(basePrompt + finalHistoryText, modelName);
|
|
363
|
+
}
|
|
364
|
+
if (guardedInvocations.length < invocations.length) {
|
|
365
|
+
console.warn(`Token Guard: Pruned ${invocations.length - guardedInvocations.length} older execution(s) entirely to fit within ${safeLimit} token limit.`);
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
console.warn(`Token Guard: Selectively pruned tool/thought blocks to fit within ${safeLimit} token limit.`);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
guardedPrompt = basePrompt + finalHistoryText;
|
|
297
372
|
(0, queries_js_1.invalidateSession)(db, resumeSessionId);
|
|
298
373
|
close();
|
|
299
374
|
}
|
|
300
|
-
catch {
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
375
|
+
catch (e) {
|
|
376
|
+
if (e.message.includes('Context Too Large'))
|
|
377
|
+
throw e;
|
|
378
|
+
guardedPrompt = (0, reviewer_js_1.generateReviewerPrompt)(context);
|
|
379
|
+
if ((0, tokens_js_1.countTokens)(guardedPrompt, modelName) > safeLimit) {
|
|
380
|
+
throw new Error(`Context Too Large: System Prompt and Task Spec alone exceed safe context limit. Task cannot be processed.`);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
// Generate guarded fresh prompt and retry
|
|
384
|
+
const freshPromptFile = writePromptToTempFile(guardedPrompt);
|
|
304
385
|
try {
|
|
305
|
-
result = await invokeProvider(freshPromptFile, 600_000, task.id, projectPath, effectiveReviewerConfig);
|
|
386
|
+
result = await invokeProvider(freshPromptFile, 600_000, task.id, projectPath, effectiveReviewerConfig, undefined, runnerId);
|
|
306
387
|
}
|
|
307
388
|
finally {
|
|
308
389
|
if ((0, node_fs_1.existsSync)(freshPromptFile))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/orchestrator/reviewer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/orchestrator/reviewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EAGf,MAAM,gBAAgB,CAAC;AAkDxB;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,sBAAsB;IAE1C;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAiC3E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0D3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2KtB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBrC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM;IAIpE;;OAEG;IACH,4BAA4B,IAAI,MAAM;CAGvC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|
package/dist/providers/claude.js
CHANGED
|
@@ -21,18 +21,21 @@ const CLAUDE_MODELS = [
|
|
|
21
21
|
name: 'Claude Opus (latest)',
|
|
22
22
|
recommendedFor: ['orchestrator', 'reviewer'],
|
|
23
23
|
supportsStreaming: true,
|
|
24
|
+
contextWindow: 200000,
|
|
24
25
|
},
|
|
25
26
|
{
|
|
26
27
|
id: 'sonnet',
|
|
27
28
|
name: 'Claude Sonnet (latest)',
|
|
28
29
|
recommendedFor: ['coder'],
|
|
29
30
|
supportsStreaming: true,
|
|
31
|
+
contextWindow: 200000,
|
|
30
32
|
},
|
|
31
33
|
{
|
|
32
34
|
id: 'haiku',
|
|
33
35
|
name: 'Claude Haiku (latest)',
|
|
34
36
|
recommendedFor: [],
|
|
35
37
|
supportsStreaming: true,
|
|
38
|
+
contextWindow: 200000,
|
|
36
39
|
},
|
|
37
40
|
];
|
|
38
41
|
/**
|
|
@@ -163,7 +166,7 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
163
166
|
invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity, resumeSessionId) {
|
|
164
167
|
// Set up isolated HOME
|
|
165
168
|
const isolatedHome = this.setupIsolatedHome('.claude', ['config.json', '.credentials.json', 'settings.json']);
|
|
166
|
-
return new Promise((resolve) => {
|
|
169
|
+
return new Promise((resolve, reject) => {
|
|
167
170
|
const startTime = Date.now();
|
|
168
171
|
let stdout = '';
|
|
169
172
|
let stderr = '';
|
|
@@ -277,6 +280,11 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
277
280
|
catch {
|
|
278
281
|
// Ignore cleanup errors
|
|
279
282
|
}
|
|
283
|
+
const outputStr = (stdout + '\n' + stderr).toLowerCase();
|
|
284
|
+
if (code !== 0 && resumeSessionId && (outputStr.includes('session not found') || outputStr.includes('failed to resume') || outputStr.includes('unknown session'))) {
|
|
285
|
+
reject(new interface_js_1.SessionNotFoundError(`Failed to resume Claude session ${resumeSessionId}`));
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
280
288
|
resolve({
|
|
281
289
|
success: code === 0 && !timedOut,
|
|
282
290
|
exitCode: code ?? 1,
|