@jamesaphoenix/tx-core 0.4.4 → 0.5.0

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 (199) hide show
  1. package/dist/db.d.ts +4 -9
  2. package/dist/db.d.ts.map +1 -1
  3. package/dist/db.js +6 -80
  4. package/dist/db.js.map +1 -1
  5. package/dist/errors.d.ts +67 -10
  6. package/dist/errors.d.ts.map +1 -1
  7. package/dist/errors.js +44 -10
  8. package/dist/errors.js.map +1 -1
  9. package/dist/index.d.ts +12 -7
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +22 -28
  12. package/dist/index.js.map +1 -1
  13. package/dist/layer.d.ts +22 -10
  14. package/dist/layer.d.ts.map +1 -1
  15. package/dist/layer.js +97 -39
  16. package/dist/layer.js.map +1 -1
  17. package/dist/mappers/anchor.d.ts +28 -0
  18. package/dist/mappers/anchor.d.ts.map +1 -0
  19. package/dist/mappers/anchor.js +105 -0
  20. package/dist/mappers/anchor.js.map +1 -0
  21. package/dist/mappers/candidate.d.ts +25 -0
  22. package/dist/mappers/candidate.d.ts.map +1 -0
  23. package/dist/mappers/candidate.js +83 -0
  24. package/dist/mappers/candidate.js.map +1 -0
  25. package/dist/mappers/doc.d.ts +2 -4
  26. package/dist/mappers/doc.d.ts.map +1 -1
  27. package/dist/mappers/doc.js +7 -4
  28. package/dist/mappers/doc.js.map +1 -1
  29. package/dist/mappers/edge.d.ts +19 -0
  30. package/dist/mappers/edge.d.ts.map +1 -0
  31. package/dist/mappers/edge.js +81 -0
  32. package/dist/mappers/edge.js.map +1 -0
  33. package/dist/mappers/index.d.ts +7 -3
  34. package/dist/mappers/index.d.ts.map +1 -1
  35. package/dist/mappers/index.js +14 -6
  36. package/dist/mappers/index.js.map +1 -1
  37. package/dist/mappers/message.d.ts +15 -0
  38. package/dist/mappers/message.d.ts.map +1 -0
  39. package/dist/mappers/message.js +58 -0
  40. package/dist/mappers/message.js.map +1 -0
  41. package/dist/repo/anchor-repo.d.ts +52 -0
  42. package/dist/repo/anchor-repo.d.ts.map +1 -0
  43. package/dist/repo/anchor-repo.js +245 -0
  44. package/dist/repo/anchor-repo.js.map +1 -0
  45. package/dist/repo/candidate-repo.d.ts +16 -0
  46. package/dist/repo/candidate-repo.d.ts.map +1 -0
  47. package/dist/repo/candidate-repo.js +164 -0
  48. package/dist/repo/candidate-repo.js.map +1 -0
  49. package/dist/repo/compaction-repo.d.ts +41 -0
  50. package/dist/repo/compaction-repo.d.ts.map +1 -0
  51. package/dist/repo/compaction-repo.js +84 -0
  52. package/dist/repo/compaction-repo.js.map +1 -0
  53. package/dist/repo/doc-repo.d.ts +68 -51
  54. package/dist/repo/doc-repo.d.ts.map +1 -1
  55. package/dist/repo/doc-repo.js +120 -54
  56. package/dist/repo/doc-repo.js.map +1 -1
  57. package/dist/repo/edge-repo.d.ts +26 -0
  58. package/dist/repo/edge-repo.d.ts.map +1 -0
  59. package/dist/repo/edge-repo.js +258 -0
  60. package/dist/repo/edge-repo.js.map +1 -0
  61. package/dist/repo/index.d.ts +8 -3
  62. package/dist/repo/index.d.ts.map +1 -1
  63. package/dist/repo/index.js +7 -2
  64. package/dist/repo/index.js.map +1 -1
  65. package/dist/repo/message-repo.d.ts +55 -0
  66. package/dist/repo/message-repo.d.ts.map +1 -0
  67. package/dist/repo/message-repo.js +132 -0
  68. package/dist/repo/message-repo.js.map +1 -0
  69. package/dist/services/agent-service.d.ts +18 -23
  70. package/dist/services/agent-service.d.ts.map +1 -1
  71. package/dist/services/agent-service.js +9 -0
  72. package/dist/services/agent-service.js.map +1 -1
  73. package/dist/services/anchor-service.d.ts +147 -0
  74. package/dist/services/anchor-service.d.ts.map +1 -0
  75. package/dist/services/anchor-service.js +540 -0
  76. package/dist/services/anchor-service.js.map +1 -0
  77. package/dist/services/anchor-verification.d.ts +102 -0
  78. package/dist/services/anchor-verification.d.ts.map +1 -0
  79. package/dist/services/anchor-verification.js +817 -0
  80. package/dist/services/anchor-verification.js.map +1 -0
  81. package/dist/services/ast-grep-service.d.ts +58 -0
  82. package/dist/services/ast-grep-service.d.ts.map +1 -0
  83. package/dist/services/ast-grep-service.js +427 -0
  84. package/dist/services/ast-grep-service.js.map +1 -0
  85. package/dist/services/attempt-service.d.ts.map +1 -1
  86. package/dist/services/attempt-service.js +4 -1
  87. package/dist/services/attempt-service.js.map +1 -1
  88. package/dist/services/auto-sync-service.d.ts.map +1 -1
  89. package/dist/services/auto-sync-service.js +7 -7
  90. package/dist/services/auto-sync-service.js.map +1 -1
  91. package/dist/services/candidate-extractor-service.d.ts +44 -0
  92. package/dist/services/candidate-extractor-service.d.ts.map +1 -0
  93. package/dist/services/candidate-extractor-service.js +175 -0
  94. package/dist/services/candidate-extractor-service.js.map +1 -0
  95. package/dist/services/claim-service.d.ts.map +1 -1
  96. package/dist/services/claim-service.js +0 -8
  97. package/dist/services/claim-service.js.map +1 -1
  98. package/dist/services/compaction-service.d.ts +105 -0
  99. package/dist/services/compaction-service.d.ts.map +1 -0
  100. package/dist/services/compaction-service.js +281 -0
  101. package/dist/services/compaction-service.js.map +1 -0
  102. package/dist/services/cycle-scan-service.d.ts +1 -5
  103. package/dist/services/cycle-scan-service.d.ts.map +1 -1
  104. package/dist/services/cycle-scan-service.js +49 -19
  105. package/dist/services/cycle-scan-service.js.map +1 -1
  106. package/dist/services/daemon-service.d.ts +2 -8
  107. package/dist/services/daemon-service.d.ts.map +1 -1
  108. package/dist/services/daemon-service.js +21 -35
  109. package/dist/services/daemon-service.js.map +1 -1
  110. package/dist/services/doc-service.d.ts +25 -32
  111. package/dist/services/doc-service.d.ts.map +1 -1
  112. package/dist/services/doc-service.js +206 -190
  113. package/dist/services/doc-service.js.map +1 -1
  114. package/dist/services/edge-service.d.ts +78 -0
  115. package/dist/services/edge-service.d.ts.map +1 -0
  116. package/dist/services/edge-service.js +158 -0
  117. package/dist/services/edge-service.js.map +1 -0
  118. package/dist/services/embedding-service.d.ts +2 -2
  119. package/dist/services/embedding-service.d.ts.map +1 -1
  120. package/dist/services/embedding-service.js +7 -13
  121. package/dist/services/embedding-service.js.map +1 -1
  122. package/dist/services/feedback-tracker.d.ts +64 -0
  123. package/dist/services/feedback-tracker.d.ts.map +1 -0
  124. package/dist/services/feedback-tracker.js +110 -0
  125. package/dist/services/feedback-tracker.js.map +1 -0
  126. package/dist/services/file-watcher-service.d.ts.map +1 -1
  127. package/dist/services/file-watcher-service.js +1 -3
  128. package/dist/services/file-watcher-service.js.map +1 -1
  129. package/dist/services/graph-expansion.d.ts +158 -0
  130. package/dist/services/graph-expansion.d.ts.map +1 -0
  131. package/dist/services/graph-expansion.js +487 -0
  132. package/dist/services/graph-expansion.js.map +1 -0
  133. package/dist/services/index.d.ts +19 -8
  134. package/dist/services/index.d.ts.map +1 -1
  135. package/dist/services/index.js +18 -7
  136. package/dist/services/index.js.map +1 -1
  137. package/dist/services/learning-service.d.ts.map +1 -1
  138. package/dist/services/learning-service.js +22 -14
  139. package/dist/services/learning-service.js.map +1 -1
  140. package/dist/services/llm-service.d.ts +61 -39
  141. package/dist/services/llm-service.d.ts.map +1 -1
  142. package/dist/services/llm-service.js +199 -113
  143. package/dist/services/llm-service.js.map +1 -1
  144. package/dist/services/message-service.d.ts +57 -0
  145. package/dist/services/message-service.d.ts.map +1 -0
  146. package/dist/services/message-service.js +78 -0
  147. package/dist/services/message-service.js.map +1 -0
  148. package/dist/services/orchestrator-service.d.ts.map +1 -1
  149. package/dist/services/orchestrator-service.js +19 -20
  150. package/dist/services/orchestrator-service.js.map +1 -1
  151. package/dist/services/promotion-service.d.ts +67 -0
  152. package/dist/services/promotion-service.d.ts.map +1 -0
  153. package/dist/services/promotion-service.js +151 -0
  154. package/dist/services/promotion-service.js.map +1 -0
  155. package/dist/services/query-expansion-service.d.ts +7 -22
  156. package/dist/services/query-expansion-service.d.ts.map +1 -1
  157. package/dist/services/query-expansion-service.js +41 -75
  158. package/dist/services/query-expansion-service.js.map +1 -1
  159. package/dist/services/retriever-service.d.ts +8 -5
  160. package/dist/services/retriever-service.d.ts.map +1 -1
  161. package/dist/services/retriever-service.js +150 -15
  162. package/dist/services/retriever-service.js.map +1 -1
  163. package/dist/services/swarm-verification.d.ts +104 -0
  164. package/dist/services/swarm-verification.d.ts.map +1 -0
  165. package/dist/services/swarm-verification.js +406 -0
  166. package/dist/services/swarm-verification.js.map +1 -0
  167. package/dist/services/sync-service.d.ts.map +1 -1
  168. package/dist/services/sync-service.js +8 -9
  169. package/dist/services/sync-service.js.map +1 -1
  170. package/dist/services/task-service.d.ts.map +1 -1
  171. package/dist/services/task-service.js +3 -8
  172. package/dist/services/task-service.js.map +1 -1
  173. package/dist/services/tracing-service.js +6 -6
  174. package/dist/services/tracing-service.js.map +1 -1
  175. package/dist/services/transcript-adapter.d.ts.map +1 -1
  176. package/dist/services/transcript-adapter.js +1 -1
  177. package/dist/services/transcript-adapter.js.map +1 -1
  178. package/dist/services/worker-process.d.ts.map +1 -1
  179. package/dist/services/worker-process.js +8 -30
  180. package/dist/services/worker-process.js.map +1 -1
  181. package/dist/utils/doc-hash.d.ts +0 -4
  182. package/dist/utils/doc-hash.d.ts.map +1 -1
  183. package/dist/utils/doc-hash.js.map +1 -1
  184. package/dist/utils/doc-renderer.d.ts +31 -26
  185. package/dist/utils/doc-renderer.d.ts.map +1 -1
  186. package/dist/utils/doc-renderer.js +0 -7
  187. package/dist/utils/doc-renderer.js.map +1 -1
  188. package/dist/utils/llm-json.d.ts +17 -0
  189. package/dist/utils/llm-json.d.ts.map +1 -0
  190. package/dist/utils/llm-json.js +51 -0
  191. package/dist/utils/llm-json.js.map +1 -0
  192. package/dist/utils/toml-config.d.ts +10 -16
  193. package/dist/utils/toml-config.d.ts.map +1 -1
  194. package/dist/utils/toml-config.js +3 -1
  195. package/dist/utils/toml-config.js.map +1 -1
  196. package/dist/worker/run-worker.d.ts.map +1 -1
  197. package/dist/worker/run-worker.js +2 -7
  198. package/dist/worker/run-worker.js.map +1 -1
  199. package/package.json +9 -8
