@jamesaphoenix/tx-core 0.4.2 → 0.4.4

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 (336) 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 +108 -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/attempt.d.ts +3 -1
  23. package/dist/mappers/attempt.d.ts.map +1 -1
  24. package/dist/mappers/attempt.js +23 -9
  25. package/dist/mappers/attempt.js.map +1 -1
  26. package/dist/mappers/claim.d.ts +1 -1
  27. package/dist/mappers/claim.d.ts.map +1 -1
  28. package/dist/mappers/claim.js +11 -4
  29. package/dist/mappers/claim.js.map +1 -1
  30. package/dist/mappers/deduplication.d.ts +13 -1
  31. package/dist/mappers/deduplication.d.ts.map +1 -1
  32. package/dist/mappers/deduplication.js +22 -3
  33. package/dist/mappers/deduplication.js.map +1 -1
  34. package/dist/mappers/doc.d.ts +24 -0
  35. package/dist/mappers/doc.d.ts.map +1 -0
  36. package/dist/mappers/doc.js +161 -0
  37. package/dist/mappers/doc.js.map +1 -0
  38. package/dist/mappers/file-learning.d.ts.map +1 -1
  39. package/dist/mappers/file-learning.js +2 -1
  40. package/dist/mappers/file-learning.js.map +1 -1
  41. package/dist/mappers/index.d.ts +6 -7
  42. package/dist/mappers/index.d.ts.map +1 -1
  43. package/dist/mappers/index.js +10 -12
  44. package/dist/mappers/index.js.map +1 -1
  45. package/dist/mappers/learning.d.ts +9 -1
  46. package/dist/mappers/learning.d.ts.map +1 -1
  47. package/dist/mappers/learning.js +94 -14
  48. package/dist/mappers/learning.js.map +1 -1
  49. package/dist/mappers/orchestrator-state.d.ts +1 -1
  50. package/dist/mappers/orchestrator-state.d.ts.map +1 -1
  51. package/dist/mappers/orchestrator-state.js +31 -5
  52. package/dist/mappers/orchestrator-state.js.map +1 -1
  53. package/dist/mappers/parse-date.d.ts +11 -0
  54. package/dist/mappers/parse-date.d.ts.map +1 -0
  55. package/dist/mappers/parse-date.js +18 -0
  56. package/dist/mappers/parse-date.js.map +1 -0
  57. package/dist/mappers/run.d.ts +14 -4
  58. package/dist/mappers/run.d.ts.map +1 -1
  59. package/dist/mappers/run.js +49 -18
  60. package/dist/mappers/run.js.map +1 -1
  61. package/dist/mappers/task.d.ts +5 -1
  62. package/dist/mappers/task.d.ts.map +1 -1
  63. package/dist/mappers/task.js +66 -16
  64. package/dist/mappers/task.js.map +1 -1
  65. package/dist/mappers/tracked-project.d.ts +3 -1
  66. package/dist/mappers/tracked-project.d.ts.map +1 -1
  67. package/dist/mappers/tracked-project.js +23 -9
  68. package/dist/mappers/tracked-project.js.map +1 -1
  69. package/dist/mappers/worker.d.ts +1 -1
  70. package/dist/mappers/worker.d.ts.map +1 -1
  71. package/dist/mappers/worker.js +44 -6
  72. package/dist/mappers/worker.js.map +1 -1
  73. package/dist/repo/attempt-repo.d.ts +2 -2
  74. package/dist/repo/attempt-repo.d.ts.map +1 -1
  75. package/dist/repo/attempt-repo.js +16 -6
  76. package/dist/repo/attempt-repo.js.map +1 -1
  77. package/dist/repo/claim-repo.d.ts +46 -2
  78. package/dist/repo/claim-repo.d.ts.map +1 -1
  79. package/dist/repo/claim-repo.js +113 -6
  80. package/dist/repo/claim-repo.js.map +1 -1
  81. package/dist/repo/deduplication-repo.d.ts +9 -1
  82. package/dist/repo/deduplication-repo.d.ts.map +1 -1
  83. package/dist/repo/deduplication-repo.js +46 -9
  84. package/dist/repo/deduplication-repo.js.map +1 -1
  85. package/dist/repo/dep-repo.d.ts +27 -3
  86. package/dist/repo/dep-repo.d.ts.map +1 -1
  87. package/dist/repo/dep-repo.js +166 -39
  88. package/dist/repo/dep-repo.js.map +1 -1
  89. package/dist/repo/doc-repo.d.ts +59 -0
  90. package/dist/repo/doc-repo.d.ts.map +1 -0
  91. package/dist/repo/doc-repo.js +276 -0
  92. package/dist/repo/doc-repo.js.map +1 -0
  93. package/dist/repo/file-learning-repo.d.ts +3 -3
  94. package/dist/repo/file-learning-repo.d.ts.map +1 -1
  95. package/dist/repo/file-learning-repo.js +19 -8
  96. package/dist/repo/file-learning-repo.js.map +1 -1
  97. package/dist/repo/index.d.ts +4 -6
  98. package/dist/repo/index.d.ts.map +1 -1
  99. package/dist/repo/index.js +3 -5
  100. package/dist/repo/index.js.map +1 -1
  101. package/dist/repo/learning-repo.d.ts +10 -3
  102. package/dist/repo/learning-repo.d.ts.map +1 -1
  103. package/dist/repo/learning-repo.js +68 -11
  104. package/dist/repo/learning-repo.js.map +1 -1
  105. package/dist/repo/orchestrator-state-repo.d.ts.map +1 -1
  106. package/dist/repo/orchestrator-state-repo.js +8 -1
  107. package/dist/repo/orchestrator-state-repo.js.map +1 -1
  108. package/dist/repo/run-repo.d.ts +3 -3
  109. package/dist/repo/run-repo.d.ts.map +1 -1
  110. package/dist/repo/run-repo.js +40 -19
  111. package/dist/repo/run-repo.js.map +1 -1
  112. package/dist/repo/task-repo.d.ts +14 -3
  113. package/dist/repo/task-repo.d.ts.map +1 -1
  114. package/dist/repo/task-repo.js +194 -20
  115. package/dist/repo/task-repo.js.map +1 -1
  116. package/dist/repo/tracked-project-repo.d.ts.map +1 -1
  117. package/dist/repo/tracked-project-repo.js +15 -1
  118. package/dist/repo/tracked-project-repo.js.map +1 -1
  119. package/dist/repo/worker-repo.d.ts +3 -2
  120. package/dist/repo/worker-repo.d.ts.map +1 -1
  121. package/dist/repo/worker-repo.js +54 -8
  122. package/dist/repo/worker-repo.js.map +1 -1
  123. package/dist/schemas/sync.js +2 -2
  124. package/dist/schemas/sync.js.map +1 -1
  125. package/dist/schemas/worker.d.ts +1 -0
  126. package/dist/schemas/worker.d.ts.map +1 -1
  127. package/dist/schemas/worker.js +1 -0
  128. package/dist/schemas/worker.js.map +1 -1
  129. package/dist/services/agent-service.d.ts +57 -0
  130. package/dist/services/agent-service.d.ts.map +1 -0
  131. package/dist/services/agent-service.js +81 -0
  132. package/dist/services/agent-service.js.map +1 -0
  133. package/dist/services/attempt-service.d.ts.map +1 -1
  134. package/dist/services/attempt-service.js +1 -4
  135. package/dist/services/attempt-service.js.map +1 -1
  136. package/dist/services/auto-sync-service.d.ts.map +1 -1
  137. package/dist/services/auto-sync-service.js +18 -10
  138. package/dist/services/auto-sync-service.js.map +1 -1
  139. package/dist/services/claim-service.d.ts +8 -2
  140. package/dist/services/claim-service.d.ts.map +1 -1
  141. package/dist/services/claim-service.js +37 -23
  142. package/dist/services/claim-service.js.map +1 -1
  143. package/dist/services/cycle-scan-service.d.ts +32 -0
  144. package/dist/services/cycle-scan-service.d.ts.map +1 -0
  145. package/dist/services/cycle-scan-service.js +546 -0
  146. package/dist/services/cycle-scan-service.js.map +1 -0
  147. package/dist/services/daemon-service.d.ts +40 -2
  148. package/dist/services/daemon-service.d.ts.map +1 -1
  149. package/dist/services/daemon-service.js +199 -52
  150. package/dist/services/daemon-service.js.map +1 -1
  151. package/dist/services/deduplication-service.d.ts +8 -4
  152. package/dist/services/deduplication-service.d.ts.map +1 -1
  153. package/dist/services/deduplication-service.js +79 -25
  154. package/dist/services/deduplication-service.js.map +1 -1
  155. package/dist/services/dep-service.d.ts +2 -2
  156. package/dist/services/dep-service.d.ts.map +1 -1
  157. package/dist/services/dep-service.js +9 -5
  158. package/dist/services/dep-service.js.map +1 -1
  159. package/dist/services/diversifier-service.d.ts +2 -1
  160. package/dist/services/diversifier-service.d.ts.map +1 -1
  161. package/dist/services/diversifier-service.js +37 -43
  162. package/dist/services/diversifier-service.js.map +1 -1
  163. package/dist/services/doc-service.d.ts +49 -0
  164. package/dist/services/doc-service.d.ts.map +1 -0
  165. package/dist/services/doc-service.js +605 -0
  166. package/dist/services/doc-service.js.map +1 -0
  167. package/dist/services/embedding-service.d.ts +66 -2
  168. package/dist/services/embedding-service.d.ts.map +1 -1
  169. package/dist/services/embedding-service.js +138 -24
  170. package/dist/services/embedding-service.js.map +1 -1
  171. package/dist/services/file-learning-service.d.ts.map +1 -1
  172. package/dist/services/file-learning-service.js +8 -7
  173. package/dist/services/file-learning-service.js.map +1 -1
  174. package/dist/services/file-watcher-service.d.ts.map +1 -1
  175. package/dist/services/file-watcher-service.js +58 -11
  176. package/dist/services/file-watcher-service.js.map +1 -1
  177. package/dist/services/hierarchy-service.d.ts +1 -1
  178. package/dist/services/hierarchy-service.d.ts.map +1 -1
  179. package/dist/services/hierarchy-service.js +50 -32
  180. package/dist/services/hierarchy-service.js.map +1 -1
  181. package/dist/services/index.d.ts +13 -15
  182. package/dist/services/index.d.ts.map +1 -1
  183. package/dist/services/index.js +13 -15
  184. package/dist/services/index.js.map +1 -1
  185. package/dist/services/learning-service.d.ts +3 -3
  186. package/dist/services/learning-service.d.ts.map +1 -1
  187. package/dist/services/learning-service.js +75 -42
  188. package/dist/services/learning-service.js.map +1 -1
  189. package/dist/services/llm-service.d.ts +62 -0
  190. package/dist/services/llm-service.d.ts.map +1 -0
  191. package/dist/services/llm-service.js +172 -0
  192. package/dist/services/llm-service.js.map +1 -0
  193. package/dist/services/migration-service.d.ts +1 -1
  194. package/dist/services/migration-service.d.ts.map +1 -1
  195. package/dist/services/migration-service.js +18 -7
  196. package/dist/services/migration-service.js.map +1 -1
  197. package/dist/services/orchestrator-service.d.ts +4 -3
  198. package/dist/services/orchestrator-service.d.ts.map +1 -1
  199. package/dist/services/orchestrator-service.js +66 -27
  200. package/dist/services/orchestrator-service.js.map +1 -1
  201. package/dist/services/query-expansion-service.d.ts +30 -9
  202. package/dist/services/query-expansion-service.d.ts.map +1 -1
  203. package/dist/services/query-expansion-service.js +54 -63
  204. package/dist/services/query-expansion-service.js.map +1 -1
  205. package/dist/services/ready-service.d.ts +21 -1
  206. package/dist/services/ready-service.d.ts.map +1 -1
  207. package/dist/services/ready-service.js +44 -21
  208. package/dist/services/ready-service.js.map +1 -1
  209. package/dist/services/retriever-service.d.ts +10 -10
  210. package/dist/services/retriever-service.d.ts.map +1 -1
  211. package/dist/services/retriever-service.js +53 -161
  212. package/dist/services/retriever-service.js.map +1 -1
  213. package/dist/services/sync-service.d.ts +17 -4
  214. package/dist/services/sync-service.d.ts.map +1 -1
  215. package/dist/services/sync-service.js +381 -116
  216. package/dist/services/sync-service.js.map +1 -1
  217. package/dist/services/task-service.d.ts +6 -4
  218. package/dist/services/task-service.d.ts.map +1 -1
  219. package/dist/services/task-service.js +165 -35
  220. package/dist/services/task-service.js.map +1 -1
  221. package/dist/services/tracing-service.d.ts +55 -0
  222. package/dist/services/tracing-service.d.ts.map +1 -0
  223. package/dist/services/tracing-service.js +99 -0
  224. package/dist/services/tracing-service.js.map +1 -0
  225. package/dist/services/transcript-adapter.d.ts +99 -0
  226. package/dist/services/transcript-adapter.d.ts.map +1 -0
  227. package/dist/services/transcript-adapter.js +283 -0
  228. package/dist/services/transcript-adapter.js.map +1 -0
  229. package/dist/services/validation-service.d.ts +85 -0
  230. package/dist/services/validation-service.d.ts.map +1 -0
  231. package/dist/services/validation-service.js +289 -0
  232. package/dist/services/validation-service.js.map +1 -0
  233. package/dist/services/worker-process.d.ts +23 -4
  234. package/dist/services/worker-process.d.ts.map +1 -1
  235. package/dist/services/worker-process.js +168 -72
  236. package/dist/services/worker-process.js.map +1 -1
  237. package/dist/services/worker-service.d.ts.map +1 -1
  238. package/dist/services/worker-service.js +7 -12
  239. package/dist/services/worker-service.js.map +1 -1
  240. package/dist/sync/claude-task-writer.d.ts +49 -0
  241. package/dist/sync/claude-task-writer.d.ts.map +1 -0
  242. package/dist/sync/claude-task-writer.js +135 -0
  243. package/dist/sync/claude-task-writer.js.map +1 -0
  244. package/dist/utils/doc-hash.d.ts +10 -0
  245. package/dist/utils/doc-hash.d.ts.map +1 -0
  246. package/dist/utils/doc-hash.js +14 -0
  247. package/dist/utils/doc-hash.js.map +1 -0
  248. package/dist/utils/doc-renderer.d.ts +44 -0
  249. package/dist/utils/doc-renderer.d.ts.map +1 -0
  250. package/dist/utils/doc-renderer.js +202 -0
  251. package/dist/utils/doc-renderer.js.map +1 -0
  252. package/dist/utils/math.d.ts +5 -1
  253. package/dist/utils/math.d.ts.map +1 -1
  254. package/dist/utils/math.js +12 -4
  255. package/dist/utils/math.js.map +1 -1
  256. package/dist/utils/sql.d.ts +9 -0
  257. package/dist/utils/sql.d.ts.map +1 -0
  258. package/dist/utils/sql.js +9 -0
  259. package/dist/utils/sql.js.map +1 -0
  260. package/dist/utils/toml-config.d.ts +22 -0
  261. package/dist/utils/toml-config.d.ts.map +1 -0
  262. package/dist/utils/toml-config.js +75 -0
  263. package/dist/utils/toml-config.js.map +1 -0
  264. package/dist/worker/hooks.d.ts +102 -0
  265. package/dist/worker/hooks.d.ts.map +1 -0
  266. package/dist/worker/hooks.js +11 -0
  267. package/dist/worker/hooks.js.map +1 -0
  268. package/dist/worker/index.d.ts +9 -0
  269. package/dist/worker/index.d.ts.map +1 -0
  270. package/dist/worker/index.js +8 -0
  271. package/dist/worker/index.js.map +1 -0
  272. package/dist/worker/run-worker.d.ts +33 -0
  273. package/dist/worker/run-worker.d.ts.map +1 -0
  274. package/dist/worker/run-worker.js +265 -0
  275. package/dist/worker/run-worker.js.map +1 -0
  276. package/package.json +14 -12
  277. package/dist/mappers/anchor.d.ts +0 -14
  278. package/dist/mappers/anchor.d.ts.map +0 -1
  279. package/dist/mappers/anchor.js +0 -38
  280. package/dist/mappers/anchor.js.map +0 -1
  281. package/dist/mappers/candidate.d.ts +0 -23
  282. package/dist/mappers/candidate.d.ts.map +0 -1
  283. package/dist/mappers/candidate.js +0 -53
  284. package/dist/mappers/candidate.js.map +0 -1
  285. package/dist/mappers/edge.d.ts +0 -10
  286. package/dist/mappers/edge.d.ts.map +0 -1
  287. package/dist/mappers/edge.js +0 -19
  288. package/dist/mappers/edge.js.map +0 -1
  289. package/dist/repo/anchor-repo.d.ts +0 -52
  290. package/dist/repo/anchor-repo.d.ts.map +0 -1
  291. package/dist/repo/anchor-repo.js +0 -204
  292. package/dist/repo/anchor-repo.js.map +0 -1
  293. package/dist/repo/candidate-repo.d.ts +0 -16
  294. package/dist/repo/candidate-repo.d.ts.map +0 -1
  295. package/dist/repo/candidate-repo.js +0 -143
  296. package/dist/repo/candidate-repo.js.map +0 -1
  297. package/dist/repo/edge-repo.d.ts +0 -26
  298. package/dist/repo/edge-repo.d.ts.map +0 -1
  299. package/dist/repo/edge-repo.js +0 -227
  300. package/dist/repo/edge-repo.js.map +0 -1
  301. package/dist/services/anchor-service.d.ts +0 -147
  302. package/dist/services/anchor-service.d.ts.map +0 -1
  303. package/dist/services/anchor-service.js +0 -540
  304. package/dist/services/anchor-service.js.map +0 -1
  305. package/dist/services/anchor-verification.d.ts +0 -94
  306. package/dist/services/anchor-verification.d.ts.map +0 -1
  307. package/dist/services/anchor-verification.js +0 -617
  308. package/dist/services/anchor-verification.js.map +0 -1
  309. package/dist/services/ast-grep-service.d.ts +0 -58
  310. package/dist/services/ast-grep-service.d.ts.map +0 -1
  311. package/dist/services/ast-grep-service.js +0 -356
  312. package/dist/services/ast-grep-service.js.map +0 -1
  313. package/dist/services/candidate-extractor-service.d.ts +0 -56
  314. package/dist/services/candidate-extractor-service.d.ts.map +0 -1
  315. package/dist/services/candidate-extractor-service.js +0 -365
  316. package/dist/services/candidate-extractor-service.js.map +0 -1
  317. package/dist/services/edge-service.d.ts +0 -78
  318. package/dist/services/edge-service.d.ts.map +0 -1
  319. package/dist/services/edge-service.js +0 -158
  320. package/dist/services/edge-service.js.map +0 -1
  321. package/dist/services/feedback-tracker.d.ts +0 -64
  322. package/dist/services/feedback-tracker.d.ts.map +0 -1
  323. package/dist/services/feedback-tracker.js +0 -110
  324. package/dist/services/feedback-tracker.js.map +0 -1
  325. package/dist/services/graph-expansion.d.ts +0 -155
  326. package/dist/services/graph-expansion.d.ts.map +0 -1
  327. package/dist/services/graph-expansion.js +0 -466
  328. package/dist/services/graph-expansion.js.map +0 -1
  329. package/dist/services/promotion-service.d.ts +0 -67
  330. package/dist/services/promotion-service.d.ts.map +0 -1
  331. package/dist/services/promotion-service.js +0 -151
  332. package/dist/services/promotion-service.js.map +0 -1
  333. package/dist/services/swarm-verification.d.ts +0 -104
  334. package/dist/services/swarm-verification.d.ts.map +0 -1
  335. package/dist/services/swarm-verification.js +0 -400
  336. package/dist/services/swarm-verification.js.map +0 -1
