@jamesaphoenix/tx-core 0.4.2 → 0.4.3

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 (330) hide show
  1. package/README.md +480 -0
  2. package/dist/db.d.ts +28 -14
  3. package/dist/db.d.ts.map +1 -1
  4. package/dist/db.js +102 -14
  5. package/dist/db.js.map +1 -1
  6. package/dist/errors.d.ts +178 -34
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +119 -26
  9. package/dist/errors.js.map +1 -1
  10. package/dist/id.d.ts +10 -0
  11. package/dist/id.d.ts.map +1 -1
  12. package/dist/id.js +17 -1
  13. package/dist/id.js.map +1 -1
  14. package/dist/index.d.ts +15 -7
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +62 -8
  17. package/dist/index.js.map +1 -1
  18. package/dist/layer.d.ts +23 -14
  19. package/dist/layer.d.ts.map +1 -1
  20. package/dist/layer.js +75 -76
  21. package/dist/layer.js.map +1 -1
  22. package/dist/mappers/anchor.d.ts +15 -1
  23. package/dist/mappers/anchor.d.ts.map +1 -1
  24. package/dist/mappers/anchor.js +95 -28
  25. package/dist/mappers/anchor.js.map +1 -1
  26. package/dist/mappers/attempt.d.ts +3 -1
  27. package/dist/mappers/attempt.d.ts.map +1 -1
  28. package/dist/mappers/attempt.js +23 -9
  29. package/dist/mappers/attempt.js.map +1 -1
  30. package/dist/mappers/candidate.d.ts +3 -1
  31. package/dist/mappers/candidate.d.ts.map +1 -1
  32. package/dist/mappers/candidate.js +46 -16
  33. package/dist/mappers/candidate.js.map +1 -1
  34. package/dist/mappers/claim.d.ts +1 -1
  35. package/dist/mappers/claim.d.ts.map +1 -1
  36. package/dist/mappers/claim.js +11 -4
  37. package/dist/mappers/claim.js.map +1 -1
  38. package/dist/mappers/deduplication.d.ts +13 -1
  39. package/dist/mappers/deduplication.d.ts.map +1 -1
  40. package/dist/mappers/deduplication.js +22 -3
  41. package/dist/mappers/deduplication.js.map +1 -1
  42. package/dist/mappers/doc.d.ts +24 -0
  43. package/dist/mappers/doc.d.ts.map +1 -0
  44. package/dist/mappers/doc.js +161 -0
  45. package/dist/mappers/doc.js.map +1 -0
  46. package/dist/mappers/edge.d.ts +10 -1
  47. package/dist/mappers/edge.d.ts.map +1 -1
  48. package/dist/mappers/edge.js +74 -12
  49. package/dist/mappers/edge.js.map +1 -1
  50. package/dist/mappers/file-learning.d.ts.map +1 -1
  51. package/dist/mappers/file-learning.js +2 -1
  52. package/dist/mappers/file-learning.js.map +1 -1
  53. package/dist/mappers/index.d.ts +6 -7
  54. package/dist/mappers/index.d.ts.map +1 -1
  55. package/dist/mappers/index.js +10 -12
  56. package/dist/mappers/index.js.map +1 -1
  57. package/dist/mappers/learning.d.ts +9 -1
  58. package/dist/mappers/learning.d.ts.map +1 -1
  59. package/dist/mappers/learning.js +94 -14
  60. package/dist/mappers/learning.js.map +1 -1
  61. package/dist/mappers/orchestrator-state.d.ts +1 -1
  62. package/dist/mappers/orchestrator-state.d.ts.map +1 -1
  63. package/dist/mappers/orchestrator-state.js +31 -5
  64. package/dist/mappers/orchestrator-state.js.map +1 -1
  65. package/dist/mappers/parse-date.d.ts +11 -0
  66. package/dist/mappers/parse-date.d.ts.map +1 -0
  67. package/dist/mappers/parse-date.js +18 -0
  68. package/dist/mappers/parse-date.js.map +1 -0
  69. package/dist/mappers/run.d.ts +14 -4
  70. package/dist/mappers/run.d.ts.map +1 -1
  71. package/dist/mappers/run.js +49 -18
  72. package/dist/mappers/run.js.map +1 -1
  73. package/dist/mappers/task.d.ts +5 -1
  74. package/dist/mappers/task.d.ts.map +1 -1
  75. package/dist/mappers/task.js +66 -16
  76. package/dist/mappers/task.js.map +1 -1
  77. package/dist/mappers/tracked-project.d.ts +3 -1
  78. package/dist/mappers/tracked-project.d.ts.map +1 -1
  79. package/dist/mappers/tracked-project.js +23 -9
  80. package/dist/mappers/tracked-project.js.map +1 -1
  81. package/dist/mappers/worker.d.ts +1 -1
  82. package/dist/mappers/worker.d.ts.map +1 -1
  83. package/dist/mappers/worker.js +44 -6
  84. package/dist/mappers/worker.js.map +1 -1
  85. package/dist/repo/anchor-repo.d.ts +2 -2
  86. package/dist/repo/anchor-repo.d.ts.map +1 -1
  87. package/dist/repo/anchor-repo.js +46 -5
  88. package/dist/repo/anchor-repo.js.map +1 -1
  89. package/dist/repo/attempt-repo.d.ts +2 -2
  90. package/dist/repo/attempt-repo.d.ts.map +1 -1
  91. package/dist/repo/attempt-repo.js +16 -6
  92. package/dist/repo/attempt-repo.js.map +1 -1
  93. package/dist/repo/candidate-repo.d.ts.map +1 -1
  94. package/dist/repo/candidate-repo.js +22 -1
  95. package/dist/repo/candidate-repo.js.map +1 -1
  96. package/dist/repo/claim-repo.d.ts +46 -2
  97. package/dist/repo/claim-repo.d.ts.map +1 -1
  98. package/dist/repo/claim-repo.js +113 -6
  99. package/dist/repo/claim-repo.js.map +1 -1
  100. package/dist/repo/compaction-repo.d.ts +41 -0
  101. package/dist/repo/compaction-repo.d.ts.map +1 -0
  102. package/dist/repo/compaction-repo.js +84 -0
  103. package/dist/repo/compaction-repo.js.map +1 -0
  104. package/dist/repo/deduplication-repo.d.ts +9 -1
  105. package/dist/repo/deduplication-repo.d.ts.map +1 -1
  106. package/dist/repo/deduplication-repo.js +46 -9
  107. package/dist/repo/deduplication-repo.js.map +1 -1
  108. package/dist/repo/dep-repo.d.ts +27 -3
  109. package/dist/repo/dep-repo.d.ts.map +1 -1
  110. package/dist/repo/dep-repo.js +166 -39
  111. package/dist/repo/dep-repo.js.map +1 -1
  112. package/dist/repo/doc-repo.d.ts +59 -0
  113. package/dist/repo/doc-repo.d.ts.map +1 -0
  114. package/dist/repo/doc-repo.js +276 -0
  115. package/dist/repo/doc-repo.js.map +1 -0
  116. package/dist/repo/edge-repo.d.ts +1 -1
  117. package/dist/repo/edge-repo.d.ts.map +1 -1
  118. package/dist/repo/edge-repo.js +65 -34
  119. package/dist/repo/edge-repo.js.map +1 -1
  120. package/dist/repo/file-learning-repo.d.ts +3 -3
  121. package/dist/repo/file-learning-repo.d.ts.map +1 -1
  122. package/dist/repo/file-learning-repo.js +19 -8
  123. package/dist/repo/file-learning-repo.js.map +1 -1
  124. package/dist/repo/index.d.ts +4 -6
  125. package/dist/repo/index.d.ts.map +1 -1
  126. package/dist/repo/index.js +3 -5
  127. package/dist/repo/index.js.map +1 -1
  128. package/dist/repo/learning-repo.d.ts +10 -3
  129. package/dist/repo/learning-repo.d.ts.map +1 -1
  130. package/dist/repo/learning-repo.js +68 -11
  131. package/dist/repo/learning-repo.js.map +1 -1
  132. package/dist/repo/orchestrator-state-repo.d.ts.map +1 -1
  133. package/dist/repo/orchestrator-state-repo.js +8 -1
  134. package/dist/repo/orchestrator-state-repo.js.map +1 -1
  135. package/dist/repo/run-repo.d.ts +3 -3
  136. package/dist/repo/run-repo.d.ts.map +1 -1
  137. package/dist/repo/run-repo.js +40 -19
  138. package/dist/repo/run-repo.js.map +1 -1
  139. package/dist/repo/task-repo.d.ts +14 -3
  140. package/dist/repo/task-repo.d.ts.map +1 -1
  141. package/dist/repo/task-repo.js +194 -20
  142. package/dist/repo/task-repo.js.map +1 -1
  143. package/dist/repo/tracked-project-repo.d.ts.map +1 -1
  144. package/dist/repo/tracked-project-repo.js +15 -1
  145. package/dist/repo/tracked-project-repo.js.map +1 -1
  146. package/dist/repo/worker-repo.d.ts +3 -2
  147. package/dist/repo/worker-repo.d.ts.map +1 -1
  148. package/dist/repo/worker-repo.js +54 -8
  149. package/dist/repo/worker-repo.js.map +1 -1
  150. package/dist/schemas/sync.js +2 -2
  151. package/dist/schemas/sync.js.map +1 -1
  152. package/dist/schemas/worker.d.ts +1 -0
  153. package/dist/schemas/worker.d.ts.map +1 -1
  154. package/dist/schemas/worker.js +1 -0
  155. package/dist/schemas/worker.js.map +1 -1
  156. package/dist/services/agent-service.d.ts +57 -0
  157. package/dist/services/agent-service.d.ts.map +1 -0
  158. package/dist/services/agent-service.js +81 -0
  159. package/dist/services/agent-service.js.map +1 -0
  160. package/dist/services/anchor-service.js +1 -1
  161. package/dist/services/anchor-service.js.map +1 -1
  162. package/dist/services/anchor-verification.d.ts +8 -0
  163. package/dist/services/anchor-verification.d.ts.map +1 -1
  164. package/dist/services/anchor-verification.js +237 -37
  165. package/dist/services/anchor-verification.js.map +1 -1
  166. package/dist/services/ast-grep-service.d.ts.map +1 -1
  167. package/dist/services/ast-grep-service.js +93 -22
  168. package/dist/services/ast-grep-service.js.map +1 -1
  169. package/dist/services/attempt-service.d.ts.map +1 -1
  170. package/dist/services/attempt-service.js +1 -4
  171. package/dist/services/attempt-service.js.map +1 -1
  172. package/dist/services/auto-sync-service.d.ts +1 -1
  173. package/dist/services/auto-sync-service.d.ts.map +1 -1
  174. package/dist/services/auto-sync-service.js +18 -10
  175. package/dist/services/auto-sync-service.js.map +1 -1
  176. package/dist/services/claim-service.d.ts +8 -2
  177. package/dist/services/claim-service.d.ts.map +1 -1
  178. package/dist/services/claim-service.js +37 -23
  179. package/dist/services/claim-service.js.map +1 -1
  180. package/dist/services/compaction-service.d.ts +105 -0
  181. package/dist/services/compaction-service.d.ts.map +1 -0
  182. package/dist/services/compaction-service.js +369 -0
  183. package/dist/services/compaction-service.js.map +1 -0
  184. package/dist/services/cycle-scan-service.d.ts +32 -0
  185. package/dist/services/cycle-scan-service.d.ts.map +1 -0
  186. package/dist/services/cycle-scan-service.js +542 -0
  187. package/dist/services/cycle-scan-service.js.map +1 -0
  188. package/dist/services/daemon-service.d.ts +40 -2
  189. package/dist/services/daemon-service.d.ts.map +1 -1
  190. package/dist/services/daemon-service.js +199 -52
  191. package/dist/services/daemon-service.js.map +1 -1
  192. package/dist/services/deduplication-service.d.ts +8 -4
  193. package/dist/services/deduplication-service.d.ts.map +1 -1
  194. package/dist/services/deduplication-service.js +79 -25
  195. package/dist/services/deduplication-service.js.map +1 -1
  196. package/dist/services/dep-service.d.ts +2 -2
  197. package/dist/services/dep-service.d.ts.map +1 -1
  198. package/dist/services/dep-service.js +9 -5
  199. package/dist/services/dep-service.js.map +1 -1
  200. package/dist/services/diversifier-service.d.ts +2 -1
  201. package/dist/services/diversifier-service.d.ts.map +1 -1
  202. package/dist/services/diversifier-service.js +37 -43
  203. package/dist/services/diversifier-service.js.map +1 -1
  204. package/dist/services/doc-service.d.ts +49 -0
  205. package/dist/services/doc-service.d.ts.map +1 -0
  206. package/dist/services/doc-service.js +605 -0
  207. package/dist/services/doc-service.js.map +1 -0
  208. package/dist/services/edge-service.js +2 -2
  209. package/dist/services/edge-service.js.map +1 -1
  210. package/dist/services/embedding-service.d.ts +66 -2
  211. package/dist/services/embedding-service.d.ts.map +1 -1
  212. package/dist/services/embedding-service.js +138 -24
  213. package/dist/services/embedding-service.js.map +1 -1
  214. package/dist/services/file-learning-service.d.ts.map +1 -1
  215. package/dist/services/file-learning-service.js +8 -7
  216. package/dist/services/file-learning-service.js.map +1 -1
  217. package/dist/services/file-watcher-service.d.ts.map +1 -1
  218. package/dist/services/file-watcher-service.js +58 -11
  219. package/dist/services/file-watcher-service.js.map +1 -1
  220. package/dist/services/graph-expansion.d.ts +3 -0
  221. package/dist/services/graph-expansion.d.ts.map +1 -1
  222. package/dist/services/graph-expansion.js +28 -7
  223. package/dist/services/graph-expansion.js.map +1 -1
  224. package/dist/services/hierarchy-service.d.ts +1 -1
  225. package/dist/services/hierarchy-service.d.ts.map +1 -1
  226. package/dist/services/hierarchy-service.js +50 -32
  227. package/dist/services/hierarchy-service.js.map +1 -1
  228. package/dist/services/index.d.ts +13 -15
  229. package/dist/services/index.d.ts.map +1 -1
  230. package/dist/services/index.js +13 -15
  231. package/dist/services/index.js.map +1 -1
  232. package/dist/services/learning-service.d.ts +4 -4
  233. package/dist/services/learning-service.d.ts.map +1 -1
  234. package/dist/services/learning-service.js +75 -42
  235. package/dist/services/learning-service.js.map +1 -1
  236. package/dist/services/llm-service.d.ts +62 -0
  237. package/dist/services/llm-service.d.ts.map +1 -0
  238. package/dist/services/llm-service.js +172 -0
  239. package/dist/services/llm-service.js.map +1 -0
  240. package/dist/services/migration-service.d.ts +1 -1
  241. package/dist/services/migration-service.d.ts.map +1 -1
  242. package/dist/services/migration-service.js +18 -7
  243. package/dist/services/migration-service.js.map +1 -1
  244. package/dist/services/orchestrator-service.d.ts +4 -3
  245. package/dist/services/orchestrator-service.d.ts.map +1 -1
  246. package/dist/services/orchestrator-service.js +67 -29
  247. package/dist/services/orchestrator-service.js.map +1 -1
  248. package/dist/services/promotion-service.d.ts +1 -1
  249. package/dist/services/promotion-service.js +1 -1
  250. package/dist/services/promotion-service.js.map +1 -1
  251. package/dist/services/query-expansion-service.d.ts +30 -9
  252. package/dist/services/query-expansion-service.d.ts.map +1 -1
  253. package/dist/services/query-expansion-service.js +54 -63
  254. package/dist/services/query-expansion-service.js.map +1 -1
  255. package/dist/services/ready-service.d.ts +21 -1
  256. package/dist/services/ready-service.d.ts.map +1 -1
  257. package/dist/services/ready-service.js +44 -21
  258. package/dist/services/ready-service.js.map +1 -1
  259. package/dist/services/retriever-service.d.ts +10 -10
  260. package/dist/services/retriever-service.d.ts.map +1 -1
  261. package/dist/services/retriever-service.js +53 -161
  262. package/dist/services/retriever-service.js.map +1 -1
  263. package/dist/services/swarm-verification.d.ts +2 -2
  264. package/dist/services/swarm-verification.d.ts.map +1 -1
  265. package/dist/services/swarm-verification.js +12 -6
  266. package/dist/services/swarm-verification.js.map +1 -1
  267. package/dist/services/sync-service.d.ts +17 -4
  268. package/dist/services/sync-service.d.ts.map +1 -1
  269. package/dist/services/sync-service.js +378 -114
  270. package/dist/services/sync-service.js.map +1 -1
  271. package/dist/services/task-service.d.ts +6 -4
  272. package/dist/services/task-service.d.ts.map +1 -1
  273. package/dist/services/task-service.js +162 -33
  274. package/dist/services/task-service.js.map +1 -1
  275. package/dist/services/tracing-service.d.ts +55 -0
  276. package/dist/services/tracing-service.d.ts.map +1 -0
  277. package/dist/services/tracing-service.js +99 -0
  278. package/dist/services/tracing-service.js.map +1 -0
  279. package/dist/services/transcript-adapter.d.ts +99 -0
  280. package/dist/services/transcript-adapter.d.ts.map +1 -0
  281. package/dist/services/transcript-adapter.js +283 -0
  282. package/dist/services/transcript-adapter.js.map +1 -0
  283. package/dist/services/validation-service.d.ts +85 -0
  284. package/dist/services/validation-service.d.ts.map +1 -0
  285. package/dist/services/validation-service.js +289 -0
  286. package/dist/services/validation-service.js.map +1 -0
  287. package/dist/services/worker-process.d.ts +23 -4
  288. package/dist/services/worker-process.d.ts.map +1 -1
  289. package/dist/services/worker-process.js +159 -70
  290. package/dist/services/worker-process.js.map +1 -1
  291. package/dist/services/worker-service.d.ts.map +1 -1
  292. package/dist/services/worker-service.js +7 -12
  293. package/dist/services/worker-service.js.map +1 -1
  294. package/dist/sync/claude-task-writer.d.ts +49 -0
  295. package/dist/sync/claude-task-writer.d.ts.map +1 -0
  296. package/dist/sync/claude-task-writer.js +135 -0
  297. package/dist/sync/claude-task-writer.js.map +1 -0
  298. package/dist/utils/doc-hash.d.ts +10 -0
  299. package/dist/utils/doc-hash.d.ts.map +1 -0
  300. package/dist/utils/doc-hash.js +14 -0
  301. package/dist/utils/doc-hash.js.map +1 -0
  302. package/dist/utils/doc-renderer.d.ts +44 -0
  303. package/dist/utils/doc-renderer.d.ts.map +1 -0
  304. package/dist/utils/doc-renderer.js +202 -0
  305. package/dist/utils/doc-renderer.js.map +1 -0
  306. package/dist/utils/math.d.ts +5 -1
  307. package/dist/utils/math.d.ts.map +1 -1
  308. package/dist/utils/math.js +12 -4
  309. package/dist/utils/math.js.map +1 -1
  310. package/dist/utils/sql.d.ts +9 -0
  311. package/dist/utils/sql.d.ts.map +1 -0
  312. package/dist/utils/sql.js +9 -0
  313. package/dist/utils/sql.js.map +1 -0
  314. package/dist/utils/toml-config.d.ts +22 -0
  315. package/dist/utils/toml-config.d.ts.map +1 -0
  316. package/dist/utils/toml-config.js +75 -0
  317. package/dist/utils/toml-config.js.map +1 -0
  318. package/dist/worker/hooks.d.ts +102 -0
  319. package/dist/worker/hooks.d.ts.map +1 -0
  320. package/dist/worker/hooks.js +11 -0
  321. package/dist/worker/hooks.js.map +1 -0
  322. package/dist/worker/index.d.ts +9 -0
  323. package/dist/worker/index.d.ts.map +1 -0
  324. package/dist/worker/index.js +8 -0
  325. package/dist/worker/index.js.map +1 -0
  326. package/dist/worker/run-worker.d.ts +33 -0
  327. package/dist/worker/run-worker.d.ts.map +1 -0
  328. package/dist/worker/run-worker.js +265 -0
  329. package/dist/worker/run-worker.js.map +1 -0
  330. package/package.json +14 -12