@@ -0,0 +1,84 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { SqliteClient } from "../db.js";
3
+ import { DatabaseError, EntityFetchError } from "../errors.js";
4
+ /**
5
+ * Safely parse a JSON array of task ID strings, returning empty array on failure.
6
+ */
7
+ const safeParseTaskIds = (json) => {
8
+ try {
9
+ const parsed = JSON.parse(json || "[]");
10
+ return Array.isArray(parsed) ? parsed.filter((v) => typeof v === "string") : [];
11
+ }
12
+ catch {
13
+ return [];
14
+ }
15
+ };
16
+ /**
17
+ * Map database row to domain entity.
18
+ */
19
+ const rowToCompactionLogEntry = (row) => ({
20
+ id: row.id,
21
+ compactedAt: new Date(row.compacted_at),
22
+ taskCount: row.task_count,
23
+ summary: row.summary,
24
+ taskIds: safeParseTaskIds(row.task_ids),
25
+ learningsExportedTo: row.learnings_exported_to,
26
+ learnings: row.learnings
27
+ });
28
+ /**
29
+ * Repository for compaction_log table operations.
30
+ * Handles storage of compaction history and summaries.
31
+ */
32
+ export class CompactionRepository extends Context.Tag("CompactionRepository")() {
33
+ }
34
+ export const CompactionRepositoryLive = Layer.effect(CompactionRepository, Effect.gen(function* () {
35
+ const db = yield* SqliteClient;
36
+ return {
37
+ insert: (input) => Effect.try({
38
+ try: () => {
39
+ const now = new Date().toISOString();
40
+ const result = db.prepare(`INSERT INTO compaction_log (compacted_at, task_count, summary, task_ids, learnings_exported_to, learnings)
41
+ VALUES (?, ?, ?, ?, ?, ?)`).run(now, input.taskCount, input.summary, JSON.stringify(input.taskIds), input.learningsExportedTo ?? null, input.learnings);
42
+ const row = db.prepare("SELECT * FROM compaction_log WHERE id = ?").get(result.lastInsertRowid);
43
+ if (!row) {
44
+ throw new EntityFetchError({
45
+ entity: "compaction_log",
46
+ id: result.lastInsertRowid,
47
+ operation: "insert"
48
+ });
49
+ }
50
+ return rowToCompactionLogEntry(row);
51
+ },
52
+ catch: (cause) => new DatabaseError({ cause })
53
+ }),
54
+ findById: (id) => Effect.try({
55
+ try: () => {
56
+ const row = db.prepare("SELECT * FROM compaction_log WHERE id = ?").get(id);
57
+ return row ? rowToCompactionLogEntry(row) : null;
58
+ },
59
+ catch: (cause) => new DatabaseError({ cause })
60
+ }),
61
+ findAll: () => Effect.try({
62
+ try: () => {
63
+ const rows = db.prepare(`SELECT * FROM compaction_log ORDER BY compacted_at DESC`).all();
64
+ return rows.map(rowToCompactionLogEntry);
65
+ },
66
+ catch: (cause) => new DatabaseError({ cause })
67
+ }),
68
+ findRecent: (limit) => Effect.try({
69
+ try: () => {
70
+ const rows = db.prepare(`SELECT * FROM compaction_log ORDER BY compacted_at DESC LIMIT ?`).all(limit);
71
+ return rows.map(rowToCompactionLogEntry);
72
+ },
73
+ catch: (cause) => new DatabaseError({ cause })
74
+ }),
75
+ count: () => Effect.try({
76
+ try: () => {
77
+ const result = db.prepare("SELECT COUNT(*) as cnt FROM compaction_log").get();
78
+ return result.cnt;
79
+ },
80
+ catch: (cause) => new DatabaseError({ cause })
81
+ })
82
+ };
83
+ }));
84
+ //# sourceMappingURL=compaction-repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction-repo.js","sourceRoot":"","sources":["../../src/repo/compaction-repo.ts"],"names":[],"mappings":"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"}
@@ -1,57 +1,74 @@
1
+ /**
2
+ * DocRepository — database operations for docs-as-primitives (DD-023).
3
+ *
4
+ * Manages docs, doc_links, task_doc_links, invariants, invariant_checks tables.
5
+ * YAML content lives on disk; DB stores metadata + links only.
6
+ */
1
7
  import { Context, Effect, Layer } from "effect";
