@jamesaphoenix/tx-core 0.4.5 → 0.5.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 (204) hide show
  1. package/README.md +154 -299
  2. package/dist/db.d.ts +4 -9
  3. package/dist/db.d.ts.map +1 -1
  4. package/dist/db.js +6 -80
  5. package/dist/db.js.map +1 -1
  6. package/dist/errors.d.ts +67 -10
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +44 -10
  9. package/dist/errors.js.map +1 -1
  10. package/dist/index.d.ts +12 -7
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +23 -29
  13. package/dist/index.js.map +1 -1
  14. package/dist/layer.d.ts +32 -10
  15. package/dist/layer.d.ts.map +1 -1
  16. package/dist/layer.js +126 -47
  17. package/dist/layer.js.map +1 -1
  18. package/dist/mappers/anchor.d.ts +28 -0
  19. package/dist/mappers/anchor.d.ts.map +1 -0
  20. package/dist/mappers/anchor.js +105 -0
  21. package/dist/mappers/anchor.js.map +1 -0
  22. package/dist/mappers/candidate.d.ts +25 -0
  23. package/dist/mappers/candidate.d.ts.map +1 -0
  24. package/dist/mappers/candidate.js +83 -0
  25. package/dist/mappers/candidate.js.map +1 -0
  26. package/dist/mappers/doc.d.ts +2 -4
  27. package/dist/mappers/doc.d.ts.map +1 -1
  28. package/dist/mappers/doc.js +7 -4
  29. package/dist/mappers/doc.js.map +1 -1
  30. package/dist/mappers/edge.d.ts +19 -0
  31. package/dist/mappers/edge.d.ts.map +1 -0
  32. package/dist/mappers/edge.js +81 -0
  33. package/dist/mappers/edge.js.map +1 -0
  34. package/dist/mappers/index.d.ts +7 -3
  35. package/dist/mappers/index.d.ts.map +1 -1
  36. package/dist/mappers/index.js +14 -6
  37. package/dist/mappers/index.js.map +1 -1
  38. package/dist/mappers/message.d.ts +15 -0
  39. package/dist/mappers/message.d.ts.map +1 -0
  40. package/dist/mappers/message.js +58 -0
  41. package/dist/mappers/message.js.map +1 -0
  42. package/dist/repo/anchor-repo.d.ts +52 -0
  43. package/dist/repo/anchor-repo.d.ts.map +1 -0
  44. package/dist/repo/anchor-repo.js +245 -0
  45. package/dist/repo/anchor-repo.js.map +1 -0
  46. package/dist/repo/candidate-repo.d.ts +16 -0
  47. package/dist/repo/candidate-repo.d.ts.map +1 -0
  48. package/dist/repo/candidate-repo.js +164 -0
  49. package/dist/repo/candidate-repo.js.map +1 -0
  50. package/dist/repo/compaction-repo.d.ts +41 -0
  51. package/dist/repo/compaction-repo.d.ts.map +1 -0
  52. package/dist/repo/compaction-repo.js +84 -0
  53. package/dist/repo/compaction-repo.js.map +1 -0
  54. package/dist/repo/doc-repo.d.ts +68 -51
  55. package/dist/repo/doc-repo.d.ts.map +1 -1
  56. package/dist/repo/doc-repo.js +120 -54
  57. package/dist/repo/doc-repo.js.map +1 -1
  58. package/dist/repo/edge-repo.d.ts +26 -0
  59. package/dist/repo/edge-repo.d.ts.map +1 -0
  60. package/dist/repo/edge-repo.js +258 -0
  61. package/dist/repo/edge-repo.js.map +1 -0
  62. package/dist/repo/index.d.ts +8 -3
  63. package/dist/repo/index.d.ts.map +1 -1
  64. package/dist/repo/index.js +7 -2
  65. package/dist/repo/index.js.map +1 -1
  66. package/dist/repo/message-repo.d.ts +55 -0
  67. package/dist/repo/message-repo.d.ts.map +1 -0
  68. package/dist/repo/message-repo.js +132 -0
  69. package/dist/repo/message-repo.js.map +1 -0
  70. package/dist/services/agent-service.d.ts +18 -23
  71. package/dist/services/agent-service.d.ts.map +1 -1
  72. package/dist/services/agent-service.js +9 -0
  73. package/dist/services/agent-service.js.map +1 -1
  74. package/dist/services/anchor-service.d.ts +147 -0
  75. package/dist/services/anchor-service.d.ts.map +1 -0
  76. package/dist/services/anchor-service.js +540 -0
  77. package/dist/services/anchor-service.js.map +1 -0
  78. package/dist/services/anchor-verification.d.ts +102 -0
  79. package/dist/services/anchor-verification.d.ts.map +1 -0
  80. package/dist/services/anchor-verification.js +817 -0
  81. package/dist/services/anchor-verification.js.map +1 -0
  82. package/dist/services/ast-grep-service.d.ts +58 -0
  83. package/dist/services/ast-grep-service.d.ts.map +1 -0
  84. package/dist/services/ast-grep-service.js +427 -0
  85. package/dist/services/ast-grep-service.js.map +1 -0
  86. package/dist/services/attempt-service.d.ts.map +1 -1
  87. package/dist/services/attempt-service.js +4 -1
  88. package/dist/services/attempt-service.js.map +1 -1
  89. package/dist/services/auto-sync-service.d.ts.map +1 -1
  90. package/dist/services/auto-sync-service.js +7 -7
  91. package/dist/services/auto-sync-service.js.map +1 -1
  92. package/dist/services/candidate-extractor-service.d.ts +44 -0
  93. package/dist/services/candidate-extractor-service.d.ts.map +1 -0
  94. package/dist/services/candidate-extractor-service.js +175 -0
  95. package/dist/services/candidate-extractor-service.js.map +1 -0
  96. package/dist/services/claim-service.d.ts.map +1 -1
  97. package/dist/services/claim-service.js +0 -8
  98. package/dist/services/claim-service.js.map +1 -1
  99. package/dist/services/compaction-service.d.ts +105 -0
  100. package/dist/services/compaction-service.d.ts.map +1 -0
  101. package/dist/services/compaction-service.js +281 -0
  102. package/dist/services/compaction-service.js.map +1 -0
  103. package/dist/services/cycle-scan-service.d.ts +1 -5
  104. package/dist/services/cycle-scan-service.d.ts.map +1 -1
  105. package/dist/services/cycle-scan-service.js +49 -19
  106. package/dist/services/cycle-scan-service.js.map +1 -1
  107. package/dist/services/daemon-service.d.ts +2 -8
  108. package/dist/services/daemon-service.d.ts.map +1 -1
  109. package/dist/services/daemon-service.js +21 -35
  110. package/dist/services/daemon-service.js.map +1 -1
  111. package/dist/services/doc-service.d.ts +25 -32
  112. package/dist/services/doc-service.d.ts.map +1 -1
  113. package/dist/services/doc-service.js +206 -190
  114. package/dist/services/doc-service.js.map +1 -1
  115. package/dist/services/edge-service.d.ts +78 -0
  116. package/dist/services/edge-service.d.ts.map +1 -0
  117. package/dist/services/edge-service.js +158 -0
  118. package/dist/services/edge-service.js.map +1 -0
  119. package/dist/services/embedding-service.d.ts +3 -3
  120. package/dist/services/embedding-service.d.ts.map +1 -1
  121. package/dist/services/embedding-service.js +8 -14
  122. package/dist/services/embedding-service.js.map +1 -1
  123. package/dist/services/feedback-tracker.d.ts +64 -0
  124. package/dist/services/feedback-tracker.d.ts.map +1 -0
  125. package/dist/services/feedback-tracker.js +110 -0
  126. package/dist/services/feedback-tracker.js.map +1 -0
  127. package/dist/services/file-watcher-service.d.ts.map +1 -1
  128. package/dist/services/file-watcher-service.js +1 -3
  129. package/dist/services/file-watcher-service.js.map +1 -1
  130. package/dist/services/graph-expansion.d.ts +158 -0
  131. package/dist/services/graph-expansion.d.ts.map +1 -0
  132. package/dist/services/graph-expansion.js +487 -0
  133. package/dist/services/graph-expansion.js.map +1 -0
  134. package/dist/services/index.d.ts +19 -8
  135. package/dist/services/index.d.ts.map +1 -1
  136. package/dist/services/index.js +18 -7
  137. package/dist/services/index.js.map +1 -1
  138. package/dist/services/learning-service.d.ts.map +1 -1
  139. package/dist/services/learning-service.js +22 -14
  140. package/dist/services/learning-service.js.map +1 -1
  141. package/dist/services/llm-service.d.ts +60 -38
  142. package/dist/services/llm-service.d.ts.map +1 -1
  143. package/dist/services/llm-service.js +201 -113
  144. package/dist/services/llm-service.js.map +1 -1
  145. package/dist/services/message-service.d.ts +57 -0
  146. package/dist/services/message-service.d.ts.map +1 -0
  147. package/dist/services/message-service.js +78 -0
  148. package/dist/services/message-service.js.map +1 -0
  149. package/dist/services/orchestrator-service.d.ts.map +1 -1
  150. package/dist/services/orchestrator-service.js +19 -20
  151. package/dist/services/orchestrator-service.js.map +1 -1
  152. package/dist/services/promotion-service.d.ts +67 -0
  153. package/dist/services/promotion-service.d.ts.map +1 -0
  154. package/dist/services/promotion-service.js +151 -0
  155. package/dist/services/promotion-service.js.map +1 -0
  156. package/dist/services/query-expansion-service.d.ts +7 -22
  157. package/dist/services/query-expansion-service.d.ts.map +1 -1
  158. package/dist/services/query-expansion-service.js +41 -75
  159. package/dist/services/query-expansion-service.js.map +1 -1
  160. package/dist/services/reranker-service.d.ts +1 -1
  161. package/dist/services/reranker-service.d.ts.map +1 -1
  162. package/dist/services/reranker-service.js +8 -10
  163. package/dist/services/reranker-service.js.map +1 -1
  164. package/dist/services/retriever-service.d.ts +8 -5
  165. package/dist/services/retriever-service.d.ts.map +1 -1
  166. package/dist/services/retriever-service.js +150 -15
  167. package/dist/services/retriever-service.js.map +1 -1
  168. package/dist/services/swarm-verification.d.ts +104 -0
  169. package/dist/services/swarm-verification.d.ts.map +1 -0
  170. package/dist/services/swarm-verification.js +406 -0
  171. package/dist/services/swarm-verification.js.map +1 -0
  172. package/dist/services/sync-service.d.ts.map +1 -1
  173. package/dist/services/sync-service.js +8 -9
  174. package/dist/services/sync-service.js.map +1 -1
  175. package/dist/services/task-service.d.ts.map +1 -1
  176. package/dist/services/task-service.js +3 -8
  177. package/dist/services/task-service.js.map +1 -1
  178. package/dist/services/tracing-service.js +6 -6
  179. package/dist/services/tracing-service.js.map +1 -1
  180. package/dist/services/transcript-adapter.d.ts.map +1 -1
  181. package/dist/services/transcript-adapter.js +1 -1
  182. package/dist/services/transcript-adapter.js.map +1 -1
  183. package/dist/services/worker-process.d.ts.map +1 -1
  184. package/dist/services/worker-process.js +8 -30
  185. package/dist/services/worker-process.js.map +1 -1
  186. package/dist/utils/doc-hash.d.ts +0 -4
  187. package/dist/utils/doc-hash.d.ts.map +1 -1
  188. package/dist/utils/doc-hash.js.map +1 -1
  189. package/dist/utils/doc-renderer.d.ts +31 -26
  190. package/dist/utils/doc-renderer.d.ts.map +1 -1
  191. package/dist/utils/doc-renderer.js +0 -7
  192. package/dist/utils/doc-renderer.js.map +1 -1
  193. package/dist/utils/llm-json.d.ts +17 -0
  194. package/dist/utils/llm-json.d.ts.map +1 -0
  195. package/dist/utils/llm-json.js +51 -0
  196. package/dist/utils/llm-json.js.map +1 -0
  197. package/dist/utils/toml-config.d.ts +10 -16
  198. package/dist/utils/toml-config.d.ts.map +1 -1
  199. package/dist/utils/toml-config.js +3 -1
  200. package/dist/utils/toml-config.js.map +1 -1
  201. package/dist/worker/run-worker.d.ts.map +1 -1
  202. package/dist/worker/run-worker.js +2 -7
  203. package/dist/worker/run-worker.js.map +1 -1
  204. package/package.json +9 -8
