@saadnvd1/agent-os 0.3.596 → 0.3.597

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.
Files changed (106) hide show
  1. package/lib/db/migration-types.ts +15 -0
  2. package/lib/db/migrations/0001_add_group_path_to_sessions.ts +11 -0
  3. package/lib/db/migrations/0002_add_agent_type_to_sessions.ts +11 -0
  4. package/lib/db/migrations/0003_add_worktree_columns_to_sessions.ts +12 -0
  5. package/lib/db/migrations/0004_add_pr_tracking_to_sessions.ts +11 -0
  6. package/lib/db/migrations/0005_add_group_path_index.ts +11 -0
  7. package/lib/db/migrations/0006_add_orchestration_columns_to_sessions.ts +16 -0
  8. package/lib/db/migrations/0007_add_auto_approve_to_sessions.ts +11 -0
  9. package/lib/db/migrations/0008_add_dev_server_columns.ts +19 -0
  10. package/lib/db/migrations/0009_add_project_id_to_sessions.ts +17 -0
  11. package/lib/db/migrations/0010_add_project_id_to_dev_servers.ts +36 -0
  12. package/lib/db/migrations/0011_add_tmux_name_to_sessions.ts +13 -0
  13. package/lib/db/migrations/0012_add_initial_prompt_to_projects.ts +9 -0
  14. package/lib/db/migrations/0013_add_project_repositories_table.ts +22 -0
  15. package/lib/db/migrations/0014_add_hosts.ts +23 -0
  16. package/lib/db/migrations/0015_add_workspaces.ts +18 -0
  17. package/lib/db/migrations/0016_add_task_columns_to_sessions.ts +13 -0
  18. package/lib/db/migrations/0017_add_bus_messages.ts +24 -0
  19. package/lib/db/migrations/0018_add_chat.ts +23 -0
  20. package/lib/db/migrations/0019_add_lumifyhub.ts +36 -0
  21. package/lib/db/migrations/0020_add_lumifyhub_published_docs.ts +18 -0
  22. package/lib/db/migrations/0021_add_chat_access.ts +14 -0
  23. package/lib/db/migrations/0022_add_last_seen.ts +10 -0
  24. package/lib/db/migrations/0023_mark_existing_sessions_seen.ts +12 -0
  25. package/lib/db/migrations/0024_add_stacks.ts +49 -0
  26. package/lib/db/migrations/0025_add_stack_item_attempts.ts +16 -0
  27. package/lib/db/migrations/0026_add_workspace_orchestrator.ts +47 -0
  28. package/lib/db/migrations/0027_add_devices_and_settings.ts +28 -0
  29. package/lib/db/migrations/0028_add_orchestrator_acting.ts +70 -0
  30. package/lib/db/migrations/0029_add_orchestrator_asks_and_pause.ts +81 -0
  31. package/lib/db/migrations/0030_add_sessions_archived_at.ts +14 -0
  32. package/lib/db/migrations/0031_add_stack_item_restacked_heads.ts +22 -0
  33. package/lib/db/migrations/0032_add_sessions_pinned.ts +12 -0
  34. package/lib/db/migrations/0033_add_program_status.ts +18 -0
  35. package/lib/db/migrations/0034_add_session_names.ts +21 -0
  36. package/lib/db/migrations/0035_add_artifacts.ts +23 -0
  37. package/lib/db/migrations/0036_add_chat_queue.ts +26 -0
  38. package/lib/db/migrations/0037_add_chat_plan_and_turns.ts +39 -0
  39. package/lib/db/migrations/0038_add_schedules.ts +56 -0
  40. package/lib/db/migrations/0039_add_session_name_source.ts +21 -0
  41. package/lib/db/migrations/0040_add_schedule_targets_and_phone_notify.ts +41 -0
  42. package/lib/db/migrations/0041_add_task_setup.ts +17 -0
  43. package/lib/db/migrations/0042_add_host_links_and_moved_tasks.ts +29 -0
  44. package/lib/db/migrations/0043_scratch_project.ts +14 -0
  45. package/lib/db/migrations/0044_chat_item_kind.ts +21 -0
  46. package/lib/db/migrations/0045_change_versions.ts +13 -0
  47. package/lib/db/migrations/0046_session_port_slots.ts +21 -0
  48. package/lib/db/migrations/0047_pin_orchestrators.ts +12 -0
  49. package/lib/db/migrations/0048_session_database.ts +15 -0
  50. package/lib/db/migrations/0049_peer_mirror.ts +14 -0
  51. package/lib/db/migrations/0050_task_queue.ts +44 -0
  52. package/lib/db/migrations/0051_chat_queue_sent_by.ts +16 -0
  53. package/lib/db/migrations/0052_sessions_chat_restarted.ts +17 -0
  54. package/lib/db/migrations/0053_brief_amendments_failure_sha_ask_raised_by.ts +37 -0
  55. package/lib/db/migrations/0054_sessions_chat_tools_digest.ts +15 -0
  56. package/lib/db/migrations/0055_sessions_merge_armed_and_rebase.ts +25 -0
  57. package/lib/db/migrations/0056_orchestrator_rules.ts +39 -0
  58. package/lib/db/migrations/0057_task_pr_wakes.ts +34 -0
  59. package/lib/db/migrations/0058_away_mode.ts +71 -0
  60. package/lib/db/migrations/0059_gate_failure_commits.ts +33 -0
  61. package/lib/db/migrations/0060_check_runs_and_compactions.ts +44 -0
  62. package/lib/db/migrations/0061_model_routing.ts +30 -0
  63. package/lib/db/migrations/0062_sessions_quick_of.ts +19 -0
  64. package/lib/db/migrations/0063_one_off_schedules.ts +16 -0
  65. package/lib/db/migrations/0064_chat_compactions_phase.ts +15 -0
  66. package/lib/db/migrations/0065_orchestrator_triage.ts +23 -0
  67. package/lib/db/migrations/0066_workspace_orch_mcp_servers.ts +16 -0
  68. package/lib/db/migrations/0067_orchestrator_event_log_suppressed.ts +14 -0
  69. package/lib/db/migrations/0068_usage_calls_and_rollups.ts +74 -0
  70. package/lib/db/migrations/0069_session_logs.ts +26 -0
  71. package/lib/db/migrations/0070_chat_items_running.ts +15 -0
  72. package/lib/db/migrations/0071_devices_push.ts +29 -0
  73. package/lib/db/migrations/0072_push_outbox.ts +33 -0
  74. package/lib/db/migrations/0073_orchestrated_task_moves.ts +27 -0
  75. package/lib/db/migrations/0074_held_task_replies.ts +27 -0
  76. package/lib/db/migrations/0075_plan_only_tasks.ts +17 -0
  77. package/lib/db/migrations/0076_welcome_backfill.ts +16 -0
  78. package/lib/db/migrations/0077_simulator_leases.ts +21 -0
  79. package/lib/db/migrations/0078_orchestrator_questions.ts +34 -0
  80. package/lib/db/migrations/0079_task_queue_agent.ts +13 -0
  81. package/lib/db/migrations/0080_recipes.ts +129 -0
  82. package/lib/db/migrations/0081_schedules_into_recipes.ts +18 -0
  83. package/lib/db/migrations/0082_session_shelf_times.ts +23 -0
  84. package/lib/db/migrations/0083_native_devices_can_approve.ts +18 -0
  85. package/lib/db/migrations/0084_approval_audit.ts +20 -0
  86. package/lib/db/migrations/0085_experiment_usage.ts +35 -0
  87. package/lib/db/migrations/0086_learning_cards.ts +28 -0
  88. package/lib/db/migrations/0087_plan_pieces_reconcile.ts +29 -0
  89. package/lib/db/migrations/0088_shared_links.ts +25 -0
  90. package/lib/db/migrations/0089_passkeys_device_keys.ts +23 -0
  91. package/lib/db/migrations/20261014T0900_task_scheduling.ts +57 -0
  92. package/lib/db/migrations/20261014T1235_placed_mirror_started_by.ts +19 -0
  93. package/lib/db/migrations/20261014T1600_queued_task_messages.ts +21 -0
  94. package/lib/db/migrations/20261014T1800_task_starter_device.ts +20 -0
  95. package/lib/db/migrations/20261014T1900_pause_note.ts +13 -0
  96. package/lib/db/migrations/20261014T2000_chat_bookmarks.ts +33 -0
  97. package/lib/db/migrations/20261014T2100_gate_failure_ask_held.ts +18 -0
  98. package/lib/db/migrations/README.md +35 -0
  99. package/lib/db/migrations-legacy-checksums.json +9 -8
  100. package/lib/db/migrations-split-snapshot.json +1759 -0
  101. package/lib/db/migrations.ts +76 -2337
  102. package/package.json +6 -3
  103. package/scripts/check +1 -0
  104. package/scripts/gen-migrations-index.mjs +44 -0
  105. package/scripts/screenshots/demo.ts +5 -1
  106. package/scripts/screenshots/run.ts +5 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saadnvd1/agent-os",