2
8
  import { SqliteClient } from "../db.js";
3
9
  import { DatabaseError } from "../errors.js";
4
- import type { Doc, DocKind, DocStatus, DocLink, DocLinkType, TaskDocLink, TaskDocLinkType, Invariant, InvariantCheck, UpsertInvariantInput } from "@jamesaphoenix/tx-types";
5
- /** Input for inserting a new doc row. */
6
- export type InsertDocInput = {
7
- readonly hash: string;
8
- readonly kind: DocKind;
9
- readonly name: string;
10
- readonly title: string;
11
- readonly version: number;
12
- readonly filePath: string;
13
- readonly parentDocId: number | null;
14
- readonly metadata?: string;
15
- };
16
- /** Input for updating an existing doc row. */
17
- export type UpdateDocInput = {
18
- readonly hash?: string;
19
- readonly title?: string;
20
- readonly status?: DocStatus;
21
- readonly lockedAt?: string;
22
- readonly metadata?: string;
23
- };
24
- declare const DocRepository_base: Context.TagClass<DocRepository, "DocRepository", {
25
- readonly insert: (input: InsertDocInput) => Effect.Effect<Doc, DatabaseError>;
26
- readonly findById: (id: number) => Effect.Effect<Doc | null, DatabaseError>;
27
- readonly findByName: (name: string, version?: number) => Effect.Effect<Doc | null, DatabaseError>;
28
- readonly findAll: (filter?: {
29
- kind?: DocKind;
30
- status?: DocStatus;
31
- }) => Effect.Effect<readonly Doc[], DatabaseError>;
32
- readonly update: (id: number, input: UpdateDocInput) => Effect.Effect<void, DatabaseError>;
33
- readonly lock: (id: number, lockedAt: string) => Effect.Effect<void, DatabaseError>;
34
- readonly remove: (id: number) => Effect.Effect<void, DatabaseError>;
35
- readonly createLink: (fromDocId: number, toDocId: number, linkType: DocLinkType) => Effect.Effect<DocLink, DatabaseError>;
36
- readonly getLinksFrom: (docId: number) => Effect.Effect<readonly DocLink[], DatabaseError>;
37
- readonly getLinksTo: (docId: number) => Effect.Effect<readonly DocLink[], DatabaseError>;
38
- readonly getAllLinks: () => Effect.Effect<readonly DocLink[], DatabaseError>;
39
- readonly createTaskLink: (taskId: string, docId: number, linkType: TaskDocLinkType) => Effect.Effect<TaskDocLink, DatabaseError>;
40
- readonly getTaskLinksForDoc: (docId: number) => Effect.Effect<readonly TaskDocLink[], DatabaseError>;
41
- readonly getDocForTask: (taskId: string) => Effect.Effect<Doc | null, DatabaseError>;
42
- readonly getUnlinkedTaskIds: () => Effect.Effect<readonly string[], DatabaseError>;
43
- readonly upsertInvariant: (input: UpsertInvariantInput) => Effect.Effect<Invariant, DatabaseError>;
44
- readonly findInvariantById: (id: string) => Effect.Effect<Invariant | null, DatabaseError>;
45
- readonly findInvariants: (filter?: {
46
- docId?: number;
47
- subsystem?: string;
48
- enforcement?: string;
49
- }) => Effect.Effect<readonly Invariant[], DatabaseError>;
50
- readonly deprecateInvariantsNotIn: (docId: number, activeIds: readonly string[]) => Effect.Effect<void, DatabaseError>;
51
- readonly insertInvariantCheck: (invariantId: string, passed: boolean, details: string | null, durationMs: number | null) => Effect.Effect<InvariantCheck, DatabaseError>;
52
- readonly getInvariantChecks: (invariantId: string, limit?: number) => Effect.Effect<readonly InvariantCheck[], DatabaseError>;
53
- readonly countInvariantsByDoc: (docId: number) => Effect.Effect<number, DatabaseError>;
54
- }>;
10
+ import type { Doc, DocLink, TaskDocLink, Invariant, InvariantCheck, DocId, DocKind, DocStatus, DocLinkType, TaskDocLinkType } from "@jamesaphoenix/tx-types";
11
+ interface DocInsertInput {
12
+ hash: string;
13
+ kind: DocKind;
14
+ name: string;
15
+ title: string;
16
+ version: number;
17
+ filePath: string;
18
+ parentDocId: DocId | null;
19
+ metadata?: string;
20
+ }
21
+ interface DocUpdateInput {
22
+ hash?: string;
23
+ title?: string;
24
+ status?: DocStatus;
25
+ lockedAt?: string;
26
+ metadata?: string;
27
+ }
28
+ interface DocFilter {
29
+ kind?: string;
30
+ status?: string;
31
+ }
32
+ interface InvariantFilter {
33
+ docId?: number;
34
+ subsystem?: string;
35
+ enforcement?: string;
36
+ }
37
+ interface InvariantUpsertInput {
38
+ id: string;
39
+ rule: string;
40
+ enforcement: string;
41
+ docId: DocId;
42
+ subsystem?: string | null;
43
+ testRef?: string | null;
44
+ lintRule?: string | null;
45
+ promptRef?: string | null;
46
+ }
47
+ export interface DocRepositoryService {
48
+ insert: (input: DocInsertInput) => Effect.Effect<Doc, DatabaseError>;
49
+ findById: (id: DocId) => Effect.Effect<Doc | null, DatabaseError>;
50
+ findByName: (name: string, version?: number) => Effect.Effect<Doc | null, DatabaseError>;
51
+ findAll: (filter?: DocFilter) => Effect.Effect<Doc[], DatabaseError>;
52
+ update: (id: DocId, input: DocUpdateInput) => Effect.Effect<void, DatabaseError>;
53
+ lock: (id: DocId, lockedAt: string) => Effect.Effect<void, DatabaseError>;
54
+ remove: (id: DocId) => Effect.Effect<void, DatabaseError>;
55
+ createLink: (fromDocId: DocId, toDocId: DocId, linkType: DocLinkType) => Effect.Effect<DocLink, DatabaseError>;
56
+ getLinksFrom: (docId: DocId) => Effect.Effect<DocLink[], DatabaseError>;
57
+ getLinksTo: (docId: DocId) => Effect.Effect<DocLink[], DatabaseError>;
58
+ getAllLinks: () => Effect.Effect<DocLink[], DatabaseError>;
59
+ createTaskLink: (taskId: string, docId: DocId, linkType: TaskDocLinkType) => Effect.Effect<TaskDocLink, DatabaseError>;
60
+ getTaskLinksForDoc: (docId: DocId) => Effect.Effect<TaskDocLink[], DatabaseError>;
61
+ getDocForTask: (taskId: string) => Effect.Effect<Doc | null, DatabaseError>;
62
+ getUnlinkedTaskIds: () => Effect.Effect<string[], DatabaseError>;
63
+ upsertInvariant: (input: InvariantUpsertInput) => Effect.Effect<Invariant, DatabaseError>;
64
+ findInvariantById: (id: string) => Effect.Effect<Invariant | null, DatabaseError>;
65
+ findInvariants: (filter?: InvariantFilter) => Effect.Effect<Invariant[], DatabaseError>;
66
+ deprecateInvariantsNotIn: (docId: DocId, activeIds: string[]) => Effect.Effect<void, DatabaseError>;
67
+ insertInvariantCheck: (invariantId: string, passed: boolean, details: string | null, durationMs: number | null) => Effect.Effect<InvariantCheck, DatabaseError>;
68
+ getInvariantChecks: (invariantId: string, limit?: number) => Effect.Effect<InvariantCheck[], DatabaseError>;
69
+ countInvariantsByDoc: (docId: DocId) => Effect.Effect<number, DatabaseError>;
70
+ }
71
+ declare const DocRepository_base: Context.TagClass<DocRepository, "DocRepository", DocRepositoryService>;
55
72
  export declare class DocRepository extends DocRepository_base {
56
73
  }