package/dist/db.js CHANGED
@@ -1,14 +1,16 @@
1
1
  import { Context, Effect, Layer } from "effect";
2
- import Database from "better-sqlite3";
3
2
  import { mkdirSync, existsSync } from "fs";
4
3
  import { dirname } from "path";
5
4
  import { MIGRATIONS } from "./services/migration-service.js";
6
- /** The SqliteClient service provides a better-sqlite3 Database instance. */
5
+ import { DatabaseError } from "./errors.js";
6
+ /** The SqliteClient service provides a bun:sqlite Database instance. */
7
7
  export class SqliteClient extends Context.Tag("SqliteClient")() {
8
8
  }
9
9
  /**
10
10
  * Get the current schema version from a database instance.
11
11
  * Exported for use in tests and CLI commands.
12
+ *
13
+ * Accepts SqliteDatabase interface to work with both bun:sqlite and better-sqlite3.
12
14
  */
13
15
  export const getSchemaVersion = (db) => {
14
16
  try {
@@ -22,25 +24,117 @@ export const getSchemaVersion = (db) => {
22
24
  /**
23
25
  * Apply all pending migrations to the database.
24
26
  * Uses the centralized MIGRATIONS from migration-service.ts.
27
+ * Each migration is wrapped in BEGIN IMMEDIATE/COMMIT/ROLLBACK
28
+ * to ensure atomicity and prevent concurrent application.
29
+ *
30
+ * Accepts SqliteDatabase interface to work with both bun:sqlite and better-sqlite3.
25
31
  */
26
32
  export const applyMigrations = (db) => {
27
33
  const currentVersion = getSchemaVersion(db);
28
34
  for (const migration of MIGRATIONS) {
29
35
  if (migration.version > currentVersion) {
30
- db.exec(migration.sql);
36
+ db.exec("BEGIN IMMEDIATE");
37
+ try {
38
+ db.exec(migration.sql);
39
+ db.exec("COMMIT");
40
+ }
41
+ catch (e) {
42
+ db.exec("ROLLBACK");
43
+ throw e;
44
+ }
31
45
  }
32
46
  }
33
47
  };
34
- export const makeSqliteClient = (dbPath) => Effect.sync(() => {
35
- const dir = dirname(dbPath);
36
- if (!existsSync(dir)) {
37
- mkdirSync(dir, { recursive: true });
38
- }
39
- const db = new Database(dbPath);
40
- db.pragma("journal_mode = WAL");
41
- db.pragma("foreign_keys = ON");
42
- applyMigrations(db);
43
- return db;
48
+ /**
49
+ * Wrap a better-sqlite3 Database as SqliteDatabase.
50
+ * Used by makeSqliteClient when running under Vitest.
51
+ * Inlined here to avoid circular dependency on test-utils.
52
+ */
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ function wrapBetterSqlite3ForClient(raw) {
55
+ return {
56
+ prepare(sql) {
57
+ const stmt = raw.prepare(sql);
58
+ return {
59
+ run(...params) {
60
+ const r = stmt.run(...params);
61
+ return { lastInsertRowid: r.lastInsertRowid ?? 0, changes: r.changes ?? 0 };
62
+ },
63
+ get(...params) { return stmt.get(...params) ?? null; },
64
+ all(...params) { return stmt.all(...params); }
65
+ };
66
+ },
67
+ run(sql, ...params) {
68
+ const trimmed = sql.trim();
69
+ if (trimmed.toUpperCase().startsWith("PRAGMA")) {
70
+ raw.pragma(trimmed.slice(6).trim());
71
+ return { lastInsertRowid: 0, changes: 0 };
72
+ }
73
+ const r = raw.prepare(sql).run(...params);
74
+ return { lastInsertRowid: r.lastInsertRowid ?? 0, changes: r.changes ?? 0 };
75
+ },
76
+ exec(sql) { raw.exec(sql); },
77
+ close() { raw.close(); },
78
+ transaction(fn) {
79
+ if (typeof raw.transaction === "function") {
80
+ return raw.transaction(fn);
81
+ }
82
+ return () => {
83
+ raw.exec("BEGIN");
84
+ try {
85
+ const r = fn();
86
+ raw.exec("COMMIT");
87
+ return r;
88
+ }
89
+ catch (e) {
90
+ raw.exec("ROLLBACK");
91
+ throw e;
92
+ }
93
+ };
94
+ }
95
+ };
96
+ }
97
+ export const makeSqliteClient = (dbPath) => Effect.tryPromise({
98
+ try: async () => {
99
+ const dir = dirname(dbPath);
100
+ if (!existsSync(dir)) {
101
+ mkdirSync(dir, { recursive: true });
102
+ }
103
+ // Detect Vitest (uses better-sqlite3) vs Bun (uses bun:sqlite)
104
+ // Check both VITEST env var AND that we're NOT running under Bun.
105
+ // Tests spawn CLI subprocesses that inherit VITEST=true but should use bun:sqlite.
106
+ const isVitest = typeof process !== "undefined" && process.env.VITEST === "true"
107
+ && typeof globalThis.Bun === "undefined";
108
+ // Parse and validate busy_timeout to prevent SQL injection
109
+ const rawTimeout = process.env.TX_DB_BUSY_TIMEOUT || "5000";
110
+ const busyTimeout = parseInt(rawTimeout, 10);
111
+ if (!Number.isFinite(busyTimeout) || busyTimeout < 0) {
112
+ throw new Error(`Invalid TX_DB_BUSY_TIMEOUT value: ${rawTimeout}`);
113
+ }
114
+ if (isVitest) {
115
+ // Vitest: use better-sqlite3 wrapped as SqliteDatabase
116
+ const { default: BetterDatabase } = await import("better-sqlite3");
117
+ const raw = new BetterDatabase(dbPath);
118
+ raw.pragma("journal_mode = WAL");
119
+ raw.pragma("foreign_keys = ON");
120
+ raw.pragma("busy_timeout = " + busyTimeout);
121
+ const db = wrapBetterSqlite3ForClient(raw);
122
+ applyMigrations(db);
123
+ return db;
124
+ }
125
+ // Bun: use bun:sqlite
126
+ const { Database } = await import("bun:sqlite");
127
+ const db = new Database(dbPath);
128
+ db.run("PRAGMA busy_timeout = " + busyTimeout);
129
+ db.run("PRAGMA journal_mode = WAL");
130
+ db.run("PRAGMA foreign_keys = ON");
131
+ applyMigrations(db);
132
+ return db;
133
+ },
134
+ catch: (cause) => new DatabaseError({ cause })
44
135
  });
45
- export const SqliteClientLive = (dbPath) => Layer.effect(SqliteClient, makeSqliteClient(dbPath));
136
+ export const SqliteClientLive = (dbPath) => Layer.scoped(SqliteClient, Effect.acquireRelease(makeSqliteClient(dbPath), (db) => Effect.sync(() => { try {
137
+ db.close();
138
+ }
139
+ catch { /* already closed */ } })));
46
140
  //# sourceMappingURL=db.js.map
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAwB5D,4EAA4E;AAC5E,MAAM,OAAO,YAAa,SAAQ,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAG1D;CAAG;AAEN;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAqB,EAAU,EAAE;IAChE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,EAAqC,CAAA;QACrH,OAAO,GAAG,EAAE,OAAO,IAAI,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAqB,EAAQ,EAAE;IAC7D,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAE3C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;YACvC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAoC,EAAE,CACnF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC/B,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC9B,eAAe,CAAC,EAAE,CAAC,CAAA;IACnB,OAAO,EAAE,CAAA;AACX,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE,CACjD,KAAK,CAAC,MAAM,CACV,YAAY,EACZ,gBAAgB,CAAC,MAAM,CAAC,CACzB,CAAA"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -30,6 +30,14 @@ export declare class AttemptNotFoundError extends AttemptNotFoundError_base<{
30
30
  }> {
31
31
  get message(): string;
32
32
  }
33
+ declare const RunNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
34
+ readonly _tag: "RunNotFoundError";
35
+ } & Readonly<A>;
36
+ export declare class RunNotFoundError extends RunNotFoundError_base<{
37
+ readonly id: string;
38
+ }> {
39
+ get message(): string;
40
+ }
33
41
  declare const ValidationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
34
42
  readonly _tag: "ValidationError";
35
43
  } & Readonly<A>;
@@ -63,43 +71,29 @@ export declare class EmbeddingUnavailableError extends EmbeddingUnavailableError
63
71
  }> {
64
72
  get message(): string;
65
73
  }
66
- declare const RerankerUnavailableError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
67
- readonly _tag: "RerankerUnavailableError";
74
+ declare const EmbeddingDimensionMismatchError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
75
+ readonly _tag: "EmbeddingDimensionMismatchError";
68
76
  } & Readonly<A>;
