@proletariat/cli 0.3.91 → 0.3.93

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 (379) hide show
  1. package/bin/validate-better-sqlite3.cjs +129 -0
  2. package/dist/commands/agent/auth.js +2 -6
  3. package/dist/commands/agent/auth.js.map +1 -1
  4. package/dist/commands/agent/cleanup.js +5 -5
  5. package/dist/commands/agent/cleanup.js.map +1 -1
  6. package/dist/commands/agent/gc.d.ts +17 -0
  7. package/dist/commands/agent/gc.js +75 -0
  8. package/dist/commands/agent/gc.js.map +1 -0
  9. package/dist/commands/agent/list.js +2 -2
  10. package/dist/commands/agent/list.js.map +1 -1
  11. package/dist/commands/agent/shell.js +3 -5
  12. package/dist/commands/agent/shell.js.map +1 -1
  13. package/dist/commands/branch/create.js +2 -2
  14. package/dist/commands/branch/create.js.map +1 -1
  15. package/dist/commands/claude/index.js +4 -4
  16. package/dist/commands/claude/index.js.map +1 -1
  17. package/dist/commands/claude/open.js +12 -6
  18. package/dist/commands/claude/open.js.map +1 -1
  19. package/dist/commands/config/index.js +88 -7
  20. package/dist/commands/config/index.js.map +1 -1
  21. package/dist/commands/db/repair.js +6 -6
  22. package/dist/commands/db/repair.js.map +1 -1
  23. package/dist/commands/docker/clean.js +2 -4
  24. package/dist/commands/docker/clean.js.map +1 -1
  25. package/dist/commands/docker/index.js +2 -4
  26. package/dist/commands/docker/index.js.map +1 -1
  27. package/dist/commands/docker/list.js +2 -4
  28. package/dist/commands/docker/list.js.map +1 -1
  29. package/dist/commands/docker/logs.js +2 -4
  30. package/dist/commands/docker/logs.js.map +1 -1
  31. package/dist/commands/docker/restart.js +2 -4
  32. package/dist/commands/docker/restart.js.map +1 -1
  33. package/dist/commands/docker/shell.js +2 -4
  34. package/dist/commands/docker/shell.js.map +1 -1
  35. package/dist/commands/docker/start.js +2 -4
  36. package/dist/commands/docker/start.js.map +1 -1
  37. package/dist/commands/docker/stop.js +2 -4
  38. package/dist/commands/docker/stop.js.map +1 -1
  39. package/dist/commands/docker/sync.js +2 -4
  40. package/dist/commands/docker/sync.js.map +1 -1
  41. package/dist/commands/execution/config.js +39 -0
  42. package/dist/commands/execution/config.js.map +1 -1
  43. package/dist/commands/execution/list.js +2 -4
  44. package/dist/commands/execution/list.js.map +1 -1
  45. package/dist/commands/execution/logs.js +2 -4
  46. package/dist/commands/execution/logs.js.map +1 -1
  47. package/dist/commands/execution/stop.js +2 -4
  48. package/dist/commands/execution/stop.js.map +1 -1
  49. package/dist/commands/execution/view.js +2 -4
  50. package/dist/commands/execution/view.js.map +1 -1
  51. package/dist/commands/gh/login.js +2 -1
  52. package/dist/commands/gh/login.js.map +1 -1
  53. package/dist/commands/gh/status.js +18 -2
  54. package/dist/commands/gh/status.js.map +1 -1
  55. package/dist/commands/hook/export.d.ts +17 -0
  56. package/dist/commands/hook/export.js +52 -0
  57. package/dist/commands/hook/export.js.map +1 -0
  58. package/dist/commands/hook/fire.d.ts +29 -0
  59. package/dist/commands/hook/fire.js +139 -0
  60. package/dist/commands/hook/fire.js.map +1 -0
  61. package/dist/commands/hook/index.d.ts +14 -0
  62. package/dist/commands/hook/index.js +53 -0
  63. package/dist/commands/hook/index.js.map +1 -0
  64. package/dist/commands/hook/list.d.ts +19 -0
  65. package/dist/commands/hook/list.js +136 -0
  66. package/dist/commands/hook/list.js.map +1 -0
  67. package/dist/commands/hook/preset.d.ts +22 -0
  68. package/dist/commands/hook/preset.js +76 -0
  69. package/dist/commands/hook/preset.js.map +1 -0
  70. package/dist/commands/linear/connect.js.map +1 -1
  71. package/dist/commands/mcp-server.js +2 -3
  72. package/dist/commands/mcp-server.js.map +1 -1
  73. package/dist/commands/orchestrate/index.d.ts +35 -0
  74. package/dist/commands/orchestrate/index.js +267 -0
  75. package/dist/commands/orchestrate/index.js.map +1 -0
  76. package/dist/commands/orchestrator/attach.js +2 -3
  77. package/dist/commands/orchestrator/attach.js.map +1 -1
  78. package/dist/commands/orchestrator/start.js +22 -31
  79. package/dist/commands/orchestrator/start.js.map +1 -1
  80. package/dist/commands/orchestrator/stop.js +21 -26
  81. package/dist/commands/orchestrator/stop.js.map +1 -1
  82. package/dist/commands/qa/index.js +5 -5
  83. package/dist/commands/qa/index.js.map +1 -1
  84. package/dist/commands/session/attach.js +5 -7
  85. package/dist/commands/session/attach.js.map +1 -1
  86. package/dist/commands/session/cleanup.js +2 -4
  87. package/dist/commands/session/cleanup.js.map +1 -1
  88. package/dist/commands/session/exec.js +2 -3
  89. package/dist/commands/session/exec.js.map +1 -1
  90. package/dist/commands/session/health.js +2 -4
  91. package/dist/commands/session/health.js.map +1 -1
  92. package/dist/commands/session/inspect.js +2 -3
  93. package/dist/commands/session/inspect.js.map +1 -1
  94. package/dist/commands/session/list.js +2 -4
  95. package/dist/commands/session/list.js.map +1 -1
  96. package/dist/commands/session/peek.js +3 -6
  97. package/dist/commands/session/peek.js.map +1 -1
  98. package/dist/commands/session/poke.js +2 -4
  99. package/dist/commands/session/poke.js.map +1 -1
  100. package/dist/commands/session/prune.js +2 -4
  101. package/dist/commands/session/prune.js.map +1 -1
  102. package/dist/commands/session/report.js +2 -4
  103. package/dist/commands/session/report.js.map +1 -1
  104. package/dist/commands/session/restart.js +2 -3
  105. package/dist/commands/session/restart.js.map +1 -1
  106. package/dist/commands/shortcut/connect.js.map +1 -1
  107. package/dist/commands/ticket/complete.js +20 -5
  108. package/dist/commands/ticket/complete.js.map +1 -1
  109. package/dist/commands/ticket/create.d.ts +3 -4
  110. package/dist/commands/ticket/create.js +69 -88
  111. package/dist/commands/ticket/create.js.map +1 -1
  112. package/dist/commands/ticket/edit.js +22 -14
  113. package/dist/commands/ticket/edit.js.map +1 -1
  114. package/dist/commands/ticket/reassign.js +35 -6
  115. package/dist/commands/ticket/reassign.js.map +1 -1
  116. package/dist/commands/ticket/resolve.js +15 -5
  117. package/dist/commands/ticket/resolve.js.map +1 -1
  118. package/dist/commands/ticket/update.js +31 -14
  119. package/dist/commands/ticket/update.js.map +1 -1
  120. package/dist/commands/ticket/view.js +9 -5
  121. package/dist/commands/ticket/view.js.map +1 -1
  122. package/dist/commands/trello/configure.js.map +1 -1
  123. package/dist/commands/work/complete.js +2 -3
  124. package/dist/commands/work/complete.js.map +1 -1
  125. package/dist/commands/work/hooks/add.js +2 -4
  126. package/dist/commands/work/hooks/add.js.map +1 -1
  127. package/dist/commands/work/hooks/list.js +2 -4
  128. package/dist/commands/work/hooks/list.js.map +1 -1
  129. package/dist/commands/work/hooks/remove.js +2 -4
  130. package/dist/commands/work/hooks/remove.js.map +1 -1
  131. package/dist/commands/work/hooks/toggle.js +2 -4
  132. package/dist/commands/work/hooks/toggle.js.map +1 -1
  133. package/dist/commands/work/index.js +4 -0
  134. package/dist/commands/work/index.js.map +1 -1
  135. package/dist/commands/work/ready.js +2 -3
  136. package/dist/commands/work/ready.js.map +1 -1
  137. package/dist/commands/work/rebase.d.ts +33 -0
  138. package/dist/commands/work/rebase.js +394 -0
  139. package/dist/commands/work/rebase.js.map +1 -0
  140. package/dist/commands/work/ship.d.ts +1 -0
  141. package/dist/commands/work/ship.js +49 -4
  142. package/dist/commands/work/ship.js.map +1 -1
  143. package/dist/commands/work/spawn.js +2 -4
  144. package/dist/commands/work/spawn.js.map +1 -1
  145. package/dist/commands/work/start.d.ts +7 -0
  146. package/dist/commands/work/start.js +190 -22
  147. package/dist/commands/work/start.js.map +1 -1
  148. package/dist/commands/work/stop.js +2 -4
  149. package/dist/commands/work/stop.js.map +1 -1
  150. package/dist/commands/work/watch.js +2 -4
  151. package/dist/commands/work/watch.js.map +1 -1
  152. package/dist/hooks/init.js +16 -7
  153. package/dist/hooks/init.js.map +1 -1
  154. package/dist/lib/agents/commands.d.ts +9 -3
  155. package/dist/lib/agents/commands.js +103 -88
  156. package/dist/lib/agents/commands.js.map +1 -1
  157. package/dist/lib/asana/config.d.ts +8 -8
  158. package/dist/lib/asana/config.js.map +1 -1
  159. package/dist/lib/asana/mapper.d.ts +2 -2
  160. package/dist/lib/asana/mapper.js.map +1 -1
  161. package/dist/lib/dashboard/server.js +1 -1
  162. package/dist/lib/dashboard/server.js.map +1 -1
  163. package/dist/lib/database/agents.d.ts +62 -4
  164. package/dist/lib/database/agents.js +163 -12
  165. package/dist/lib/database/agents.js.map +1 -1
  166. package/dist/lib/database/db-safety.d.ts +4 -4
  167. package/dist/lib/database/db-safety.js +10 -10
  168. package/dist/lib/database/db-safety.js.map +1 -1
  169. package/dist/lib/database/driver.d.ts +21 -19
  170. package/dist/lib/database/driver.js +21 -20
  171. package/dist/lib/database/driver.js.map +1 -1
  172. package/dist/lib/database/drizzle-schema.d.ts +2 -2
  173. package/dist/lib/database/drizzle-schema.js +2 -1
  174. package/dist/lib/database/drizzle-schema.js.map +1 -1
  175. package/dist/lib/database/drizzle.d.ts +9 -9
  176. package/dist/lib/database/drizzle.js +17 -9
  177. package/dist/lib/database/drizzle.js.map +1 -1
  178. package/dist/lib/database/index.d.ts +1 -1
  179. package/dist/lib/database/index.js +1 -1
  180. package/dist/lib/database/index.js.map +1 -1
  181. package/dist/lib/database/migrations/0001_baseline.js.map +1 -1
  182. package/dist/lib/database/migrations/0002_work_hooks.js.map +1 -1
  183. package/dist/lib/database/migrations/0003_actions_redesign.js.map +1 -1
  184. package/dist/lib/database/migrations/0004_workflow_rules.js.map +1 -1
  185. package/dist/lib/database/migrations/0005_provider_status_mapping.js.map +1 -1
  186. package/dist/lib/database/migrations/0006_drop_theme_names_used.js.map +1 -1
  187. package/dist/lib/database/migrations/0007_add_worktree_columns.js.map +1 -1
  188. package/dist/lib/database/migrations/0008_add_agent_mount_mode.js.map +1 -1
  189. package/dist/lib/database/migrations/0009_create_media_items.js.map +1 -1
  190. package/dist/lib/database/migrations/0010_add_ticket_position.js.map +1 -1
  191. package/dist/lib/database/migrations/0011_add_review_gate.js.map +1 -1
  192. package/dist/lib/database/migrations/0012_add_action_network_allowlist.js.map +1 -1
  193. package/dist/lib/database/migrations/0013_agent_lifecycle_states.d.ts +11 -0
  194. package/dist/lib/database/migrations/0013_agent_lifecycle_states.js +47 -0
  195. package/dist/lib/database/migrations/0013_agent_lifecycle_states.js.map +1 -0
  196. package/dist/lib/database/migrations/0014_agent_work_lifecycle.d.ts +10 -0
  197. package/dist/lib/database/migrations/0014_agent_work_lifecycle.js +31 -0
  198. package/dist/lib/database/migrations/0014_agent_work_lifecycle.js.map +1 -0
  199. package/dist/lib/database/migrations/0015_orchestrate_hooks.d.ts +8 -0
  200. package/dist/lib/database/migrations/0015_orchestrate_hooks.js +35 -0
  201. package/dist/lib/database/migrations/0015_orchestrate_hooks.js.map +1 -0
  202. package/dist/lib/database/migrations/0016_schema_catchup.d.ts +15 -0
  203. package/dist/lib/database/migrations/0016_schema_catchup.js +154 -0
  204. package/dist/lib/database/migrations/0016_schema_catchup.js.map +1 -0
  205. package/dist/lib/database/migrations/index.js +8 -0
  206. package/dist/lib/database/migrations/index.js.map +1 -1
  207. package/dist/lib/database/migrator.d.ts +3 -3
  208. package/dist/lib/database/migrator.js.map +1 -1
  209. package/dist/lib/database/native-validation.d.ts +40 -0
  210. package/dist/lib/database/native-validation.js +123 -0
  211. package/dist/lib/database/native-validation.js.map +1 -0
  212. package/dist/lib/database/pmo-bootstrap.d.ts +2 -2
  213. package/dist/lib/database/pmo-bootstrap.js +28 -6
  214. package/dist/lib/database/pmo-bootstrap.js.map +1 -1
  215. package/dist/lib/database/repositories.js +1 -1
  216. package/dist/lib/database/repositories.js.map +1 -1
  217. package/dist/lib/database/settings-store.d.ts +3 -3
  218. package/dist/lib/database/settings-store.js +2 -2
  219. package/dist/lib/database/settings-store.js.map +1 -1
  220. package/dist/lib/database/themes.js +3 -3
  221. package/dist/lib/database/themes.js.map +1 -1
  222. package/dist/lib/database/workspace-schema.d.ts +1 -1
  223. package/dist/lib/database/workspace-schema.js +3 -1
  224. package/dist/lib/database/workspace-schema.js.map +1 -1
  225. package/dist/lib/database/workspace.d.ts +4 -4
  226. package/dist/lib/database/workspace.js +25 -4
  227. package/dist/lib/database/workspace.js.map +1 -1
  228. package/dist/lib/events/events.d.ts +28 -0
  229. package/dist/lib/events/index.d.ts +1 -1
  230. package/dist/lib/events/index.js.map +1 -1
  231. package/dist/lib/execution/config.d.ts +35 -33
  232. package/dist/lib/execution/config.js +14 -0
  233. package/dist/lib/execution/config.js.map +1 -1
  234. package/dist/lib/execution/devcontainer.d.ts +1 -1
  235. package/dist/lib/execution/devcontainer.js +37 -4
  236. package/dist/lib/execution/devcontainer.js.map +1 -1
  237. package/dist/lib/execution/runners/devcontainer-tmux.js +1 -1
  238. package/dist/lib/execution/runners/devcontainer-tmux.js.map +1 -1
  239. package/dist/lib/execution/runners/devcontainer.js +9 -1
  240. package/dist/lib/execution/runners/devcontainer.js.map +1 -1
  241. package/dist/lib/execution/runners/docker-credentials.d.ts +8 -0
  242. package/dist/lib/execution/runners/docker-credentials.js +20 -3
  243. package/dist/lib/execution/runners/docker-credentials.js.map +1 -1
  244. package/dist/lib/execution/runners/docker-management.d.ts +31 -0
  245. package/dist/lib/execution/runners/docker-management.js +95 -0
  246. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  247. package/dist/lib/execution/runners/index.d.ts +1 -1
  248. package/dist/lib/execution/runners/index.js +1 -1
  249. package/dist/lib/execution/runners/index.js.map +1 -1
  250. package/dist/lib/execution/runners/shared.d.ts +23 -1
  251. package/dist/lib/execution/runners/shared.js +112 -1
  252. package/dist/lib/execution/runners/shared.js.map +1 -1
  253. package/dist/lib/execution/spawner.d.ts +3 -3
  254. package/dist/lib/execution/spawner.js +8 -1
  255. package/dist/lib/execution/spawner.js.map +1 -1
  256. package/dist/lib/execution/storage.d.ts +3 -3
  257. package/dist/lib/execution/storage.js.map +1 -1
  258. package/dist/lib/execution/types.js +2 -2
  259. package/dist/lib/external-issues/mapping-store.d.ts +2 -2
  260. package/dist/lib/external-issues/mapping-store.js.map +1 -1
  261. package/dist/lib/external-issues/outbound-sync.d.ts +3 -3
  262. package/dist/lib/external-issues/outbound-sync.js.map +1 -1
  263. package/dist/lib/jira/config.d.ts +5 -5
  264. package/dist/lib/jira/config.js.map +1 -1
  265. package/dist/lib/linear/client.d.ts +13 -0
  266. package/dist/lib/linear/client.js +37 -0
  267. package/dist/lib/linear/client.js.map +1 -1
  268. package/dist/lib/linear/config.d.ts +8 -8
  269. package/dist/lib/linear/config.js.map +1 -1
  270. package/dist/lib/linear/mapper.d.ts +2 -2
  271. package/dist/lib/linear/mapper.js.map +1 -1
  272. package/dist/lib/mcp/types.d.ts +2 -2
  273. package/dist/lib/monday/config.d.ts +9 -9
  274. package/dist/lib/monday/config.js.map +1 -1
  275. package/dist/lib/monday/mapper.d.ts +2 -2
  276. package/dist/lib/monday/mapper.js.map +1 -1
  277. package/dist/lib/orchestrate/actions.d.ts +20 -0
  278. package/dist/lib/orchestrate/actions.js +194 -0
  279. package/dist/lib/orchestrate/actions.js.map +1 -0
  280. package/dist/lib/orchestrate/config-loader.d.ts +31 -0
  281. package/dist/lib/orchestrate/config-loader.js +201 -0
  282. package/dist/lib/orchestrate/config-loader.js.map +1 -0
  283. package/dist/lib/orchestrate/engine.d.ts +94 -0
  284. package/dist/lib/orchestrate/engine.js +290 -0
  285. package/dist/lib/orchestrate/engine.js.map +1 -0
  286. package/dist/lib/orchestrate/index.d.ts +16 -0
  287. package/dist/lib/orchestrate/index.js +14 -0
  288. package/dist/lib/orchestrate/index.js.map +1 -0
  289. package/dist/lib/orchestrate/poller.d.ts +58 -0
  290. package/dist/lib/orchestrate/poller.js +282 -0
  291. package/dist/lib/orchestrate/poller.js.map +1 -0
  292. package/dist/lib/orchestrate/presets.d.ts +27 -0
  293. package/dist/lib/orchestrate/presets.js +65 -0
  294. package/dist/lib/orchestrate/presets.js.map +1 -0
  295. package/dist/lib/orchestrate/types.d.ts +93 -0
  296. package/dist/lib/orchestrate/types.js +46 -0
  297. package/dist/lib/orchestrate/types.js.map +1 -0
  298. package/dist/lib/pmo/diet.d.ts +3 -3
  299. package/dist/lib/pmo/diet.js.map +1 -1
  300. package/dist/lib/pmo/find-pmo.js +5 -1
  301. package/dist/lib/pmo/find-pmo.js.map +1 -1
  302. package/dist/lib/pmo/index.js +7 -6
  303. package/dist/lib/pmo/index.js.map +1 -1
  304. package/dist/lib/pmo/storage/base.d.ts +15 -15
  305. package/dist/lib/pmo/storage/base.js.map +1 -1
  306. package/dist/lib/pmo/storage/dependencies.js.map +1 -1
  307. package/dist/lib/pmo/storage/helpers.js.map +1 -1
  308. package/dist/lib/pmo/storage/index.d.ts +2 -8
  309. package/dist/lib/pmo/storage/index.js +2 -10
  310. package/dist/lib/pmo/storage/index.js.map +1 -1
  311. package/dist/lib/pmo/storage/projects.js.map +1 -1
  312. package/dist/lib/pmo/storage/roadmaps.js +4 -4
  313. package/dist/lib/pmo/storage/roadmaps.js.map +1 -1
  314. package/dist/lib/pmo/storage/specs.js.map +1 -1
  315. package/dist/lib/pmo/storage/statuses.js +1 -1
  316. package/dist/lib/pmo/storage/statuses.js.map +1 -1
  317. package/dist/lib/pmo/storage/tickets.js +1 -1
  318. package/dist/lib/pmo/storage/tickets.js.map +1 -1
  319. package/dist/lib/pmo/storage/types.d.ts +2 -2
  320. package/dist/lib/pmo/storage/views.js.map +1 -1
  321. package/dist/lib/pr/index.d.ts +28 -0
  322. package/dist/lib/pr/index.js +100 -0
  323. package/dist/lib/pr/index.js.map +1 -1
  324. package/dist/lib/providers/event-emitting-provider.d.ts +4 -2
  325. package/dist/lib/providers/event-emitting-provider.js +12 -0
  326. package/dist/lib/providers/event-emitting-provider.js.map +1 -1
  327. package/dist/lib/providers/index.d.ts +1 -1
  328. package/dist/lib/providers/index.js.map +1 -1
  329. package/dist/lib/providers/linear-provider.d.ts +6 -4
  330. package/dist/lib/providers/linear-provider.js +106 -0
  331. package/dist/lib/providers/linear-provider.js.map +1 -1
  332. package/dist/lib/providers/pmo-provider.d.ts +4 -2
  333. package/dist/lib/providers/pmo-provider.js +26 -0
  334. package/dist/lib/providers/pmo-provider.js.map +1 -1
  335. package/dist/lib/providers/resolver.d.ts +3 -3
  336. package/dist/lib/providers/resolver.js.map +1 -1
  337. package/dist/lib/providers/state-resolution.d.ts +8 -8
  338. package/dist/lib/providers/state-resolution.js.map +1 -1
  339. package/dist/lib/providers/status-mapping.d.ts +2 -2
  340. package/dist/lib/providers/status-mapping.js.map +1 -1
  341. package/dist/lib/providers/trigger-config.d.ts +4 -4
  342. package/dist/lib/providers/trigger-config.js.map +1 -1
  343. package/dist/lib/providers/types.d.ts +31 -3
  344. package/dist/lib/registry/index.js +11 -4
  345. package/dist/lib/registry/index.js.map +1 -1
  346. package/dist/lib/shortcut/config.d.ts +8 -8
  347. package/dist/lib/shortcut/config.js.map +1 -1
  348. package/dist/lib/telemetry/analytics.d.ts +1 -1
  349. package/dist/lib/telemetry/analytics.js +16 -8
  350. package/dist/lib/telemetry/analytics.js.map +1 -1
  351. package/dist/lib/trello/config.d.ts +10 -10
  352. package/dist/lib/trello/config.js.map +1 -1
  353. package/dist/lib/trello/mapper.d.ts +2 -2
  354. package/dist/lib/trello/mapper.js.map +1 -1
  355. package/dist/lib/update-check.d.ts +8 -3
  356. package/dist/lib/update-check.js +16 -5
  357. package/dist/lib/update-check.js.map +1 -1
  358. package/dist/lib/work-lifecycle/action-chaining.d.ts +3 -3
  359. package/dist/lib/work-lifecycle/action-chaining.js.map +1 -1
  360. package/dist/lib/work-lifecycle/hooks/manager.d.ts +3 -3
  361. package/dist/lib/work-lifecycle/hooks/manager.js.map +1 -1
  362. package/dist/lib/work-lifecycle/hooks/storage.d.ts +3 -3
  363. package/dist/lib/work-lifecycle/hooks/storage.js.map +1 -1
  364. package/dist/lib/work-lifecycle/hooks/types.d.ts +3 -2
  365. package/dist/lib/work-lifecycle/hooks/types.js +12 -0
  366. package/dist/lib/work-lifecycle/hooks/types.js.map +1 -1
  367. package/dist/lib/work-lifecycle/post-execution.d.ts +2 -2
  368. package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
  369. package/dist/lib/work-lifecycle/rule-evaluator.d.ts +3 -3
  370. package/dist/lib/work-lifecycle/rule-evaluator.js.map +1 -1
  371. package/dist/lib/work-source/config.d.ts +6 -6
  372. package/dist/lib/work-source/config.js.map +1 -1
  373. package/dist/lib/work-source/provider-sources.d.ts +12 -12
  374. package/dist/lib/work-source/provider-sources.js.map +1 -1
  375. package/oclif.manifest.json +1305 -650
  376. package/package.json +4 -3
  377. package/dist/lib/database/sqlite.d.ts +0 -155
  378. package/dist/lib/database/sqlite.js +0 -358
  379. package/dist/lib/database/sqlite.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lib/dashboard/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lib/dashboard/server.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,17 @@
