ohwow 0.5.2 → 0.6.0
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/index.js +740 -622
- package/dist/migrations/084-recovery-audit-log.sql +16 -0
- package/dist/migrations/085-co-evolution.sql +63 -0
- package/dist/migrations/086-decouple-agent-status.sql +17 -0
- package/dist/migrations/087-arena-trajectories.sql +31 -0
- package/dist/migrations/088-meeting-sessions.sql +23 -0
- package/dist/web/assets/index-B2PzvKIq.js +100 -0
- package/dist/web/assets/index-DZAi92e-.css +1 -0
- package/dist/web/assets/vision_bundle-CCf8DAA1.js +41 -0
- package/dist/web/index.html +2 -2
- package/package.json +3 -2
- package/dist/web/assets/index-CJXqiobs.css +0 -1
- package/dist/web/assets/index-Cc2hAI-k.js +0 -100
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
-- Recovery audit log for structured self-recovery.
|
|
2
|
+
-- Tracks error categories, recovery actions, and outcomes for learning.
|
|
3
|
+
|
|
4
|
+
CREATE TABLE IF NOT EXISTS recovery_audit_log (
|
|
5
|
+
id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),
|
|
6
|
+
workspace_id TEXT NOT NULL,
|
|
7
|
+
category TEXT NOT NULL,
|
|
8
|
+
tool_name TEXT,
|
|
9
|
+
error_message TEXT NOT NULL,
|
|
10
|
+
recovery_action TEXT NOT NULL,
|
|
11
|
+
recovered INTEGER NOT NULL DEFAULT 0,
|
|
12
|
+
duration_ms INTEGER NOT NULL DEFAULT 0,
|
|
13
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
CREATE INDEX IF NOT EXISTS idx_recovery_audit_workspace ON recovery_audit_log(workspace_id, created_at);
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
-- Co-Evolution: CORAL-style parallel multi-agent iteration
|
|
2
|
+
-- Multiple agents iterate on the same deliverable in parallel rounds,
|
|
3
|
+
-- building on each other's attempts via lineage tracking.
|
|
4
|
+
|
|
5
|
+
-- 1. Evolution runs
|
|
6
|
+
CREATE TABLE IF NOT EXISTS agent_workforce_evolution_runs (
|
|
7
|
+
id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),
|
|
8
|
+
workspace_id TEXT NOT NULL,
|
|
9
|
+
objective TEXT NOT NULL,
|
|
10
|
+
evaluation_criteria TEXT NOT NULL DEFAULT '[]', -- JSON array
|
|
11
|
+
evaluation_mode TEXT NOT NULL DEFAULT 'llm'
|
|
12
|
+
CHECK (evaluation_mode IN ('llm', 'deterministic', 'hybrid')),
|
|
13
|
+
agent_ids TEXT NOT NULL DEFAULT '[]', -- JSON array of agent IDs
|
|
14
|
+
max_rounds INTEGER NOT NULL DEFAULT 5,
|
|
15
|
+
budget_cents INTEGER,
|
|
16
|
+
status TEXT NOT NULL DEFAULT 'pending'
|
|
17
|
+
CHECK (status IN ('pending', 'running', 'paused', 'completed', 'failed', 'cancelled')),
|
|
18
|
+
current_round INTEGER NOT NULL DEFAULT 0,
|
|
19
|
+
best_attempt_id TEXT,
|
|
20
|
+
best_score REAL,
|
|
21
|
+
total_cost_cents INTEGER NOT NULL DEFAULT 0,
|
|
22
|
+
total_attempts INTEGER NOT NULL DEFAULT 0,
|
|
23
|
+
diversity_log TEXT NOT NULL DEFAULT '[]', -- JSON array
|
|
24
|
+
started_at TEXT,
|
|
25
|
+
completed_at TEXT,
|
|
26
|
+
stopped_reason TEXT,
|
|
27
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
CREATE INDEX IF NOT EXISTS idx_evolution_runs_workspace
|
|
31
|
+
ON agent_workforce_evolution_runs(workspace_id);
|
|
32
|
+
CREATE INDEX IF NOT EXISTS idx_evolution_runs_status
|
|
33
|
+
ON agent_workforce_evolution_runs(workspace_id, status);
|
|
34
|
+
|
|
35
|
+
-- 2. Evolution attempts
|
|
36
|
+
CREATE TABLE IF NOT EXISTS agent_workforce_evolution_attempts (
|
|
37
|
+
id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),
|
|
38
|
+
run_id TEXT NOT NULL REFERENCES agent_workforce_evolution_runs(id) ON DELETE CASCADE,
|
|
39
|
+
workspace_id TEXT NOT NULL,
|
|
40
|
+
round INTEGER NOT NULL,
|
|
41
|
+
agent_id TEXT NOT NULL,
|
|
42
|
+
parent_attempt_id TEXT REFERENCES agent_workforce_evolution_attempts(id) ON DELETE SET NULL,
|
|
43
|
+
parent_agent_id TEXT,
|
|
44
|
+
task_id TEXT,
|
|
45
|
+
deliverable TEXT,
|
|
46
|
+
strategy_summary TEXT,
|
|
47
|
+
score REAL,
|
|
48
|
+
score_breakdown TEXT, -- JSON object
|
|
49
|
+
truth_score INTEGER,
|
|
50
|
+
cost_cents INTEGER NOT NULL DEFAULT 0,
|
|
51
|
+
duration_ms INTEGER,
|
|
52
|
+
status TEXT NOT NULL DEFAULT 'pending'
|
|
53
|
+
CHECK (status IN ('pending', 'running', 'completed', 'failed', 'skipped')),
|
|
54
|
+
error TEXT,
|
|
55
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
CREATE INDEX IF NOT EXISTS idx_evo_attempts_run
|
|
59
|
+
ON agent_workforce_evolution_attempts(run_id, round, score DESC);
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_evo_attempts_agent
|
|
61
|
+
ON agent_workforce_evolution_attempts(agent_id, created_at DESC);
|
|
62
|
+
CREATE INDEX IF NOT EXISTS idx_evo_attempts_lineage
|
|
63
|
+
ON agent_workforce_evolution_attempts(parent_attempt_id);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
-- =====================================================================
|
|
2
|
+
-- 086: Add paused column to agent_workforce_agents
|
|
3
|
+
--
|
|
4
|
+
-- Aligns local runtime with cloud schema (cloud migration 322).
|
|
5
|
+
-- Cloud replaced the status column with a paused boolean.
|
|
6
|
+
-- Local keeps status for internal execution tracking (working/idle)
|
|
7
|
+
-- but adds paused as the user-controlled kill switch.
|
|
8
|
+
-- =====================================================================
|
|
9
|
+
|
|
10
|
+
-- @statement
|
|
11
|
+
ALTER TABLE agent_workforce_agents ADD COLUMN paused INTEGER NOT NULL DEFAULT 0;
|
|
12
|
+
|
|
13
|
+
-- @statement
|
|
14
|
+
UPDATE agent_workforce_agents SET paused = 1 WHERE status = 'paused';
|
|
15
|
+
|
|
16
|
+
-- @statement
|
|
17
|
+
CREATE INDEX IF NOT EXISTS idx_agents_paused ON agent_workforce_agents(paused) WHERE paused = 1;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
-- =====================================================================
|
|
2
|
+
-- 087: Arena training trajectories
|
|
3
|
+
--
|
|
4
|
+
-- Stores structured recordings of agent episodes in Arena environments.
|
|
5
|
+
-- Each trajectory captures the full step-by-step execution trace
|
|
6
|
+
-- including tools used, rewards, and success/failure signals.
|
|
7
|
+
-- =====================================================================
|
|
8
|
+
|
|
9
|
+
-- @statement
|
|
10
|
+
CREATE TABLE IF NOT EXISTS arena_trajectories (
|
|
11
|
+
id TEXT PRIMARY KEY,
|
|
12
|
+
arena_id TEXT NOT NULL,
|
|
13
|
+
episode_id TEXT NOT NULL,
|
|
14
|
+
agent_id TEXT NOT NULL DEFAULT 'unknown',
|
|
15
|
+
workspace_id TEXT NOT NULL DEFAULT 'default',
|
|
16
|
+
steps TEXT NOT NULL DEFAULT '[]',
|
|
17
|
+
total_reward REAL NOT NULL DEFAULT 0,
|
|
18
|
+
success INTEGER NOT NULL DEFAULT 0,
|
|
19
|
+
duration_ms INTEGER NOT NULL DEFAULT 0,
|
|
20
|
+
metadata TEXT NOT NULL DEFAULT '{}',
|
|
21
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
-- @statement
|
|
25
|
+
CREATE INDEX IF NOT EXISTS idx_arena_traj_arena ON arena_trajectories(arena_id);
|
|
26
|
+
|
|
27
|
+
-- @statement
|
|
28
|
+
CREATE INDEX IF NOT EXISTS idx_arena_traj_agent ON arena_trajectories(agent_id);
|
|
29
|
+
|
|
30
|
+
-- @statement
|
|
31
|
+
CREATE INDEX IF NOT EXISTS idx_arena_traj_workspace ON arena_trajectories(workspace_id);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-- =====================================================================
|
|
2
|
+
-- MEETING SESSIONS (local audio capture + transcription)
|
|
3
|
+
-- Stores live meeting listening sessions with running transcript and notes.
|
|
4
|
+
-- =====================================================================
|
|
5
|
+
|
|
6
|
+
CREATE TABLE IF NOT EXISTS meeting_sessions (
|
|
7
|
+
id TEXT PRIMARY KEY,
|
|
8
|
+
workspace_id TEXT NOT NULL,
|
|
9
|
+
status TEXT NOT NULL DEFAULT 'listening',
|
|
10
|
+
app TEXT NOT NULL DEFAULT 'all',
|
|
11
|
+
transcript TEXT NOT NULL DEFAULT '[]',
|
|
12
|
+
notes TEXT NOT NULL DEFAULT '{}',
|
|
13
|
+
chunk_count INTEGER NOT NULL DEFAULT 0,
|
|
14
|
+
last_sync_at TEXT,
|
|
15
|
+
cloud_session_id TEXT,
|
|
16
|
+
started_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
17
|
+
ended_at TEXT,
|
|
18
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
19
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_meeting_sessions_workspace
|
|
23
|
+
ON meeting_sessions(workspace_id, status);
|