3
- "version": "0.3.596",
3
+ "version": "0.3.597",
4
4
  "description": "Self-hosted web UI for managing Claude Code sessions",
5
5
  "bin": {
6
6
  "agent-os": "scripts/agent-os"
@@ -29,11 +29,13 @@
29
29
  "LICENSE"
30
30
  ],
31
31
  "scripts": {
32
- "predev": "node scripts/ensure-native.mjs",
32
+ "predev": "node scripts/ensure-native.mjs && node scripts/gen-migrations-index.mjs",
33
33
  "dev": "AGENTOS_DEV=1 tsx server.ts",
34
+ "prebuild": "node scripts/gen-migrations-index.mjs",
34
35
  "build": "next build",
35
- "prestart": "node scripts/ensure-native.mjs",
36
+ "prestart": "node scripts/ensure-native.mjs && node scripts/gen-migrations-index.mjs",
36
37
  "start": "NODE_ENV=production tsx server.ts",
38
+ "pretypecheck": "node scripts/gen-migrations-index.mjs",
37
39
  "typecheck": "tsc --noEmit",
38
40
  "setup": "bash scripts/setup.sh",
39
41
  "postinstall": "chmod +x node_modules/node-pty/prebuilds/*/spawn-helper 2>/dev/null || true",
@@ -42,6 +44,7 @@
42
44
  "tauri:dev": "tauri dev",
43
45
  "tauri:build": "tauri build",
44
46
  "tauri:build:linux": "docker build -t agentos-linux -f src-tauri/Dockerfile.linux src-tauri && docker run --rm -v $(pwd)/src-tauri/target:/app/target agentos-linux",
47
+ "prelint": "node scripts/gen-migrations-index.mjs",
45
48
  "lint": "eslint .",
46
49
  "format": "prettier --write .",
47
50
  "format:check": "prettier --check .",
package/scripts/check CHANGED
@@ -7,6 +7,7 @@ cd "$(dirname "$0")/.."
7
7
 
8
8
  step() { printf '\n▸ %s\n' "$1"; }
9
9
 
10
+ step "migrations"; node scripts/gen-migrations-index.mjs && node scripts/gen-migrations-index.mjs --check
10
11
  step "terms"; npx tsx scripts/hooks/banned-terms.ts --tree
11
12
  step "typecheck"; npx tsc --noEmit
12
13
  step "lint"; npx eslint . --max-warnings=40
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+ // Writes lib/db/migrations.generated.ts: one import per file in
3
+ // lib/db/migrations/. The file is not committed (a committed list would be the
4
+ // one file every migration PR edits). Runs before dev, start, build, typecheck,
5
+ // lint and tests; `--check` writes nothing and exits 1 when it is missing or
6
+ // stale (CI).
7
+ import { existsSync, readdirSync, readFileSync, writeFileSync } from "node:fs";
8
+ import { dirname, join } from "node:path";
9
+ import { fileURLToPath } from "node:url";
10
+
11
+ const root = join(dirname(fileURLToPath(import.meta.url)), "..");
12
+ const dir = join(root, "lib/db/migrations");
13
+ const out = join(root, "lib/db/migrations.generated.ts");
14
+
15
+ export function render() {
16
+ const names = readdirSync(dir)
17
+ .filter((f) => f.endsWith(".ts") && !f.endsWith(".test.ts"))
18
+ .map((f) => f.slice(0, -3))
19
+ .sort();
20
+ return [
21
+ "// Generated by scripts/gen-migrations-index.mjs from lib/db/migrations/.",
22
+ "// Not committed and never edited: add a migration by adding a file there.",
23
+ 'import type { Migration } from "./migration-types";',
24
+ ...names.map((n, i) => `import m${i} from "./migrations/${n}";`),
25
+ "",
26
+ "export const migrationFiles: Record<string, Migration> = {",
27
+ ...names.map((n, i) => ` "${n}": m${i},`),
28
+ "};",
29
+ "",
30
+ ].join("\n");
31
+ }
32
+
33
+ const next = render();
34
+ const current = existsSync(out) ? readFileSync(out, "utf8") : null;
35
+ if (process.argv.includes("--check")) {
36
+ if (current !== next) {
37
+ console.error(
38
+ "lib/db/migrations.generated.ts is missing or stale: run `node scripts/gen-migrations-index.mjs`"
39
+ );
40
+ process.exit(1);
41
+ }
42
+ } else if (current !== next) {
43
+ writeFileSync(out, next);
44
+ }
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import fs from "fs";
13
13
  import path from "path";
14
- import { spawn } from "child_process";
14
+ import { execFileSync, spawn } from "child_process";
15
15
  import { PORT, REPO, demoEnv } from "./config";
16
16
  import { seed, teardownTmux } from "./seed";
17
17
  import { startPeer } from "./peer";
@@ -35,6 +35,10 @@ async function main() {
35
35
  process.env[k] ? [[k, process.env[k]!]] : []
36
36
  )
37
37
  );