57
74
  export declare const DocRepositoryLive: Layer.Layer<DocRepository, never, SqliteClient>;
@@ -1 +1 @@
1
- {"version":3,"file":"doc-repo.d.ts","sourceRoot":"","sources":["../../src/repo/doc-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-repo.d.ts","sourceRoot":"","sources":["../../src/repo/doc-repo.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * DocRepository — database operations for docs-as-primitives (DD-023).
3
+ *
4
+ * Manages docs, doc_links, task_doc_links, invariants, invariant_checks tables.
5
+ * YAML content lives on disk; DB stores metadata + links only.
6
+ */
1
7
  import { Context, Effect, Layer } from "effect";
2
8
  import { SqliteClient } from "../db.js";
3
9
  import { DatabaseError, EntityFetchError } from "../errors.js";
@@ -10,31 +16,45 @@ export const DocRepositoryLive = Layer.effect(DocRepository, Effect.gen(function
10
16
  insert: (input) => Effect.try({
11
17
  try: () => {
12
18
  const now = new Date().toISOString();
13
- const result = db.prepare(`INSERT INTO docs (hash, kind, name, title, version, status, file_path, parent_doc_id, created_at, metadata)
14
- VALUES (?, ?, ?, ?, ?, 'changing', ?, ?, ?, ?)`).run(input.hash, input.kind, input.name, input.title, input.version, input.filePath, input.parentDocId, now, input.metadata ?? "{}");
15
- const row = db.prepare("SELECT * FROM docs WHERE id = ?").get(result.lastInsertRowid);
19
+ const result = db
20
+ .prepare(`INSERT INTO docs (hash, kind, name, title, version, status, file_path, parent_doc_id, created_at, metadata)
21
+ VALUES (?, ?, ?, ?, ?, 'changing', ?, ?, ?, ?)`)
22
+ .run(input.hash, input.kind, input.name, input.title, input.version, input.filePath, input.parentDocId, now, input.metadata ?? "{}");
23
+ const row = db
24
+ .prepare("SELECT * FROM docs WHERE id = ?")
25
+ .get(result.lastInsertRowid);
16
26
  if (!row) {
17
- throw new EntityFetchError({ entity: "doc", id: result.lastInsertRowid, operation: "insert" });
27
+ throw new EntityFetchError({
28
+ entity: "doc",
29
+ id: result.lastInsertRowid,
30
+ operation: "insert",
31
+ });
18
32
  }
19
33
  return rowToDoc(row);
20
34
  },
21
- catch: (cause) => new DatabaseError({ cause })
35
+ catch: (cause) => new DatabaseError({ cause }),
22
36
  }),
23
37
  findById: (id) => Effect.try({
24
38
  try: () => {
25
- const row = db.prepare("SELECT * FROM docs WHERE id = ?").get(id);
39
+ const row = db
40
+ .prepare("SELECT * FROM docs WHERE id = ?")
41
+ .get(id);
26
42
  return row ? rowToDoc(row) : null;
27
43
  },
28
- catch: (cause) => new DatabaseError({ cause })
44
+ catch: (cause) => new DatabaseError({ cause }),
29
45
  }),
30
46
  findByName: (name, version) => Effect.try({
31
47
  try: () => {
32
48
  const row = version !== undefined
33
- ? db.prepare("SELECT * FROM docs WHERE name = ? AND version = ?").get(name, version)
34
- : db.prepare("SELECT * FROM docs WHERE name = ? ORDER BY version DESC LIMIT 1").get(name);
49
+ ? db
50
+ .prepare("SELECT * FROM docs WHERE name = ? AND version = ?")
51
+ .get(name, version)
52
+ : db
53
+ .prepare("SELECT * FROM docs WHERE name = ? ORDER BY version DESC LIMIT 1")
54
+ .get(name);
35
55
  return row ? rowToDoc(row) : null;
36
56
  },
37
- catch: (cause) => new DatabaseError({ cause })
57
+ catch: (cause) => new DatabaseError({ cause }),
38
58
  }),
39
59
  findAll: (filter) => Effect.try({
40
60
  try: () => {
@@ -56,7 +76,7 @@ export const DocRepositoryLive = Layer.effect(DocRepository, Effect.gen(function
56
76
  const rows = db.prepare(sql).all(...params);
57
77
  return rows.map(rowToDoc);
58
78
  },
59
- catch: (cause) => new DatabaseError({ cause })
79
+ catch: (cause) => new DatabaseError({ cause }),
60
80
  }),
61
81
  update: (id, input) => Effect.try({
62
82
  try: () => {
@@ -87,94 +107,121 @@ export const DocRepositoryLive = Layer.effect(DocRepository, Effect.gen(function
87
107
  params.push(id);
88
108
  db.prepare(`UPDATE docs SET ${sets.join(", ")} WHERE id = ?`).run(...params);
89
109
  },
90
- catch: (cause) => new DatabaseError({ cause })
110
+ catch: (cause) => new DatabaseError({ cause }),
91
111
  }),
92
112
  lock: (id, lockedAt) => Effect.try({
93
113
  try: () => {
94
114
  db.prepare("UPDATE docs SET status = 'locked', locked_at = ? WHERE id = ?").run(lockedAt, id);
95
115
  },
96
- catch: (cause) => new DatabaseError({ cause })
116
+ catch: (cause) => new DatabaseError({ cause }),
97
117
  }),
98
118
  remove: (id) => Effect.try({
99
119
  try: () => {
100
- // CASCADE on doc_links, task_doc_links, invariants handled by FK constraints
101
120
  db.prepare("DELETE FROM docs WHERE id = ?").run(id);
102
121
  },
103
- catch: (cause) => new DatabaseError({ cause })
122
+ catch: (cause) => new DatabaseError({ cause }),
104
123
  }),
105
124
  // Doc links
106
125
  createLink: (fromDocId, toDocId, linkType) => Effect.try({
107
126
  try: () => {
108
127
  const now = new Date().toISOString();
109
- const result = db.prepare("INSERT INTO doc_links (from_doc_id, to_doc_id, link_type, created_at) VALUES (?, ?, ?, ?)").run(fromDocId, toDocId, linkType, now);
110
- const row = db.prepare("SELECT * FROM doc_links WHERE id = ?").get(result.lastInsertRowid);
128
+ const result = db
129
+ .prepare("INSERT INTO doc_links (from_doc_id, to_doc_id, link_type, created_at) VALUES (?, ?, ?, ?)")
130
+ .run(fromDocId, toDocId, linkType, now);
131
+ const row = db
132
+ .prepare("SELECT * FROM doc_links WHERE id = ?")
133
+ .get(result.lastInsertRowid);
111
134
  if (!row) {
112
- throw new EntityFetchError({ entity: "doc_link", id: result.lastInsertRowid, operation: "insert" });
135
+ throw new EntityFetchError({
136
+ entity: "doc_link",
137
+ id: result.lastInsertRowid,
138
+ operation: "insert",
139
+ });
113
140
  }
114
141
  return rowToDocLink(row);
115
142
  },
116
- catch: (cause) => new DatabaseError({ cause })
143
+ catch: (cause) => new DatabaseError({ cause }),
117
144
  }),
118
145
  getLinksFrom: (docId) => Effect.try({
119
146
  try: () => {
120
- const rows = db.prepare("SELECT * FROM doc_links WHERE from_doc_id = ?").all(docId);
147
+ const rows = db
148
+ .prepare("SELECT * FROM doc_links WHERE from_doc_id = ?")
149
+ .all(docId);
121
150
  return rows.map(rowToDocLink);
122
151
  },
123
- catch: (cause) => new DatabaseError({ cause })
152
+ catch: (cause) => new DatabaseError({ cause }),
124
153
  }),
125
154
  getLinksTo: (docId) => Effect.try({
126
155
  try: () => {
127
- const rows = db.prepare("SELECT * FROM doc_links WHERE to_doc_id = ?").all(docId);
156
+ const rows = db
157
+ .prepare("SELECT * FROM doc_links WHERE to_doc_id = ?")
158
+ .all(docId);
128
159
  return rows.map(rowToDocLink);
129
160
  },
130
- catch: (cause) => new DatabaseError({ cause })
161
+ catch: (cause) => new DatabaseError({ cause }),
131
162
  }),
132
163
  getAllLinks: () => Effect.try({
133
164
  try: () => {
134
- const rows = db.prepare("SELECT * FROM doc_links ORDER BY created_at").all();
165
+ const rows = db
166
+ .prepare("SELECT * FROM doc_links ORDER BY created_at")
167
+ .all();
135
168
  return rows.map(rowToDocLink);
136
169
  },
137
- catch: (cause) => new DatabaseError({ cause })
170
+ catch: (cause) => new DatabaseError({ cause }),
138
171
  }),
139
172
  // Task-doc links
140
173
  createTaskLink: (taskId, docId, linkType) => Effect.try({
141
174
  try: () => {
142
175
  const now = new Date().toISOString();
143
- const result = db.prepare("INSERT INTO task_doc_links (task_id, doc_id, link_type, created_at) VALUES (?, ?, ?, ?)").run(taskId, docId, linkType, now);
144
- const row = db.prepare("SELECT * FROM task_doc_links WHERE id = ?").get(result.lastInsertRowid);
176
+ const result = db
177
+ .prepare("INSERT INTO task_doc_links (task_id, doc_id, link_type, created_at) VALUES (?, ?, ?, ?)")
178
+ .run(taskId, docId, linkType, now);
179
+ const row = db
180
+ .prepare("SELECT * FROM task_doc_links WHERE id = ?")
181
+ .get(result.lastInsertRowid);
145
182
  if (!row) {
146
- throw new EntityFetchError({ entity: "task_doc_link", id: result.lastInsertRowid, operation: "insert" });
183
+ throw new EntityFetchError({
184
+ entity: "task_doc_link",
185
+ id: result.lastInsertRowid,
186
+ operation: "insert",
187
+ });
147
188
  }
148
189
  return rowToTaskDocLink(row);
149
190
  },
150
- catch: (cause) => new DatabaseError({ cause })
191
+ catch: (cause) => new DatabaseError({ cause }),
151
192
  }),
152
193
  getTaskLinksForDoc: (docId) => Effect.try({
153
194
  try: () => {
154
- const rows = db.prepare("SELECT * FROM task_doc_links WHERE doc_id = ?").all(docId);
195
+ const rows = db
196
+ .prepare("SELECT * FROM task_doc_links WHERE doc_id = ?")
197
+ .all(docId);
155
198
  return rows.map(rowToTaskDocLink);
156
199
  },
157
- catch: (cause) => new DatabaseError({ cause })
200
+ catch: (cause) => new DatabaseError({ cause }),
158
201
  }),
159
202
  getDocForTask: (taskId) => Effect.try({
160
203
  try: () => {
161
- const row = db.prepare(`SELECT d.* FROM docs d
204
+ const row = db
205
+ .prepare(`SELECT d.* FROM docs d
162
206
  JOIN task_doc_links tdl ON tdl.doc_id = d.id
163
207
  WHERE tdl.task_id = ?
164
- ORDER BY d.version DESC LIMIT 1`).get(taskId);
208
+ ORDER BY d.version DESC LIMIT 1`)
209
+ .get(taskId);
165
210
  return row ? rowToDoc(row) : null;
166
211
  },
167
- catch: (cause) => new DatabaseError({ cause })
212
+ catch: (cause) => new DatabaseError({ cause }),
168
213
  }),
169
214
  getUnlinkedTaskIds: () => Effect.try({
170
215
  try: () => {
171
- const rows = db.prepare(`SELECT t.id FROM tasks t
216
+ const rows = db
217
+ .prepare(`SELECT t.id FROM tasks t
172
218
  LEFT JOIN task_doc_links tdl ON tdl.task_id = t.id
173
219
  WHERE tdl.id IS NULL
174
- ORDER BY t.id`).all();
175
- return rows.map(r => r.id);
220
+ ORDER BY t.id`)
221
+ .all();
222
+ return rows.map((r) => r.id);
176
223
  },
177
- catch: (cause) => new DatabaseError({ cause })
224
+ catch: (cause) => new DatabaseError({ cause }),
178
225
  }),
179
226
  // Invariants
180
227
  upsertInvariant: (input) => Effect.try({
@@ -191,20 +238,28 @@ export const DocRepositoryLive = Layer.effect(DocRepository, Effect.gen(function
191
238
  lint_rule = excluded.lint_rule,
192
239
  prompt_ref = excluded.prompt_ref,
193
240
  status = 'active'`).run(input.id, input.rule, input.enforcement, input.docId, input.subsystem ?? null, input.testRef ?? null, input.lintRule ?? null, input.promptRef ?? null, now);
194
- const row = db.prepare("SELECT * FROM invariants WHERE id = ?").get(input.id);
241
+ const row = db
242
+ .prepare("SELECT * FROM invariants WHERE id = ?")
243
+ .get(input.id);
195
244
  if (!row) {
196
- throw new EntityFetchError({ entity: "invariant", id: input.id, operation: "insert" });
245
+ throw new EntityFetchError({
246
+ entity: "invariant",
247
+ id: input.id,
248
+ operation: "insert",
249
+ });
197
250
  }
198
251
  return rowToInvariant(row);
199
252
  },
200
- catch: (cause) => new DatabaseError({ cause })
253
+ catch: (cause) => new DatabaseError({ cause }),
201
254
  }),
202
255
  findInvariantById: (id) => Effect.try({
203
256
  try: () => {
204
- const row = db.prepare("SELECT * FROM invariants WHERE id = ?").get(id);
257
+ const row = db
258
+ .prepare("SELECT * FROM invariants WHERE id = ?")
259
+ .get(id);
205
260
  return row ? rowToInvariant(row) : null;
206
261
  },
207
- catch: (cause) => new DatabaseError({ cause })
262
+ catch: (cause) => new DatabaseError({ cause }),
208
263
  }),
209
264
  findInvariants: (filter) => Effect.try({
210
265
  try: () => {
@@ -230,12 +285,11 @@ export const DocRepositoryLive = Layer.effect(DocRepository, Effect.gen(function
230
285
  const rows = db.prepare(sql).all(...params);
231
286
  return rows.map(rowToInvariant);
232
287
  },
233
- catch: (cause) => new DatabaseError({ cause })
288
+ catch: (cause) => new DatabaseError({ cause }),
234
289
  }),
235
290
  deprecateInvariantsNotIn: (docId, activeIds) => Effect.try({
236
291
  try: () => {
237
292
  if (activeIds.length === 0) {
238
- // Deprecate all invariants for this doc
239
293
  db.prepare("UPDATE invariants SET status = 'deprecated' WHERE doc_id = ? AND status = 'active'").run(docId);
240
294
  return;
241
295
  }
@@ -243,33 +297,45 @@ export const DocRepositoryLive = Layer.effect(DocRepository, Effect.gen(function
243
297
  db.prepare(`UPDATE invariants SET status = 'deprecated'
244
298
  WHERE doc_id = ? AND status = 'active' AND id NOT IN (${placeholders})`).run(docId, ...activeIds);
245
299
  },
246
- catch: (cause) => new DatabaseError({ cause })
300
+ catch: (cause) => new DatabaseError({ cause }),
247
301
  }),
248
302
  insertInvariantCheck: (invariantId, passed, details, durationMs) => Effect.try({
249
303
  try: () => {
250
304
  const now = new Date().toISOString();
251
- const result = db.prepare("INSERT INTO invariant_checks (invariant_id, passed, details, checked_at, duration_ms) VALUES (?, ?, ?, ?, ?)").run(invariantId, passed ? 1 : 0, details, now, durationMs);
252
- const row = db.prepare("SELECT * FROM invariant_checks WHERE id = ?").get(result.lastInsertRowid);
305
+ const result = db
306
+ .prepare("INSERT INTO invariant_checks (invariant_id, passed, details, checked_at, duration_ms) VALUES (?, ?, ?, ?, ?)")
307
+ .run(invariantId, passed ? 1 : 0, details, now, durationMs);
308
+ const row = db
309
+ .prepare("SELECT * FROM invariant_checks WHERE id = ?")
310
+ .get(result.lastInsertRowid);
253
311
  if (!row) {
254
- throw new EntityFetchError({ entity: "invariant_check", id: result.lastInsertRowid, operation: "insert" });
312
+ throw new EntityFetchError({
313
+ entity: "invariant_check",
314
+ id: result.lastInsertRowid,
315
+ operation: "insert",
316
+ });
255
317
  }
256
318
  return rowToInvariantCheck(row);
257
319
  },
258
- catch: (cause) => new DatabaseError({ cause })
320
+ catch: (cause) => new DatabaseError({ cause }),
259
321
  }),
260
322
  getInvariantChecks: (invariantId, limit = 20) => Effect.try({
261
323
  try: () => {
262
- const rows = db.prepare("SELECT * FROM invariant_checks WHERE invariant_id = ? ORDER BY checked_at DESC LIMIT ?").all(invariantId, limit);
324
+ const rows = db
325
+ .prepare("SELECT * FROM invariant_checks WHERE invariant_id = ? ORDER BY checked_at DESC LIMIT ?")
326
+ .all(invariantId, limit);
263
327
  return rows.map(rowToInvariantCheck);
264
328
  },
265
- catch: (cause) => new DatabaseError({ cause })
329
+ catch: (cause) => new DatabaseError({ cause }),
266
330
  }),
267
331
  countInvariantsByDoc: (docId) => Effect.try({
268
332
  try: () => {
269
- const result = db.prepare("SELECT COUNT(*) as cnt FROM invariants WHERE doc_id = ? AND status = 'active'").get(docId);
333
+ const result = db
334
+ .prepare("SELECT COUNT(*) as cnt FROM invariants WHERE doc_id = ? AND status = 'active'")
335
+ .get(docId);
270
336
  return result.cnt;
271
337
  },
272
- catch: (cause) => new DatabaseError({ cause })
338
+ catch: (cause) => new DatabaseError({ cause }),
273
339
  }),
274
340
  };
275
341
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"doc-repo.js","sourceRoot":"","sources":["../../src/repo/doc-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-repo.js","sourceRoot":"","sources":["../../src/repo/doc-repo.ts"],"names":[],"mappings":"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"}