4
4
  * CRUD operations for agents in the workspace database.
5
5
  */
6
6
  export type AgentType = 'persistent' | 'ephemeral';
7
- export type AgentStatus = 'active' | 'cleaned';
7
+ export type AgentStatus = 'active' | 'running' | 'completed' | 'dead' | 'cleaned';
8
8
  export type MountMode = 'worktree' | 'clone';
9
+ /**
10
+ * Statuses that indicate an agent's name is available for recycling.
11
+ * These agents have finished their work or been cleaned up.
12
+ */
13
+ export declare const RECYCLABLE_STATUSES: AgentStatus[];
14
+ /**
15
+ * Statuses that indicate an agent is still "alive" (name is in use).
16
+ */
17
+ export declare const ACTIVE_STATUSES: AgentStatus[];
9
18
  export interface Agent {
10
19
  name: string;
11
20
  type: AgentType;
@@ -28,11 +37,13 @@ export declare function addAgentsToDatabase(workspacePath: string, agentNames: s
28
37
  export declare function addEphemeralAgentToDatabase(workspacePath: string, agentName: string, baseName: string, themeId?: string, mountMode?: MountMode): Agent;
29
38
  /**
30
39
  * Try to add an ephemeral agent to the database.
31
- * Returns null if the name already exists (concurrency-safe).
40
+ * Returns null if the name already exists and is in an active state (concurrency-safe).
41
+ * If the name exists but is in a terminal state (completed/dead/cleaned), recycles it.
32
42
  */
33
43
  export declare function tryAddEphemeralAgentToDatabase(workspacePath: string, agentName: string, baseName: string, themeId?: string, mountMode?: MountMode): Agent | null;
34
44
  /**
35
- * Get all ephemeral agent names from the database
45
+ * Get ephemeral agent names that are still in use (active or running).
46
+ * Names of completed/dead/cleaned agents are excluded to allow recycling.
36
47
  */
37
48
  export declare function getEphemeralAgentNames(workspacePath: string): Set<string>;
38
49
  /**
@@ -40,7 +51,9 @@ export declare function getEphemeralAgentNames(workspacePath: string): Set<strin
40
51
  */
41
52
  export declare function removeEphemeralAgent(workspacePath: string, agentName: string): void;
42
53
  /**
43
- * Get all agents in workspace
54
+ * Get all agents in workspace.
55
+ * By default returns agents with active lifecycle statuses (active, running).
56
+ * Set includeCleanedUp=true to include completed, dead, and cleaned agents.
44
57
  */
45
58
  export declare function getWorkspaceAgents(workspacePath: string, includeCleanedUp?: boolean): Agent[];
46
59
  /**
@@ -53,6 +66,9 @@ export declare function getAgentByPath(workspacePath: string, absolutePath: stri
53
66
  export declare function markAgentCleaned(workspacePath: string, agentName: string): void;
54
67
  /**
55
68
  * Sync agents in database with what exists on disk.
69
+ * Agents whose directories no longer exist are transitioned:
70
+ * - 'running' agents -> 'dead' (unexpected disappearance)
71
+ * - 'active' agents -> 'cleaned' (normal cleanup)
56
72
  */
57
73
  export declare function syncAgentsWithDisk(workspacePath: string): string[];
58
74
  export interface DiscoverResult {
@@ -71,3 +87,45 @@ export declare function discoverAgentsOnDisk(workspacePath: string): DiscoverRes
71
87
  * Remove agents from database
72
88
  */
73
89
  export declare function removeAgentsFromDatabase(workspacePath: string, agentNames: string[]): void;
90
+ /**
91
+ * Mark an agent as running (actively executing work).
92
+ * Valid transition from: active
93
+ */
94
+ export declare function markAgentRunning(workspacePath: string, agentName: string): void;
95
+ /**
96
+ * Mark an agent as completed (work finished successfully).
97
+ * Valid transition from: active, running
98
+ */
99
+ export declare function markAgentCompleted(workspacePath: string, agentName: string): void;
100
+ /**
101
+ * Mark an agent as dead (died unexpectedly / orphaned).
102
+ * Valid transition from: active, running
103
+ */
104
+ export declare function markAgentDead(workspacePath: string, agentName: string): void;
105
+ /**
106
+ * Reactivate an agent (e.g., when its directory reappears on disk).
107
+ * Valid transition from: completed, dead, cleaned
108
+ */
109
+ export declare function reactivateAgent(workspacePath: string, agentName: string): void;
110
+ /**
111
+ * Get agent record by name (any status).
112
+ */
113
+ export declare function getAgent(workspacePath: string, agentName: string): Agent | null;
114
+ export interface PruneOptions {
115
+ /** Only prune agents older than this many days (default: 30) */
116
+ olderThanDays?: number;
117
+ /** Only prune agents with these statuses (default: completed, dead, cleaned) */
118
+ statuses?: AgentStatus[];
119
+ /** Dry run - return what would be pruned without actually deleting */
120
+ dryRun?: boolean;
121
+ }
122
+ export interface PruneResult {
123
+ pruned: Agent[];
124
+ dryRun: boolean;
125
+ }
126
+ /**
127
+ * Prune (permanently delete) stale agent records from the database.
128
+ * Only removes agents in terminal states (completed, dead, cleaned) that
129
+ * are older than the specified threshold.
130
+ */
131
+ export declare function pruneAgentRecords(workspacePath: string, options?: PruneOptions): PruneResult;
@@ -10,6 +10,15 @@ import { getThemePersistentDir } from '../themes.js';
10
10
  import { createDrizzleConnection } from './drizzle.js';
11
11
  import { workspace as workspaceTable, repositories as repositoriesTable, agents as agentsTable, agentWorktrees as agentWorktreesTable, } from './drizzle-schema.js';
12
12
  import { withDrizzle, openWorkspaceDatabase } from './workspace.js';
13
+ /**
14
+ * Statuses that indicate an agent's name is available for recycling.
15
+ * These agents have finished their work or been cleaned up.
16
+ */
17
+ export const RECYCLABLE_STATUSES = ['completed', 'dead', 'cleaned'];
18
+ /**
19
+ * Statuses that indicate an agent is still "alive" (name is in use).
20
+ */
21
+ export const ACTIVE_STATUSES = ['active', 'running'];
13
22
  /**
14
23
  * Map a Drizzle agent row to the Agent interface.
15
24
  */
@@ -106,7 +115,8 @@ export function addEphemeralAgentToDatabase(workspacePath, agentName, baseName,
106
115
  }
107
116
  /**
108
117
  * Try to add an ephemeral agent to the database.
109
- * Returns null if the name already exists (concurrency-safe).
118
+ * Returns null if the name already exists and is in an active state (concurrency-safe).
119
+ * If the name exists but is in a terminal state (completed/dead/cleaned), recycles it.
110
120
  */
111
121
  export function tryAddEphemeralAgentToDatabase(workspacePath, agentName, baseName, themeId, mountMode = 'worktree') {
112
122
  const sqliteDb = openWorkspaceDatabase(workspacePath);
@@ -114,6 +124,39 @@ export function tryAddEphemeralAgentToDatabase(workspacePath, agentName, baseNam
114
124
  try {
115
125
  const now = new Date().toISOString();
116
126
  const worktreePath = `agents/temp/${agentName}`;
127
+ // Check if there's an existing record with this name
128
+ const existing = ddb.select().from(agentsTable)
129
+ .where(eq(agentsTable.name, agentName))
130
+ .get();
131
+ if (existing) {
132
+ const existingAgent = toAgent(existing);
133
+ // Only recycle names from terminal states
134
+ if (existingAgent.status === 'completed' || existingAgent.status === 'dead' || existingAgent.status === 'cleaned') {
135
+ // Recycle: update the existing record back to active
136
+ ddb.update(agentsTable)
137
+ .set({
138
+ type: 'ephemeral',
139
+ status: 'active',
140
+ baseName,
141
+ themeId: themeId || null,
142
+ worktreePath,
143
+ mountMode,
144
+ createdAt: now,
145
+ cleanedAt: null,
146
+ })
147
+ .where(eq(agentsTable.name, agentName))
148
+ .run();
149
+ const agent = ddb.select().from(agentsTable)
150
+ .where(eq(agentsTable.name, agentName))
151
+ .get();
152
+ if (!agent)
153
+ return null;
154
+ return toAgent(agent);
155
+ }
156
+ // Name is in use by an active/running agent — collision
157
+ return null;
158
+ }
159
+ // No existing record — insert new
117
160
  ddb.insert(agentsTable).values({
118
161
  name: agentName,
119
162
  type: 'ephemeral',
@@ -132,10 +175,8 @@ export function tryAddEphemeralAgentToDatabase(workspacePath, agentName, baseNam
132
175
  return toAgent(agent);
133
176
  }
134
177
  catch (err) {
135
- // sql.js throws plain Error with constraint message (no .code property like better-sqlite3)
136
178
  const sqliteErr = err;
137
- if (sqliteErr.code === 'SQLITE_CONSTRAINT_PRIMARYKEY' || sqliteErr.code === 'SQLITE_CONSTRAINT_UNIQUE' ||
138
- (sqliteErr.message && sqliteErr.message.includes('UNIQUE constraint failed'))) {
179
+ if (sqliteErr.code === 'SQLITE_CONSTRAINT_PRIMARYKEY' || sqliteErr.code === 'SQLITE_CONSTRAINT_UNIQUE') {
139
180
  return null;
140
181
  }
141
182
  throw err;
@@ -145,15 +186,16 @@ export function tryAddEphemeralAgentToDatabase(workspacePath, agentName, baseNam
145
186
  }
146
187
  }
147
188
  /**
148
- * Get all ephemeral agent names from the database
189
+ * Get ephemeral agent names that are still in use (active or running).
190
+ * Names of completed/dead/cleaned agents are excluded to allow recycling.
149
191
  */
150
192
  export function getEphemeralAgentNames(workspacePath) {
151
193
  return withDrizzle(workspacePath, (ddb) => {
152
194
  const rows = ddb.select({ name: agentsTable.name })
153
195
  .from(agentsTable)
154
- .where(eq(agentsTable.type, 'ephemeral'))
196
+ .where(and(eq(agentsTable.type, 'ephemeral'), or(eq(agentsTable.status, 'active'), eq(agentsTable.status, 'running'))))
155
197
  .all();
156
- return new Set(rows.map((a) => a.name.toLowerCase()));
198
+ return new Set(rows.map(a => a.name.toLowerCase()));
157
199
  });
158
200
  }
159
201
  /**
@@ -167,7 +209,9 @@ export function removeEphemeralAgent(workspacePath, agentName) {
167
209
  });
168
210
  }
169
211
  /**
170
- * Get all agents in workspace
212
+ * Get all agents in workspace.
213
+ * By default returns agents with active lifecycle statuses (active, running).
214
+ * Set includeCleanedUp=true to include completed, dead, and cleaned agents.
171
215
  */
172
216
  export function getWorkspaceAgents(workspacePath, includeCleanedUp = false) {
173
217
  return withDrizzle(workspacePath, (ddb) => {
@@ -179,7 +223,7 @@ export function getWorkspaceAgents(workspacePath, includeCleanedUp = false) {
179
223
  }
180
224
  else {
181
225
  rows = ddb.select().from(agentsTable)
182
- .where(or(eq(agentsTable.status, 'active'), isNull(agentsTable.status)))
226
+ .where(or(eq(agentsTable.status, 'active'), eq(agentsTable.status, 'running'), isNull(agentsTable.status)))
183
227
  .orderBy(asc(agentsTable.createdAt))
184
228
  .all();
185
229
  }
@@ -198,7 +242,7 @@ export function getAgentByPath(workspacePath, absolutePath) {
198
242
  const relativePath = path.relative(normalizedWorkspace, normalizedPath);
199
243
  return withDrizzle(workspacePath, (ddb) => {
200
244
  const rows = ddb.select().from(agentsTable)
201
- .where(or(eq(agentsTable.status, 'active'), isNull(agentsTable.status)))
245
+ .where(or(eq(agentsTable.status, 'active'), eq(agentsTable.status, 'running'), isNull(agentsTable.status)))
202
246
  .all();
203
247
  for (const row of rows) {
204
248
  if (row.worktreePath) {
@@ -223,6 +267,9 @@ export function markAgentCleaned(workspacePath, agentName) {
223
267
  }
224
268
  /**
225
269
  * Sync agents in database with what exists on disk.
270
+ * Agents whose directories no longer exist are transitioned:
271
+ * - 'running' agents -> 'dead' (unexpected disappearance)
272
+ * - 'active' agents -> 'cleaned' (normal cleanup)
226
273
  */
227
274
  export function syncAgentsWithDisk(workspacePath) {
228
275
  const agentList = getWorkspaceAgents(workspacePath, false);
@@ -239,7 +286,12 @@ export function syncAgentsWithDisk(workspacePath) {
239
286
  agentDir = path.join(workspacePath, 'agents', 'staff', agent.name);
240
287
  }
241
288
  if (!fs.existsSync(agentDir)) {
242
- markAgentCleaned(workspacePath, agent.name);
289
+ if (agent.status === 'running') {
290
+ markAgentDead(workspacePath, agent.name);
291
+ }
292
+ else {
293
+ markAgentCleaned(workspacePath, agent.name);
294
+ }
243
295
  cleanedAgents.push(agent.name);
244
296
  }
245
297
  }
@@ -254,7 +306,7 @@ export function discoverAgentsOnDisk(workspacePath) {
254
306
  const activeAgents = getWorkspaceAgents(workspacePath, false);
255
307
  const activeNames = new Set(activeAgents.map(a => a.name.toLowerCase()));
256
308
  const allAgents = getWorkspaceAgents(workspacePath, true);
257
- const cleanedAgentsMap = new Map(allAgents.filter(a => a.status === 'cleaned').map(a => [a.name.toLowerCase(), a]));
309
+ const cleanedAgentsMap = new Map(allAgents.filter(a => a.status === 'cleaned' || a.status === 'completed' || a.status === 'dead').map(a => [a.name.toLowerCase(), a]));
258
310
  withDrizzle(workspacePath, (ddb) => {
259
311
  // Scan staff directory
260
312
  const staffDir = path.join(workspacePath, 'agents', 'staff');
@@ -340,4 +392,103 @@ export function removeAgentsFromDatabase(workspacePath, agentNames) {
340
392
  transaction();
341
393
  });
342
394
  }
395
+ // =============================================================================
396
+ // Agent Lifecycle Transitions
397
+ // =============================================================================
398
+ /**
399
+ * Mark an agent as running (actively executing work).
400
+ * Valid transition from: active
401
+ */
402
+ export function markAgentRunning(workspacePath, agentName) {
403
+ withDrizzle(workspacePath, (ddb) => {
404
+ ddb.update(agentsTable)
405
+ .set({ status: 'running' })
406
+ .where(and(eq(agentsTable.name, agentName), eq(agentsTable.status, 'active')))
407
+ .run();
408
+ });
409
+ }
410
+ /**
411
+ * Mark an agent as completed (work finished successfully).
412
+ * Valid transition from: active, running
413
+ */
414
+ export function markAgentCompleted(workspacePath, agentName) {
415
+ withDrizzle(workspacePath, (ddb) => {
416
+ ddb.update(agentsTable)
417
+ .set({ status: 'completed', cleanedAt: new Date().toISOString() })
418
+ .where(and(eq(agentsTable.name, agentName), or(eq(agentsTable.status, 'active'), eq(agentsTable.status, 'running'))))
419
+ .run();
420
+ });
421
+ }
422
+ /**
423
+ * Mark an agent as dead (died unexpectedly / orphaned).
424
+ * Valid transition from: active, running
425
+ */
426
+ export function markAgentDead(workspacePath, agentName) {
427
+ withDrizzle(workspacePath, (ddb) => {
428
+ ddb.update(agentsTable)
429
+ .set({ status: 'dead', cleanedAt: new Date().toISOString() })
430
+ .where(and(eq(agentsTable.name, agentName), or(eq(agentsTable.status, 'active'), eq(agentsTable.status, 'running'))))
431
+ .run();
432
+ });
433
+ }
434
+ /**
435
+ * Reactivate an agent (e.g., when its directory reappears on disk).
436
+ * Valid transition from: completed, dead, cleaned
437
+ */
438
+ export function reactivateAgent(workspacePath, agentName) {
439
+ withDrizzle(workspacePath, (ddb) => {
440
+ ddb.update(agentsTable)
441
+ .set({ status: 'active', cleanedAt: null })
442
+ .where(and(eq(agentsTable.name, agentName), or(eq(agentsTable.status, 'completed'), eq(agentsTable.status, 'dead'), eq(agentsTable.status, 'cleaned'))))
443
+ .run();
444
+ });
445
+ }
446
+ /**
447
+ * Get agent record by name (any status).
448
+ */
449
+ export function getAgent(workspacePath, agentName) {
450
+ return withDrizzle(workspacePath, (ddb) => {
451
+ const row = ddb.select().from(agentsTable)
452
+ .where(eq(agentsTable.name, agentName))
453
+ .get();
454
+ return row ? toAgent(row) : null;
455
+ });
456
+ }
457
+ /**
458
+ * Prune (permanently delete) stale agent records from the database.
459
+ * Only removes agents in terminal states (completed, dead, cleaned) that
460
+ * are older than the specified threshold.
461
+ */
462
+ export function pruneAgentRecords(workspacePath, options) {
463
+ const olderThanDays = options?.olderThanDays ?? 30;
464
+ const statuses = options?.statuses ?? RECYCLABLE_STATUSES;
465
+ const dryRun = options?.dryRun ?? false;
466
+ const cutoffDate = new Date();
467
+ cutoffDate.setDate(cutoffDate.getDate() - olderThanDays);
468
+ const cutoffIso = cutoffDate.toISOString();
469
+ return withDrizzle(workspacePath, (ddb) => {
470
+ // Find candidates for pruning
471
+ const candidates = ddb.select().from(agentsTable)
472
+ .where(and(
473
+ // Only prune agents in the specified terminal statuses
474
+ or(...statuses.map(s => eq(agentsTable.status, s))),
475
+ // Only prune agents created before the cutoff
476
+ sql `${agentsTable.createdAt} < ${cutoffIso}`))
477
+ .all()
478
+ .map(toAgent);
479
+ if (dryRun) {
480
+ return { pruned: candidates, dryRun: true };
481
+ }
482
+ // Delete the candidates and their worktree records
483
+ for (const agent of candidates) {
484
+ ddb.delete(agentWorktreesTable)
485
+ .where(eq(agentWorktreesTable.agentName, agent.name))
486
+ .run();
487
+ ddb.delete(agentsTable)
488
+ .where(eq(agentsTable.name, agent.name))
489
+ .run();
490
+ }
491
+ return { pruned: candidates, dryRun: false };
492
+ });
493
+ }
343
494
  //# sourceMappingURL=agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/lib/database/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/lib/database/agents.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,13 @@
9
9
  *
10
10
  * See: PRLT-1081
11
11
  */
12
- import { SqliteDatabase } from './sqlite.js';
12
+ import Database from 'better-sqlite3';
13
13
  /**
14
14
  * Enable WAL journal mode on a database connection.
15
15
  * WAL allows concurrent readers with one writer and is significantly
16
16
  * more resistant to corruption than the default journal_mode=delete.
17
17
  */
18
- export declare function enableWALMode(db: SqliteDatabase): void;
18
+ export declare function enableWALMode(db: Database.Database): void;
19
19
  /**
20
20
  * Get the backup path for a given database path and backup number.
21
21
  */
@@ -36,12 +36,12 @@ export interface IntegrityCheckResult {
36
36
  * Run PRAGMA integrity_check on a database.
37
37
  * Returns { ok: true } if the database is healthy, or { ok: false, errors } with details.
38
38
  */
39
- export declare function checkIntegrity(db: SqliteDatabase): IntegrityCheckResult;
39
+ export declare function checkIntegrity(db: Database.Database): IntegrityCheckResult;
40
40
  /**
41
41
  * Quick integrity check using PRAGMA quick_check (faster than full integrity_check).
42
42
  * Skips checking that the contents of table rows match the indexes.
43
43
  */
44
- export declare function quickCheckIntegrity(db: SqliteDatabase): IntegrityCheckResult;
44
+ export declare function quickCheckIntegrity(db: Database.Database): IntegrityCheckResult;
45
45
  export interface RepairResult {
46
46
  success: boolean;
47
47
  method: 'dump-reimport' | 'backup-restore' | 'none';
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * See: PRLT-1081
11
11
  */
12
- import { SqliteDatabase } from './sqlite.js';
12
+ import Database from 'better-sqlite3';
13
13
  import * as fs from 'node:fs';
14
14
  import * as path from 'node:path';
15
15
  const MAX_BACKUPS = 5;
@@ -144,14 +144,14 @@ function attemptDumpReimport(dbPath) {
144
144
  const tempPath = `${dbPath}.repair-temp`;
145
145
  try {
146
146
  // Open corrupt database — may partially work
147
- corruptDb = new SqliteDatabase(dbPath, { readonly: true });
147
+ corruptDb = new Database(dbPath, { readonly: true });
148
148
  // Dump all recoverable SQL
149
149
  const tables = corruptDb.prepare("SELECT sql FROM sqlite_master WHERE sql IS NOT NULL ORDER BY CASE type WHEN 'table' THEN 1 WHEN 'index' THEN 2 ELSE 3 END").all();
150
150
  if (tables.length === 0) {
151
151
  return { success: false, method: 'dump-reimport', message: 'No tables found in corrupt database' };
152
152
  }
153
153
  // Create new database with recovered schema
154
- newDb = new SqliteDatabase(tempPath);
154
+ newDb = new Database(tempPath);
155
155
  newDb.pragma('journal_mode = WAL');
156
156
  for (const { sql } of tables) {
157
157
  try {
@@ -173,11 +173,11 @@ function attemptDumpReimport(dbPath) {
173
173
  const placeholders = columns.map(() => '?').join(', ');
174
174
  const insertSql = `INSERT OR IGNORE INTO "${name}" (${columns.map(c => `"${c}"`).join(', ')}) VALUES (${placeholders})`;
175
175
  const insertStmt = newDb.prepare(insertSql);
176
- const insertAll = newDb.transaction(((data) => {
176
+ const insertAll = newDb.transaction((data) => {
177
177
  for (const row of data) {
178
178
  insertStmt.run(...columns.map(c => row[c]));
179
179
  }
180
- }));
180
+ });
181
181
  insertAll(rows);
182
182
  rowsRecovered += rows.length;
183
183
  }
@@ -215,19 +215,19 @@ function attemptDumpReimport(dbPath) {
215
215
  try {
216
216
  corruptDb.close();
217
217
  }
218
- catch { /* ignore */ }
218
+ catch { /* db handle may already be invalid — safe to ignore during cleanup */ }
219
219
  }
220
220
  if (newDb) {
221
221
  try {
222
222
  newDb.close();
223
223
  }
224
- catch { /* ignore */ }
224
+ catch { /* db handle may already be invalid — safe to ignore during cleanup */ }
225
225
  }
226
226
  if (fs.existsSync(tempPath)) {
227
227
  try {
228
228
  fs.unlinkSync(tempPath);
229
229
  }
230
- catch { /* ignore */ }
230
+ catch { /* temp file cleanup is best-effort */ }
231
231
  }
232
232
  return {
233
233
  success: false,
@@ -249,7 +249,7 @@ function attemptBackupRestore(dbPath) {
249
249
  // Validate the backup
250
250
  let backupDb = null;
251
251
  try {
252
- backupDb = new SqliteDatabase(backupPath, { readonly: true });
252
+ backupDb = new Database(backupPath, { readonly: true });
253
253
  const check = checkIntegrity(backupDb);
254
254
  backupDb.close();
255
255
  backupDb = null;
@@ -281,7 +281,7 @@ function attemptBackupRestore(dbPath) {
281
281
  try {
282
282
  backupDb.close();
283
283
  }
284
- catch { /* ignore */ }
284
+ catch { /* db handle may already be invalid — safe to ignore during cleanup */ }
285
285
  }
286
286
  continue;
287
287
  }
@@ -1 +1 @@
1
- {"version":3,"file":"db-safety.js","sourceRoot":"","sources":["../../../src/lib/database/db-safety.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-safety.js","sourceRoot":"","sources":["../../../src/lib/database/db-safety.ts"],"names":[],"mappings":"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"}