38
+ // server.ts imports the generated migrations index.
39
+ execFileSync(process.execPath, ["scripts/gen-migrations-index.mjs"], {
40
+ cwd: REPO,
41
+ });
38
42
  const tsx = path.join(REPO, "node_modules", "tsx", "dist", "cli.mjs");
39
43
  const server = spawn(process.execPath, [tsx, "server.ts"], {
40
44
  cwd: REPO,
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import fs from "fs";
10
10
  import path from "path";
11
- import { spawn, type ChildProcess } from "child_process";
11
+ import { execFileSync, spawn, type ChildProcess } from "child_process";
12
12
  import { BASE_URL, PORT, REPO, ROOT, demoEnv } from "./config";
13
13
  import { seed, teardownTmux } from "./seed";
14
14
  import { shoot } from "./shoot";
@@ -38,6 +38,10 @@ async function waitForServer(server: ChildProcess): Promise<void> {
38
38
 
39
39
  function startServer(): ChildProcess {
40
40
  const log = fs.openSync(path.join(ROOT, "server.log"), "w");
41
+ // server.ts imports the generated migrations index.
42
+ execFileSync(process.execPath, ["scripts/gen-migrations-index.mjs"], {
43
+ cwd: REPO,
44
+ });
41
45
  const tsx = path.join(REPO, "node_modules", "tsx", "dist", "cli.mjs");
42
46
  // Loopback only: the demo never listens on another network.
43
47
  return spawn(process.execPath, [tsx, "server.ts"], {