@jamesaphoenix/tx-core 0.4.1

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 (289) hide show
  1. package/dist/db.d.ts +42 -0
  2. package/dist/db.d.ts.map +1 -0
  3. package/dist/db.js +46 -0
  4. package/dist/db.js.map +1 -0
  5. package/dist/errors.d.ts +231 -0
  6. package/dist/errors.d.ts.map +1 -0
  7. package/dist/errors.js +139 -0
  8. package/dist/errors.js.map +1 -0
  9. package/dist/id.d.ts +6 -0
  10. package/dist/id.d.ts.map +1 -0
  11. package/dist/id.js +21 -0
  12. package/dist/id.js.map +1 -0
  13. package/dist/index.d.ts +25 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +56 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/layer.d.ts +50 -0
  18. package/dist/layer.d.ts.map +1 -0
  19. package/dist/layer.js +155 -0
  20. package/dist/layer.js.map +1 -0
  21. package/dist/mappers/anchor.d.ts +14 -0
  22. package/dist/mappers/anchor.d.ts.map +1 -0
  23. package/dist/mappers/anchor.js +38 -0
  24. package/dist/mappers/anchor.js.map +1 -0
  25. package/dist/mappers/attempt.d.ts +15 -0
  26. package/dist/mappers/attempt.d.ts.map +1 -0
  27. package/dist/mappers/attempt.js +23 -0
  28. package/dist/mappers/attempt.js.map +1 -0
  29. package/dist/mappers/candidate.d.ts +23 -0
  30. package/dist/mappers/candidate.d.ts.map +1 -0
  31. package/dist/mappers/candidate.js +53 -0
  32. package/dist/mappers/candidate.js.map +1 -0
  33. package/dist/mappers/claim.d.ts +30 -0
  34. package/dist/mappers/claim.d.ts.map +1 -0
  35. package/dist/mappers/claim.js +32 -0
  36. package/dist/mappers/claim.js.map +1 -0
  37. package/dist/mappers/deduplication.d.ts +39 -0
  38. package/dist/mappers/deduplication.d.ts.map +1 -0
  39. package/dist/mappers/deduplication.js +53 -0
  40. package/dist/mappers/deduplication.js.map +1 -0
  41. package/dist/mappers/edge.d.ts +10 -0
  42. package/dist/mappers/edge.d.ts.map +1 -0
  43. package/dist/mappers/edge.js +19 -0
  44. package/dist/mappers/edge.js.map +1 -0
  45. package/dist/mappers/file-learning.d.ts +14 -0
  46. package/dist/mappers/file-learning.d.ts.map +1 -0
  47. package/dist/mappers/file-learning.js +75 -0
  48. package/dist/mappers/file-learning.js.map +1 -0
  49. package/dist/mappers/index.d.ts +17 -0
  50. package/dist/mappers/index.d.ts.map +1 -0
  51. package/dist/mappers/index.js +30 -0
  52. package/dist/mappers/index.js.map +1 -0
  53. package/dist/mappers/learning.d.ts +19 -0
  54. package/dist/mappers/learning.d.ts.map +1 -0
  55. package/dist/mappers/learning.js +41 -0
  56. package/dist/mappers/learning.js.map +1 -0
  57. package/dist/mappers/orchestrator-state.d.ts +33 -0
  58. package/dist/mappers/orchestrator-state.d.ts.map +1 -0
  59. package/dist/mappers/orchestrator-state.js +34 -0
  60. package/dist/mappers/orchestrator-state.js.map +1 -0
  61. package/dist/mappers/run.d.ts +32 -0
  62. package/dist/mappers/run.d.ts.map +1 -0
  63. package/dist/mappers/run.js +64 -0
  64. package/dist/mappers/run.js.map +1 -0
  65. package/dist/mappers/task.d.ts +23 -0
  66. package/dist/mappers/task.d.ts.map +1 -0
  67. package/dist/mappers/task.js +54 -0
  68. package/dist/mappers/task.js.map +1 -0
  69. package/dist/mappers/tracked-project.d.ts +15 -0
  70. package/dist/mappers/tracked-project.d.ts.map +1 -0
  71. package/dist/mappers/tracked-project.js +23 -0
  72. package/dist/mappers/tracked-project.js.map +1 -0
  73. package/dist/mappers/worker.d.ts +33 -0
  74. package/dist/mappers/worker.d.ts.map +1 -0
  75. package/dist/mappers/worker.js +35 -0
  76. package/dist/mappers/worker.js.map +1 -0
  77. package/dist/repo/anchor-repo.d.ts +52 -0
  78. package/dist/repo/anchor-repo.d.ts.map +1 -0
  79. package/dist/repo/anchor-repo.js +204 -0
  80. package/dist/repo/anchor-repo.js.map +1 -0
  81. package/dist/repo/attempt-repo.d.ts +25 -0
  82. package/dist/repo/attempt-repo.d.ts.map +1 -0
  83. package/dist/repo/attempt-repo.js +78 -0
  84. package/dist/repo/attempt-repo.js.map +1 -0
  85. package/dist/repo/candidate-repo.d.ts +16 -0
  86. package/dist/repo/candidate-repo.d.ts.map +1 -0
  87. package/dist/repo/candidate-repo.js +143 -0
  88. package/dist/repo/candidate-repo.js.map +1 -0
  89. package/dist/repo/claim-repo.d.ts +17 -0
  90. package/dist/repo/claim-repo.d.ts.map +1 -0
  91. package/dist/repo/claim-repo.js +62 -0
  92. package/dist/repo/claim-repo.js.map +1 -0
  93. package/dist/repo/deduplication-repo.d.ts +37 -0
  94. package/dist/repo/deduplication-repo.d.ts.map +1 -0
  95. package/dist/repo/deduplication-repo.js +133 -0
  96. package/dist/repo/deduplication-repo.js.map +1 -0
  97. package/dist/repo/dep-repo.d.ts +19 -0
  98. package/dist/repo/dep-repo.d.ts.map +1 -0
  99. package/dist/repo/dep-repo.js +104 -0
  100. package/dist/repo/dep-repo.js.map +1 -0
  101. package/dist/repo/edge-repo.d.ts +26 -0
  102. package/dist/repo/edge-repo.d.ts.map +1 -0
  103. package/dist/repo/edge-repo.js +227 -0
  104. package/dist/repo/edge-repo.js.map +1 -0
  105. package/dist/repo/file-learning-repo.d.ts +17 -0
  106. package/dist/repo/file-learning-repo.d.ts.map +1 -0
  107. package/dist/repo/file-learning-repo.js +60 -0
  108. package/dist/repo/file-learning-repo.js.map +1 -0
  109. package/dist/repo/index.d.ts +18 -0
  110. package/dist/repo/index.d.ts.map +1 -0
  111. package/dist/repo/index.js +18 -0
  112. package/dist/repo/index.js.map +1 -0
  113. package/dist/repo/learning-repo.d.ts +31 -0
  114. package/dist/repo/learning-repo.d.ts.map +1 -0
  115. package/dist/repo/learning-repo.js +165 -0
  116. package/dist/repo/learning-repo.js.map +1 -0
  117. package/dist/repo/orchestrator-state-repo.d.ts +27 -0
  118. package/dist/repo/orchestrator-state-repo.d.ts.map +1 -0
  119. package/dist/repo/orchestrator-state-repo.js +96 -0
  120. package/dist/repo/orchestrator-state-repo.js.map +1 -0
  121. package/dist/repo/run-repo.d.ts +31 -0
  122. package/dist/repo/run-repo.d.ts.map +1 -0
  123. package/dist/repo/run-repo.js +132 -0
  124. package/dist/repo/run-repo.js.map +1 -0
  125. package/dist/repo/task-repo.d.ts +21 -0
  126. package/dist/repo/task-repo.d.ts.map +1 -0
  127. package/dist/repo/task-repo.js +169 -0
  128. package/dist/repo/task-repo.js.map +1 -0
  129. package/dist/repo/tracked-project-repo.d.ts +16 -0
  130. package/dist/repo/tracked-project-repo.d.ts.map +1 -0
  131. package/dist/repo/tracked-project-repo.js +54 -0
  132. package/dist/repo/tracked-project-repo.js.map +1 -0
  133. package/dist/repo/worker-repo.d.ts +19 -0
  134. package/dist/repo/worker-repo.d.ts.map +1 -0
  135. package/dist/repo/worker-repo.js +72 -0
  136. package/dist/repo/worker-repo.js.map +1 -0
  137. package/dist/schemas/index.d.ts +8 -0
  138. package/dist/schemas/index.d.ts.map +1 -0
  139. package/dist/schemas/index.js +7 -0
  140. package/dist/schemas/index.js.map +1 -0
  141. package/dist/schemas/sync.d.ts +296 -0
  142. package/dist/schemas/sync.d.ts.map +1 -0
  143. package/dist/schemas/sync.js +146 -0
  144. package/dist/schemas/sync.js.map +1 -0
  145. package/dist/schemas/worker.d.ts +77 -0
  146. package/dist/schemas/worker.d.ts.map +1 -0
  147. package/dist/schemas/worker.js +80 -0
  148. package/dist/schemas/worker.js.map +1 -0
  149. package/dist/services/anchor-service.d.ts +147 -0
  150. package/dist/services/anchor-service.d.ts.map +1 -0
  151. package/dist/services/anchor-service.js +540 -0
  152. package/dist/services/anchor-service.js.map +1 -0
  153. package/dist/services/anchor-verification.d.ts +94 -0
  154. package/dist/services/anchor-verification.d.ts.map +1 -0
  155. package/dist/services/anchor-verification.js +617 -0
  156. package/dist/services/anchor-verification.js.map +1 -0
  157. package/dist/services/ast-grep-service.d.ts +58 -0
  158. package/dist/services/ast-grep-service.d.ts.map +1 -0
  159. package/dist/services/ast-grep-service.js +356 -0
  160. package/dist/services/ast-grep-service.js.map +1 -0
  161. package/dist/services/attempt-service.d.ts +24 -0
  162. package/dist/services/attempt-service.d.ts.map +1 -0
  163. package/dist/services/attempt-service.js +55 -0
  164. package/dist/services/attempt-service.js.map +1 -0
  165. package/dist/services/auto-sync-service.d.ts +56 -0
  166. package/dist/services/auto-sync-service.d.ts.map +1 -0
  167. package/dist/services/auto-sync-service.js +66 -0
  168. package/dist/services/auto-sync-service.js.map +1 -0
  169. package/dist/services/candidate-extractor-service.d.ts +56 -0
  170. package/dist/services/candidate-extractor-service.d.ts.map +1 -0
  171. package/dist/services/candidate-extractor-service.js +365 -0
  172. package/dist/services/candidate-extractor-service.js.map +1 -0
  173. package/dist/services/claim-service.d.ts +52 -0
  174. package/dist/services/claim-service.d.ts.map +1 -0
  175. package/dist/services/claim-service.js +134 -0
  176. package/dist/services/claim-service.js.map +1 -0
  177. package/dist/services/daemon-service.d.ts +214 -0
  178. package/dist/services/daemon-service.d.ts.map +1 -0
  179. package/dist/services/daemon-service.js +522 -0
  180. package/dist/services/daemon-service.js.map +1 -0
  181. package/dist/services/deduplication-service.d.ts +67 -0
  182. package/dist/services/deduplication-service.d.ts.map +1 -0
  183. package/dist/services/deduplication-service.js +145 -0
  184. package/dist/services/deduplication-service.js.map +1 -0
  185. package/dist/services/dep-service.d.ts +14 -0
  186. package/dist/services/dep-service.d.ts.map +1 -0
  187. package/dist/services/dep-service.js +34 -0
  188. package/dist/services/dep-service.js.map +1 -0
  189. package/dist/services/diversifier-service.d.ts +46 -0
  190. package/dist/services/diversifier-service.d.ts.map +1 -0
  191. package/dist/services/diversifier-service.js +197 -0
  192. package/dist/services/diversifier-service.js.map +1 -0
  193. package/dist/services/edge-service.d.ts +78 -0
  194. package/dist/services/edge-service.d.ts.map +1 -0
  195. package/dist/services/edge-service.js +158 -0
  196. package/dist/services/edge-service.js.map +1 -0
  197. package/dist/services/embedding-service.d.ts +138 -0
  198. package/dist/services/embedding-service.d.ts.map +1 -0
  199. package/dist/services/embedding-service.js +318 -0
  200. package/dist/services/embedding-service.js.map +1 -0
  201. package/dist/services/feedback-tracker.d.ts +64 -0
  202. package/dist/services/feedback-tracker.d.ts.map +1 -0
  203. package/dist/services/feedback-tracker.js +110 -0
  204. package/dist/services/feedback-tracker.js.map +1 -0
  205. package/dist/services/file-learning-service.d.ts +17 -0
  206. package/dist/services/file-learning-service.d.ts.map +1 -0
  207. package/dist/services/file-learning-service.js +41 -0
  208. package/dist/services/file-learning-service.js.map +1 -0
  209. package/dist/services/file-watcher-service.d.ts +141 -0
  210. package/dist/services/file-watcher-service.d.ts.map +1 -0
  211. package/dist/services/file-watcher-service.js +278 -0
  212. package/dist/services/file-watcher-service.js.map +1 -0
  213. package/dist/services/graph-expansion.d.ts +155 -0
  214. package/dist/services/graph-expansion.d.ts.map +1 -0
  215. package/dist/services/graph-expansion.js +466 -0
  216. package/dist/services/graph-expansion.js.map +1 -0
  217. package/dist/services/hierarchy-service.d.ts +16 -0
  218. package/dist/services/hierarchy-service.d.ts.map +1 -0
  219. package/dist/services/hierarchy-service.js +66 -0
  220. package/dist/services/hierarchy-service.js.map +1 -0
  221. package/dist/services/index.d.ts +36 -0
  222. package/dist/services/index.d.ts.map +1 -0
  223. package/dist/services/index.js +36 -0
  224. package/dist/services/index.js.map +1 -0
  225. package/dist/services/learning-service.d.ts +39 -0
  226. package/dist/services/learning-service.d.ts.map +1 -0
  227. package/dist/services/learning-service.js +151 -0
  228. package/dist/services/learning-service.js.map +1 -0
  229. package/dist/services/migration-service.d.ts +67 -0
  230. package/dist/services/migration-service.d.ts.map +1 -0
  231. package/dist/services/migration-service.js +144 -0
  232. package/dist/services/migration-service.js.map +1 -0
  233. package/dist/services/orchestrator-service.d.ts +52 -0
  234. package/dist/services/orchestrator-service.d.ts.map +1 -0
  235. package/dist/services/orchestrator-service.js +203 -0
  236. package/dist/services/orchestrator-service.js.map +1 -0
  237. package/dist/services/promotion-service.d.ts +67 -0
  238. package/dist/services/promotion-service.d.ts.map +1 -0
  239. package/dist/services/promotion-service.js +151 -0
  240. package/dist/services/promotion-service.js.map +1 -0
  241. package/dist/services/query-expansion-service.d.ts +55 -0
  242. package/dist/services/query-expansion-service.d.ts.map +1 -0
  243. package/dist/services/query-expansion-service.js +174 -0
  244. package/dist/services/query-expansion-service.js.map +1 -0
  245. package/dist/services/ready-service.d.ts +16 -0
  246. package/dist/services/ready-service.d.ts.map +1 -0
  247. package/dist/services/ready-service.js +70 -0
  248. package/dist/services/ready-service.js.map +1 -0
  249. package/dist/services/reranker-service.d.ts +51 -0
  250. package/dist/services/reranker-service.d.ts.map +1 -0
  251. package/dist/services/reranker-service.js +128 -0
  252. package/dist/services/reranker-service.js.map +1 -0
  253. package/dist/services/retriever-service.d.ts +49 -0
  254. package/dist/services/retriever-service.d.ts.map +1 -0
  255. package/dist/services/retriever-service.js +419 -0
  256. package/dist/services/retriever-service.js.map +1 -0
  257. package/dist/services/score-service.d.ts +43 -0
  258. package/dist/services/score-service.d.ts.map +1 -0
  259. package/dist/services/score-service.js +82 -0
  260. package/dist/services/score-service.js.map +1 -0
  261. package/dist/services/swarm-verification.d.ts +104 -0
  262. package/dist/services/swarm-verification.d.ts.map +1 -0
  263. package/dist/services/swarm-verification.js +400 -0
  264. package/dist/services/swarm-verification.js.map +1 -0
  265. package/dist/services/sync-service.d.ts +115 -0
  266. package/dist/services/sync-service.d.ts.map +1 -0
  267. package/dist/services/sync-service.js +350 -0
  268. package/dist/services/sync-service.js.map +1 -0
  269. package/dist/services/task-service.d.ts +22 -0
  270. package/dist/services/task-service.d.ts.map +1 -0
  271. package/dist/services/task-service.js +221 -0
  272. package/dist/services/task-service.js.map +1 -0
  273. package/dist/services/worker-process.d.ts +41 -0
  274. package/dist/services/worker-process.d.ts.map +1 -0
  275. package/dist/services/worker-process.js +280 -0
  276. package/dist/services/worker-process.js.map +1 -0
  277. package/dist/services/worker-service.d.ts +74 -0
  278. package/dist/services/worker-service.d.ts.map +1 -0
  279. package/dist/services/worker-service.js +148 -0
  280. package/dist/services/worker-service.js.map +1 -0
  281. package/dist/utils/glob.d.ts +15 -0
  282. package/dist/utils/glob.d.ts.map +1 -0
  283. package/dist/utils/glob.js +27 -0
  284. package/dist/utils/glob.js.map +1 -0
  285. package/dist/utils/math.d.ts +6 -0
  286. package/dist/utils/math.d.ts.map +1 -0
  287. package/dist/utils/math.js +21 -0
  288. package/dist/utils/math.js.map +1 -0
  289. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplication.js","sourceRoot":"","sources":["../../src/mappers/deduplication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAQnC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAU,EAAE,CACrD,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAqB,EAAiB,EAAE,CAAC,CAAC;IAC3E,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,WAAW,EAAE,GAAG,CAAC,YAAY;IAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;IAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;IAC3B,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;CACxC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAmB,EAAE,EAAE,CAAC,CAAC;IAC9D,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;IAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;IAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;CAC5C,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAoB,EAAgB,EAAE,CAAC,CAAC;IACxE,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,QAAQ,EAAE,GAAG,CAAC,SAAS;IACvB,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;IAC1C,cAAc,EAAE,GAAG,CAAC,gBAAgB;IACpC,QAAQ,EAAE,GAAG,CAAC,SAAS;IACvB,YAAY,EAAE,GAAG,CAAC,aAAa;IAC/B,eAAe,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;CACjD,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAsB,EAAE,EAAE,CAAC,CAAC;IAChE,EAAE,EAAE,QAAQ,CAAC,EAAE;IACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAC3B,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;IAC7C,cAAc,EAAE,QAAQ,CAAC,cAAc;IACvC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;IACnC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE;CACxD,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Edge mappers - convert database rows to domain objects