69
- export declare class RerankerUnavailableError extends RerankerUnavailableError_base<{
70
- readonly reason: string;
77
+ export declare class EmbeddingDimensionMismatchError extends EmbeddingDimensionMismatchError_base<{
78
+ readonly queryDimensions: number;
79
+ readonly documentDimensions: number;
71
80
  }> {
72
81
  get message(): string;
73
82
  }
74
- declare const EdgeNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
75
- readonly _tag: "EdgeNotFoundError";
76
- } & Readonly<A>;
77
- export declare class EdgeNotFoundError extends EdgeNotFoundError_base<{
78
- readonly id: number;
79
- }> {
80
- get message(): string;
81
- }
82
- declare const AnchorNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
83
- readonly _tag: "AnchorNotFoundError";
84
- } & Readonly<A>;
85
- export declare class AnchorNotFoundError extends AnchorNotFoundError_base<{
86
- readonly id: number;
87
- }> {
88
- get message(): string;
89
- }
90
- declare const CandidateNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
91
- readonly _tag: "CandidateNotFoundError";
83
+ declare const RerankerUnavailableError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
84
+ readonly _tag: "RerankerUnavailableError";
92
85
  } & Readonly<A>;
93
- export declare class CandidateNotFoundError extends CandidateNotFoundError_base<{
94
- readonly id: number;
86
+ export declare class RerankerUnavailableError extends RerankerUnavailableError_base<{
87
+ readonly reason: string;
95
88
  }> {
96
89
  get message(): string;
97
90
  }
98
- declare const ExtractionUnavailableError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
99
- readonly _tag: "ExtractionUnavailableError";
91
+ declare const DependencyNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
92
+ readonly _tag: "DependencyNotFoundError";
100
93
  } & Readonly<A>;
