@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.
- package/dist/db.d.ts +42 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +46 -0
- package/dist/db.js.map +1 -0
- package/dist/errors.d.ts +231 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +139 -0
- package/dist/errors.js.map +1 -0
- package/dist/id.d.ts +6 -0
- package/dist/id.d.ts.map +1 -0
- package/dist/id.js +21 -0
- package/dist/id.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/layer.d.ts +50 -0
- package/dist/layer.d.ts.map +1 -0
- package/dist/layer.js +155 -0
- package/dist/layer.js.map +1 -0
- package/dist/mappers/anchor.d.ts +14 -0
- package/dist/mappers/anchor.d.ts.map +1 -0
- package/dist/mappers/anchor.js +38 -0
- package/dist/mappers/anchor.js.map +1 -0
- package/dist/mappers/attempt.d.ts +15 -0
- package/dist/mappers/attempt.d.ts.map +1 -0
- package/dist/mappers/attempt.js +23 -0
- package/dist/mappers/attempt.js.map +1 -0
- package/dist/mappers/candidate.d.ts +23 -0
- package/dist/mappers/candidate.d.ts.map +1 -0
- package/dist/mappers/candidate.js +53 -0
- package/dist/mappers/candidate.js.map +1 -0
- package/dist/mappers/claim.d.ts +30 -0
- package/dist/mappers/claim.d.ts.map +1 -0
- package/dist/mappers/claim.js +32 -0
- package/dist/mappers/claim.js.map +1 -0
- package/dist/mappers/deduplication.d.ts +39 -0
- package/dist/mappers/deduplication.d.ts.map +1 -0
- package/dist/mappers/deduplication.js +53 -0
- package/dist/mappers/deduplication.js.map +1 -0
- package/dist/mappers/edge.d.ts +10 -0
- package/dist/mappers/edge.d.ts.map +1 -0
- package/dist/mappers/edge.js +19 -0
- package/dist/mappers/edge.js.map +1 -0
- package/dist/mappers/file-learning.d.ts +14 -0
- package/dist/mappers/file-learning.d.ts.map +1 -0
- package/dist/mappers/file-learning.js +75 -0
- package/dist/mappers/file-learning.js.map +1 -0
- package/dist/mappers/index.d.ts +17 -0
- package/dist/mappers/index.d.ts.map +1 -0
- package/dist/mappers/index.js +30 -0
- package/dist/mappers/index.js.map +1 -0
- package/dist/mappers/learning.d.ts +19 -0
- package/dist/mappers/learning.d.ts.map +1 -0
- package/dist/mappers/learning.js +41 -0
- package/dist/mappers/learning.js.map +1 -0
- package/dist/mappers/orchestrator-state.d.ts +33 -0
- package/dist/mappers/orchestrator-state.d.ts.map +1 -0
- package/dist/mappers/orchestrator-state.js +34 -0
- package/dist/mappers/orchestrator-state.js.map +1 -0
- package/dist/mappers/run.d.ts +32 -0
- package/dist/mappers/run.d.ts.map +1 -0
- package/dist/mappers/run.js +64 -0
- package/dist/mappers/run.js.map +1 -0
- package/dist/mappers/task.d.ts +23 -0
- package/dist/mappers/task.d.ts.map +1 -0
- package/dist/mappers/task.js +54 -0
- package/dist/mappers/task.js.map +1 -0
- package/dist/mappers/tracked-project.d.ts +15 -0
- package/dist/mappers/tracked-project.d.ts.map +1 -0
- package/dist/mappers/tracked-project.js +23 -0
- package/dist/mappers/tracked-project.js.map +1 -0
- package/dist/mappers/worker.d.ts +33 -0
- package/dist/mappers/worker.d.ts.map +1 -0
- package/dist/mappers/worker.js +35 -0
- package/dist/mappers/worker.js.map +1 -0
- package/dist/repo/anchor-repo.d.ts +52 -0
- package/dist/repo/anchor-repo.d.ts.map +1 -0
- package/dist/repo/anchor-repo.js +204 -0
- package/dist/repo/anchor-repo.js.map +1 -0
- package/dist/repo/attempt-repo.d.ts +25 -0
- package/dist/repo/attempt-repo.d.ts.map +1 -0
- package/dist/repo/attempt-repo.js +78 -0
- package/dist/repo/attempt-repo.js.map +1 -0
- package/dist/repo/candidate-repo.d.ts +16 -0
- package/dist/repo/candidate-repo.d.ts.map +1 -0
- package/dist/repo/candidate-repo.js +143 -0
- package/dist/repo/candidate-repo.js.map +1 -0
- package/dist/repo/claim-repo.d.ts +17 -0
- package/dist/repo/claim-repo.d.ts.map +1 -0
- package/dist/repo/claim-repo.js +62 -0
- package/dist/repo/claim-repo.js.map +1 -0
- package/dist/repo/deduplication-repo.d.ts +37 -0
- package/dist/repo/deduplication-repo.d.ts.map +1 -0
- package/dist/repo/deduplication-repo.js +133 -0
- package/dist/repo/deduplication-repo.js.map +1 -0
- package/dist/repo/dep-repo.d.ts +19 -0
- package/dist/repo/dep-repo.d.ts.map +1 -0
- package/dist/repo/dep-repo.js +104 -0
- package/dist/repo/dep-repo.js.map +1 -0
- package/dist/repo/edge-repo.d.ts +26 -0
- package/dist/repo/edge-repo.d.ts.map +1 -0
- package/dist/repo/edge-repo.js +227 -0
- package/dist/repo/edge-repo.js.map +1 -0
- package/dist/repo/file-learning-repo.d.ts +17 -0
- package/dist/repo/file-learning-repo.d.ts.map +1 -0
- package/dist/repo/file-learning-repo.js +60 -0
- package/dist/repo/file-learning-repo.js.map +1 -0
- package/dist/repo/index.d.ts +18 -0
- package/dist/repo/index.d.ts.map +1 -0
- package/dist/repo/index.js +18 -0
- package/dist/repo/index.js.map +1 -0
- package/dist/repo/learning-repo.d.ts +31 -0
- package/dist/repo/learning-repo.d.ts.map +1 -0
- package/dist/repo/learning-repo.js +165 -0
- package/dist/repo/learning-repo.js.map +1 -0
- package/dist/repo/orchestrator-state-repo.d.ts +27 -0
- package/dist/repo/orchestrator-state-repo.d.ts.map +1 -0
- package/dist/repo/orchestrator-state-repo.js +96 -0
- package/dist/repo/orchestrator-state-repo.js.map +1 -0
- package/dist/repo/run-repo.d.ts +31 -0
- package/dist/repo/run-repo.d.ts.map +1 -0
- package/dist/repo/run-repo.js +132 -0
- package/dist/repo/run-repo.js.map +1 -0
- package/dist/repo/task-repo.d.ts +21 -0
- package/dist/repo/task-repo.d.ts.map +1 -0
- package/dist/repo/task-repo.js +169 -0
- package/dist/repo/task-repo.js.map +1 -0
- package/dist/repo/tracked-project-repo.d.ts +16 -0
- package/dist/repo/tracked-project-repo.d.ts.map +1 -0
- package/dist/repo/tracked-project-repo.js +54 -0
- package/dist/repo/tracked-project-repo.js.map +1 -0
- package/dist/repo/worker-repo.d.ts +19 -0
- package/dist/repo/worker-repo.d.ts.map +1 -0
- package/dist/repo/worker-repo.js +72 -0
- package/dist/repo/worker-repo.js.map +1 -0
- package/dist/schemas/index.d.ts +8 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +7 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/sync.d.ts +296 -0
- package/dist/schemas/sync.d.ts.map +1 -0
- package/dist/schemas/sync.js +146 -0
- package/dist/schemas/sync.js.map +1 -0
- package/dist/schemas/worker.d.ts +77 -0
- package/dist/schemas/worker.d.ts.map +1 -0
- package/dist/schemas/worker.js +80 -0
- package/dist/schemas/worker.js.map +1 -0
- package/dist/services/anchor-service.d.ts +147 -0
- package/dist/services/anchor-service.d.ts.map +1 -0
- package/dist/services/anchor-service.js +540 -0
- package/dist/services/anchor-service.js.map +1 -0
- package/dist/services/anchor-verification.d.ts +94 -0
- package/dist/services/anchor-verification.d.ts.map +1 -0
- package/dist/services/anchor-verification.js +617 -0
- package/dist/services/anchor-verification.js.map +1 -0
- package/dist/services/ast-grep-service.d.ts +58 -0
- package/dist/services/ast-grep-service.d.ts.map +1 -0
- package/dist/services/ast-grep-service.js +356 -0
- package/dist/services/ast-grep-service.js.map +1 -0
- package/dist/services/attempt-service.d.ts +24 -0
- package/dist/services/attempt-service.d.ts.map +1 -0
- package/dist/services/attempt-service.js +55 -0
- package/dist/services/attempt-service.js.map +1 -0
- package/dist/services/auto-sync-service.d.ts +56 -0
- package/dist/services/auto-sync-service.d.ts.map +1 -0
- package/dist/services/auto-sync-service.js +66 -0
- package/dist/services/auto-sync-service.js.map +1 -0
- package/dist/services/candidate-extractor-service.d.ts +56 -0
- package/dist/services/candidate-extractor-service.d.ts.map +1 -0
- package/dist/services/candidate-extractor-service.js +365 -0
- package/dist/services/candidate-extractor-service.js.map +1 -0
- package/dist/services/claim-service.d.ts +52 -0
- package/dist/services/claim-service.d.ts.map +1 -0
- package/dist/services/claim-service.js +134 -0
- package/dist/services/claim-service.js.map +1 -0
- package/dist/services/daemon-service.d.ts +214 -0
- package/dist/services/daemon-service.d.ts.map +1 -0
- package/dist/services/daemon-service.js +522 -0
- package/dist/services/daemon-service.js.map +1 -0
- package/dist/services/deduplication-service.d.ts +67 -0
- package/dist/services/deduplication-service.d.ts.map +1 -0
- package/dist/services/deduplication-service.js +145 -0
- package/dist/services/deduplication-service.js.map +1 -0
- package/dist/services/dep-service.d.ts +14 -0
- package/dist/services/dep-service.d.ts.map +1 -0
- package/dist/services/dep-service.js +34 -0
- package/dist/services/dep-service.js.map +1 -0
- package/dist/services/diversifier-service.d.ts +46 -0
- package/dist/services/diversifier-service.d.ts.map +1 -0
- package/dist/services/diversifier-service.js +197 -0
- package/dist/services/diversifier-service.js.map +1 -0
- package/dist/services/edge-service.d.ts +78 -0
- package/dist/services/edge-service.d.ts.map +1 -0
- package/dist/services/edge-service.js +158 -0
- package/dist/services/edge-service.js.map +1 -0
- package/dist/services/embedding-service.d.ts +138 -0
- package/dist/services/embedding-service.d.ts.map +1 -0
- package/dist/services/embedding-service.js +318 -0
- package/dist/services/embedding-service.js.map +1 -0
- package/dist/services/feedback-tracker.d.ts +64 -0
- package/dist/services/feedback-tracker.d.ts.map +1 -0
- package/dist/services/feedback-tracker.js +110 -0
- package/dist/services/feedback-tracker.js.map +1 -0
- package/dist/services/file-learning-service.d.ts +17 -0
- package/dist/services/file-learning-service.d.ts.map +1 -0
- package/dist/services/file-learning-service.js +41 -0
- package/dist/services/file-learning-service.js.map +1 -0
- package/dist/services/file-watcher-service.d.ts +141 -0
- package/dist/services/file-watcher-service.d.ts.map +1 -0
- package/dist/services/file-watcher-service.js +278 -0
- package/dist/services/file-watcher-service.js.map +1 -0
- package/dist/services/graph-expansion.d.ts +155 -0
- package/dist/services/graph-expansion.d.ts.map +1 -0
- package/dist/services/graph-expansion.js +466 -0
- package/dist/services/graph-expansion.js.map +1 -0
- package/dist/services/hierarchy-service.d.ts +16 -0
- package/dist/services/hierarchy-service.d.ts.map +1 -0
- package/dist/services/hierarchy-service.js +66 -0
- package/dist/services/hierarchy-service.js.map +1 -0
- package/dist/services/index.d.ts +36 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +36 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/learning-service.d.ts +39 -0
- package/dist/services/learning-service.d.ts.map +1 -0
- package/dist/services/learning-service.js +151 -0
- package/dist/services/learning-service.js.map +1 -0
- package/dist/services/migration-service.d.ts +67 -0
- package/dist/services/migration-service.d.ts.map +1 -0
- package/dist/services/migration-service.js +144 -0
- package/dist/services/migration-service.js.map +1 -0
- package/dist/services/orchestrator-service.d.ts +52 -0
- package/dist/services/orchestrator-service.d.ts.map +1 -0
- package/dist/services/orchestrator-service.js +203 -0
- package/dist/services/orchestrator-service.js.map +1 -0
- package/dist/services/promotion-service.d.ts +67 -0
- package/dist/services/promotion-service.d.ts.map +1 -0
- package/dist/services/promotion-service.js +151 -0
- package/dist/services/promotion-service.js.map +1 -0
- package/dist/services/query-expansion-service.d.ts +55 -0
- package/dist/services/query-expansion-service.d.ts.map +1 -0
- package/dist/services/query-expansion-service.js +174 -0
- package/dist/services/query-expansion-service.js.map +1 -0
- package/dist/services/ready-service.d.ts +16 -0
- package/dist/services/ready-service.d.ts.map +1 -0
- package/dist/services/ready-service.js +70 -0
- package/dist/services/ready-service.js.map +1 -0
- package/dist/services/reranker-service.d.ts +51 -0
- package/dist/services/reranker-service.d.ts.map +1 -0
- package/dist/services/reranker-service.js +128 -0
- package/dist/services/reranker-service.js.map +1 -0
- package/dist/services/retriever-service.d.ts +49 -0
- package/dist/services/retriever-service.d.ts.map +1 -0
- package/dist/services/retriever-service.js +419 -0
- package/dist/services/retriever-service.js.map +1 -0
- package/dist/services/score-service.d.ts +43 -0
- package/dist/services/score-service.d.ts.map +1 -0
- package/dist/services/score-service.js +82 -0
- package/dist/services/score-service.js.map +1 -0
- package/dist/services/swarm-verification.d.ts +104 -0
- package/dist/services/swarm-verification.d.ts.map +1 -0
- package/dist/services/swarm-verification.js +400 -0
- package/dist/services/swarm-verification.js.map +1 -0
- package/dist/services/sync-service.d.ts +115 -0
- package/dist/services/sync-service.d.ts.map +1 -0
- package/dist/services/sync-service.js +350 -0
- package/dist/services/sync-service.js.map +1 -0
- package/dist/services/task-service.d.ts +22 -0
- package/dist/services/task-service.d.ts.map +1 -0
- package/dist/services/task-service.js +221 -0
- package/dist/services/task-service.js.map +1 -0
- package/dist/services/worker-process.d.ts +41 -0
- package/dist/services/worker-process.d.ts.map +1 -0
- package/dist/services/worker-process.js +280 -0
- package/dist/services/worker-process.js.map +1 -0
- package/dist/services/worker-service.d.ts +74 -0
- package/dist/services/worker-service.d.ts.map +1 -0
- package/dist/services/worker-service.js +148 -0
- package/dist/services/worker-service.js.map +1 -0
- package/dist/utils/glob.d.ts +15 -0
- package/dist/utils/glob.d.ts.map +1 -0
- package/dist/utils/glob.js +27 -0
- package/dist/utils/glob.js.map +1 -0
- package/dist/utils/math.d.ts +6 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.js +21 -0
- package/dist/utils/math.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/layer.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tx/core/layer - Effect layer composition
|
|
3
|
+
*
|
|
4
|
+
* This module provides pre-composed layers for common use cases.
|
|
5
|
+
* See DD-002 for full specification.
|
|
6
|
+
*/
|
|
7
|
+
import { Layer } from "effect";
|
|
8
|
+
export { SyncService } from "./services/sync-service.js";
|
|
9
|
+
export { MigrationService } from "./services/migration-service.js";
|
|
10
|
+
export { AutoSyncService, AutoSyncServiceNoop, AutoSyncServiceLive } from "./services/auto-sync-service.js";
|
|
11
|
+
export { LearningService } from "./services/learning-service.js";
|
|
12
|
+
export { FileLearningService } from "./services/file-learning-service.js";
|
|
13
|
+
export { EmbeddingService, EmbeddingServiceNoop, EmbeddingServiceLive, EmbeddingServiceOpenAI, EmbeddingServiceAuto, createEmbedderLayer, type EmbedderConfig } from "./services/embedding-service.js";
|
|
14
|
+
export { QueryExpansionService, QueryExpansionServiceNoop, QueryExpansionServiceLive, QueryExpansionServiceAuto, QueryExpansionUnavailableError, type QueryExpansionResult } from "./services/query-expansion-service.js";
|
|
15
|
+
export { AttemptService } from "./services/attempt-service.js";
|
|
16
|
+
export { TaskService } from "./services/task-service.js";
|
|
17
|
+
export { DependencyService } from "./services/dep-service.js";
|
|
18
|
+
export { ReadyService } from "./services/ready-service.js";
|
|
19
|
+
export { HierarchyService } from "./services/hierarchy-service.js";
|
|
20
|
+
export { ScoreService } from "./services/score-service.js";
|
|
21
|
+
export { RunRepository } from "./repo/run-repo.js";
|
|
22
|
+
export { RerankerService, RerankerServiceNoop, RerankerServiceLive, RerankerServiceAuto, type RerankerResult } from "./services/reranker-service.js";
|
|
23
|
+
export { DeduplicationService, DeduplicationServiceLive } from "./services/deduplication-service.js";
|
|
24
|
+
export { RetrieverService, RetrieverServiceNoop, RetrieverServiceLive, RetrieverServiceAuto } from "./services/retriever-service.js";
|
|
25
|
+
export { GraphExpansionService, GraphExpansionServiceNoop, GraphExpansionServiceLive, type SeedLearning, type ExpandedLearning, type GraphExpansionOptions, type GraphExpansionResult } from "./services/graph-expansion.js";
|
|
26
|
+
export { AnchorVerificationService, AnchorVerificationServiceLive, type VerificationResult, type VerificationSummary, type VerifyOptions } from "./services/anchor-verification.js";
|
|
27
|
+
export { SwarmVerificationService, SwarmVerificationServiceLive, calculateMajorityVote, type VerificationBatch, type BatchResult, type SwarmMetrics, type SwarmVerificationResult, type SwarmVerifyOptions, type VoteResult } from "./services/swarm-verification.js";
|
|
28
|
+
export { PromotionService, PromotionServiceLive, type PromotionResult, type AutoPromoteResult } from "./services/promotion-service.js";
|
|
29
|
+
export { FeedbackTrackerService, FeedbackTrackerServiceNoop, FeedbackTrackerServiceLive, type LearningUsageFeedback } from "./services/feedback-tracker.js";
|
|
30
|
+
export { CandidateRepository, CandidateRepositoryLive } from "./repo/candidate-repo.js";
|
|
31
|
+
export { TrackedProjectRepository, TrackedProjectRepositoryLive } from "./repo/tracked-project-repo.js";
|
|
32
|
+
export { DaemonService, DaemonServiceLive, DaemonServiceNoop, type DaemonStatus } from "./services/daemon-service.js";
|
|
33
|
+
/**
|
|
34
|
+
* Create the full application layer with all services.
|
|
35
|
+
*
|
|
36
|
+
* This is the standard entry point for CLI, MCP, and SDK consumers.
|
|
37
|
+
* Provides: TaskService, DependencyService, ReadyService, HierarchyService,
|
|
38
|
+
* LearningService, FileLearningService, AttemptService, SyncService, MigrationService
|
|
39
|
+
*
|
|
40
|
+
* @param dbPath Path to SQLite database file
|
|
41
|
+
*/
|
|
42
|
+
export declare const makeAppLayer: (dbPath: string) => Layer.Layer<import("./services/migration-service.js").MigrationService | import("./repo/task-repo.js").TaskRepository | import("./repo/dep-repo.js").DependencyRepository | import("./repo/learning-repo.js").LearningRepository | import("./repo/file-learning-repo.js").FileLearningRepository | import("./repo/attempt-repo.js").AttemptRepository | import("./repo/run-repo.js").RunRepository | import("./repo/anchor-repo.js").AnchorRepository | import("./repo/edge-repo.js").EdgeRepository | import("./repo/deduplication-repo.js").DeduplicationRepository | import("./repo/candidate-repo.js").CandidateRepository | import("./repo/tracked-project-repo.js").TrackedProjectRepository | import("./repo/worker-repo.js").WorkerRepository | import("./repo/claim-repo.js").ClaimRepository | import("./repo/orchestrator-state-repo.js").OrchestratorStateRepository | import("./services/task-service.js").TaskService | import("./services/dep-service.js").DependencyService | import("./services/ready-service.js").ReadyService | import("./services/hierarchy-service.js").HierarchyService | import("./services/edge-service.js").EdgeService | import("./services/graph-expansion.js").GraphExpansionService | import("./services/feedback-tracker.js").FeedbackTrackerService | import("./services/retriever-service.js").RetrieverService | import("./services/learning-service.js").LearningService | import("./services/file-learning-service.js").FileLearningService | import("./services/attempt-service.js").AttemptService | import("./services/anchor-verification.js").AnchorVerificationService | import("./services/anchor-service.js").AnchorService | import("./services/deduplication-service.js").DeduplicationService | import("./services/sync-service.js").SyncService | import("./services/swarm-verification.js").SwarmVerificationService | import("./services/promotion-service.js").PromotionService | import("./services/worker-service.js").WorkerService | import("./services/claim-service.js").ClaimService | import("./services/orchestrator-service.js").OrchestratorService | import("./services/daemon-service.js").DaemonService, import("./errors.js").DatabaseError, never>;
|
|
43
|
+
/**
|
|
44
|
+
* Create a minimal application layer without auto-sync.
|
|
45
|
+
* Useful for testing and simple CLI operations.
|
|
46
|
+
*
|
|
47
|
+
* @param dbPath Path to SQLite database file
|
|
48
|
+
*/
|
|
49
|
+
export declare const makeMinimalLayer: (dbPath: string) => Layer.Layer<import("./services/migration-service.js").MigrationService | import("./repo/task-repo.js").TaskRepository | import("./repo/dep-repo.js").DependencyRepository | import("./repo/learning-repo.js").LearningRepository | import("./repo/file-learning-repo.js").FileLearningRepository | import("./repo/attempt-repo.js").AttemptRepository | import("./repo/run-repo.js").RunRepository | import("./repo/anchor-repo.js").AnchorRepository | import("./repo/edge-repo.js").EdgeRepository | import("./repo/deduplication-repo.js").DeduplicationRepository | import("./repo/candidate-repo.js").CandidateRepository | import("./repo/tracked-project-repo.js").TrackedProjectRepository | import("./services/task-service.js").TaskService | import("./services/dep-service.js").DependencyService | import("./services/ready-service.js").ReadyService | import("./services/hierarchy-service.js").HierarchyService | import("./services/edge-service.js").EdgeService | import("./services/graph-expansion.js").GraphExpansionService | import("./services/feedback-tracker.js").FeedbackTrackerService | import("./services/retriever-service.js").RetrieverService | import("./services/learning-service.js").LearningService | import("./services/file-learning-service.js").FileLearningService | import("./services/attempt-service.js").AttemptService | import("./services/anchor-verification.js").AnchorVerificationService | import("./services/anchor-service.js").AnchorService | import("./services/deduplication-service.js").DeduplicationService | import("./services/sync-service.js").SyncService | import("./services/swarm-verification.js").SwarmVerificationService | import("./services/promotion-service.js").PromotionService | import("./services/daemon-service.js").DaemonService, import("./errors.js").DatabaseError, never>;
|
|
50
|
+
//# sourceMappingURL=layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../src/layer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AA4C9B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAC3G,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,KAAK,oBAAoB,EAC1B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AACpG,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EACnB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACvB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AACvG,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,YAAY,EAClB,MAAM,8BAA8B,CAAA;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,ymEAwG1C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,4wDAoF9C,CAAA"}
|
package/dist/layer.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tx/core/layer - Effect layer composition
|
|
3
|
+
*
|
|
4
|
+
* This module provides pre-composed layers for common use cases.
|
|
5
|
+
* See DD-002 for full specification.
|
|
6
|
+
*/
|
|
7
|
+
import { Layer } from "effect";
|
|
8
|
+
import { SqliteClientLive } from "./db.js";
|
|
9
|
+
import { TaskRepositoryLive } from "./repo/task-repo.js";
|
|
10
|
+
import { DependencyRepositoryLive } from "./repo/dep-repo.js";
|
|
11
|
+
import { LearningRepositoryLive } from "./repo/learning-repo.js";
|
|
12
|
+
import { FileLearningRepositoryLive } from "./repo/file-learning-repo.js";
|
|
13
|
+
import { AttemptRepositoryLive } from "./repo/attempt-repo.js";
|
|
14
|
+
import { RunRepositoryLive } from "./repo/run-repo.js";
|
|
15
|
+
import { AnchorRepositoryLive } from "./repo/anchor-repo.js";
|
|
16
|
+
import { EdgeRepositoryLive } from "./repo/edge-repo.js";
|
|
17
|
+
import { DeduplicationRepositoryLive } from "./repo/deduplication-repo.js";
|
|
18
|
+
import { CandidateRepositoryLive } from "./repo/candidate-repo.js";
|
|
19
|
+
import { TrackedProjectRepositoryLive } from "./repo/tracked-project-repo.js";
|
|
20
|
+
import { WorkerRepositoryLive } from "./repo/worker-repo.js";
|
|
21
|
+
import { ClaimRepositoryLive } from "./repo/claim-repo.js";
|
|
22
|
+
import { OrchestratorStateRepositoryLive } from "./repo/orchestrator-state-repo.js";
|
|
23
|
+
import { TaskServiceLive } from "./services/task-service.js";
|
|
24
|
+
import { DependencyServiceLive } from "./services/dep-service.js";
|
|
25
|
+
import { ReadyServiceLive } from "./services/ready-service.js";
|
|
26
|
+
import { HierarchyServiceLive } from "./services/hierarchy-service.js";
|
|
27
|
+
import { LearningServiceLive } from "./services/learning-service.js";
|
|
28
|
+
import { FileLearningServiceLive } from "./services/file-learning-service.js";
|
|
29
|
+
import { AttemptServiceLive } from "./services/attempt-service.js";
|
|
30
|
+
import { AnchorServiceLive } from "./services/anchor-service.js";
|
|
31
|
+
import { EdgeServiceLive } from "./services/edge-service.js";
|
|
32
|
+
import { DeduplicationServiceLive } from "./services/deduplication-service.js";
|
|
33
|
+
import { SyncServiceLive } from "./services/sync-service.js";
|
|
34
|
+
import { AutoSyncServiceLive, AutoSyncServiceNoop } from "./services/auto-sync-service.js";
|
|
35
|
+
import { MigrationServiceLive } from "./services/migration-service.js";
|
|
36
|
+
import { EmbeddingServiceNoop } from "./services/embedding-service.js";
|
|
37
|
+
import { QueryExpansionServiceNoop } from "./services/query-expansion-service.js";
|
|
38
|
+
import { RerankerServiceNoop } from "./services/reranker-service.js";
|
|
39
|
+
import { RetrieverServiceLive } from "./services/retriever-service.js";
|
|
40
|
+
import { GraphExpansionServiceLive } from "./services/graph-expansion.js";
|
|
41
|
+
import { AnchorVerificationServiceLive } from "./services/anchor-verification.js";
|
|
42
|
+
import { SwarmVerificationServiceLive } from "./services/swarm-verification.js";
|
|
43
|
+
import { PromotionServiceLive } from "./services/promotion-service.js";
|
|
44
|
+
import { FeedbackTrackerServiceLive } from "./services/feedback-tracker.js";
|
|
45
|
+
import { WorkerServiceLive } from "./services/worker-service.js";
|
|
46
|
+
import { ClaimServiceLive } from "./services/claim-service.js";
|
|
47
|
+
import { OrchestratorServiceLive } from "./services/orchestrator-service.js";
|
|
48
|
+
import { DaemonServiceLive, DaemonServiceNoop } from "./services/daemon-service.js";
|
|
49
|
+
// Re-export services for cleaner imports
|
|
50
|
+
export { SyncService } from "./services/sync-service.js";
|
|
51
|
+
export { MigrationService } from "./services/migration-service.js";
|
|
52
|
+
export { AutoSyncService, AutoSyncServiceNoop, AutoSyncServiceLive } from "./services/auto-sync-service.js";
|
|
53
|
+
export { LearningService } from "./services/learning-service.js";
|
|
54
|
+
export { FileLearningService } from "./services/file-learning-service.js";
|
|
55
|
+
export { EmbeddingService, EmbeddingServiceNoop, EmbeddingServiceLive, EmbeddingServiceOpenAI, EmbeddingServiceAuto, createEmbedderLayer } from "./services/embedding-service.js";
|
|
56
|
+
export { QueryExpansionService, QueryExpansionServiceNoop, QueryExpansionServiceLive, QueryExpansionServiceAuto, QueryExpansionUnavailableError } from "./services/query-expansion-service.js";
|
|
57
|
+
export { AttemptService } from "./services/attempt-service.js";
|
|
58
|
+
export { TaskService } from "./services/task-service.js";
|
|
59
|
+
export { DependencyService } from "./services/dep-service.js";
|
|
60
|
+
export { ReadyService } from "./services/ready-service.js";
|
|
61
|
+
export { HierarchyService } from "./services/hierarchy-service.js";
|
|
62
|
+
export { ScoreService } from "./services/score-service.js";
|
|
63
|
+
export { RunRepository } from "./repo/run-repo.js";
|
|
64
|
+
export { RerankerService, RerankerServiceNoop, RerankerServiceLive, RerankerServiceAuto } from "./services/reranker-service.js";
|
|
65
|
+
export { DeduplicationService, DeduplicationServiceLive } from "./services/deduplication-service.js";
|
|
66
|
+
export { RetrieverService, RetrieverServiceNoop, RetrieverServiceLive, RetrieverServiceAuto } from "./services/retriever-service.js";
|
|
67
|
+
export { GraphExpansionService, GraphExpansionServiceNoop, GraphExpansionServiceLive } from "./services/graph-expansion.js";
|
|
68
|
+
export { AnchorVerificationService, AnchorVerificationServiceLive } from "./services/anchor-verification.js";
|
|
69
|
+
export { SwarmVerificationService, SwarmVerificationServiceLive, calculateMajorityVote } from "./services/swarm-verification.js";
|
|
70
|
+
export { PromotionService, PromotionServiceLive } from "./services/promotion-service.js";
|
|
71
|
+
export { FeedbackTrackerService, FeedbackTrackerServiceNoop, FeedbackTrackerServiceLive } from "./services/feedback-tracker.js";
|
|
72
|
+
export { CandidateRepository, CandidateRepositoryLive } from "./repo/candidate-repo.js";
|
|
73
|
+
export { TrackedProjectRepository, TrackedProjectRepositoryLive } from "./repo/tracked-project-repo.js";
|
|
74
|
+
export { DaemonService, DaemonServiceLive, DaemonServiceNoop } from "./services/daemon-service.js";
|
|
75
|
+
/**
|
|
76
|
+
* Create the full application layer with all services.
|
|
77
|
+
*
|
|
78
|
+
* This is the standard entry point for CLI, MCP, and SDK consumers.
|
|
79
|
+
* Provides: TaskService, DependencyService, ReadyService, HierarchyService,
|
|
80
|
+
* LearningService, FileLearningService, AttemptService, SyncService, MigrationService
|
|
81
|
+
*
|
|
82
|
+
* @param dbPath Path to SQLite database file
|
|
83
|
+
*/
|
|
84
|
+
export const makeAppLayer = (dbPath) => {
|
|
85
|
+
const infra = SqliteClientLive(dbPath);
|
|
86
|
+
const repos = Layer.mergeAll(TaskRepositoryLive, DependencyRepositoryLive, LearningRepositoryLive, FileLearningRepositoryLive, AttemptRepositoryLive, RunRepositoryLive, AnchorRepositoryLive, EdgeRepositoryLive, DeduplicationRepositoryLive, CandidateRepositoryLive, TrackedProjectRepositoryLive, WorkerRepositoryLive, ClaimRepositoryLive, OrchestratorStateRepositoryLive).pipe(Layer.provide(infra));
|
|
87
|
+
// SyncServiceLive needs TaskService, repos, and infra
|
|
88
|
+
const syncServiceWithDeps = SyncServiceLive.pipe(Layer.provide(Layer.mergeAll(infra, repos, TaskServiceLive.pipe(Layer.provide(repos)))));
|
|
89
|
+
// AutoSyncServiceLive needs SyncService and infra
|
|
90
|
+
const autoSyncService = AutoSyncServiceLive.pipe(Layer.provide(Layer.merge(infra, syncServiceWithDeps)));
|
|
91
|
+
// EdgeServiceLive needs EdgeRepository from repos
|
|
92
|
+
const edgeService = EdgeServiceLive.pipe(Layer.provide(repos));
|
|
93
|
+
// FeedbackTrackerServiceLive needs EdgeService (created early for RetrieverService optional dependency)
|
|
94
|
+
const feedbackTrackerService = FeedbackTrackerServiceLive.pipe(Layer.provide(edgeService));
|
|
95
|
+
// GraphExpansionServiceLive needs EdgeService, LearningRepository, and AnchorRepository
|
|
96
|
+
const graphExpansionService = GraphExpansionServiceLive.pipe(Layer.provide(Layer.merge(repos, edgeService)));
|
|
97
|
+
// RetrieverServiceLive needs repos, embedding, query expansion, reranker, graph expansion, and optionally feedback tracker
|
|
98
|
+
const retrieverService = RetrieverServiceLive.pipe(Layer.provide(Layer.mergeAll(repos, EmbeddingServiceNoop, QueryExpansionServiceNoop, RerankerServiceNoop, graphExpansionService, feedbackTrackerService)));
|
|
99
|
+
// Services need repos, embedding, query expansion, reranker, retriever, and autoSyncService
|
|
100
|
+
const services = Layer.mergeAll(TaskServiceLive, DependencyServiceLive, ReadyServiceLive, HierarchyServiceLive, LearningServiceLive, FileLearningServiceLive, AttemptServiceLive, AnchorServiceLive, DeduplicationServiceLive).pipe(Layer.provide(Layer.mergeAll(repos, EmbeddingServiceNoop, QueryExpansionServiceNoop, RerankerServiceNoop, retrieverService, autoSyncService)));
|
|
101
|
+
// AnchorVerificationServiceLive needs AnchorRepository from repos
|
|
102
|
+
const anchorVerificationService = AnchorVerificationServiceLive.pipe(Layer.provide(repos));
|
|
103
|
+
// SwarmVerificationServiceLive needs AnchorVerificationService and AnchorRepository
|
|
104
|
+
const swarmVerificationService = SwarmVerificationServiceLive.pipe(Layer.provide(Layer.merge(repos, anchorVerificationService)));
|
|
105
|
+
// PromotionServiceLive needs CandidateRepository, LearningService, and EdgeService
|
|
106
|
+
const promotionService = PromotionServiceLive.pipe(Layer.provide(Layer.mergeAll(repos, services, edgeService)));
|
|
107
|
+
// WorkerServiceLive needs WorkerRepository and OrchestratorStateRepository (from repos)
|
|
108
|
+
const workerService = WorkerServiceLive.pipe(Layer.provide(repos));
|
|
109
|
+
// ClaimServiceLive needs ClaimRepository and OrchestratorStateRepository (from repos)
|
|
110
|
+
const claimService = ClaimServiceLive.pipe(Layer.provide(repos));
|
|
111
|
+
// OrchestratorServiceLive needs WorkerService, ClaimService, TaskService, and OrchestratorStateRepository
|
|
112
|
+
const orchestratorService = OrchestratorServiceLive.pipe(Layer.provide(Layer.mergeAll(repos, services, workerService, claimService)));
|
|
113
|
+
// Merge all services including edgeService, graphExpansionService, anchorVerificationService, swarmVerificationService, promotionService, feedbackTrackerService, retrieverService, orchestration services, and daemon service
|
|
114
|
+
const allServices = Layer.mergeAll(services, edgeService, graphExpansionService, anchorVerificationService, swarmVerificationService, promotionService, feedbackTrackerService, retrieverService, workerService, claimService, orchestratorService, DaemonServiceLive);
|
|
115
|
+
// MigrationService only needs SqliteClient
|
|
116
|
+
const migrationService = MigrationServiceLive.pipe(Layer.provide(infra));
|
|
117
|
+
// Also expose RunRepository directly for run tracking
|
|
118
|
+
// (Note: Consider creating RunService in future refactor)
|
|
119
|
+
return Layer.mergeAll(allServices, syncServiceWithDeps, migrationService, repos);
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Create a minimal application layer without auto-sync.
|
|
123
|
+
* Useful for testing and simple CLI operations.
|
|
124
|
+
*
|
|
125
|
+
* @param dbPath Path to SQLite database file
|
|
126
|
+
*/
|
|
127
|
+
export const makeMinimalLayer = (dbPath) => {
|
|
128
|
+
const infra = SqliteClientLive(dbPath);
|
|
129
|
+
const repos = Layer.mergeAll(TaskRepositoryLive, DependencyRepositoryLive, LearningRepositoryLive, FileLearningRepositoryLive, AttemptRepositoryLive, RunRepositoryLive, AnchorRepositoryLive, EdgeRepositoryLive, DeduplicationRepositoryLive, CandidateRepositoryLive, TrackedProjectRepositoryLive).pipe(Layer.provide(infra));
|
|
130
|
+
// EdgeServiceLive needs EdgeRepository from repos
|
|
131
|
+
const edgeService = EdgeServiceLive.pipe(Layer.provide(repos));
|
|
132
|
+
// FeedbackTrackerServiceLive needs EdgeService (created early for RetrieverService optional dependency)
|
|
133
|
+
const feedbackTrackerService = FeedbackTrackerServiceLive.pipe(Layer.provide(edgeService));
|
|
134
|
+
// GraphExpansionServiceLive needs EdgeService, LearningRepository, and AnchorRepository
|
|
135
|
+
const graphExpansionService = GraphExpansionServiceLive.pipe(Layer.provide(Layer.merge(repos, edgeService)));
|
|
136
|
+
// RetrieverServiceLive needs repos, embedding, query expansion, reranker, graph expansion, and optionally feedback tracker
|
|
137
|
+
const retrieverService = RetrieverServiceLive.pipe(Layer.provide(Layer.mergeAll(repos, EmbeddingServiceNoop, QueryExpansionServiceNoop, RerankerServiceNoop, graphExpansionService, feedbackTrackerService)));
|
|
138
|
+
// Services with Noop embedding, query expansion, reranker, retriever, and auto-sync
|
|
139
|
+
const services = Layer.mergeAll(TaskServiceLive, DependencyServiceLive, ReadyServiceLive, HierarchyServiceLive, LearningServiceLive, FileLearningServiceLive, AttemptServiceLive, AnchorServiceLive, DeduplicationServiceLive).pipe(Layer.provide(Layer.mergeAll(repos, EmbeddingServiceNoop, QueryExpansionServiceNoop, RerankerServiceNoop, retrieverService, AutoSyncServiceNoop)));
|
|
140
|
+
// AnchorVerificationServiceLive needs AnchorRepository from repos
|
|
141
|
+
const anchorVerificationService = AnchorVerificationServiceLive.pipe(Layer.provide(repos));
|
|
142
|
+
// SwarmVerificationServiceLive needs AnchorVerificationService and AnchorRepository
|
|
143
|
+
const swarmVerificationService = SwarmVerificationServiceLive.pipe(Layer.provide(Layer.merge(repos, anchorVerificationService)));
|
|
144
|
+
// PromotionServiceLive needs CandidateRepository, LearningService, and EdgeService
|
|
145
|
+
const promotionService = PromotionServiceLive.pipe(Layer.provide(Layer.mergeAll(repos, services, edgeService)));
|
|
146
|
+
// Merge all services including edgeService, graphExpansionService, anchorVerificationService, swarmVerificationService, promotionService, feedbackTrackerService, retrieverService, and daemon service (noop for minimal layer)
|
|
147
|
+
const allServices = Layer.mergeAll(services, edgeService, graphExpansionService, anchorVerificationService, swarmVerificationService, promotionService, feedbackTrackerService, retrieverService, DaemonServiceNoop);
|
|
148
|
+
// MigrationService only needs SqliteClient
|
|
149
|
+
const migrationService = MigrationServiceLive.pipe(Layer.provide(infra));
|
|
150
|
+
// SyncService for manual exports
|
|
151
|
+
const syncService = SyncServiceLive.pipe(Layer.provide(Layer.mergeAll(infra, repos, TaskServiceLive.pipe(Layer.provide(repos)))));
|
|
152
|
+
// Also expose RunRepository directly for run tracking
|
|
153
|
+
return Layer.mergeAll(allServices, migrationService, syncService, repos);
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.js","sourceRoot":"","sources":["../src/layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
import type { Anchor, AnchorRow, InvalidationLog, InvalidationLogRow } from "@jamesaphoenix/tx-types";
|
|
5
|
+
export type { AnchorRow, InvalidationLogRow } from "@jamesaphoenix/tx-types";
|
|
6
|
+
/**
|
|
7
|
+
* Convert a database row to an Anchor domain object.
|
|
8
|
+
*/
|
|
9
|
+
export declare const rowToAnchor: (row: AnchorRow) => Anchor;
|
|
10
|
+
/**
|
|
11
|
+
* Convert a database row to an InvalidationLog domain object.
|
|
12
|
+
*/
|
|
13
|
+
export declare const rowToInvalidationLog: (row: InvalidationLogRow) => InvalidationLog;
|
|
14
|
+
//# sourceMappingURL=anchor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/mappers/anchor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,MAAM,EAIN,SAAS,EACT,eAAe,EACf,kBAAkB,EAEnB,MAAM,yBAAyB,CAAA;AAGhC,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5E;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,KAAG,MAe3C,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,kBAAkB,KAAG,eAW7D,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Convert a database row to an Anchor domain object.
|
|
6
|
+
*/
|
|
7
|
+
export const rowToAnchor = (row) => ({
|
|
8
|
+
id: row.id,
|
|
9
|
+
learningId: row.learning_id,
|
|
10
|
+
anchorType: row.anchor_type,
|
|
11
|
+
anchorValue: row.anchor_value,
|
|
12
|
+
filePath: row.file_path,
|
|
13
|
+
symbolFqname: row.symbol_fqname,
|
|
14
|
+
lineStart: row.line_start,
|
|
15
|
+
lineEnd: row.line_end,
|
|
16
|
+
contentHash: row.content_hash,
|
|
17
|
+
contentPreview: row.content_preview,
|
|
18
|
+
status: row.status,
|
|
19
|
+
pinned: row.pinned === 1,
|
|
20
|
+
verifiedAt: row.verified_at ? new Date(row.verified_at) : null,
|
|
21
|
+
createdAt: new Date(row.created_at)
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Convert a database row to an InvalidationLog domain object.
|
|
25
|
+
*/
|
|
26
|
+
export const rowToInvalidationLog = (row) => ({
|
|
27
|
+
id: row.id,
|
|
28
|
+
anchorId: row.anchor_id,
|
|
29
|
+
oldStatus: row.old_status,
|
|
30
|
+
newStatus: row.new_status,
|
|
31
|
+
reason: row.reason,
|
|
32
|
+
detectedBy: row.detected_by,
|
|
33
|
+
oldContentHash: row.old_content_hash,
|
|
34
|
+
newContentHash: row.new_content_hash,
|
|
35
|
+
similarityScore: row.similarity_score,
|
|
36
|
+
invalidatedAt: new Date(row.invalidated_at)
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=anchor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.js","sourceRoot":"","sources":["../../src/mappers/anchor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAc,EAAU,EAAE,CAAC,CAAC;IACtD,EAAE,EAAE,GAAG,CAAC,EAAc;IACtB,UAAU,EAAE,GAAG,CAAC,WAAW;IAC3B,UAAU,EAAE,GAAG,CAAC,WAAyB;IACzC,WAAW,EAAE,GAAG,CAAC,YAAY;IAC7B,QAAQ,EAAE,GAAG,CAAC,SAAS;IACvB,YAAY,EAAE,GAAG,CAAC,aAAa;IAC/B,SAAS,EAAE,GAAG,CAAC,UAAU;IACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;IACrB,WAAW,EAAE,GAAG,CAAC,YAAY;IAC7B,cAAc,EAAE,GAAG,CAAC,eAAe;IACnC,MAAM,EAAE,GAAG,CAAC,MAAsB;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC;IACxB,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;IAC9D,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;CACpC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAuB,EAAmB,EAAE,CAAC,CAAC;IACjF,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,QAAQ,EAAE,GAAG,CAAC,SAAS;IACvB,SAAS,EAAE,GAAG,CAAC,UAA0B;IACzC,SAAS,EAAE,GAAG,CAAC,UAA0B;IACzC,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,UAAU,EAAE,GAAG,CAAC,WAAiC;IACjD,cAAc,EAAE,GAAG,CAAC,gBAAgB;IACpC,cAAc,EAAE,GAAG,CAAC,gBAAgB;IACpC,eAAe,EAAE,GAAG,CAAC,gBAAgB;IACrC,aAAa,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;CAC5C,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Attempt mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
import type { Attempt, AttemptOutcome, AttemptRow } from "@jamesaphoenix/tx-types";
|
|
5
|
+
export type { AttemptRow } from "@jamesaphoenix/tx-types";
|
|
6
|
+
export { ATTEMPT_OUTCOMES } from "@jamesaphoenix/tx-types";
|
|
7
|
+
/**
|
|
8
|
+
* Check if a string is a valid AttemptOutcome.
|
|
9
|
+
*/
|
|
10
|
+
export declare const isValidOutcome: (s: string) => s is AttemptOutcome;
|
|
11
|
+
/**
|
|
12
|
+
* Convert a database row to an Attempt domain object.
|
|
13
|
+
*/
|
|
14
|
+
export declare const rowToAttempt: (row: AttemptRow) => Attempt;
|
|
15
|
+
//# sourceMappingURL=attempt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attempt.d.ts","sourceRoot":"","sources":["../../src/mappers/attempt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EACd,UAAU,EAEX,MAAM,yBAAyB,CAAA;AAGhC,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,cAG/C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,UAAU,KAAG,OAO7C,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Attempt mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
export { ATTEMPT_OUTCOMES } from "@jamesaphoenix/tx-types";
|
|
5
|
+
/**
|
|
6
|
+
* Check if a string is a valid AttemptOutcome.
|
|
7
|
+
*/
|
|
8
|
+
export const isValidOutcome = (s) => {
|
|
9
|
+
const outcomes = ["failed", "succeeded"];
|
|
10
|
+
return outcomes.includes(s);
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Convert a database row to an Attempt domain object.
|
|
14
|
+
*/
|
|
15
|
+
export const rowToAttempt = (row) => ({
|
|
16
|
+
id: row.id,
|
|
17
|
+
taskId: row.task_id,
|
|
18
|
+
approach: row.approach,
|
|
19
|
+
outcome: row.outcome,
|
|
20
|
+
reason: row.reason,
|
|
21
|
+
createdAt: new Date(row.created_at)
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=attempt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attempt.js","sourceRoot":"","sources":["../../src/mappers/attempt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAS,EAAuB,EAAE;IAC/D,MAAM,QAAQ,GAAsB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC3D,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAe,EAAW,EAAE,CAAC,CAAC;IACzD,EAAE,EAAE,GAAG,CAAC,EAAe;IACvB,MAAM,EAAE,GAAG,CAAC,OAAiB;IAC7B,QAAQ,EAAE,GAAG,CAAC,QAAQ;IACtB,OAAO,EAAE,GAAG,CAAC,OAAyB;IACtC,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;CACpC,CAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Candidate mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
import type { LearningCandidate, CandidateRow, CandidateConfidence, CandidateCategory, CandidateStatus } from "@jamesaphoenix/tx-types";
|
|
5
|
+
export type { CandidateRow } from "@jamesaphoenix/tx-types";
|
|
6
|
+
export { CANDIDATE_CONFIDENCES, CANDIDATE_CATEGORIES, CANDIDATE_STATUSES } from "@jamesaphoenix/tx-types";
|
|
7
|
+
/**
|
|
8
|
+
* Check if a string is a valid CandidateConfidence.
|
|
9
|
+
*/
|
|
10
|
+
export declare const isValidConfidence: (s: string) => s is CandidateConfidence;
|
|
11
|
+
/**
|
|
12
|
+
* Check if a string is a valid CandidateStatus.
|
|
13
|
+
*/
|
|
14
|
+
export declare const isValidStatus: (s: string) => s is CandidateStatus;
|
|
15
|
+
/**
|
|
16
|
+
* Check if a string is a valid CandidateCategory.
|
|
17
|
+
*/
|
|
18
|
+
export declare const isValidCategory: (s: string) => s is CandidateCategory;
|
|
19
|
+
/**
|
|
20
|
+
* Convert a database row to a LearningCandidate domain object.
|
|
21
|
+
*/
|
|
22
|
+
export declare const rowToCandidate: (row: CandidateRow) => LearningCandidate;
|
|
23
|
+
//# sourceMappingURL=candidate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidate.d.ts","sourceRoot":"","sources":["../../src/mappers/candidate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAGhC,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,yBAAyB,CAAA;AAEhC;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,mBAGlD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,eAG9C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,iBAYhD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,YAAY,KAAG,iBAcjD,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Candidate mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
export { CANDIDATE_CONFIDENCES, CANDIDATE_CATEGORIES, CANDIDATE_STATUSES } from "@jamesaphoenix/tx-types";
|
|
5
|
+
/**
|
|
6
|
+
* Check if a string is a valid CandidateConfidence.
|
|
7
|
+
*/
|
|
8
|
+
export const isValidConfidence = (s) => {
|
|
9
|
+
const confidences = ["high", "medium", "low"];
|
|
10
|
+
return confidences.includes(s);
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Check if a string is a valid CandidateStatus.
|
|
14
|
+
*/
|
|
15
|
+
export const isValidStatus = (s) => {
|
|
16
|
+
const statuses = ["pending", "promoted", "rejected", "merged"];
|
|
17
|
+
return statuses.includes(s);
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Check if a string is a valid CandidateCategory.
|
|
21
|
+
*/
|
|
22
|
+
export const isValidCategory = (s) => {
|
|
23
|
+
const categories = [
|
|
24
|
+
"architecture",
|
|
25
|
+
"testing",
|
|
26
|
+
"performance",
|
|
27
|
+
"security",
|
|
28
|
+
"debugging",
|
|
29
|
+
"tooling",
|
|
30
|
+
"patterns",
|
|
31
|
+
"other"
|
|
32
|
+
];
|
|
33
|
+
return categories.includes(s);
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Convert a database row to a LearningCandidate domain object.
|
|
37
|
+
*/
|
|
38
|
+
export const rowToCandidate = (row) => ({
|
|
39
|
+
id: row.id,
|
|
40
|
+
content: row.content,
|
|
41
|
+
confidence: row.confidence,
|
|
42
|
+
category: row.category,
|
|
43
|
+
sourceFile: row.source_file,
|
|
44
|
+
sourceRunId: row.source_run_id,
|
|
45
|
+
sourceTaskId: row.source_task_id,
|
|
46
|
+
extractedAt: new Date(row.extracted_at),
|
|
47
|
+
status: row.status,
|
|
48
|
+
reviewedAt: row.reviewed_at ? new Date(row.reviewed_at) : null,
|
|
49
|
+
reviewedBy: row.reviewed_by,
|
|
50
|
+
promotedLearningId: row.promoted_learning_id,
|
|
51
|
+
rejectionReason: row.rejection_reason
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=candidate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../src/mappers/candidate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,yBAAyB,CAAA;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAA4B,EAAE;IACvE,MAAM,WAAW,GAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IAChE,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAwB,EAAE;IAC/D,MAAM,QAAQ,GAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IACjF,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAS,EAA0B,EAAE;IACnE,MAAM,UAAU,GAAsB;QACpC,cAAc;QACd,SAAS;QACT,aAAa;QACb,UAAU;QACV,WAAW;QACX,SAAS;QACT,UAAU;QACV,OAAO;KACR,CAAA;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAiB,EAAqB,EAAE,CAAC,CAAC;IACvE,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,OAAO,EAAE,GAAG,CAAC,OAAO;IACpB,UAAU,EAAE,GAAG,CAAC,UAAiC;IACjD,QAAQ,EAAE,GAAG,CAAC,QAAoC;IAClD,UAAU,EAAE,GAAG,CAAC,WAAW;IAC3B,WAAW,EAAE,GAAG,CAAC,aAAa;IAC9B,YAAY,EAAE,GAAG,CAAC,cAAc;IAChC,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IACvC,MAAM,EAAE,GAAG,CAAC,MAAyB;IACrC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;IAC9D,UAAU,EAAE,GAAG,CAAC,WAAW;IAC3B,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;IAC5C,eAAe,EAAE,GAAG,CAAC,gBAAgB;CACtC,CAAC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claim mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
import type { TaskClaim, ClaimStatus } from "../schemas/worker.js";
|
|
5
|
+
/**
|
|
6
|
+
* Database row type for task_claims table.
|
|
7
|
+
*/
|
|
8
|
+
export interface ClaimRow {
|
|
9
|
+
id: number;
|
|
10
|
+
task_id: string;
|
|
11
|
+
worker_id: string;
|
|
12
|
+
claimed_at: string;
|
|
13
|
+
lease_expires_at: string;
|
|
14
|
+
renewed_count: number;
|
|
15
|
+
status: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Valid claim statuses.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CLAIM_STATUSES: readonly ["active", "released", "expired", "completed"];
|
|
21
|
+
/**
|
|
22
|
+
* Check if a string is a valid ClaimStatus.
|
|
23
|
+
*/
|
|
24
|
+
export declare const isValidClaimStatus: (s: string) => s is ClaimStatus;
|
|
25
|
+
/**
|
|
26
|
+
* Convert a database row to a TaskClaim domain object.
|
|
27
|
+
* Throws if status is invalid.
|
|
28
|
+
*/
|
|
29
|
+
export declare const rowToClaim: (row: ClaimRow) => TaskClaim;
|
|
30
|
+
//# sourceMappingURL=claim.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../src/mappers/claim.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,yDAA0D,CAAA;AAErF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,WAEnD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,QAAQ,KAAG,SAa1C,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claim mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Valid claim statuses.
|
|
6
|
+
*/
|
|
7
|
+
export const CLAIM_STATUSES = ["active", "released", "expired", "completed"];
|
|
8
|
+
/**
|
|
9
|
+
* Check if a string is a valid ClaimStatus.
|
|
10
|
+
*/
|
|
11
|
+
export const isValidClaimStatus = (s) => {
|
|
12
|
+
return CLAIM_STATUSES.includes(s);
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Convert a database row to a TaskClaim domain object.
|
|
16
|
+
* Throws if status is invalid.
|
|
17
|
+
*/
|
|
18
|
+
export const rowToClaim = (row) => {
|
|
19
|
+
if (!isValidClaimStatus(row.status)) {
|
|
20
|
+
throw new Error(`Invalid claim status: ${row.status}`);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
id: row.id,
|
|
24
|
+
taskId: row.task_id,
|
|
25
|
+
workerId: row.worker_id,
|
|
26
|
+
claimedAt: new Date(row.claimed_at),
|
|
27
|
+
leaseExpiresAt: new Date(row.lease_expires_at),
|
|
28
|
+
renewedCount: row.renewed_count,
|
|
29
|
+
status: row.status
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=claim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/mappers/claim.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAU,CAAA;AAErF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAoB,EAAE;IAChE,OAAQ,cAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAa,EAAa,EAAE;IACrD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACnC,cAAc,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC9C,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deduplication mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
import type { ProcessedHash, ProcessedHashRow, FileProgress, FileProgressRow } from "@jamesaphoenix/tx-types";
|
|
5
|
+
/**
|
|
6
|
+
* Compute SHA256 hash of content.
|
|
7
|
+
*/
|
|
8
|
+
export declare const hashContent: (content: string) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Convert a database row to a ProcessedHash domain object.
|
|
11
|
+
*/
|
|
12
|
+
export declare const rowToProcessedHash: (row: ProcessedHashRow) => ProcessedHash;
|
|
13
|
+
/**
|
|
14
|
+
* Serialize ProcessedHash for JSON output.
|
|
15
|
+
*/
|
|
16
|
+
export declare const serializeProcessedHash: (hash: ProcessedHash) => {
|
|
17
|
+
id: number;
|
|
18
|
+
contentHash: string;
|
|
19
|
+
sourceFile: string;
|
|
20
|
+
sourceLine: number;
|
|
21
|
+
processedAt: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Convert a database row to a FileProgress domain object.
|
|
25
|
+
*/
|
|
26
|
+
export declare const rowToFileProgress: (row: FileProgressRow) => FileProgress;
|
|
27
|
+
/**
|
|
28
|
+
* Serialize FileProgress for JSON output.
|
|
29
|
+
*/
|
|
30
|
+
export declare const serializeFileProgress: (progress: FileProgress) => {
|
|
31
|
+
id: number;
|
|
32
|
+
filePath: string;
|
|
33
|
+
lastLineProcessed: number;
|
|
34
|
+
lastByteOffset: number;
|
|
35
|
+
fileSize: number | null;
|
|
36
|
+
fileChecksum: string | null;
|
|
37
|
+
lastProcessedAt: string;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=deduplication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduplication.d.ts","sourceRoot":"","sources":["../../src/mappers/deduplication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAEhC;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,MACM,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,gBAAgB,KAAG,aAMzD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,aAAa;;;;;;CAMxD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,eAAe,KAAG,YAQvD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,YAAY;;;;;;;;CAQ1D,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deduplication mappers - convert database rows to domain objects
|
|
3
|
+
*/
|
|
4
|
+
import { createHash } from "crypto";
|
|
5
|
+
/**
|
|
6
|
+
* Compute SHA256 hash of content.
|
|
7
|
+
*/
|
|
8
|
+
export const hashContent = (content) => createHash("sha256").update(content).digest("hex");
|
|
9
|
+
/**
|
|
10
|
+
* Convert a database row to a ProcessedHash domain object.
|
|
11
|
+
*/
|
|
12
|
+
export const rowToProcessedHash = (row) => ({
|
|
13
|
+
id: row.id,
|
|
14
|
+
contentHash: row.content_hash,
|
|
15
|
+
sourceFile: row.source_file,
|
|
16
|
+
sourceLine: row.source_line,
|
|
17
|
+
processedAt: new Date(row.processed_at)
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Serialize ProcessedHash for JSON output.
|
|
21
|
+
*/
|
|
22
|
+
export const serializeProcessedHash = (hash) => ({
|
|
23
|
+
id: hash.id,
|
|
24
|
+
contentHash: hash.contentHash,
|
|
25
|
+
sourceFile: hash.sourceFile,
|
|
26
|
+
sourceLine: hash.sourceLine,
|
|
27
|
+
processedAt: hash.processedAt.toISOString()
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Convert a database row to a FileProgress domain object.
|
|
31
|
+
*/
|
|
32
|
+
export const rowToFileProgress = (row) => ({
|
|
33
|
+
id: row.id,
|
|
34
|
+
filePath: row.file_path,
|
|
35
|
+
lastLineProcessed: row.last_line_processed,
|
|
36
|
+
lastByteOffset: row.last_byte_offset,
|
|
37
|
+
fileSize: row.file_size,
|
|
38
|
+
fileChecksum: row.file_checksum,
|
|
39
|
+
lastProcessedAt: new Date(row.last_processed_at)
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Serialize FileProgress for JSON output.
|
|
43
|
+
*/
|
|
44
|
+
export const serializeFileProgress = (progress) => ({
|
|
45
|
+
id: progress.id,
|
|
46
|
+
filePath: progress.filePath,
|
|
47
|
+
lastLineProcessed: progress.lastLineProcessed,
|
|
48
|
+
lastByteOffset: progress.lastByteOffset,
|
|
49
|
+
fileSize: progress.fileSize,
|
|
50
|
+
fileChecksum: progress.fileChecksum,
|
|
51
|
+
lastProcessedAt: progress.lastProcessedAt.toISOString()
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=deduplication.js.map
|