3
+ */
4
+ import type { Edge, EdgeRow } from "@jamesaphoenix/tx-types";
5
+ export type { EdgeRow } from "@jamesaphoenix/tx-types";
6
+ /**
7
+ * Convert a database row to an Edge domain object.
8
+ */
9
+ export declare const rowToEdge: (row: EdgeRow) => Edge;
10
+ //# sourceMappingURL=edge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/mappers/edge.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,IAAI,EAIJ,OAAO,EACR,MAAM,yBAAyB,CAAA;AAGhC,YAAY,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,KAAG,IAWvC,CAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Edge mappers - convert database rows to domain objects
3
+ */
4
+ /**
5
+ * Convert a database row to an Edge domain object.
6
+ */
7
+ export const rowToEdge = (row) => ({
8
+ id: row.id,
9
+ edgeType: row.edge_type,
10
+ sourceType: row.source_type,
11
+ sourceId: row.source_id,
12
+ targetType: row.target_type,
13
+ targetId: row.target_id,
14
+ weight: row.weight,
15
+ metadata: row.metadata ? JSON.parse(row.metadata) : {},
16
+ createdAt: new Date(row.created_at),
17
+ invalidatedAt: row.invalidated_at ? new Date(row.invalidated_at) : null
18
+ });
19
+ //# sourceMappingURL=edge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/mappers/edge.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAY,EAAQ,EAAE,CAAC,CAAC;IAChD,EAAE,EAAE,GAAG,CAAC,EAAY;IACpB,QAAQ,EAAE,GAAG,CAAC,SAAqB;IACnC,UAAU,EAAE,GAAG,CAAC,WAAuB;IACvC,QAAQ,EAAE,GAAG,CAAC,SAAS;IACvB,UAAU,EAAE,GAAG,CAAC,WAAuB;IACvC,QAAQ,EAAE,GAAG,CAAC,SAAS;IACvB,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;IACtD,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC,aAAa,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;CACxE,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * File learning mappers - convert database rows to domain objects
3
+ */
4
+ import type { FileLearning, FileLearningRow } from "@jamesaphoenix/tx-types";
5
+ export type { FileLearningRow } from "@jamesaphoenix/tx-types";
6
+ /**
7
+ * Convert a database row to a FileLearning domain object.
8
+ */
9
+ export declare const rowToFileLearning: (row: FileLearningRow) => FileLearning;
10
+ /**
11
+ * Check if a path matches a glob pattern.
12
+ */
13
+ export declare const matchesPattern: (pattern: string, path: string) => boolean;
14
+ //# sourceMappingURL=file-learning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-learning.d.ts","sourceRoot":"","sources":["../../src/mappers/file-learning.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAGhC,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,eAAe,KAAG,YAMvD,CAAA;AA8CF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,OAQ9D,CAAA"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * File learning mappers - convert database rows to domain objects
3
+ */
4
+ /**
5
+ * Convert a database row to a FileLearning domain object.
6
+ */
7
+ export const rowToFileLearning = (row) => ({
8
+ id: row.id,
9
+ filePattern: row.file_pattern,
10
+ note: row.note,
11
+ taskId: row.task_id,
12
+ createdAt: new Date(row.created_at)
13
+ });
14
+ /**
15
+ * Simple glob pattern matching.
16
+ * Supports:
17
+ * - * matches any characters except /
18
+ * - ** matches any characters including / (zero or more path segments)
19
+ * - ? matches single character
20
+ */
21
+ const globToRegex = (pattern) => {
22
+ let regex = "";
23
+ let i = 0;
24
+ while (i < pattern.length) {
25
+ const char = pattern[i];
26
+ if (char === "*") {
27
+ if (pattern[i + 1] === "*") {
28
+ // ** followed by / means zero or more path segments
29
+ if (pattern[i + 2] === "/") {
30
+ // **/ matches zero or more path segments
31
+ // Use non-greedy match: (?:.*/)? to optionally match paths ending with /
32
+ regex += "(?:.*/)?";
33
+ i += 3;
34
+ }
35
+ else {
36
+ // ** at end or not followed by / - matches anything
37
+ regex += ".*";
38
+ i += 2;
39
+ }
40
+ }
41
+ else {
42
+ // * matches anything except /
43
+ regex += "[^/]*";
44
+ i++;
45
+ }
46
+ }
47
+ else if (char === "?") {
48
+ regex += "[^/]";
49
+ i++;
50
+ }
51
+ else if (char === "." || char === "(" || char === ")" || char === "[" || char === "]" || char === "^" || char === "$" || char === "+" || char === "{" || char === "}" || char === "|" || char === "\\") {
52
+ regex += "\\" + char;
53
+ i++;
54
+ }
55
+ else {
56
+ regex += char;
57
+ i++;
58
+ }
59
+ }
60
+ return new RegExp("^" + regex + "$");
61
+ };
62
+ /**
63
+ * Check if a path matches a glob pattern.
64
+ */
65
+ export const matchesPattern = (pattern, path) => {
66
+ try {
67
+ const regex = globToRegex(pattern);
68
+ return regex.test(path);
69
+ }
70
+ catch {
71
+ // If pattern is invalid, do exact match
72
+ return pattern === path;
73
+ }
74
+ };
75
+ //# sourceMappingURL=file-learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-learning.js","sourceRoot":"","sources":["../../src/mappers/file-learning.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAoB,EAAgB,EAAE,CAAC,CAAC;IACxE,EAAE,EAAE,GAAG,CAAC,EAAoB;IAC5B,WAAW,EAAE,GAAG,CAAC,YAAY;IAC7B,IAAI,EAAE,GAAG,CAAC,IAAI;IACd,MAAM,EAAE,GAAG,CAAC,OAAO;IACnB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;CACpC,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,CAAC,OAAe,EAAU,EAAE;IAC9C,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,oDAAoD;gBACpD,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC3B,yCAAyC;oBACzC,yEAAyE;oBACzE,KAAK,IAAI,UAAU,CAAA;oBACnB,CAAC,IAAI,CAAC,CAAA;gBACR,CAAC;qBAAM,CAAC;oBACN,oDAAoD;oBACpD,KAAK,IAAI,IAAI,CAAA;oBACb,CAAC,IAAI,CAAC,CAAA;gBACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8BAA8B;gBAC9B,KAAK,IAAI,OAAO,CAAA;gBAChB,CAAC,EAAE,CAAA;YACL,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,MAAM,CAAA;YACf,CAAC,EAAE,CAAA;QACL,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACzM,KAAK,IAAI,IAAI,GAAG,IAAI,CAAA;YACpB,CAAC,EAAE,CAAA;QACL,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,IAAI,CAAA;YACb,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAA;AACtC,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;IACvE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;QACxC,OAAO,OAAO,KAAK,IAAI,CAAA;IACzB,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @tx/core/mappers - Row to domain object conversion utilities
3
+ */
4
+ export { rowToTask, rowToDependency, isValidStatus, isValidTransition, TASK_STATUSES, VALID_TRANSITIONS, type TaskRow, type DependencyRow } from "./task.js";
5
+ export { rowToLearning, isValidSourceType, float32ArrayToBuffer, LEARNING_SOURCE_TYPES, type LearningRow } from "./learning.js";
6
+ export { rowToFileLearning, matchesPattern, type FileLearningRow } from "./file-learning.js";
7
+ export { rowToAttempt, isValidOutcome, ATTEMPT_OUTCOMES, type AttemptRow } from "./attempt.js";
8
+ export { rowToRun, generateRunId, serializeRun, RUN_STATUSES } from "./run.js";
9
+ export { rowToAnchor, type AnchorRow } from "./anchor.js";
10
+ export { rowToEdge, type EdgeRow } from "./edge.js";
11
+ export { hashContent, rowToProcessedHash, serializeProcessedHash, rowToFileProgress, serializeFileProgress } from "./deduplication.js";
12
+ export { rowToCandidate, isValidConfidence, isValidStatus as isValidCandidateStatus, isValidCategory, CANDIDATE_CONFIDENCES, CANDIDATE_CATEGORIES, CANDIDATE_STATUSES, type CandidateRow } from "./candidate.js";
13
+ export { rowToTrackedProject, isValidTrackedSourceType, SOURCE_TYPES, type TrackedProjectRow } from "./tracked-project.js";
14
+ export { rowToWorker, isValidWorkerStatus, WORKER_STATUSES, type WorkerRow } from "./worker.js";
15
+ export { rowToClaim, isValidClaimStatus, CLAIM_STATUSES, type ClaimRow } from "./claim.js";
16
+ export { rowToOrchestratorState, isValidOrchestratorStatus, ORCHESTRATOR_STATUSES, type OrchestratorStateRow } from "./orchestrator-state.js";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mappers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAGlB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,WAAW,EACjB,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,WAAW,EACX,KAAK,SAAS,EACf,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,SAAS,EACT,KAAK,OAAO,EACb,MAAM,WAAW,CAAA;AAGlB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,IAAI,sBAAsB,EACvC,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,KAAK,SAAS,EACf,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,KAAK,QAAQ,EACd,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @tx/core/mappers - Row to domain object conversion utilities
3
+ */
4
+ // Task mappers
5
+ export { rowToTask, rowToDependency, isValidStatus, isValidTransition, TASK_STATUSES, VALID_TRANSITIONS } from "./task.js";
6
+ // Learning mappers
7
+ export { rowToLearning, isValidSourceType, float32ArrayToBuffer, LEARNING_SOURCE_TYPES } from "./learning.js";
8
+ // File learning mappers
9
+ export { rowToFileLearning, matchesPattern } from "./file-learning.js";
10
+ // Attempt mappers
11
+ export { rowToAttempt, isValidOutcome, ATTEMPT_OUTCOMES } from "./attempt.js";
12
+ // Run mappers
13
+ export { rowToRun, generateRunId, serializeRun, RUN_STATUSES } from "./run.js";
14
+ // Anchor mappers
15
+ export { rowToAnchor } from "./anchor.js";
16
+ // Edge mappers
17
+ export { rowToEdge } from "./edge.js";
18
+ // Deduplication mappers
19
+ export { hashContent, rowToProcessedHash, serializeProcessedHash, rowToFileProgress, serializeFileProgress } from "./deduplication.js";
20
+ // Candidate mappers
21
+ export { rowToCandidate, isValidConfidence, isValidStatus as isValidCandidateStatus, isValidCategory, CANDIDATE_CONFIDENCES, CANDIDATE_CATEGORIES, CANDIDATE_STATUSES } from "./candidate.js";
22
+ // TrackedProject mappers
23
+ export { rowToTrackedProject, isValidTrackedSourceType, SOURCE_TYPES } from "./tracked-project.js";
24
+ // Worker mappers
25
+ export { rowToWorker, isValidWorkerStatus, WORKER_STATUSES } from "./worker.js";
26
+ // Claim mappers
27
+ export { rowToClaim, isValidClaimStatus, CLAIM_STATUSES } from "./claim.js";
28
+ // OrchestratorState mappers
29
+ export { rowToOrchestratorState, isValidOrchestratorStatus, ORCHESTRATOR_STATUSES } from "./orchestrator-state.js";
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mappers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;AACf,OAAO,EACL,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EAGlB,MAAM,WAAW,CAAA;AAElB,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,eAAe,CAAA;AAEtB,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,cAAc,EAEf,MAAM,oBAAoB,CAAA;AAE3B,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAEjB,MAAM,cAAc,CAAA;AAErB,cAAc;AACd,OAAO,EACL,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,iBAAiB;AACjB,OAAO,EACL,WAAW,EAEZ,MAAM,aAAa,CAAA;AAEpB,eAAe;AACf,OAAO,EACL,SAAS,EAEV,MAAM,WAAW,CAAA;AAElB,wBAAwB;AACxB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,oBAAoB,CAAA;AAE3B,oBAAoB;AACpB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,IAAI,sBAAsB,EACvC,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAA;AAEvB,yBAAyB;AACzB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EAEb,MAAM,sBAAsB,CAAA;AAE7B,iBAAiB;AACjB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,eAAe,EAEhB,MAAM,aAAa,CAAA;AAEpB,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EAEf,MAAM,YAAY,CAAA;AAEnB,4BAA4B;AAC5B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EAEtB,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Learning mappers - convert database rows to domain objects
3
+ */
4
+ import type { Learning, LearningSourceType, LearningRow } from "@jamesaphoenix/tx-types";
5
+ export type { LearningRow } from "@jamesaphoenix/tx-types";
6
+ export { LEARNING_SOURCE_TYPES } from "@jamesaphoenix/tx-types";
7
+ /**
8
+ * Check if a string is a valid LearningSourceType.
9
+ */
10
+ export declare const isValidSourceType: (s: string) => s is LearningSourceType;
11
+ /**
12
+ * Convert Float32Array to Buffer for SQLite storage.
13
+ */
14
+ export declare const float32ArrayToBuffer: (arr: Float32Array) => Buffer;
15
+ /**
16
+ * Convert a database row to a Learning domain object.
17
+ */
18
+ export declare const rowToLearning: (row: LearningRow) => Learning;
19
+ //# sourceMappingURL=learning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning.d.ts","sourceRoot":"","sources":["../../src/mappers/learning.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,QAAQ,EAER,kBAAkB,EAClB,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAGhC,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,kBAGlD,CAAA;AAaD;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,YAAY,KAAG,MAExD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,WAAW,KAAG,QAY/C,CAAA"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Learning mappers - convert database rows to domain objects
3
+ */
4
+ export { LEARNING_SOURCE_TYPES } from "@jamesaphoenix/tx-types";
5
+ /**
6
+ * Check if a string is a valid LearningSourceType.
7
+ */
8
+ export const isValidSourceType = (s) => {
9
+ const sources = ["compaction", "run", "manual", "claude_md"];
10
+ return sources.includes(s);
11
+ };
12
+ /**
13
+ * Convert a SQLite BLOB (Buffer) to Float32Array.
14
+ */
15
+ const bufferToFloat32Array = (buffer) => {
16
+ const arrayBuffer = buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
17
+ return new Float32Array(arrayBuffer);
18
+ };
19
+ /**
20
+ * Convert Float32Array to Buffer for SQLite storage.
21
+ */
22
+ export const float32ArrayToBuffer = (arr) => {
23
+ return Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength);
24
+ };
25
+ /**
26
+ * Convert a database row to a Learning domain object.
27
+ */
28
+ export const rowToLearning = (row) => ({
29
+ id: row.id,
30
+ content: row.content,
31
+ sourceType: row.source_type,
32
+ sourceRef: row.source_ref,
33
+ createdAt: new Date(row.created_at),
34
+ keywords: row.keywords ? JSON.parse(row.keywords) : [],
35
+ category: row.category,
36
+ usageCount: row.usage_count,
37
+ lastUsedAt: row.last_used_at ? new Date(row.last_used_at) : null,
38
+ outcomeScore: row.outcome_score,
39
+ embedding: row.embedding ? bufferToFloat32Array(row.embedding) : null
40
+ });
41
+ //# sourceMappingURL=learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning.js","sourceRoot":"","sources":["../../src/mappers/learning.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAA2B,EAAE;IACtE,MAAM,OAAO,GAAsB,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC/E,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAgB,EAAE;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CACrC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CACtC,CAAA;IACD,OAAO,IAAI,YAAY,CAAC,WAAW,CAAC,CAAA;AACtC,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAiB,EAAU,EAAE;IAChE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;AAChE,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAgB,EAAY,EAAE,CAAC,CAAC;IAC5D,EAAE,EAAE,GAAG,CAAC,EAAgB;IACxB,OAAO,EAAE,GAAG,CAAC,OAAO;IACpB,UAAU,EAAE,GAAG,CAAC,WAAiC;IACjD,SAAS,EAAE,GAAG,CAAC,UAAU;IACzB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,CAAC,QAAQ;IACtB,UAAU,EAAE,GAAG,CAAC,WAAW;IAC3B,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;IAChE,YAAY,EAAE,GAAG,CAAC,aAAa;IAC/B,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;CACtE,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * OrchestratorState mappers - convert database rows to domain objects
3
+ */
4
+ import type { OrchestratorState, OrchestratorStatus } from "../schemas/worker.js";
5
+ /**
6
+ * Database row type for orchestrator_state table.
7
+ */
8
+ export interface OrchestratorStateRow {
9
+ id: number;
10
+ status: string;
11
+ pid: number | null;
12
+ started_at: string | null;
13
+ last_reconcile_at: string | null;
14
+ worker_pool_size: number;
15
+ reconcile_interval_seconds: number;
16
+ heartbeat_interval_seconds: number;
17
+ lease_duration_minutes: number;
18
+ metadata: string;
19
+ }
20
+ /**
21
+ * Valid orchestrator statuses.
22
+ */
23
+ export declare const ORCHESTRATOR_STATUSES: readonly ["stopped", "starting", "running", "stopping"];
24
+ /**
25
+ * Check if a string is a valid OrchestratorStatus.
26
+ */
27
+ export declare const isValidOrchestratorStatus: (s: string) => s is OrchestratorStatus;
28
+ /**
29
+ * Convert a database row to an OrchestratorState domain object.
30
+ * Throws if status is invalid.
31
+ */
32
+ export declare const rowToOrchestratorState: (row: OrchestratorStateRow) => OrchestratorState;
33
+ //# sourceMappingURL=orchestrator-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-state.d.ts","sourceRoot":"","sources":["../../src/mappers/orchestrator-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,gBAAgB,EAAE,MAAM,CAAA;IACxB,0BAA0B,EAAE,MAAM,CAAA;IAClC,0BAA0B,EAAE,MAAM,CAAA;IAClC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,yDAA0D,CAAA;AAE5F;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,kBAE1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,KAAK,oBAAoB,KAAG,iBAelE,CAAA"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * OrchestratorState mappers - convert database rows to domain objects
3
+ */
4
+ /**
5
+ * Valid orchestrator statuses.
6
+ */
7
+ export const ORCHESTRATOR_STATUSES = ["stopped", "starting", "running", "stopping"];
8
+ /**
9
+ * Check if a string is a valid OrchestratorStatus.
10
+ */
11
+ export const isValidOrchestratorStatus = (s) => {
12
+ return ORCHESTRATOR_STATUSES.includes(s);
13
+ };
14
+ /**
15
+ * Convert a database row to an OrchestratorState domain object.
16
+ * Throws if status is invalid.
17
+ */
18
+ export const rowToOrchestratorState = (row) => {
19
+ if (!isValidOrchestratorStatus(row.status)) {
20
+ throw new Error(`Invalid orchestrator status: ${row.status}`);
21
+ }
22
+ return {
23
+ status: row.status,
24
+ pid: row.pid,
25
+ startedAt: row.started_at ? new Date(row.started_at) : null,
26
+ lastReconcileAt: row.last_reconcile_at ? new Date(row.last_reconcile_at) : null,
27
+ workerPoolSize: row.worker_pool_size,
28
+ reconcileIntervalSeconds: row.reconcile_interval_seconds,
29
+ heartbeatIntervalSeconds: row.heartbeat_interval_seconds,
30
+ leaseDurationMinutes: row.lease_duration_minutes,
31
+ metadata: JSON.parse(row.metadata || "{}")
32
+ };
33
+ };
34
+ //# sourceMappingURL=orchestrator-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-state.js","sourceRoot":"","sources":["../../src/mappers/orchestrator-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAU,CAAA;AAE5F;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAS,EAA2B,EAAE;IAC9E,OAAQ,qBAA2C,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AACjE,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAyB,EAAqB,EAAE;IACrF,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3D,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/E,cAAc,EAAE,GAAG,CAAC,gBAAgB;QACpC,wBAAwB,EAAE,GAAG,CAAC,0BAA0B;QACxD,wBAAwB,EAAE,GAAG,CAAC,0BAA0B;QACxD,oBAAoB,EAAE,GAAG,CAAC,sBAAsB;QAChD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;KAC3C,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Run mappers - convert database rows to domain objects
3
+ */
4
+ import type { Run, RunId, RunRow } from "@jamesaphoenix/tx-types";
5
+ export { RUN_STATUSES } from "@jamesaphoenix/tx-types";
6
+ /**
7
+ * Generate a run ID from timestamp + random.
8
+ */
9
+ export declare const generateRunId: () => RunId;
10
+ /**
11
+ * Convert a database row to a Run domain object.
12
+ */
13
+ export declare const rowToRun: (row: RunRow) => Run;
14
+ /**
15
+ * Serialize Run for JSON output.
16
+ */
17
+ export declare const serializeRun: (run: Run) => {
18
+ id: `run-${string}`;
19
+ taskId: string | null;
20
+ agent: string;
21
+ startedAt: string;
22
+ endedAt: string | null;
23
+ status: "failed" | "running" | "completed" | "timeout" | "cancelled";
24
+ exitCode: number | null;
25
+ pid: number | null;
26
+ transcriptPath: string | null;
27
+ contextInjected: string | null;
28
+ summary: string | null;
29
+ errorMessage: string | null;
30
+ metadata: Record<string, unknown>;
31
+ };
32
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/mappers/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,GAAG,EACH,KAAK,EAEL,MAAM,EACP,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,aAAa,QAAO,KAMhC,CAAA;AAaD;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,GAcrC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,GAAG;;;;;;;;;;;;;;CAcnC,CAAA"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Run mappers - convert database rows to domain objects
3
+ */
4
+ import { createHash } from "crypto";
5
+ // Re-export constants from @tx/types for convenience
6
+ export { RUN_STATUSES } from "@jamesaphoenix/tx-types";
7
+ /**
8
+ * Generate a run ID from timestamp + random.
9
+ */
10
+ export const generateRunId = () => {
11
+ const hash = createHash("sha256")
12
+ .update(`${Date.now()}-${Math.random()}`)
13
+ .digest("hex")
14
+ .substring(0, 8);
15
+ return `run-${hash}`;
16
+ };
17
+ /**
18
+ * Safely parse JSON with fallback to empty object.
19
+ */
20
+ const safeParseMetadata = (json) => {
21
+ try {
22
+ return JSON.parse(json || "{}");
23
+ }
24
+ catch {
25
+ return {};
26
+ }
27
+ };
28
+ /**
29
+ * Convert a database row to a Run domain object.
30
+ */
31
+ export const rowToRun = (row) => ({
32
+ id: row.id,
33
+ taskId: row.task_id,
34
+ agent: row.agent,
35
+ startedAt: new Date(row.started_at),
36
+ endedAt: row.ended_at ? new Date(row.ended_at) : null,
37
+ status: row.status,
38
+ exitCode: row.exit_code,
39
+ pid: row.pid,
40
+ transcriptPath: row.transcript_path,
41
+ contextInjected: row.context_injected,
42
+ summary: row.summary,
43
+ errorMessage: row.error_message,
44
+ metadata: safeParseMetadata(row.metadata)
45
+ });
46
+ /**
47
+ * Serialize Run for JSON output.
48
+ */
49
+ export const serializeRun = (run) => ({
50
+ id: run.id,
51
+ taskId: run.taskId,
52
+ agent: run.agent,
53
+ startedAt: run.startedAt.toISOString(),
54
+ endedAt: run.endedAt?.toISOString() ?? null,
55
+ status: run.status,
56
+ exitCode: run.exitCode,
57
+ pid: run.pid,
58
+ transcriptPath: run.transcriptPath,
59
+ contextInjected: run.contextInjected,
60
+ summary: run.summary,
61
+ errorMessage: run.errorMessage,
62
+ metadata: run.metadata
63
+ });
64
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/mappers/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAQnC,qDAAqD;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAU,EAAE;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;SACxC,MAAM,CAAC,KAAK,CAAC;SACb,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClB,OAAO,OAAO,IAAI,EAAW,CAAA;AAC/B,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,IAA+B,EAA2B,EAAE;IACrF,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAA4B,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAO,EAAE,CAAC,CAAC;IAC7C,EAAE,EAAE,GAAG,CAAC,EAAW;IACnB,MAAM,EAAE,GAAG,CAAC,OAAO;IACnB,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;IACrD,MAAM,EAAE,GAAG,CAAC,MAAmB;IAC/B,QAAQ,EAAE,GAAG,CAAC,SAAS;IACvB,GAAG,EAAE,GAAG,CAAC,GAAG;IACZ,cAAc,EAAE,GAAG,CAAC,eAAe;IACnC,eAAe,EAAE,GAAG,CAAC,gBAAgB;IACrC,OAAO,EAAE,GAAG,CAAC,OAAO;IACpB,YAAY,EAAE,GAAG,CAAC,aAAa;IAC/B,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;CAC1C,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;IACzC,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;IACtC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI;IAC3C,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;IACtB,GAAG,EAAE,GAAG,CAAC,GAAG;IACZ,cAAc,EAAE,GAAG,CAAC,cAAc;IAClC,eAAe,EAAE,GAAG,CAAC,eAAe;IACpC,OAAO,EAAE,GAAG,CAAC,OAAO;IACpB,YAAY,EAAE,GAAG,CAAC,YAAY;IAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;CACvB,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Task mappers - convert database rows to domain objects
3
+ */
4
+ import type { Task, TaskStatus, TaskRow, TaskDependency, DependencyRow } from "@jamesaphoenix/tx-types";
5
+ export type { TaskRow, DependencyRow } from "@jamesaphoenix/tx-types";
6
+ export { TASK_STATUSES, VALID_TRANSITIONS } from "@jamesaphoenix/tx-types";
7
+ /**
8
+ * Convert a database row to a Task domain object.
9
+ */
10
+ export declare const rowToTask: (row: TaskRow) => Task;
11
+ /**
12
+ * Convert a dependency database row to a TaskDependency domain object.
13
+ */
14
+ export declare const rowToDependency: (row: DependencyRow) => TaskDependency;
15
+ /**
16
+ * Check if a string is a valid TaskStatus.
17
+ */
18
+ export declare const isValidStatus: (s: string) => s is TaskStatus;
19
+ /**
20
+ * Check if a status transition is valid.
21
+ */
22
+ export declare const isValidTransition: (from: TaskStatus, to: TaskStatus) => boolean;
23
+ //# sourceMappingURL=task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/mappers/task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,IAAI,EAEJ,UAAU,EACV,OAAO,EACP,cAAc,EACd,aAAa,EACd,MAAM,yBAAyB,CAAA;AAGhC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE1E;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,KAAG,IAWvC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,aAAa,KAAG,cAInD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,UAM9C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,UAAU,EAAE,IAAI,UAAU,KAAG,OAYpE,CAAA"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Task mappers - convert database rows to domain objects
3
+ */
4
+ export { TASK_STATUSES, VALID_TRANSITIONS } from "@jamesaphoenix/tx-types";
5
+ /**
6
+ * Convert a database row to a Task domain object.
7
+ */
8
+ export const rowToTask = (row) => ({
9
+ id: row.id,
10
+ title: row.title,
11
+ description: row.description,
12
+ status: row.status,
13
+ parentId: row.parent_id,
14
+ score: row.score,
15
+ createdAt: new Date(row.created_at),
16
+ updatedAt: new Date(row.updated_at),
17
+ completedAt: row.completed_at ? new Date(row.completed_at) : null,
18
+ metadata: JSON.parse(row.metadata || "{}")
19
+ });
20
+ /**
21
+ * Convert a dependency database row to a TaskDependency domain object.
22
+ */
23
+ export const rowToDependency = (row) => ({
24
+ blockerId: row.blocker_id,
25
+ blockedId: row.blocked_id,
26
+ createdAt: new Date(row.created_at)
27
+ });
28
+ /**
29
+ * Check if a string is a valid TaskStatus.
30
+ */
31
+ export const isValidStatus = (s) => {
32
+ const statuses = [
33
+ "backlog", "ready", "planning", "active",
34
+ "blocked", "review", "human_needs_to_review", "done"
35
+ ];
36
+ return statuses.includes(s);
37
+ };
38
+ /**
39
+ * Check if a status transition is valid.
40
+ */
41
+ export const isValidTransition = (from, to) => {
42
+ const transitions = {
43
+ backlog: ["ready", "planning", "active", "blocked", "done"],
44
+ ready: ["planning", "active", "blocked", "done"],
45
+ planning: ["ready", "active", "blocked", "done"],
46
+ active: ["blocked", "review", "done"],
47
+ blocked: ["backlog", "ready", "planning", "active"],
48
+ review: ["active", "human_needs_to_review", "done"],
49
+ human_needs_to_review: ["active", "review", "done"],
50
+ done: ["backlog"]
51
+ };
52
+ return transitions[from]?.includes(to) ?? false;
53
+ };
54
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/mappers/task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE1E;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAY,EAAQ,EAAE,CAAC,CAAC;IAChD,EAAE,EAAE,GAAG,CAAC,EAAY;IACpB,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,WAAW,EAAE,GAAG,CAAC,WAAW;IAC5B,MAAM,EAAE,GAAG,CAAC,MAAoB;IAChC,QAAQ,EAAE,GAAG,CAAC,SAA0B;IACxC,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;IACjE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;CAC3C,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAkB,EAAE,CAAC,CAAC;IACtE,SAAS,EAAE,GAAG,CAAC,UAAoB;IACnC,SAAS,EAAE,GAAG,CAAC,UAAoB;IACnC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;CACpC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAmB,EAAE;IAC1D,MAAM,QAAQ,GAAsB;QAClC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ;QACxC,SAAS,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM;KACrD,CAAA;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAgB,EAAE,EAAc,EAAW,EAAE;IAC7E,MAAM,WAAW,GAA8C;QAC7D,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;QAC3D,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;QAChD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;QAChD,MAAM,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;QACnD,MAAM,EAAE,CAAC,QAAQ,EAAE,uBAAuB,EAAE,MAAM,CAAC;QACnD,qBAAqB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;QACnD,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAA;IACD,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAA;AACjD,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * TrackedProject mappers - convert database rows to domain objects
3
+ */
4
+ import type { TrackedProject, TrackedProjectRow, SourceType } from "@jamesaphoenix/tx-types";
5
+ export type { TrackedProjectRow } from "@jamesaphoenix/tx-types";
6
+ export { SOURCE_TYPES } from "@jamesaphoenix/tx-types";
7
+ /**
8
+ * Check if a string is a valid SourceType for tracked projects.
9
+ */
10
+ export declare const isValidTrackedSourceType: (s: string) => s is SourceType;
11
+ /**
12
+ * Convert a database row to a TrackedProject domain object.
13
+ */
14
+ export declare const rowToTrackedProject: (row: TrackedProjectRow) => TrackedProject;
15
+ //# sourceMappingURL=tracked-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracked-project.d.ts","sourceRoot":"","sources":["../../src/mappers/tracked-project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,UAAU,EACX,MAAM,yBAAyB,CAAA;AAGhC,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,UAGzD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,iBAAiB,KAAG,cAO3D,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * TrackedProject mappers - convert database rows to domain objects
3
+ */
4
+ export { SOURCE_TYPES } from "@jamesaphoenix/tx-types";
5
+ /**
6
+ * Check if a string is a valid SourceType for tracked projects.
7
+ */
8
+ export const isValidTrackedSourceType = (s) => {
9
+ const sourceTypes = ["claude", "cursor", "windsurf", "other"];
10
+ return sourceTypes.includes(s);
11
+ };
12
+ /**
13
+ * Convert a database row to a TrackedProject domain object.
14
+ */
15
+ export const rowToTrackedProject = (row) => ({
16
+ id: row.id,
17
+ projectPath: row.project_path,
18
+ projectId: row.project_id,
19
+ sourceType: row.source_type,
20
+ addedAt: new Date(row.added_at),
21
+ enabled: row.enabled === 1
22
+ });
23
+ //# sourceMappingURL=tracked-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracked-project.js","sourceRoot":"","sources":["../../src/mappers/tracked-project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAS,EAAmB,EAAE;IACrE,MAAM,WAAW,GAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAChF,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAsB,EAAkB,EAAE,CAAC,CAAC;IAC9E,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,WAAW,EAAE,GAAG,CAAC,YAAY;IAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;IACzB,UAAU,EAAE,GAAG,CAAC,WAAyB;IACzC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC;CAC3B,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Worker mappers - convert database rows to domain objects
3
+ */
4
+ import type { Worker, WorkerStatus } from "../schemas/worker.js";
5
+ /**
6
+ * Database row type for workers table.
7
+ */
8
+ export interface WorkerRow {
9
+ id: string;
10
+ name: string;
11
+ hostname: string;
12
+ pid: number;
13
+ status: string;
14
+ registered_at: string;
15
+ last_heartbeat_at: string;
16
+ current_task_id: string | null;
17
+ capabilities: string;
18
+ metadata: string;
19
+ }
20
+ /**
21
+ * Valid worker statuses.
22
+ */
23
+ export declare const WORKER_STATUSES: readonly ["starting", "idle", "busy", "stopping", "dead"];
24
+ /**
25
+ * Check if a string is a valid WorkerStatus.
26
+ */
27
+ export declare const isValidWorkerStatus: (s: string) => s is WorkerStatus;
28
+ /**
29
+ * Convert a database row to a Worker domain object.
30
+ * Throws if status is invalid.
31
+ */
32
+ export declare const rowToWorker: (row: WorkerRow) => Worker;
33
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/mappers/worker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,2DAA4D,CAAA;AAExF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,YAEpD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,KAAG,MAgB5C,CAAA"}