101
- export declare class ExtractionUnavailableError extends ExtractionUnavailableError_base<{
102
- readonly reason: string;
94
+ export declare class DependencyNotFoundError extends DependencyNotFoundError_base<{
95
+ readonly blockerId: string;
96
+ readonly blockedId: string;
103
97
  }> {
104
98
  get message(): string;
105
99
  }
@@ -111,12 +105,11 @@ export declare class RetrievalError extends RetrievalError_base<{
111
105
  }> {
112
106
  get message(): string;
113
107
  }
114
- declare const AstGrepError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
115
- readonly _tag: "AstGrepError";
108
+ declare const LlmUnavailableError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
109
+ readonly _tag: "LlmUnavailableError";
116
110
  } & Readonly<A>;
117
- export declare class AstGrepError extends AstGrepError_base<{
111
+ export declare class LlmUnavailableError extends LlmUnavailableError_base<{
118
112
  readonly reason: string;
119
- readonly cause?: unknown;
120
113
  }> {
121
114
  get message(): string;
122
115
  }
@@ -125,9 +118,10 @@ declare const DaemonError_base: new <A extends Record<string, any> = {}>(args: i
125
118
  } & Readonly<A>;
126
119
  export declare class DaemonError extends DaemonError_base<{
127
120
  readonly code: string;
128
- readonly message: string;
121
+ readonly reason: string;
129
122
  readonly pid: number | null;
130
123
  }> {
124
+ get message(): string;
131
125
  }
132
126
  declare const FileWatcherError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
133
127
  readonly _tag: "FileWatcherError";
@@ -226,6 +220,156 @@ export declare class OrchestratorError extends OrchestratorError_base<{
226
220
  }> {
227
221
  get message(): string;
228
222
  }
229
- export type TaskError = TaskNotFoundError | ValidationError | CircularDependencyError | DatabaseError | EmbeddingUnavailableError | RerankerUnavailableError | ExtractionUnavailableError | RetrievalError | AstGrepError | DaemonError | FileWatcherError | WatcherAlreadyRunningError | WatcherNotRunningError | CandidateNotFoundError | RegistrationError | WorkerNotFoundError | AlreadyClaimedError | ClaimNotFoundError | ClaimIdNotFoundError | LeaseExpiredError | MaxRenewalsExceededError | OrchestratorError;
223
+ declare const BatchProcessingError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
224
+ readonly _tag: "BatchProcessingError";
225
+ } & Readonly<A>;
226
+ /**
227
+ * Error that occurs during batch processing operations.
228
+ * Includes partial results that were successfully processed before the failure.
229
+ */
230
+ export declare class BatchProcessingError<T> extends BatchProcessingError_base<{
231
+ readonly operation: string;
232
+ readonly batchIndex: number;
233
+ readonly totalBatches: number;
234
+ readonly partialResult: T;
235
+ readonly cause: unknown;
236
+ }> {
237
+ get message(): string;
238
+ }
239
+ declare const InvalidStatusError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
240
+ readonly _tag: "InvalidStatusError";
241
+ } & Readonly<A>;
242
+ /**
243
+ * Error for invalid status values in database rows.
244
+ * Used when a status column contains an unexpected value.
245
+ */
246
+ export declare class InvalidStatusError extends InvalidStatusError_base<{
247
+ readonly entity: string;
248
+ readonly status: string;
249
+ readonly validStatuses: readonly string[];
250
+ readonly rowId?: string | number;
251
+ }> {
252
+ get message(): string;
253
+ }
254
+ declare const InvalidDateError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
255
+ readonly _tag: "InvalidDateError";
256
+ } & Readonly<A>;
257
+ /**
258
+ * Error for invalid date values in database rows.
259
+ * Used when a date column contains a malformed ISO string that produces Invalid Date.
260
+ */
261
+ export declare class InvalidDateError extends InvalidDateError_base<{
262
+ readonly field: string;
263
+ readonly value: string;
264
+ readonly rowId?: string | number;
265
+ }> {
266
+ get message(): string;
267
+ }
268
+ declare const UnexpectedRowCountError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
269
+ readonly _tag: "UnexpectedRowCountError";
270
+ } & Readonly<A>;
271
+ /**
272
+ * Error for unexpected row count in database operations.
273
+ * Used when INSERT/UPDATE/DELETE affects an unexpected number of rows.
274
+ */
275
+ export declare class UnexpectedRowCountError extends UnexpectedRowCountError_base<{
276
+ readonly operation: string;
277
+ readonly expected: number;
278
+ readonly actual: number;
279
+ }> {
280
+ get message(): string;
281
+ }
282
+ declare const EntityFetchError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
283
+ readonly _tag: "EntityFetchError";
284
+ } & Readonly<A>;
285
+ /**
286
+ * Error when a newly inserted or updated entity cannot be fetched.
287
+ * Indicates a database consistency issue.
288
+ */
289
+ export declare class EntityFetchError extends EntityFetchError_base<{
290
+ readonly entity: string;
291
+ readonly id: string | number;
292
+ readonly operation: "insert" | "update";
293
+ }> {
294
+ get message(): string;
295
+ }
296
+ declare const HasChildrenError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
297
+ readonly _tag: "HasChildrenError";
298
+ } & Readonly<A>;
299
+ /**
300
+ * Error when attempting to update a task that has been modified externally.
301
+ * Used for optimistic locking in batch updates to prevent stale data overwrites.
302
+ */
303
+ export declare class HasChildrenError extends HasChildrenError_base<{
304
+ readonly id: string;
305
+ readonly childIds: readonly string[];
306
+ }> {
307
+ get message(): string;
308
+ }
309
+ declare const DocNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
310
+ readonly _tag: "DocNotFoundError";
311
+ } & Readonly<A>;
312
+ export declare class DocNotFoundError extends DocNotFoundError_base<{
313
+ readonly name: string;
314
+ }> {
315
+ get message(): string;
316
+ }
317
+ declare const DocLockedError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
318
+ readonly _tag: "DocLockedError";
319
+ } & Readonly<A>;
320
+ export declare class DocLockedError extends DocLockedError_base<{
321
+ readonly name: string;
322
+ readonly version: number;
323
+ }> {
324
+ get message(): string;
325
+ }
326
+ declare const InvalidDocYamlError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
327
+ readonly _tag: "InvalidDocYamlError";
328
+ } & Readonly<A>;
329
+ export declare class InvalidDocYamlError extends InvalidDocYamlError_base<{
330
+ readonly name: string;
331
+ readonly reason: string;
332
+ }> {
333
+ get message(): string;
334
+ }
335
+ declare const InvariantNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
336
+ readonly _tag: "InvariantNotFoundError";
337
+ } & Readonly<A>;
338
+ export declare class InvariantNotFoundError extends InvariantNotFoundError_base<{
339
+ readonly id: string;
340
+ }> {
341
+ get message(): string;
342
+ }
343
+ declare const StaleDataError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
344
+ readonly _tag: "StaleDataError";
345
+ } & Readonly<A>;
346
+ export declare class StaleDataError extends StaleDataError_base<{
347
+ readonly taskId: string;
348
+ readonly expectedUpdatedAt: string;
349
+ readonly actualUpdatedAt: string;
350
+ }> {
351
+ get message(): string;
352
+ }
353
+ declare const AgentError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
354
+ readonly _tag: "AgentError";
355
+ } & Readonly<A>;
356
+ export declare class AgentError extends AgentError_base<{
357
+ readonly agent: string;
358
+ readonly reason: string;
359
+ readonly cause?: unknown;
360
+ }> {
361
+ get message(): string;
362
+ }
363
+ declare const CycleScanError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
364
+ readonly _tag: "CycleScanError";
365
+ } & Readonly<A>;
366
+ export declare class CycleScanError extends CycleScanError_base<{
367
+ readonly phase: string;
368
+ readonly reason: string;
369
+ readonly cause?: unknown;
370
+ }> {
371
+ get message(): string;
372
+ }
373
+ export type TaskError = TaskNotFoundError | ValidationError | CircularDependencyError | DatabaseError | DependencyNotFoundError | EmbeddingUnavailableError | EmbeddingDimensionMismatchError | RerankerUnavailableError | RetrievalError | RegistrationError | WorkerNotFoundError | AlreadyClaimedError | ClaimNotFoundError | ClaimIdNotFoundError | LeaseExpiredError | MaxRenewalsExceededError | OrchestratorError | RunNotFoundError | InvalidStatusError | InvalidDateError | UnexpectedRowCountError | EntityFetchError | StaleDataError | HasChildrenError | LlmUnavailableError | DaemonError | FileWatcherError | WatcherAlreadyRunningError | WatcherNotRunningError | DocNotFoundError | DocLockedError | InvalidDocYamlError | InvariantNotFoundError | AgentError | CycleScanError;
230
374
  export {};
231
375
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}