@@ -1,7 +1,8 @@
1
1
  import { Context, Effect, Layer } from "effect";
2
2
  import { SqliteClient } from "../db.js";
3
- import { DatabaseError } from "../errors.js";
3
+ import { DatabaseError, TaskNotFoundError, UnexpectedRowCountError, StaleDataError } from "../errors.js";
4
4
  import { rowToTask } from "../mappers/task.js";
5
+ import { escapeLikePattern } from "../utils/sql.js";
5
6
  export class TaskRepository extends Context.Tag("TaskRepository")() {
6
7
  }
7
8
  export const TaskRepositoryLive = Layer.effect(TaskRepository, Effect.gen(function* () {
@@ -50,8 +51,8 @@ export const TaskRepositoryLive = Layer.effect(TaskRepository, Effect.gen(functi
50
51
  }
51
52
  // Search filter: case-insensitive search in title and description
52
53
  if (filter?.search) {
53
- const searchPattern = `%${filter.search}%`;
54
- conditions.push("(title LIKE ? COLLATE NOCASE OR description LIKE ? COLLATE NOCASE)");
54
+ const searchPattern = `%${escapeLikePattern(filter.search)}%`;
55
+ conditions.push("(title LIKE ? ESCAPE '\\' COLLATE NOCASE OR description LIKE ? ESCAPE '\\' COLLATE NOCASE)");
55
56
  params.push(searchPattern, searchPattern);
56
57
  }
57
58
  // Cursor-based pagination: fetch tasks after the cursor position
@@ -61,9 +62,19 @@ export const TaskRepositoryLive = Layer.effect(TaskRepository, Effect.gen(functi
61
62
  conditions.push("(score < ? OR (score = ? AND id > ?))");
62
63
  params.push(filter.cursor.score, filter.cursor.score, filter.cursor.id);
63
64
  }
65
+ // Exclude tasks with active claims (thundering herd prevention)
66
+ // Uses idx_claims_active_task partial index for efficient lookup
67
+ if (filter?.excludeClaimed) {
68
+ conditions.push("NOT EXISTS (SELECT 1 FROM task_claims WHERE task_id = tasks.id AND status = 'active')");
69
+ }
64
70
  const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
65
- const limit = filter?.limit ? `LIMIT ${filter.limit}` : "";
66
- const sql = `SELECT * FROM tasks ${where} ORDER BY score DESC, id ASC ${limit}`;
71
+ // Use parameterized query for LIMIT to prevent SQL injection
72
+ let limitClause = "";
73
+ if (filter?.limit != null && filter.limit > 0) {
74
+ limitClause = "LIMIT ?";
75
+ params.push(Math.floor(filter.limit));
76
+ }
77
+ const sql = `SELECT * FROM tasks ${where} ORDER BY score DESC, id ASC ${limitClause}`;
67
78
  const rows = db.prepare(sql).all(...params);
68
79
  return rows.map(rowToTask);
69
80
  },
@@ -96,34 +107,197 @@ export const TaskRepositoryLive = Layer.effect(TaskRepository, Effect.gen(functi
96
107
  for (const id of ids) {
97
108
  result.set(id, []);
98
109
  }
99
- // Group by parent_id
110
+ // Group by parent_id - use push() for O(1) insertion instead of spread for O(n)
100
111
  for (const row of rows) {
101
- const existing = result.get(row.parent_id) ?? [];
102
- result.set(row.parent_id, [...existing, row.id]);
112
+ const existing = result.get(row.parent_id);
113
+ if (existing) {
114
+ existing.push(row.id);
115
+ }
103
116
  }
104
117
  return result;
105
118
  },
106
119
  catch: (cause) => new DatabaseError({ cause })
107
120
  }),
108
- insert: (task) => Effect.try({
121
+ getAncestorChain: (id) => Effect.try({
109
122
  try: () => {
110
- db.prepare(`INSERT INTO tasks (id, title, description, status, parent_id, score, created_at, updated_at, completed_at, metadata)
111
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(task.id, task.title, task.description, task.status, task.parentId, task.score, task.createdAt.toISOString(), task.updatedAt.toISOString(), task.completedAt?.toISOString() ?? null, JSON.stringify(task.metadata));
123
+ // Use recursive CTE to get the task and all its ancestors in one query
124
+ // Returns from the given task to root (depth-first ordering)
125
+ const rows = db.prepare(`
126
+ WITH RECURSIVE ancestors AS (
127
+ SELECT t.*, 1 as depth FROM tasks t WHERE t.id = ?
128
+ UNION ALL
129
+ SELECT t.*, a.depth + 1 FROM tasks t
130
+ JOIN ancestors a ON t.id = a.parent_id
131
+ WHERE a.depth < 100 AND t.id != ?
132
+ )
133
+ SELECT * FROM ancestors ORDER BY depth ASC
134
+ `).all(id, id);
135
+ return rows.map(rowToTask);
112
136
  },
113
137
  catch: (cause) => new DatabaseError({ cause })
114
138
  }),
115
- update: (task) => Effect.try({
139
+ getDescendants: (id, maxDepth = 10) => Effect.try({
116
140
  try: () => {
117
- db.prepare(`UPDATE tasks SET
118
- title = ?, description = ?, status = ?, parent_id = ?,
119
- score = ?, updated_at = ?, completed_at = ?, metadata = ?
120
- WHERE id = ?`).run(task.title, task.description, task.status, task.parentId, task.score, task.updatedAt.toISOString(), task.completedAt?.toISOString() ?? null, JSON.stringify(task.metadata), task.id);
141
+ // Use recursive CTE to get the task and all its descendants in one query
142
+ // Returns the root task first, then all descendants ordered by depth
143
+ // maxDepth limits recursion to prevent unbounded traversal
144
+ const rows = db.prepare(`
145
+ WITH RECURSIVE descendants AS (
146
+ SELECT t.*, 1 as depth FROM tasks t WHERE t.id = ?
147
+ UNION ALL
148
+ SELECT t.*, d.depth + 1 FROM tasks t
149
+ JOIN descendants d ON t.parent_id = d.id
150
+ WHERE d.depth < ?
151
+ )
152
+ SELECT * FROM descendants ORDER BY depth ASC
153
+ `).all(id, maxDepth);
154
+ return rows.map(rowToTask);
155
+ },
156
+ catch: (cause) => new DatabaseError({ cause })
157
+ }),
158
+ insert: (task) => Effect.try({
159
+ try: () => {
160
+ const result = db.prepare(`INSERT INTO tasks (id, title, description, status, parent_id, score, created_at, updated_at, completed_at, metadata)
161
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(task.id, task.title, task.description, task.status, task.parentId, task.score, task.createdAt.toISOString(), task.updatedAt.toISOString(), task.completedAt?.toISOString() ?? null, JSON.stringify(task.metadata));
162
+ if (result.changes !== 1) {
163
+ throw new UnexpectedRowCountError({
164
+ operation: "task insert",
165
+ expected: 1,
166
+ actual: result.changes
167
+ });
168
+ }
121
169
  },
122
170
  catch: (cause) => new DatabaseError({ cause })
123
171
  }),
124
- remove: (id) => Effect.try({
172
+ update: (task, expectedUpdatedAt) => Effect.gen(function* () {
173
+ if (expectedUpdatedAt) {
174
+ // Optimistic locking: include updated_at in WHERE clause
175
+ const result = yield* Effect.try({
176
+ try: () => db.prepare(`UPDATE tasks SET
177
+ title = ?, description = ?, status = ?, parent_id = ?,
178
+ score = ?, updated_at = ?, completed_at = ?, metadata = ?
179
+ WHERE id = ? AND updated_at = ?`).run(task.title, task.description, task.status, task.parentId, task.score, task.updatedAt.toISOString(), task.completedAt?.toISOString() ?? null, JSON.stringify(task.metadata), task.id, expectedUpdatedAt.toISOString()),
180
+ catch: (cause) => new DatabaseError({ cause })
181
+ });
182
+ if (result.changes === 0) {
183
+ // Distinguish not-found from stale: re-read the row
184
+ const current = yield* Effect.try({
185
+ try: () => db.prepare("SELECT updated_at FROM tasks WHERE id = ?").get(task.id),
186
+ catch: (cause) => new DatabaseError({ cause })
187
+ });
188
+ if (!current) {
189
+ yield* Effect.fail(new TaskNotFoundError({ id: task.id }));
190
+ }
191
+ else {
192
+ yield* Effect.fail(new StaleDataError({
193
+ taskId: task.id,
194
+ expectedUpdatedAt: expectedUpdatedAt.toISOString(),
195
+ actualUpdatedAt: current.updated_at
196
+ }));
197
+ }
198
+ }
199
+ }
200
+ else {
201
+ // No optimistic locking (backward compatible)
202
+ const result = yield* Effect.try({
203
+ try: () => db.prepare(`UPDATE tasks SET
204
+ title = ?, description = ?, status = ?, parent_id = ?,
205
+ score = ?, updated_at = ?, completed_at = ?, metadata = ?
206
+ WHERE id = ?`).run(task.title, task.description, task.status, task.parentId, task.score, task.updatedAt.toISOString(), task.completedAt?.toISOString() ?? null, JSON.stringify(task.metadata), task.id),
207
+ catch: (cause) => new DatabaseError({ cause })
208
+ });
209
+ if (result.changes === 0) {
210
+ yield* Effect.fail(new TaskNotFoundError({ id: task.id }));
211
+ }
212
+ }
213
+ }),
214
+ updateMany: (tasks) => Effect.gen(function* () {
215
+ if (tasks.length === 0)
216
+ return;
217
+ const updateStmt = db.prepare(`UPDATE tasks SET
218
+ title = ?, description = ?, status = ?, parent_id = ?,
219
+ score = ?, updated_at = ?, completed_at = ?, metadata = ?
220
+ WHERE id = ?`);
221
+ const selectStmt = db.prepare(`SELECT updated_at FROM tasks WHERE id = ?`);
222
+ // Use a transaction for atomicity with optimistic locking
223
+ // Re-read updated_at inside transaction to detect stale data
224
+ const errorInfo = yield* Effect.try({
225
+ try: () => {
226
+ db.exec("BEGIN IMMEDIATE");
227
+ try {
228
+ for (const task of tasks) {
229
+ // Check for stale data by comparing updated_at
230
+ const current = selectStmt.get(task.id);
231
+ if (!current) {
232
+ db.exec("ROLLBACK");
233
+ return { type: "not_found", id: task.id };
234
+ }
235
+ const currentUpdatedAt = new Date(current.updated_at);
236
+ // If the database has a newer version, the data being written is stale
237
+ if (currentUpdatedAt > task.updatedAt) {
238
+ db.exec("ROLLBACK");
239
+ return {
240
+ type: "stale",
241
+ id: task.id,
242
+ expected: task.updatedAt.toISOString(),
243
+ actual: current.updated_at
244
+ };
245
+ }
246
+ const result = updateStmt.run(task.title, task.description, task.status, task.parentId, task.score, task.updatedAt.toISOString(), task.completedAt?.toISOString() ?? null, JSON.stringify(task.metadata), task.id);
247
+ if (result.changes === 0) {
248
+ db.exec("ROLLBACK");
249
+ return { type: "not_found", id: task.id };
250
+ }
251
+ }
252
+ db.exec("COMMIT");
253
+ return null; // All tasks updated successfully
254
+ }
255
+ catch (e) {
256
+ db.exec("ROLLBACK");
257
+ throw e;
258
+ }
259
+ },
260
+ catch: (cause) => new DatabaseError({ cause })
261
+ });
262
+ if (errorInfo !== null) {
263
+ if (errorInfo.type === "not_found") {
264
+ yield* Effect.fail(new TaskNotFoundError({ id: errorInfo.id }));
265
+ }
266
+ else {
267
+ yield* Effect.fail(new StaleDataError({
268
+ taskId: errorInfo.id,
269
+ expectedUpdatedAt: errorInfo.expected,
270
+ actualUpdatedAt: errorInfo.actual
271
+ }));
272
+ }
273
+ }
274
+ }),
275
+ remove: (id) => Effect.gen(function* () {
276
+ const result = yield* Effect.try({
277
+ try: () => db.prepare("DELETE FROM tasks WHERE id = ?").run(id),
278
+ catch: (cause) => new DatabaseError({ cause })
279
+ });
280
+ if (result.changes === 0) {
281
+ yield* Effect.fail(new TaskNotFoundError({ id }));
282
+ }
283
+ }),
284
+ recoverTaskStatus: (taskId, expectedStatus) => Effect.try({
125
285
  try: () => {
126
- db.prepare("DELETE FROM tasks WHERE id = ?").run(id);
286
+ const now = new Date().toISOString();
287
+ const result = db.prepare(`
288
+ UPDATE tasks SET
289
+ status = CASE
290
+ WHEN NOT EXISTS (
291
+ SELECT 1 FROM task_dependencies d
292
+ JOIN tasks blocker ON blocker.id = d.blocker_id
293
+ WHERE d.blocked_id = ? AND blocker.status != 'done'
294
+ ) THEN 'ready'
295
+ ELSE 'blocked'
296
+ END,
297
+ updated_at = ?
298
+ WHERE id = ? AND status = ?
299
+ `).run(taskId, now, taskId, expectedStatus);
300
+ return result.changes > 0;
127
301
  },
128
302
  catch: (cause) => new DatabaseError({ cause })
129
303
  }),
@@ -153,8 +327,8 @@ export const TaskRepositoryLive = Layer.effect(TaskRepository, Effect.gen(functi
153
327
  }
154
328
  // Search filter for count (same as findAll)
155
329
  if (filter?.search) {
156
- const searchPattern = `%${filter.search}%`;
157
- conditions.push("(title LIKE ? COLLATE NOCASE OR description LIKE ? COLLATE NOCASE)");
330
+ const searchPattern = `%${escapeLikePattern(filter.search)}%`;
331
+ conditions.push("(title LIKE ? ESCAPE '\\' COLLATE NOCASE OR description LIKE ? ESCAPE '\\' COLLATE NOCASE)");
158
332
  params.push(searchPattern, searchPattern);
159
333
  }
160
334
  // Note: cursor is intentionally not included in count - we want total matching records
@@ -1 +1 @@
1
- {"version":3,"file":"task-repo.js","sourceRoot":"","sources":["../../src/repo/task-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-repo.js","sourceRoot":"","sources":["../../src/repo/task-repo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tracked-project-repo.d.ts","sourceRoot":"","sources":["../../src/repo/tracked-project-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,KAAK,EACV,cAAc,EAEd,yBAAyB,EAC1B,MAAM,yBAAyB,CAAA;;qBAKX,CAAC,KAAK,EAAE,yBAAyB,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC;sBACjF,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,cAAc,EAAE,EAAE,aAAa,CAAC;yBAC1D,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,aAAa,CAAC;qBAChF,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;yBACjD,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,aAAa,CAAC;;AAP9G,qBAAa,wBAAyB,SAAQ,6BAS3C;CAAG;AAEN,eAAO,MAAM,4BAA4B,4DA+ExC,CAAA"}
1
+ {"version":3,"file":"tracked-project-repo.d.ts","sourceRoot":"","sources":["../../src/repo/tracked-project-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAE9D,OAAO,KAAK,EACV,cAAc,EAEd,yBAAyB,EAC1B,MAAM,yBAAyB,CAAA;;qBAKX,CAAC,KAAK,EAAE,yBAAyB,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC;sBACjF,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,cAAc,EAAE,EAAE,aAAa,CAAC;yBAC1D,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,aAAa,CAAC;qBAChF,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;yBACjD,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,aAAa,CAAC;;AAP9G,qBAAa,wBAAyB,SAAQ,6BAS3C;CAAG;AAEN,eAAO,MAAM,4BAA4B,4DA6FxC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Context, Effect, Layer } from "effect";
2
2
  import { SqliteClient } from "../db.js";
3
- import { DatabaseError } from "../errors.js";
3
+ import { DatabaseError, EntityFetchError } from "../errors.js";
4
4
  import { rowToTrackedProject } from "../mappers/tracked-project.js";
5
5
  export class TrackedProjectRepository extends Context.Tag("TrackedProjectRepository")() {
6
6
  }
@@ -13,6 +13,13 @@ export const TrackedProjectRepositoryLive = Layer.effect(TrackedProjectRepositor
13
13
  (project_path, project_id, source_type)
14
14
  VALUES (?, ?, ?)`).run(input.projectPath, input.projectId ?? null, input.sourceType ?? "claude");
15
15
  const row = db.prepare("SELECT * FROM daemon_tracked_projects WHERE id = ?").get(result.lastInsertRowid);
16
+ if (!row) {
17
+ throw new EntityFetchError({
18
+ entity: "tracked_project",
19
+ id: result.lastInsertRowid,
20
+ operation: "insert"
21
+ });
22
+ }
16
23
  return rowToTrackedProject(row);
17
24
  },
18
25
  catch: (cause) => new DatabaseError({ cause })
@@ -45,6 +52,13 @@ export const TrackedProjectRepositoryLive = Layer.effect(TrackedProjectRepositor
45
52
  return null;
46
53
  }
47
54
  const row = db.prepare("SELECT * FROM daemon_tracked_projects WHERE id = ?").get(id);
55
+ if (!row) {
56
+ throw new EntityFetchError({
57
+ entity: "tracked_project",
58
+ id,
59
+ operation: "update"
60
+ });
61
+ }
48
62
  return rowToTrackedProject(row);
49
63
  },
50
64
  catch: (cause) => new DatabaseError({ cause })
@@ -1 +1 @@
1
- {"version":3,"file":"tracked-project-repo.js","sourceRoot":"","sources":["../../src/repo/tracked-project-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracked-project-repo.js","sourceRoot":"","sources":["../../src/repo/tracked-project-repo.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { Context, Effect, Layer } from "effect";
2
2
  import { SqliteClient } from "../db.js";
3
- import { DatabaseError } from "../errors.js";
3
+ import { DatabaseError, WorkerNotFoundError } from "../errors.js";
4
4
  import type { Worker, WorkerStatus } from "../schemas/worker.js";
5
5
  declare const WorkerRepository_base: Context.TagClass<WorkerRepository, "WorkerRepository", {
6
6
  readonly insert: (worker: Worker) => Effect.Effect<void, DatabaseError>;
7
- readonly update: (worker: Worker) => Effect.Effect<void, DatabaseError>;
7
+ readonly insertIfUnderCapacity: (worker: Worker, maxCapacity: number) => Effect.Effect<boolean, DatabaseError>;
8
+ readonly update: (worker: Worker) => Effect.Effect<void, DatabaseError | WorkerNotFoundError>;
8
9
  readonly delete: (id: string) => Effect.Effect<boolean, DatabaseError>;
9
10
  readonly findById: (id: string) => Effect.Effect<Worker | null, DatabaseError>;
10
11
  readonly findByStatus: (status: WorkerStatus) => Effect.Effect<readonly Worker[], DatabaseError>;
@@ -1 +1 @@
1
- {"version":3,"file":"worker-repo.d.ts","sourceRoot":"","sources":["../../src/repo/worker-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;;qBAK3C,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;qBACtD,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;qBACtD,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;uBACnD,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,aAAa,CAAC;2BACvD,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;wCAC5D,CAAC,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;4BAChF,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;sBACpE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;;AAV3E,qBAAa,gBAAiB,SAAQ,qBAYnC;CAAG;AAEN,eAAO,MAAM,oBAAoB,oDAqHhC,CAAA"}
1
+ {"version":3,"file":"worker-repo.d.ts","sourceRoot":"","sources":["../../src/repo/worker-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAA2B,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAE1F,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;;qBAK3C,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;oCACvC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;qBAC7F,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,mBAAmB,CAAC;qBAC5E,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;uBACnD,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,aAAa,CAAC;2BACvD,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;wCAC5D,CAAC,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;4BAChF,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;sBACpE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;;AAX3E,qBAAa,gBAAiB,SAAQ,qBAanC;CAAG;AAEN,eAAO,MAAM,oBAAoB,oDAqLhC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Context, Effect, Layer } from "effect";
2
2
  import { SqliteClient } from "../db.js";
3
- import { DatabaseError } from "../errors.js";
3
+ import { DatabaseError, UnexpectedRowCountError, WorkerNotFoundError } from "../errors.js";
4
4
  import { rowToWorker } from "../mappers/worker.js";
5
5
  export class WorkerRepository extends Context.Tag("WorkerRepository")() {
6
6
  }
@@ -9,22 +9,68 @@ export const WorkerRepositoryLive = Layer.effect(WorkerRepository, Effect.gen(fu
9
9
  return {
10
10
  insert: (worker) => Effect.try({
11
11
  try: () => {
12
- db.prepare(`INSERT INTO workers
12
+ const result = db.prepare(`INSERT INTO workers
13
13
  (id, name, hostname, pid, status, registered_at, last_heartbeat_at, current_task_id, capabilities, metadata)
14
14
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(worker.id, worker.name, worker.hostname, worker.pid, worker.status, worker.registeredAt.toISOString(), worker.lastHeartbeatAt.toISOString(), worker.currentTaskId, JSON.stringify(worker.capabilities), JSON.stringify(worker.metadata));
15
+ if (result.changes !== 1) {
16
+ throw new UnexpectedRowCountError({
17
+ operation: "worker insert",
18
+ expected: 1,
19
+ actual: result.changes
20
+ });
21
+ }
15
22
  },
16
23
  catch: (cause) => new DatabaseError({ cause })
17
24
  }),
18
- update: (worker) => Effect.try({
25
+ insertIfUnderCapacity: (worker, maxCapacity) => Effect.try({
19
26
  try: () => {
20
- db.prepare(`UPDATE workers SET
21
- name = ?, hostname = ?, pid = ?, status = ?,
22
- registered_at = ?, last_heartbeat_at = ?, current_task_id = ?,
23
- capabilities = ?, metadata = ?
24
- WHERE id = ?`).run(worker.name, worker.hostname, worker.pid, worker.status, worker.registeredAt.toISOString(), worker.lastHeartbeatAt.toISOString(), worker.currentTaskId, JSON.stringify(worker.capabilities), JSON.stringify(worker.metadata), worker.id);
27
+ // BEGIN IMMEDIATE acquires write lock immediately, preventing other writers
28
+ // from registering workers until we commit/rollback
29
+ db.exec("BEGIN IMMEDIATE");
30
+ try {
31
+ // Count active workers atomically within the transaction
32
+ const countResult = db.prepare("SELECT COUNT(*) as cnt FROM workers WHERE status IN ('starting', 'idle', 'busy')").get();
33
+ if (countResult.cnt >= maxCapacity) {
34
+ db.exec("ROLLBACK");
35
+ return false;
36
+ }
37
+ const result = db.prepare(`INSERT INTO workers
38
+ (id, name, hostname, pid, status, registered_at, last_heartbeat_at, current_task_id, capabilities, metadata)
39
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(worker.id, worker.name, worker.hostname, worker.pid, worker.status, worker.registeredAt.toISOString(), worker.lastHeartbeatAt.toISOString(), worker.currentTaskId, JSON.stringify(worker.capabilities), JSON.stringify(worker.metadata));
40
+ if (result.changes !== 1) {
41
+ db.exec("ROLLBACK");
42
+ throw new UnexpectedRowCountError({
43
+ operation: "worker insertIfUnderCapacity",
44
+ expected: 1,
45
+ actual: result.changes
46
+ });
47
+ }
48
+ db.exec("COMMIT");
49
+ return true;
50
+ }
51
+ catch (e) {
52
+ try {
53
+ db.exec("ROLLBACK");
54
+ }
55
+ catch { /* already rolled back */ }
56
+ throw e;
57
+ }
25
58
  },
26
59
  catch: (cause) => new DatabaseError({ cause })
27
60
  }),
61
+ update: (worker) => Effect.gen(function* () {
62
+ const result = yield* Effect.try({
63
+ try: () => db.prepare(`UPDATE workers SET
64
+ name = ?, hostname = ?, pid = ?, status = ?,
65
+ registered_at = ?, last_heartbeat_at = ?, current_task_id = ?,
66
+ capabilities = ?, metadata = ?
67
+ WHERE id = ?`).run(worker.name, worker.hostname, worker.pid, worker.status, worker.registeredAt.toISOString(), worker.lastHeartbeatAt.toISOString(), worker.currentTaskId, JSON.stringify(worker.capabilities), JSON.stringify(worker.metadata), worker.id),
68
+ catch: (cause) => new DatabaseError({ cause })
69
+ });
70
+ if (result.changes === 0) {
71
+ yield* Effect.fail(new WorkerNotFoundError({ workerId: worker.id }));
72
+ }
73
+ }),
28
74
  delete: (id) => Effect.try({
29
75
  try: () => {
30
76
  const result = db.prepare("DELETE FROM workers WHERE id = ?").run(id);
@@ -1 +1 @@
1
- {"version":3,"file":"worker-repo.js","sourceRoot":"","sources":["../../src/repo/worker-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-repo.js","sourceRoot":"","sources":["../../src/repo/worker-repo.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import { Schema } from "effect";
4
4
  import { TASK_STATUSES } from "@jamesaphoenix/tx-types";
5
5
  // Schema version - v=1 for all sync operations
6
6
  export const SyncVersion = Schema.Literal(1);
7
- // TaskId schema - matches tx-[a-z0-9]{6,8} pattern
8
- export const TaskIdSchema = Schema.String.pipe(Schema.pattern(/^tx-[a-z0-9]{6,8}$/));
7
+ // TaskId schema - matches tx-[a-z0-9]{6,12} pattern
8
+ export const TaskIdSchema = Schema.String.pipe(Schema.pattern(/^tx-[a-z0-9]{6,12}$/));
9
9
  // TaskStatus schema - matches the status lifecycle
10
10
  export const TaskStatusSchema = Schema.Literal(...TASK_STATUSES);
11
11
  // ISO 8601 timestamp pattern (basic validation)
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/schemas/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/schemas/sync.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,7 @@ declare const ReconciliationResultSchema: Schema.Struct<{
69
69
  deadWorkersFound: Schema.filter<typeof Schema.Number>;
70
70
  expiredClaimsReleased: Schema.filter<typeof Schema.Number>;
71
71
  orphanedTasksRecovered: Schema.filter<typeof Schema.Number>;
72
+ orphanedClaimsReleased: Schema.filter<typeof Schema.Number>;
72
73
  staleStatesFixed: Schema.filter<typeof Schema.Number>;
73
74
  reconcileTime: Schema.filter<typeof Schema.Number>;
74
75
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/schemas/worker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,eAAO,MAAM,kBAAkB,kEAM9B,CAAA;AACD,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAGzD,QAAA,MAAM,YAAY;;;;;;;;;;;EAWhB,CAAA;AACF,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,CAAA;AACjC,MAAM,MAAM,MAAM,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAK7C,eAAO,MAAM,iBAAiB,gEAK7B,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAGvD,QAAA,MAAM,eAAe;;;;;;;;EAQnB,CAAA;AACF,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAKnD,eAAO,MAAM,wBAAwB,gEAKpC,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAGrE,QAAA,MAAM,uBAAuB;;;;;;;;;;EAU3B,CAAA;AACF,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,CAAA;AACvD,MAAM,MAAM,iBAAiB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAKnE,QAAA,MAAM,sBAAsB;;;;EAI1B,CAAA;AACF,OAAO,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,CAAA;AACrD,MAAM,MAAM,gBAAgB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAGjE,eAAO,MAAM,qBAAqB,kCAAiC,CAAA;AACnE,MAAM,MAAM,eAAe,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAG/D,QAAA,MAAM,eAAe;;;;;;;;;;EAMnB,CAAA;AACF,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAKnD,QAAA,MAAM,0BAA0B;;;;;;EAM9B,CAAA;AACF,OAAO,EAAE,0BAA0B,IAAI,oBAAoB,EAAE,CAAA;AAC7D,MAAM,MAAM,oBAAoB,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/schemas/worker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,eAAO,MAAM,kBAAkB,kEAM9B,CAAA;AACD,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAGzD,QAAA,MAAM,YAAY;;;;;;;;;;;EAWhB,CAAA;AACF,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,CAAA;AACjC,MAAM,MAAM,MAAM,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAK7C,eAAO,MAAM,iBAAiB,gEAK7B,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAGvD,QAAA,MAAM,eAAe;;;;;;;;EAQnB,CAAA;AACF,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAKnD,eAAO,MAAM,wBAAwB,gEAKpC,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAGrE,QAAA,MAAM,uBAAuB;;;;;;;;;;EAU3B,CAAA;AACF,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,CAAA;AACvD,MAAM,MAAM,iBAAiB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAKnE,QAAA,MAAM,sBAAsB;;;;EAI1B,CAAA;AACF,OAAO,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,CAAA;AACrD,MAAM,MAAM,gBAAgB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAGjE,eAAO,MAAM,qBAAqB,kCAAiC,CAAA;AACnE,MAAM,MAAM,eAAe,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAG/D,QAAA,MAAM,eAAe;;;;;;;;;;EAMnB,CAAA;AACF,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAKnD,QAAA,MAAM,0BAA0B;;;;;;;EAO9B,CAAA;AACF,OAAO,EAAE,0BAA0B,IAAI,oBAAoB,EAAE,CAAA;AAC7D,MAAM,MAAM,oBAAoB,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA"}
@@ -73,6 +73,7 @@ const ReconciliationResultSchema = Schema.Struct({
73
73
  deadWorkersFound: Schema.Number.pipe(Schema.int()),
74
74
  expiredClaimsReleased: Schema.Number.pipe(Schema.int()),
75
75
  orphanedTasksRecovered: Schema.Number.pipe(Schema.int()),
76
+ orphanedClaimsReleased: Schema.Number.pipe(Schema.int()),
76
77
  staleStatesFixed: Schema.Number.pipe(Schema.int()),
77
78
  reconcileTime: Schema.Number.pipe(Schema.int())
78
79
  });
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/schemas/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/schemas/worker.ts"],"names":[],"mappings":"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"}