@@ -1 +1 @@
1
- {"version":3,"file":"auto-sync-service.js","sourceRoot":"","sources":["../../src/services/auto-sync-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-sync-service.js","sourceRoot":"","sources":["../../src/services/auto-sync-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAO5C,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAiChE;CAAG;AAEN,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAC7C,eAAe,EACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;IAEtC,oEAAoE;IACpE,8EAA8E;IAC9E,+EAA+E;IAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAyC,IAAI,CAAC,CAAA;IAElF,gCAAgC;IAChC,MAAM,SAAS,GAAG,GAA0C,EAAE,CAC5D,MAAM,CAAC,GAAG,CAAC;QACT,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,WAAW,CAAkC,CAAA;YACvH,OAAO,GAAG,EAAE,KAAK,KAAK,MAAM,CAAA;QAC9B,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;KAC/C,CAAC,CAAA;IAEJ,uEAAuE;IACvE,MAAM,eAAe,GAAG,CACtB,YAAuC,EACX,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CACrC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC7C,CAAA;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,mDAAmD;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;QAED,mCAAmC;QACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAC9B,YAAY,CAAC,IAAI,CACf,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,gCAAgC;YAChC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;QACpD,CAAC,CAAC,CACH,EACD,MAAM,CAAC,MAAM;QACb,mEAAmE;QACnE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC1B,CACF,CAAA;QAED,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEJ,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE,CACtB,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAEvC,qBAAqB,EAAE,GAAG,EAAE,CAC1B,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAEvC,yBAAyB,EAAE,GAAG,EAAE,CAC9B,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAEvC,oBAAoB,EAAE,GAAG,EAAE,CACzB,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAEvC,gBAAgB,EAAE,GAAG,EAAE,CACrB,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;KACxC,CAAA;AACH,CAAC,CAAC,CACH,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAC9C,eAAe,EACf,eAAe,CAAC,EAAE,CAAC;IACjB,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;IACpC,qBAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;IACxC,yBAAyB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;IAC5C,oBAAoB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;IACvC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;CACpC,CAAC,CACH,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { ExtractionUnavailableError } from "../errors.js";
3
+ import { LlmService } from "./llm-service.js";
4
+ import type { TranscriptChunk, ExtractionResult } from "@jamesaphoenix/tx-types";
5
+ declare const CandidateExtractorService_base: Context.TagClass<CandidateExtractorService, "CandidateExtractorService", {
6
+ /**
7
+ * Extract learning candidates from a transcript chunk.
8
+ * Returns structured candidates with confidence and category.
9
+ */
10
+ readonly extract: (chunk: TranscriptChunk) => Effect.Effect<ExtractionResult, ExtractionUnavailableError>;
11
+ /** Check if extraction functionality is available */
12
+ readonly isAvailable: () => Effect.Effect<boolean>;
13
+ }>;
14
+ /**
15
+ * CandidateExtractorService extracts learning candidates from Claude Code transcripts.
16
+ *
17
+ * This service uses the centralized LlmService to analyze transcript content and identify:
18
+ * - Technical decisions with rationale
19
+ * - Gotchas and pitfalls to avoid
20
+ * - Patterns that worked well
21
+ * - Future improvements
22
+ *
23
+ * Design: Following DD-006 patterns for LLM integration with centralized LlmService.
24
+ *
25
+ * @see PRD-015 for the JSONL daemon and knowledge promotion pipeline
26
+ */
27
+ export declare class CandidateExtractorService extends CandidateExtractorService_base {
28
+ }
29
+ /**
30
+ * Noop implementation - returns empty results without LLM processing.
31
+ * Used when no LLM backend is configured or for testing.
32
+ */
33
+ export declare const CandidateExtractorServiceNoop: Layer.Layer<CandidateExtractorService, never, never>;
34
+ /**
35
+ * Live implementation using centralized LlmService.
36
+ * Backend-agnostic — works with Agent SDK, Anthropic, or any LlmService backend.
37
+ */
38
+ export declare const CandidateExtractorServiceLive: Layer.Layer<CandidateExtractorService, never, LlmService>;
39
+ /**
40
+ * Auto-detecting layer — uses Live if LlmService is available, Noop otherwise.
41
+ */
42
+ export declare const CandidateExtractorServiceAuto: Layer.Layer<CandidateExtractorService, never, LlmService>;
43
+ export {};
44
+ //# sourceMappingURL=candidate-extractor-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidate-extractor-service.d.ts","sourceRoot":"","sources":["../../src/services/candidate-extractor-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EACV,eAAe,EAEf,gBAAgB,EAGjB,MAAM,yBAAyB,CAAA;;IAuH5B;;;OAGG;sBACe,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;IACzG,qDAAqD;0BAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;AAtBtD;;;;;;;;;;;;GAYG;AACH,qBAAa,yBAA0B,SAAQ,8BAW5C;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,6BAA6B,sDAUzC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,2DA+CzC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,2DAYzC,CAAA"}
@@ -0,0 +1,175 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { ExtractionUnavailableError } from "../errors.js";
3
+ import { LlmService } from "./llm-service.js";
4
+ /**
5
+ * The prompt template for learning candidate extraction.
6
+ * Designed to extract actionable, generalizable learnings from Claude Code transcripts.
7
+ * @see PRD-015 for specification
8
+ */
9
+ const EXTRACTION_PROMPT = `Analyze this Claude Code session transcript and extract actionable learnings.
10
+
11
+ <transcript>
12
+ {transcript_excerpt}
13
+ </transcript>
14
+
15
+ Extract learnings that meet these criteria:
16
+ 1. **Technical decisions**: Describes a choice and its rationale
17
+ 2. **Gotchas/pitfalls**: Something to avoid next time
18
+ 3. **Patterns that worked**: Reusable approaches
19
+ 4. **Future improvements**: Things to do differently
20
+
21
+ For each learning, provide:
22
+ - content: The learning text (1-3 sentences, actionable)
23
+ - confidence: "high" (certain, tested), "medium" (likely useful), "low" (speculative)
24
+ - category: One of [architecture, testing, performance, security, debugging, tooling, patterns, other]
25
+
26
+ Rules:
27
+ - Skip generic advice (things any developer knows)
28
+ - Skip context-specific details that won't generalize
29
+ - Prefer actionable "do X when Y" format
30
+ - Maximum 5 learnings per transcript
31
+ - If no meaningful learnings found, return empty candidates array`;
32
+ /** JSON Schema for structured output from the candidate extraction LLM call */
33
+ const EXTRACTION_SCHEMA = {
34
+ type: "object",
35
+ properties: {
36
+ candidates: {
37
+ type: "array",
38
+ items: {
39
+ type: "object",
40
+ properties: {
41
+ content: { type: "string" },
42
+ confidence: { type: "string", enum: ["high", "medium", "low"] },
43
+ category: { type: "string", enum: ["architecture", "testing", "performance", "security", "debugging", "tooling", "patterns", "other"] },
44
+ },
45
+ required: ["content", "confidence", "category"],
46
+ additionalProperties: false,
47
+ },
48
+ },
49
+ },
50
+ required: ["candidates"],
51
+ additionalProperties: false,
52
+ };
53
+ /**
54
+ * Valid confidence levels for validation.
55
+ */
56
+ const VALID_CONFIDENCES = ["high", "medium", "low"];
57
+ /**
58
+ * Valid categories for validation.
59
+ */
60
+ const VALID_CATEGORIES = [
61
+ "architecture",
62
+ "testing",
63
+ "performance",
64
+ "security",
65
+ "debugging",
66
+ "tooling",
67
+ "patterns",
68
+ "other"
69
+ ];
70
+ /**
71
+ * Validate and normalize an extracted candidate from LLM response.
72
+ * Returns null if the candidate is invalid.
73
+ */
74
+ const validateCandidate = (raw) => {
75
+ if (!raw || typeof raw !== "object")
76
+ return null;
77
+ const obj = raw;
78
+ // Validate content
79
+ if (typeof obj.content !== "string" || obj.content.trim().length === 0)
80
+ return null;
81
+ const content = obj.content.trim();
82
+ // Skip if content is too short (likely not actionable)
83
+ if (content.length < 10)
84
+ return null;
85
+ // Validate confidence
86
+ const rawConfidence = String(obj.confidence || "").toLowerCase();
87
+ const confidence = VALID_CONFIDENCES.includes(rawConfidence)
88
+ ? rawConfidence
89
+ : "medium"; // Default to medium if invalid
90
+ // Validate category
91
+ const rawCategory = String(obj.category || "").toLowerCase();
92
+ const category = VALID_CATEGORIES.includes(rawCategory)
93
+ ? rawCategory
94
+ : "other"; // Default to other if invalid
95
+ return { content, confidence, category };
96
+ };
97
+ /**
98
+ * CandidateExtractorService extracts learning candidates from Claude Code transcripts.
99
+ *
100
+ * This service uses the centralized LlmService to analyze transcript content and identify:
101
+ * - Technical decisions with rationale
102
+ * - Gotchas and pitfalls to avoid
103
+ * - Patterns that worked well
104
+ * - Future improvements
105
+ *
106
+ * Design: Following DD-006 patterns for LLM integration with centralized LlmService.
107
+ *
108
+ * @see PRD-015 for the JSONL daemon and knowledge promotion pipeline
109
+ */
110
+ export class CandidateExtractorService extends Context.Tag("CandidateExtractorService")() {
111
+ }
112
+ /**
113
+ * Noop implementation - returns empty results without LLM processing.
114
+ * Used when no LLM backend is configured or for testing.
115
+ */
116
+ export const CandidateExtractorServiceNoop = Layer.succeed(CandidateExtractorService, {
117
+ extract: (chunk) => Effect.succeed({
118
+ candidates: [],
119
+ sourceChunk: chunk,
120
+ wasExtracted: false
121
+ }),
122
+ isAvailable: () => Effect.succeed(false)
123
+ });
124
+ /**
125
+ * Live implementation using centralized LlmService.
126
+ * Backend-agnostic — works with Agent SDK, Anthropic, or any LlmService backend.
127
+ */
128
+ export const CandidateExtractorServiceLive = Layer.effect(CandidateExtractorService, Effect.gen(function* () {
129
+ const llmService = yield* LlmService;
130
+ return {
131
+ extract: (chunk) => Effect.gen(function* () {
132
+ const startTime = Date.now();
133
+ // Build prompt with transcript content
134
+ const prompt = EXTRACTION_PROMPT.replace("{transcript_excerpt}", chunk.content);
135
+ const result = yield* llmService.complete({
136
+ prompt,
137
+ maxTokens: 1024,
138
+ jsonSchema: EXTRACTION_SCHEMA,
139
+ }).pipe(Effect.mapError((e) => new ExtractionUnavailableError({
140
+ reason: `LLM completion failed: ${e.reason}`
141
+ })));
142
+ // Structured outputs guarantee valid JSON matching the schema
143
+ const parsed = JSON.parse(result.text);
144
+ // Validate and normalize each candidate (schema guarantees structure, but validate content quality)
145
+ const candidates = parsed.candidates
146
+ .map(validateCandidate)
147
+ .filter((c) => c !== null)
148
+ .slice(0, 5); // Max 5 candidates per chunk
149
+ return {
150
+ candidates,
151
+ sourceChunk: chunk,
152
+ wasExtracted: true,
153
+ metadata: {
154
+ model: result.model,
155
+ tokensUsed: result.tokensUsed ?? 0,
156
+ durationMs: result.durationMs ?? (Date.now() - startTime)
157
+ }
158
+ };
159
+ }),
160
+ isAvailable: () => llmService.isAvailable()
161
+ };
162
+ }));
163
+ /**
164
+ * Auto-detecting layer — uses Live if LlmService is available, Noop otherwise.
165
+ */
166
+ export const CandidateExtractorServiceAuto = Layer.unwrapEffect(Effect.gen(function* () {
167
+ const opt = yield* Effect.serviceOption(LlmService).pipe(Effect.catchAll(() => Effect.succeed({ _tag: "None" })));
168
+ if (opt._tag === "Some") {
169
+ const available = yield* opt.value.isAvailable();
170
+ if (available)
171
+ return CandidateExtractorServiceLive;
172
+ }
173
+ return CandidateExtractorServiceNoop;
174
+ }));
175
+ //# sourceMappingURL=candidate-extractor-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidate-extractor-service.js","sourceRoot":"","sources":["../../src/services/candidate-extractor-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claim-service.d.ts","sourceRoot":"","sources":["../../src/services/claim-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;;IAWjD;;;OAGG;oBACa,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,MAAM,KAC1B,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,aAAa,CAAC;IAEtF;;;OAGG;sBACe,CAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,aAAa,CAAC;IAEnF;;;OAGG;oBACa,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,aAAa,CAAC;IAEvI;;OAEG;yBACkB,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,aAAa,CAAC;IAE7E;;;OAGG;qBACc,CACf,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAAC;IAE9D;;;OAGG;8BACuB,CACxB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAEzC;;OAEG;6BACsB,CACvB,MAAM,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,aAAa,CAAC;IAEnD;;;;OAIG;gCACyB,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,aAAa,CAAC;;AAhExF,qBAAa,YAAa,SAAQ,iBAkE/B;CAAG;AAEN,eAAO,MAAM,gBAAgB,kGA8K5B,CAAA"}
1
+ {"version":3,"file":"claim-service.d.ts","sourceRoot":"","sources":["../../src/services/claim-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;;IAWjD;;;OAGG;oBACa,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,MAAM,KAC1B,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,aAAa,CAAC;IAEtF;;;OAGG;sBACe,CAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,aAAa,CAAC;IAEnF;;;OAGG;oBACa,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,aAAa,CAAC;IAEvI;;OAEG;yBACkB,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,aAAa,CAAC;IAE7E;;;OAGG;qBACc,CACf,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAAC;IAE9D;;;OAGG;8BACuB,CACxB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAEzC;;OAEG;6BACsB,CACvB,MAAM,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,aAAa,CAAC;IAEnD;;;;OAIG;gCACyB,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,aAAa,CAAC;;AAhExF,qBAAa,YAAa,SAAQ,iBAkE/B;CAAG;AAEN,eAAO,MAAM,gBAAgB,kGAqK5B,CAAA"}
@@ -27,14 +27,6 @@ export const ClaimServiceLive = Layer.effect(ClaimService, Effect.gen(function*
27
27
  if (!task) {
28
28
  return yield* Effect.fail(new TaskNotFoundError({ id: taskId }));
29
29
  }
30
- // Verify task is in a claimable status (not terminal)
31
- const TERMINAL_STATUSES = ["done", "review", "human_needs_to_review"];
32
- if (TERMINAL_STATUSES.some(s => s === task.status)) {
33
- return yield* Effect.fail(new AlreadyClaimedError({
34
- taskId,
35
- claimedByWorkerId: `task in terminal status '${task.status}'`
36
- }));
37
- }
38
30
  // Get lease duration from config or use provided/default
39
31
  const state = yield* orchestratorRepo.get();
40
32
  const duration = leaseDurationMinutes ?? state.leaseDurationMinutes;
@@ -1 +1 @@
1
- {"version":3,"file":"claim-service.js","sourceRoot":"","sources":["../../src/services/claim-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim-service.js","sourceRoot":"","sources":["../../src/services/claim-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * CompactionService - Compacts completed tasks and exports learnings
3
+ *
4
+ * Implements PRD-006: Task Compaction & Learnings Export
5
+ * See DD-006: LLM Integration for implementation details
6
+ */
7
+ import { Context, Effect, Layer } from "effect";
8
+ import { SqliteClient } from "../db.js";
9
+ import { DatabaseError, ExtractionUnavailableError, ValidationError } from "../errors.js";
10
+ import { CompactionRepository, type CompactionLogEntry } from "../repo/compaction-repo.js";
11
+ import type { Task } from "@jamesaphoenix/tx-types";
12
+ import { LlmService } from "./llm-service.js";
13
+ /**
14
+ * Output mode for compaction learnings.
15
+ * - 'database': Store in compaction_log table only
16
+ * - 'markdown': Append to markdown file only
17
+ * - 'both': Store in DB AND append to markdown (default, per DOCTRINE RULE 2)
18
+ */
19
+ export type CompactionOutputMode = 'database' | 'markdown' | 'both';
20
+ /**
21
+ * Result of a compaction operation.
22
+ */
23
+ export interface CompactionResult {
24
+ readonly compactedCount: number;
25
+ readonly summary: string;
26
+ readonly learnings: string;
27
+ readonly taskIds: readonly string[];
28
+ readonly learningsExportedTo: string | null;
29
+ readonly outputMode: CompactionOutputMode;
30
+ }
31
+ /**
32
+ * Options for compaction.
33
+ */
34
+ export interface CompactionOptions {
35
+ /** Compact tasks completed before this date */
36
+ readonly before: Date;
37
+ /** Path to export learnings (default: CLAUDE.md) */
38
+ readonly outputFile?: string;
39
+ /** If true, preview only without actually compacting */
40
+ readonly dryRun?: boolean;
41
+ /**
42
+ * Output mode for learnings: 'database', 'markdown', or 'both'.
43
+ * Default: 'both' (per DOCTRINE RULE 2)
44
+ */
45
+ readonly outputMode?: CompactionOutputMode;
46
+ }
47
+ /**
48
+ * Preview result showing what would be compacted.
49
+ */
50
+ export interface CompactionPreview {
51
+ readonly tasks: readonly Task[];
52
+ readonly summary: string | null;
53
+ readonly learnings: string | null;
54
+ }
55
+ declare const CompactionService_base: Context.TagClass<CompactionService, "CompactionService", {
56
+ /**
57
+ * Compact tasks completed before the given date.
58
+ * Requires an LLM backend to be available.
59
+ */
60
+ readonly compact: (options: CompactionOptions) => Effect.Effect<CompactionResult, ExtractionUnavailableError | DatabaseError | ValidationError>;
61
+ /**
62
+ * Preview what would be compacted without LLM processing.
63
+ * Works without any LLM backend.
64
+ */
65
+ readonly preview: (before: Date) => Effect.Effect<readonly Task[], DatabaseError>;
66
+ /**
67
+ * Get all compaction history.
68
+ */
69
+ readonly getSummaries: () => Effect.Effect<readonly CompactionLogEntry[], DatabaseError>;
70
+ /**
71
+ * Export learnings to a markdown file.
72
+ */
73
+ readonly exportLearnings: (learnings: string, targetFile: string) => Effect.Effect<void, DatabaseError | ValidationError>;
74
+ /**
75
+ * Check if compaction functionality is available (LLM backend available).
76
+ */
77
+ readonly isAvailable: () => Effect.Effect<boolean>;
78
+ }>;
79
+ /**
80
+ * CompactionService provides compaction operations for completed tasks.
81
+ *
82
+ * Design: Following DD-006 patterns for LLM integration with graceful degradation.
83
+ * Uses centralized LlmService for all LLM calls.
84
+ */
85
+ export declare class CompactionService extends CompactionService_base {
86
+ }
87
+ /**
88
+ * Noop implementation - returns failures for LLM operations.
89
+ * Used for testing and when no LLM backend is configured.
90
+ */
91
+ export declare const CompactionServiceNoop: Layer.Layer<CompactionService, never, SqliteClient | CompactionRepository>;
92
+ /**
93
+ * Live implementation using centralized LlmService.
94
+ */
95
+ export declare const CompactionServiceLive: Layer.Layer<CompactionService, never, SqliteClient | LlmService | CompactionRepository>;
96
+ /**
97
+ * Auto-detecting layer that selects the appropriate backend based on LlmService availability.
98
+ *
99
+ * Priority:
100
+ * 1. LlmService available -> Use Live implementation
101
+ * 2. Not available -> Use Noop (graceful degradation)
102
+ */
103
+ export declare const CompactionServiceAuto: Layer.Layer<CompactionService, never, SqliteClient | LlmService | CompactionRepository>;
104
+ export {};
105
+ //# sourceMappingURL=compaction-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction-service.d.ts","sourceRoot":"","sources":["../../src/services/compaction-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACzF,OAAO,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAE1F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;AAEnE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAA;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;;IAuEG;;;OAGG;sBACe,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,0BAA0B,GAAG,aAAa,GAAG,eAAe,CAAC;IAC/I;;;OAGG;sBACe,CAAC,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,aAAa,CAAC;IACjF;;OAEG;2BACoB,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,kBAAkB,EAAE,EAAE,aAAa,CAAC;IACxF;;OAEG;8BACuB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,CAAC;IACzH;;OAEG;0BACmB,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;AA9BtD;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,sBA0BpC;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,qBAAqB,4EA4DjC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,yFA8KjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,yFAYjC,CAAA"}