@jamesaphoenix/tx-core 0.8.1 → 0.9.2
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 +6 -6
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +29 -2
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/cycle-scan-service-impl.d.ts +28 -0
- package/dist/internal/cycle-scan-service-impl.d.ts.map +1 -0
- package/dist/internal/cycle-scan-service-impl.js +877 -0
- package/dist/internal/cycle-scan-service-impl.js.map +1 -0
- package/dist/internal/doc-service-impl.d.ts +42 -0
- package/dist/internal/doc-service-impl.d.ts.map +1 -0
- package/dist/internal/doc-service-impl.js +812 -0
- package/dist/internal/doc-service-impl.js.map +1 -0
- package/dist/internal/embedding-service-impl.d.ts +202 -0
- package/dist/internal/embedding-service-impl.d.ts.map +1 -0
- package/dist/internal/embedding-service-impl.js +466 -0
- package/dist/internal/embedding-service-impl.js.map +1 -0
- package/dist/internal/memory-service-impl.d.ts +49 -0
- package/dist/internal/memory-service-impl.d.ts.map +1 -0
- package/dist/internal/memory-service-impl.js +1061 -0
- package/dist/internal/memory-service-impl.js.map +1 -0
- package/dist/internal/spec-trace-service-impl.d.ts +50 -0
- package/dist/internal/spec-trace-service-impl.d.ts.map +1 -0
- package/dist/internal/spec-trace-service-impl.js +707 -0
- package/dist/internal/spec-trace-service-impl.js.map +1 -0
- package/dist/internal/sync/service-impl.d.ts +41 -0
- package/dist/internal/sync/service-impl.d.ts.map +1 -0
- package/dist/{services/sync-service.js → internal/sync/service-impl.js} +954 -499
- package/dist/internal/sync/service-impl.js.map +1 -0
- package/dist/layer.d.ts +8 -5
- package/dist/layer.d.ts.map +1 -1
- package/dist/layer.js +22 -10
- package/dist/layer.js.map +1 -1
- package/dist/mappers/anchor.d.ts.map +1 -1
- package/dist/mappers/anchor.js +5 -4
- package/dist/mappers/anchor.js.map +1 -1
- package/dist/mappers/attempt.d.ts.map +1 -1
- package/dist/mappers/attempt.js +2 -1
- package/dist/mappers/attempt.js.map +1 -1
- package/dist/mappers/candidate.d.ts.map +1 -1
- package/dist/mappers/candidate.js +2 -1
- package/dist/mappers/candidate.js.map +1 -1
- package/dist/mappers/claim.d.ts.map +1 -1
- package/dist/mappers/claim.js +2 -1
- package/dist/mappers/claim.js.map +1 -1
- package/dist/mappers/doc.d.ts.map +1 -1
- package/dist/mappers/doc.js +9 -8
- package/dist/mappers/doc.js.map +1 -1
- package/dist/mappers/edge.d.ts.map +1 -1
- package/dist/mappers/edge.js +4 -3
- package/dist/mappers/edge.js.map +1 -1
- package/dist/mappers/file-learning.d.ts.map +1 -1
- package/dist/mappers/file-learning.js +2 -1
- package/dist/mappers/file-learning.js.map +1 -1
- package/dist/mappers/index.d.ts +1 -0
- package/dist/mappers/index.d.ts.map +1 -1
- package/dist/mappers/index.js +2 -0
- package/dist/mappers/index.js.map +1 -1
- package/dist/mappers/learning.d.ts.map +1 -1
- package/dist/mappers/learning.js +4 -3
- package/dist/mappers/learning.js.map +1 -1
- package/dist/mappers/memory.d.ts.map +1 -1
- package/dist/mappers/memory.js +7 -6
- package/dist/mappers/memory.js.map +1 -1
- package/dist/mappers/orchestrator-state.d.ts.map +1 -1
- package/dist/mappers/orchestrator-state.js +2 -1
- package/dist/mappers/orchestrator-state.js.map +1 -1
- package/dist/mappers/pin.d.ts.map +1 -1
- package/dist/mappers/pin.js +2 -1
- package/dist/mappers/pin.js.map +1 -1
- package/dist/mappers/run.d.ts.map +1 -1
- package/dist/mappers/run.js +4 -3
- package/dist/mappers/run.js.map +1 -1
- package/dist/mappers/spec-trace.d.ts +11 -0
- package/dist/mappers/spec-trace.d.ts.map +1 -0
- package/dist/mappers/spec-trace.js +59 -0
- package/dist/mappers/spec-trace.js.map +1 -0
- package/dist/mappers/task.d.ts.map +1 -1
- package/dist/mappers/task.js +4 -4
- package/dist/mappers/task.js.map +1 -1
- package/dist/mappers/worker.d.ts.map +1 -1
- package/dist/mappers/worker.js +2 -1
- package/dist/mappers/worker.js.map +1 -1
- package/dist/migrations-embedded.d.ts.map +1 -1
- package/dist/migrations-embedded.js +15 -0
- package/dist/migrations-embedded.js.map +1 -1
- package/dist/repo/anchor-repo.d.ts +2 -2
- package/dist/repo/anchor-repo.d.ts.map +1 -1
- package/dist/repo/anchor-repo.js +18 -17
- package/dist/repo/anchor-repo.js.map +1 -1
- package/dist/repo/attempt-repo.d.ts.map +1 -1
- package/dist/repo/attempt-repo.js +11 -10
- package/dist/repo/attempt-repo.js.map +1 -1
- package/dist/repo/candidate-repo.d.ts.map +1 -1
- package/dist/repo/candidate-repo.js +8 -7
- package/dist/repo/candidate-repo.js.map +1 -1
- package/dist/repo/claim-repo.d.ts +4 -4
- package/dist/repo/claim-repo.d.ts.map +1 -1
- package/dist/repo/claim-repo.js +14 -13
- package/dist/repo/claim-repo.js.map +1 -1
- package/dist/repo/compaction-repo.d.ts +4 -4
- package/dist/repo/compaction-repo.d.ts.map +1 -1
- package/dist/repo/compaction-repo.js +7 -6
- package/dist/repo/compaction-repo.js.map +1 -1
- package/dist/repo/deduplication-repo.d.ts.map +1 -1
- package/dist/repo/deduplication-repo.js +80 -57
- package/dist/repo/deduplication-repo.js.map +1 -1
- package/dist/repo/dep-repo.d.ts.map +1 -1
- package/dist/repo/dep-repo.js +90 -88
- package/dist/repo/dep-repo.js.map +1 -1
- package/dist/repo/doc-repo.d.ts +2 -63
- package/dist/repo/doc-repo.d.ts.map +1 -1
- package/dist/repo/doc-repo.js +6 -4
- package/dist/repo/doc-repo.js.map +1 -1
- package/dist/repo/doc-repo.types.d.ts +64 -0
- package/dist/repo/doc-repo.types.d.ts.map +1 -0
- package/dist/repo/doc-repo.types.js +2 -0
- package/dist/repo/doc-repo.types.js.map +1 -0
- package/dist/repo/edge-repo.d.ts.map +1 -1
- package/dist/repo/edge-repo.js +91 -81
- package/dist/repo/edge-repo.js.map +1 -1
- package/dist/repo/file-learning-repo.d.ts.map +1 -1
- package/dist/repo/file-learning-repo.js +7 -6
- package/dist/repo/file-learning-repo.js.map +1 -1
- package/dist/repo/guard-repo.d.ts +4 -4
- package/dist/repo/guard-repo.d.ts.map +1 -1
- package/dist/repo/guard-repo.js +8 -7
- package/dist/repo/guard-repo.js.map +1 -1
- package/dist/repo/index.d.ts +1 -0
- package/dist/repo/index.d.ts.map +1 -1
- package/dist/repo/index.js +1 -0
- package/dist/repo/index.js.map +1 -1
- package/dist/repo/label-repo.d.ts +4 -4
- package/dist/repo/label-repo.d.ts.map +1 -1
- package/dist/repo/label-repo.js +9 -8
- package/dist/repo/label-repo.js.map +1 -1
- package/dist/repo/learning-repo.d.ts +2 -2
- package/dist/repo/learning-repo.d.ts.map +1 -1
- package/dist/repo/learning-repo.js +37 -31
- package/dist/repo/learning-repo.js.map +1 -1
- package/dist/repo/memory-repo/document.d.ts +4 -0
- package/dist/repo/memory-repo/document.d.ts.map +1 -0
- package/dist/repo/memory-repo/document.js +205 -0
- package/dist/repo/memory-repo/document.js.map +1 -0
- package/dist/repo/memory-repo/link.d.ts +4 -0
- package/dist/repo/memory-repo/link.d.ts.map +1 -0
- package/dist/repo/memory-repo/link.js +124 -0
- package/dist/repo/memory-repo/link.js.map +1 -0
- package/dist/repo/memory-repo/property.d.ts +4 -0
- package/dist/repo/memory-repo/property.d.ts.map +1 -0
- package/dist/repo/memory-repo/property.js +56 -0
- package/dist/repo/memory-repo/property.js.map +1 -0
- package/dist/repo/memory-repo/shared.d.ts +28 -0
- package/dist/repo/memory-repo/shared.d.ts.map +1 -0
- package/dist/repo/memory-repo/shared.js +63 -0
- package/dist/repo/memory-repo/shared.js.map +1 -0
- package/dist/repo/memory-repo/source.d.ts +4 -0
- package/dist/repo/memory-repo/source.d.ts.map +1 -0
- package/dist/repo/memory-repo/source.js +58 -0
- package/dist/repo/memory-repo/source.js.map +1 -0
- package/dist/repo/memory-repo.d.ts +14 -10
- package/dist/repo/memory-repo.d.ts.map +1 -1
- package/dist/repo/memory-repo.js +8 -527
- package/dist/repo/memory-repo.js.map +1 -1
- package/dist/repo/message-repo.d.ts.map +1 -1
- package/dist/repo/message-repo.js +9 -8
- package/dist/repo/message-repo.js.map +1 -1
- package/dist/repo/orchestrator-state-repo.d.ts.map +1 -1
- package/dist/repo/orchestrator-state-repo.js +2 -1
- package/dist/repo/orchestrator-state-repo.js.map +1 -1
- package/dist/repo/pin-repo.d.ts.map +1 -1
- package/dist/repo/pin-repo.js +5 -4
- package/dist/repo/pin-repo.js.map +1 -1
- package/dist/repo/run-repo.d.ts.map +1 -1
- package/dist/repo/run-repo.js +11 -10
- package/dist/repo/run-repo.js.map +1 -1
- package/dist/repo/spec-trace-repo.d.ts +9 -0
- package/dist/repo/spec-trace-repo.d.ts.map +1 -0
- package/dist/repo/spec-trace-repo.filter.d.ts +3 -0
- package/dist/repo/spec-trace-repo.filter.d.ts.map +1 -0
- package/dist/repo/spec-trace-repo.filter.js +13 -0
- package/dist/repo/spec-trace-repo.filter.js.map +1 -0
- package/dist/repo/spec-trace-repo.js +323 -0
- package/dist/repo/spec-trace-repo.js.map +1 -0
- package/dist/repo/spec-trace-repo.types.d.ts +60 -0
- package/dist/repo/spec-trace-repo.types.d.ts.map +1 -0
- package/dist/repo/spec-trace-repo.types.js +2 -0
- package/dist/repo/spec-trace-repo.types.js.map +1 -0
- package/dist/repo/task-repo/factory.d.ts +4 -0
- package/dist/repo/task-repo/factory.d.ts.map +1 -0
- package/dist/repo/task-repo/factory.js +7 -0
- package/dist/repo/task-repo/factory.js.map +1 -0
- package/dist/repo/task-repo/read.d.ts +6 -0
- package/dist/repo/task-repo/read.d.ts.map +1 -0
- package/dist/repo/task-repo/read.js +332 -0
- package/dist/repo/task-repo/read.js.map +1 -0
- package/dist/repo/task-repo/shared.d.ts +10 -0
- package/dist/repo/task-repo/shared.d.ts.map +1 -0
- package/dist/repo/task-repo/shared.js +29 -0
- package/dist/repo/task-repo/shared.js.map +1 -0
- package/dist/repo/task-repo/write.d.ts +6 -0
- package/dist/repo/task-repo/write.d.ts.map +1 -0
- package/dist/repo/task-repo/write.js +182 -0
- package/dist/repo/task-repo/write.js.map +1 -0
- package/dist/repo/task-repo.d.ts +5 -4
- package/dist/repo/task-repo.d.ts.map +1 -1
- package/dist/repo/task-repo.js +2 -520
- package/dist/repo/task-repo.js.map +1 -1
- package/dist/repo/tracked-project-repo.d.ts.map +1 -1
- package/dist/repo/tracked-project-repo.js +6 -5
- package/dist/repo/tracked-project-repo.js.map +1 -1
- package/dist/repo/worker-repo.d.ts.map +1 -1
- package/dist/repo/worker-repo.js +60 -47
- package/dist/repo/worker-repo.js.map +1 -1
- package/dist/schemas/index.d.ts +4 -2
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/sync-events.d.ts +25 -0
- package/dist/schemas/sync-events.d.ts.map +1 -0
- package/dist/schemas/sync-events.js +23 -0
- package/dist/schemas/sync-events.js.map +1 -0
- package/dist/schemas/sync.d.ts +20 -10
- package/dist/schemas/sync.d.ts.map +1 -1
- package/dist/schemas/sync.js +10 -4
- package/dist/schemas/sync.js.map +1 -1
- package/dist/services/agent-service.d.ts +4 -4
- package/dist/services/agent-service.d.ts.map +1 -1
- package/dist/services/agent-service.js.map +1 -1
- package/dist/services/anchor/anchor-service-core-ops.d.ts +125 -0
- package/dist/services/anchor/anchor-service-core-ops.d.ts.map +1 -0
- package/dist/services/anchor/anchor-service-core-ops.js +41 -0
- package/dist/services/anchor/anchor-service-core-ops.js.map +1 -0
- package/dist/services/anchor/anchor-service-deps.d.ts +10 -0
- package/dist/services/anchor/anchor-service-deps.d.ts.map +1 -0
- package/dist/services/anchor/anchor-service-deps.js +2 -0
- package/dist/services/anchor/anchor-service-deps.js.map +1 -0
- package/dist/services/anchor/anchor-service-ops.d.ts +296 -0
- package/dist/services/anchor/anchor-service-ops.d.ts.map +1 -0
- package/dist/services/anchor/anchor-service-ops.js +9 -0
- package/dist/services/anchor/anchor-service-ops.js.map +1 -0
- package/dist/services/anchor/anchor-service-state-ops.d.ts +116 -0
- package/dist/services/anchor/anchor-service-state-ops.d.ts.map +1 -0
- package/dist/services/anchor/anchor-service-state-ops.js +150 -0
- package/dist/services/anchor/anchor-service-state-ops.js.map +1 -0
- package/dist/services/anchor/anchor-service-validation.d.ts +7 -0
- package/dist/services/anchor/anchor-service-validation.d.ts.map +1 -0
- package/dist/services/anchor/anchor-service-validation.js +114 -0
- package/dist/services/anchor/anchor-service-validation.js.map +1 -0
- package/dist/services/anchor/anchor-service-verification-ops.d.ts +71 -0
- package/dist/services/anchor/anchor-service-verification-ops.d.ts.map +1 -0
- package/dist/services/anchor/anchor-service-verification-ops.js +169 -0
- package/dist/services/anchor/anchor-service-verification-ops.js.map +1 -0
- package/dist/services/anchor/anchor-verification-batch.d.ts +12 -0
- package/dist/services/anchor/anchor-verification-batch.d.ts.map +1 -0
- package/dist/services/anchor/anchor-verification-batch.js +109 -0
- package/dist/services/anchor/anchor-verification-batch.js.map +1 -0
- package/dist/services/anchor/anchor-verification-single.d.ts +7 -0
- package/dist/services/anchor/anchor-verification-single.d.ts.map +1 -0
- package/dist/services/anchor/anchor-verification-single.js +407 -0
- package/dist/services/anchor/anchor-verification-single.js.map +1 -0
- package/dist/services/anchor/anchor-verification-utils.d.ts +19 -0
- package/dist/services/anchor/anchor-verification-utils.d.ts.map +1 -0
- package/dist/services/anchor/anchor-verification-utils.js +107 -0
- package/dist/services/anchor/anchor-verification-utils.js.map +1 -0
- package/dist/services/anchor-service.d.ts +12 -90
- package/dist/services/anchor-service.d.ts.map +1 -1
- package/dist/services/anchor-service.js +5 -530
- package/dist/services/anchor-service.js.map +1 -1
- package/dist/services/anchor-verification.d.ts +9 -60
- package/dist/services/anchor-verification.d.ts.map +1 -1
- package/dist/services/anchor-verification.js +5 -796
- package/dist/services/anchor-verification.js.map +1 -1
- package/dist/services/ast-grep-service/patterns.d.ts +90 -0
- package/dist/services/ast-grep-service/patterns.d.ts.map +1 -0
- package/dist/services/ast-grep-service/patterns.js +261 -0
- package/dist/services/ast-grep-service/patterns.js.map +1 -0
- package/dist/services/ast-grep-service.d.ts +2 -13
- package/dist/services/ast-grep-service.d.ts.map +1 -1
- package/dist/services/ast-grep-service.js +3 -261
- package/dist/services/ast-grep-service.js.map +1 -1
- package/dist/services/auto-sync-service.d.ts +3 -3
- package/dist/services/auto-sync-service.d.ts.map +1 -1
- package/dist/services/auto-sync-service.js +12 -13
- package/dist/services/auto-sync-service.js.map +1 -1
- package/dist/services/compaction-service.d.ts +6 -6
- package/dist/services/compaction-service.d.ts.map +1 -1
- package/dist/services/compaction-service.js +11 -7
- package/dist/services/compaction-service.js.map +1 -1
- package/dist/services/cycle-scan-service.d.ts +1 -27
- package/dist/services/cycle-scan-service.d.ts.map +1 -1
- package/dist/services/cycle-scan-service.js +1 -876
- package/dist/services/cycle-scan-service.js.map +1 -1
- package/dist/services/daemon-service/process.d.ts +93 -0
- package/dist/services/daemon-service/process.d.ts.map +1 -0
- package/dist/services/daemon-service/process.js +325 -0
- package/dist/services/daemon-service/process.js.map +1 -0
- package/dist/services/daemon-service/templates.d.ts +88 -0
- package/dist/services/daemon-service/templates.d.ts.map +1 -0
- package/dist/services/daemon-service/templates.js +119 -0
- package/dist/services/daemon-service/templates.js.map +1 -0
- package/dist/services/daemon-service.d.ts +8 -160
- package/dist/services/daemon-service.d.ts.map +1 -1
- package/dist/services/daemon-service.js +4 -440
- package/dist/services/daemon-service.js.map +1 -1
- package/dist/services/doc-service.d.ts +1 -41
- package/dist/services/doc-service.d.ts.map +1 -1
- package/dist/services/doc-service.js +1 -780
- package/dist/services/doc-service.js.map +1 -1
- package/dist/services/edge-service.d.ts +6 -6
- package/dist/services/edge-service.d.ts.map +1 -1
- package/dist/services/edge-service.js.map +1 -1
- package/dist/services/embedding-service.d.ts +1 -201
- package/dist/services/embedding-service.d.ts.map +1 -1
- package/dist/services/embedding-service.js +1 -465
- package/dist/services/embedding-service.js.map +1 -1
- package/dist/services/feedback-tracker.d.ts +2 -2
- package/dist/services/feedback-tracker.d.ts.map +1 -1
- package/dist/services/feedback-tracker.js.map +1 -1
- package/dist/services/file-watcher-service/shared.d.ts +76 -0
- package/dist/services/file-watcher-service/shared.d.ts.map +1 -0
- package/dist/services/file-watcher-service/shared.js +43 -0
- package/dist/services/file-watcher-service/shared.js.map +1 -0
- package/dist/services/file-watcher-service.d.ts +2 -42
- package/dist/services/file-watcher-service.d.ts.map +1 -1
- package/dist/services/file-watcher-service.js +1 -46
- package/dist/services/file-watcher-service.js.map +1 -1
- package/dist/services/graph-expansion/from-files.d.ts +14 -0
- package/dist/services/graph-expansion/from-files.d.ts.map +1 -0
- package/dist/services/graph-expansion/from-files.js +187 -0
- package/dist/services/graph-expansion/from-files.js.map +1 -0
- package/dist/services/graph-expansion/live.d.ts +11 -0
- package/dist/services/graph-expansion/live.d.ts.map +1 -0
- package/dist/services/graph-expansion/live.js +263 -0
- package/dist/services/graph-expansion/live.js.map +1 -0
- package/dist/services/graph-expansion.d.ts +17 -20
- package/dist/services/graph-expansion.d.ts.map +1 -1
- package/dist/services/graph-expansion.js +2 -439
- package/dist/services/graph-expansion.js.map +1 -1
- package/dist/services/guard-service.d.ts +2 -2
- package/dist/services/guard-service.d.ts.map +1 -1
- package/dist/services/guard-service.js.map +1 -1
- package/dist/services/index.d.ts +3 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/learning-service.d.ts +4 -4
- package/dist/services/learning-service.d.ts.map +1 -1
- package/dist/services/learning-service.js.map +1 -1
- package/dist/services/llm-service.d.ts +4 -4
- package/dist/services/llm-service.d.ts.map +1 -1
- package/dist/services/llm-service.js.map +1 -1
- package/dist/services/memory-retriever-service.d.ts.map +1 -1
- package/dist/services/memory-retriever-service.js.map +1 -1
- package/dist/services/memory-service.d.ts +1 -48
- package/dist/services/memory-service.d.ts.map +1 -1
- package/dist/services/memory-service.js +1 -1060
- package/dist/services/memory-service.js.map +1 -1
- package/dist/services/migration-service.d.ts +6 -6
- package/dist/services/migration-service.d.ts.map +1 -1
- package/dist/services/migration-service.js +6 -2
- package/dist/services/migration-service.js.map +1 -1
- package/dist/services/orchestrator-service.d.ts +2 -2
- package/dist/services/orchestrator-service.d.ts.map +1 -1
- package/dist/services/orchestrator-service.js.map +1 -1
- package/dist/services/pin-service.d.ts.map +1 -1
- package/dist/services/pin-service.js +21 -28
- package/dist/services/pin-service.js.map +1 -1
- package/dist/services/promotion-service.d.ts +4 -4
- package/dist/services/promotion-service.d.ts.map +1 -1
- package/dist/services/promotion-service.js.map +1 -1
- package/dist/services/query-expansion-service.d.ts +2 -2
- package/dist/services/query-expansion-service.d.ts.map +1 -1
- package/dist/services/query-expansion-service.js.map +1 -1
- package/dist/services/reflect-service.d.ts +6 -6
- package/dist/services/reflect-service.d.ts.map +1 -1
- package/dist/services/reflect-service.js.map +1 -1
- package/dist/services/reranker-service.d.ts +2 -2
- package/dist/services/reranker-service.d.ts.map +1 -1
- package/dist/services/reranker-service.js.map +1 -1
- package/dist/services/retriever-scoring.d.ts +52 -0
- package/dist/services/retriever-scoring.d.ts.map +1 -0
- package/dist/services/retriever-scoring.js +146 -0
- package/dist/services/retriever-scoring.js.map +1 -0
- package/dist/services/retriever-service.d.ts.map +1 -1
- package/dist/services/retriever-service.js +1 -191
- package/dist/services/retriever-service.js.map +1 -1
- package/dist/services/run-heartbeat-service.d.ts +10 -10
- package/dist/services/run-heartbeat-service.d.ts.map +1 -1
- package/dist/services/run-heartbeat-service.js.map +1 -1
- package/dist/services/score-service.d.ts +2 -2
- package/dist/services/score-service.d.ts.map +1 -1
- package/dist/services/score-service.js.map +1 -1
- package/dist/services/spec-trace-service.d.ts +2 -0
- package/dist/services/spec-trace-service.d.ts.map +1 -0
- package/dist/services/spec-trace-service.js +2 -0
- package/dist/services/spec-trace-service.js.map +1 -0
- package/dist/services/stream-service.d.ts +31 -0
- package/dist/services/stream-service.d.ts.map +1 -0
- package/dist/services/stream-service.js +162 -0
- package/dist/services/stream-service.js.map +1 -0
- package/dist/services/swarm-verification/shared.d.ts +71 -0
- package/dist/services/swarm-verification/shared.d.ts.map +1 -0
- package/dist/services/swarm-verification/shared.js +108 -0
- package/dist/services/swarm-verification/shared.js.map +1 -0
- package/dist/services/swarm-verification.d.ts +4 -68
- package/dist/services/swarm-verification.d.ts.map +1 -1
- package/dist/services/swarm-verification.js +2 -122
- package/dist/services/swarm-verification.js.map +1 -1
- package/dist/services/sync/converters.d.ts +63 -0
- package/dist/services/sync/converters.d.ts.map +1 -0
- package/dist/services/sync/converters.js +253 -0
- package/dist/services/sync/converters.js.map +1 -0
- package/dist/services/sync/entity-export.d.ts +22 -0
- package/dist/services/sync/entity-export.d.ts.map +1 -0
- package/dist/services/sync/entity-export.js +15 -0
- package/dist/services/sync/entity-export.js.map +1 -0
- package/dist/services/sync/entity-import.d.ts +22 -0
- package/dist/services/sync/entity-import.d.ts.map +1 -0
- package/dist/services/sync/entity-import.js +15 -0
- package/dist/services/sync/entity-import.js.map +1 -0
- package/dist/services/sync/file-utils.d.ts +23 -0
- package/dist/services/sync/file-utils.d.ts.map +1 -0
- package/dist/services/sync/file-utils.js +97 -0
- package/dist/services/sync/file-utils.js.map +1 -0
- package/dist/services/sync/index.d.ts +3 -0
- package/dist/services/sync/index.d.ts.map +1 -0
- package/dist/services/sync/index.js +2 -0
- package/dist/services/sync/index.js.map +1 -0
- package/dist/services/sync/service.d.ts +2 -0
- package/dist/services/sync/service.d.ts.map +1 -0
- package/dist/services/sync/service.js +2 -0
- package/dist/services/sync/service.js.map +1 -0
- package/dist/services/sync/sync-helpers.d.ts +54 -0
- package/dist/services/sync/sync-helpers.d.ts.map +1 -0
- package/dist/services/sync/sync-helpers.js +245 -0
- package/dist/services/sync/sync-helpers.js.map +1 -0
- package/dist/services/sync/types.d.ts +104 -0
- package/dist/services/sync/types.d.ts.map +1 -0
- package/dist/services/sync/types.js +5 -0
- package/dist/services/sync/types.js.map +1 -0
- package/dist/services/task-service/internals.d.ts +36 -0
- package/dist/services/task-service/internals.d.ts.map +1 -0
- package/dist/services/task-service/internals.js +270 -0
- package/dist/services/task-service/internals.js.map +1 -0
- package/dist/services/task-service.d.ts +2 -1
- package/dist/services/task-service.d.ts.map +1 -1
- package/dist/services/task-service.js +28 -236
- package/dist/services/task-service.js.map +1 -1
- package/dist/services/tracing-service.d.ts +2 -2
- package/dist/services/tracing-service.d.ts.map +1 -1
- package/dist/services/tracing-service.js.map +1 -1
- package/dist/services/transcript-adapter.d.ts +6 -6
- package/dist/services/transcript-adapter.d.ts.map +1 -1
- package/dist/services/transcript-adapter.js +3 -8
- package/dist/services/transcript-adapter.js.map +1 -1
- package/dist/services/validation-service.d.ts +8 -8
- package/dist/services/validation-service.d.ts.map +1 -1
- package/dist/services/validation-service.js.map +1 -1
- package/dist/services/verify-service.d.ts +2 -2
- package/dist/services/verify-service.d.ts.map +1 -1
- package/dist/services/verify-service.js.map +1 -1
- package/dist/services/worker-process/runtime.d.ts +51 -0
- package/dist/services/worker-process/runtime.d.ts.map +1 -0
- package/dist/services/worker-process/runtime.js +150 -0
- package/dist/services/worker-process/runtime.js.map +1 -0
- package/dist/services/worker-process.d.ts +3 -18
- package/dist/services/worker-process.d.ts.map +1 -1
- package/dist/services/worker-process.js +3 -173
- package/dist/services/worker-process.js.map +1 -1
- package/dist/services/worker-service.d.ts +6 -6
- package/dist/services/worker-service.d.ts.map +1 -1
- package/dist/services/worker-service.js.map +1 -1
- package/dist/utils/db-result.d.ts +14 -0
- package/dist/utils/db-result.d.ts.map +1 -0
- package/dist/utils/db-result.js +37 -0
- package/dist/utils/db-result.js.map +1 -0
- package/dist/utils/doc-renderer.d.ts +10 -10
- package/dist/utils/doc-renderer.d.ts.map +1 -1
- package/dist/utils/doc-renderer.js.map +1 -1
- package/dist/utils/ears-validator.d.ts +2 -2
- package/dist/utils/ears-validator.d.ts.map +1 -1
- package/dist/utils/ears-validator.js.map +1 -1
- package/dist/utils/file-path.d.ts +27 -0
- package/dist/utils/file-path.d.ts.map +1 -0
- package/dist/utils/file-path.js +77 -0
- package/dist/utils/file-path.js.map +1 -0
- package/dist/utils/glob.d.ts +2 -11
- package/dist/utils/glob.d.ts.map +1 -1
- package/dist/utils/glob.js +22 -13
- package/dist/utils/glob.js.map +1 -1
- package/dist/utils/spec-discovery.d.ts +34 -0
- package/dist/utils/spec-discovery.d.ts.map +1 -0
- package/dist/utils/spec-discovery.js +344 -0
- package/dist/utils/spec-discovery.js.map +1 -0
- package/dist/utils/toml-config.d.ts +7 -2
- package/dist/utils/toml-config.d.ts.map +1 -1
- package/dist/utils/toml-config.js +106 -2
- package/dist/utils/toml-config.js.map +1 -1
- package/dist/utils/ulid.d.ts +8 -0
- package/dist/utils/ulid.d.ts.map +1 -0
- package/dist/utils/ulid.js +30 -0
- package/dist/utils/ulid.js.map +1 -0
- package/dist/worker/hooks.d.ts +10 -10
- package/dist/worker/hooks.d.ts.map +1 -1
- package/dist/worker/run-worker.d.ts.map +1 -1
- package/dist/worker/run-worker.js.map +1 -1
- package/migrations/033_sync_events.sql +33 -0
- package/migrations/034_spec_test_traceability.sql +51 -0
- package/migrations/035_anchor_schema_repair.sql +82 -0
- package/package.json +4 -3
- package/dist/services/sync-service.d.ts +0 -247
- package/dist/services/sync-service.d.ts.map +0 -1
- package/dist/services/sync-service.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attempt-repo.js","sourceRoot":"","sources":["../../src/repo/attempt-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"attempt-repo.js","sourceRoot":"","sources":["../../src/repo/attempt-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-repo.d.ts","sourceRoot":"","sources":["../../src/repo/candidate-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAE9D,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,eAAe,EAChB,MAAM,yBAAyB,CAAA;;
|
|
1
|
+
{"version":3,"file":"candidate-repo.d.ts","sourceRoot":"","sources":["../../src/repo/candidate-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAE9D,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,eAAe,EAChB,MAAM,yBAAyB,CAAA;;qBAMX,CAAC,KAAK,EAAE,oBAAoB,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;uBAC9E,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,EAAE,aAAa,CAAC;2BAClE,CAAC,MAAM,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,iBAAiB,EAAE,EAAE,aAAa,CAAC;qBAC7F,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,EAAE,aAAa,CAAC;2BAC7F,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,EAAE,aAAa,CAAC;;AAP1H,qBAAa,mBAAoB,SAAQ,wBAStC;CAAG;AAEN,eAAO,MAAM,uBAAuB,uDAkNnC,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { Context, Effect, Layer } from "effect";
|
|
|
2
2
|
import { SqliteClient } from "../db.js";
|
|
3
3
|
import { DatabaseError, EntityFetchError } from "../errors.js";
|
|
4
4
|
import { rowToCandidate } from "../mappers/candidate.js";
|
|
5
|
+
import { coerceDbResult } from "../utils/db-result.js";
|
|
5
6
|
export class CandidateRepository extends Context.Tag("CandidateRepository")() {
|
|
6
7
|
}
|
|
7
8
|
export const CandidateRepositoryLive = Layer.effect(CandidateRepository, Effect.gen(function* () {
|
|
@@ -13,11 +14,11 @@ export const CandidateRepositoryLive = Layer.effect(CandidateRepository, Effect.
|
|
|
13
14
|
const result = db.prepare(`INSERT INTO learning_candidates
|
|
14
15
|
(content, confidence, category, source_file, source_run_id, source_task_id, extracted_at, status)
|
|
15
16
|
VALUES (?, ?, ?, ?, ?, ?, ?, 'pending')`).run(input.content, input.confidence, input.category ?? null, input.sourceFile, input.sourceRunId ?? null, input.sourceTaskId ?? null, now);
|
|
16
|
-
const row = db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(result.lastInsertRowid);
|
|
17
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(result.lastInsertRowid));
|
|
17
18
|
if (!row) {
|
|
18
19
|
throw new EntityFetchError({
|
|
19
20
|
entity: "learning_candidate",
|
|
20
|
-
id: result.lastInsertRowid,
|
|
21
|
+
id: coerceDbResult(result.lastInsertRowid),
|
|
21
22
|
operation: "insert"
|
|
22
23
|
});
|
|
23
24
|
}
|
|
@@ -27,7 +28,7 @@ export const CandidateRepositoryLive = Layer.effect(CandidateRepository, Effect.
|
|
|
27
28
|
}),
|
|
28
29
|
findById: (id) => Effect.try({
|
|
29
30
|
try: () => {
|
|
30
|
-
const row = db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(id);
|
|
31
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(id));
|
|
31
32
|
return row ? rowToCandidate(row) : null;
|
|
32
33
|
},
|
|
33
34
|
catch: (cause) => new DatabaseError({ cause })
|
|
@@ -90,7 +91,7 @@ export const CandidateRepositoryLive = Layer.effect(CandidateRepository, Effect.
|
|
|
90
91
|
values.push(filter.offset);
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
|
-
const rows = db.prepare(sql).all(...values);
|
|
94
|
+
const rows = coerceDbResult(db.prepare(sql).all(...values));
|
|
94
95
|
return rows.map(rowToCandidate);
|
|
95
96
|
},
|
|
96
97
|
catch: (cause) => new DatabaseError({ cause })
|
|
@@ -121,7 +122,7 @@ export const CandidateRepositoryLive = Layer.effect(CandidateRepository, Effect.
|
|
|
121
122
|
}
|
|
122
123
|
if (updates.length === 0) {
|
|
123
124
|
// No updates, just return the current row
|
|
124
|
-
const row = db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(id);
|
|
125
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(id));
|
|
125
126
|
return row ? rowToCandidate(row) : null;
|
|
126
127
|
}
|
|
127
128
|
values.push(id);
|
|
@@ -129,7 +130,7 @@ export const CandidateRepositoryLive = Layer.effect(CandidateRepository, Effect.
|
|
|
129
130
|
if (result.changes === 0) {
|
|
130
131
|
return null;
|
|
131
132
|
}
|
|
132
|
-
const row = db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(id);
|
|
133
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(id));
|
|
133
134
|
if (!row) {
|
|
134
135
|
throw new EntityFetchError({
|
|
135
136
|
entity: "learning_candidate",
|
|
@@ -147,7 +148,7 @@ export const CandidateRepositoryLive = Layer.effect(CandidateRepository, Effect.
|
|
|
147
148
|
if (result.changes === 0) {
|
|
148
149
|
return null;
|
|
149
150
|
}
|
|
150
|
-
const row = db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(id);
|
|
151
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM learning_candidates WHERE id = ?").get(id));
|
|
151
152
|
if (!row) {
|
|
152
153
|
throw new EntityFetchError({
|
|
153
154
|
entity: "learning_candidate",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-repo.js","sourceRoot":"","sources":["../../src/repo/candidate-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"candidate-repo.js","sourceRoot":"","sources":["../../src/repo/candidate-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,25 +5,25 @@ import type { TaskClaim } from "../schemas/worker.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* Result of an atomic claim insert attempt.
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export type AtomicInsertResult = {
|
|
9
9
|
/** Whether the insert succeeded (no existing active claim) */
|
|
10
10
|
success: boolean;
|
|
11
11
|
/** The claim if insert succeeded, null otherwise */
|
|
12
12
|
claim: TaskClaim | null;
|
|
13
13
|
/** If insert failed, the existing claim that blocked it */
|
|
14
14
|
existingClaim: TaskClaim | null;
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
16
|
/**
|
|
17
17
|
* Result of an atomic lease renewal attempt.
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export type AtomicRenewResult = {
|
|
20
20
|
/** Whether the renewal succeeded */
|
|
21
21
|
success: boolean;
|
|
22
22
|
/** The renewed claim if successful, null otherwise */
|
|
23
23
|
claim: TaskClaim | null;
|
|
24
24
|
/** Reason for failure if not successful */
|
|
25
25
|
failureReason: "not_found" | "expired" | null;
|
|
26
|
-
}
|
|
26
|
+
};
|
|
27
27
|
declare const ClaimRepository_base: Context.TagClass<ClaimRepository, "ClaimRepository", {
|
|
28
28
|
readonly insert: (claim: Omit<TaskClaim, "id">) => Effect.Effect<TaskClaim, DatabaseError>;
|
|
29
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-repo.d.ts","sourceRoot":"","sources":["../../src/repo/claim-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAEpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"claim-repo.d.ts","sourceRoot":"","sources":["../../src/repo/claim-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAEpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGrD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,8DAA8D;IAC9D,OAAO,EAAE,OAAO,CAAA;IAChB,oDAAoD;IACpD,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,2DAA2D;IAC3D,aAAa,EAAE,SAAS,GAAG,IAAI,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,sDAAsD;IACtD,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,2CAA2C;IAC3C,aAAa,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAA;CAC9C,CAAA;;qBAKoB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;IAC1F;;;OAGG;8BACuB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC;qBAC3F,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAChG;;;;;;;;;OASG;6BACsB,CACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,IAAI,KACpB,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;uBACjC,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,aAAa,CAAC;iCACpD,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,aAAa,CAAC;0BACzE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,aAAa,CAAC;mCACxD,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IACzF;;;;OAIG;iCAC0B,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,aAAa,CAAC;;AAlCzF,qBAAa,eAAgB,SAAQ,oBAoClC;CAAG;AAEN,eAAO,MAAM,mBAAmB,mDAgP/B,CAAA"}
|
package/dist/repo/claim-repo.js
CHANGED
|
@@ -2,6 +2,7 @@ import { Context, Effect, Layer } from "effect";
|
|
|
2
2
|
import { SqliteClient } from "../db.js";
|
|
3
3
|
import { ClaimIdNotFoundError, DatabaseError, EntityFetchError } from "../errors.js";
|
|
4
4
|
import { rowToClaim } from "../mappers/claim.js";
|
|
5
|
+
import { coerceDbResult } from "../utils/db-result.js";
|
|
5
6
|
export class ClaimRepository extends Context.Tag("ClaimRepository")() {
|
|
6
7
|
}
|
|
7
8
|
export const ClaimRepositoryLive = Layer.effect(ClaimRepository, Effect.gen(function* () {
|
|
@@ -12,11 +13,11 @@ export const ClaimRepositoryLive = Layer.effect(ClaimRepository, Effect.gen(func
|
|
|
12
13
|
const result = db.prepare(`INSERT INTO task_claims
|
|
13
14
|
(task_id, worker_id, claimed_at, lease_expires_at, renewed_count, status)
|
|
14
15
|
VALUES (?, ?, ?, ?, ?, ?)`).run(claim.taskId, claim.workerId, claim.claimedAt.toISOString(), claim.leaseExpiresAt.toISOString(), claim.renewedCount, claim.status);
|
|
15
|
-
const row = db.prepare("SELECT * FROM task_claims WHERE id = ?").get(result.lastInsertRowid);
|
|
16
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM task_claims WHERE id = ?").get(result.lastInsertRowid));
|
|
16
17
|
if (!row) {
|
|
17
18
|
throw new EntityFetchError({
|
|
18
19
|
entity: "claim",
|
|
19
|
-
id: result.lastInsertRowid,
|
|
20
|
+
id: coerceDbResult(result.lastInsertRowid),
|
|
20
21
|
operation: "insert"
|
|
21
22
|
});
|
|
22
23
|
}
|
|
@@ -38,11 +39,11 @@ export const ClaimRepositoryLive = Layer.effect(ClaimRepository, Effect.gen(func
|
|
|
38
39
|
);
|
|
39
40
|
if (result.changes > 0) {
|
|
40
41
|
// Insert succeeded - fetch the newly created claim
|
|
41
|
-
const row = db.prepare("SELECT * FROM task_claims WHERE id = ?").get(result.lastInsertRowid);
|
|
42
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM task_claims WHERE id = ?").get(result.lastInsertRowid));
|
|
42
43
|
if (!row) {
|
|
43
44
|
throw new EntityFetchError({
|
|
44
45
|
entity: "claim",
|
|
45
|
-
id: result.lastInsertRowid,
|
|
46
|
+
id: coerceDbResult(result.lastInsertRowid),
|
|
46
47
|
operation: "insert"
|
|
47
48
|
});
|
|
48
49
|
}
|
|
@@ -54,7 +55,7 @@ export const ClaimRepositoryLive = Layer.effect(ClaimRepository, Effect.gen(func
|
|
|
54
55
|
}
|
|
55
56
|
else {
|
|
56
57
|
// Insert was blocked by existing active claim - fetch it
|
|
57
|
-
const existingRow = db.prepare("SELECT * FROM task_claims WHERE task_id = ? AND status = 'active' LIMIT 1").get(claim.taskId);
|
|
58
|
+
const existingRow = coerceDbResult(db.prepare("SELECT * FROM task_claims WHERE task_id = ? AND status = 'active' LIMIT 1").get(claim.taskId));
|
|
58
59
|
return {
|
|
59
60
|
success: false,
|
|
60
61
|
claim: null,
|
|
@@ -85,7 +86,7 @@ export const ClaimRepositoryLive = Layer.effect(ClaimRepository, Effect.gen(func
|
|
|
85
86
|
WHERE id = ? AND worker_id = ? AND status = 'active' AND lease_expires_at >= ?`).run(newLeaseExpiresAt.toISOString(), claimId, workerId, now);
|
|
86
87
|
if (result.changes > 0) {
|
|
87
88
|
// Renewal succeeded - fetch the updated claim
|
|
88
|
-
const row = db.prepare("SELECT * FROM task_claims WHERE id = ?").get(claimId);
|
|
89
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM task_claims WHERE id = ?").get(claimId));
|
|
89
90
|
if (!row) {
|
|
90
91
|
throw new EntityFetchError({
|
|
91
92
|
entity: "claim",
|
|
@@ -102,7 +103,7 @@ export const ClaimRepositoryLive = Layer.effect(ClaimRepository, Effect.gen(func
|
|
|
102
103
|
else {
|
|
103
104
|
// Renewal failed - determine why
|
|
104
105
|
// Check if claim exists and is owned by this worker
|
|
105
|
-
const existingRow = db.prepare("SELECT * FROM task_claims WHERE id = ? AND worker_id = ? AND status = 'active'").get(claimId, workerId);
|
|
106
|
+
const existingRow = coerceDbResult(db.prepare("SELECT * FROM task_claims WHERE id = ? AND worker_id = ? AND status = 'active'").get(claimId, workerId));
|
|
106
107
|
if (!existingRow) {
|
|
107
108
|
return {
|
|
108
109
|
success: false,
|
|
@@ -122,23 +123,23 @@ export const ClaimRepositoryLive = Layer.effect(ClaimRepository, Effect.gen(func
|
|
|
122
123
|
}),
|
|
123
124
|
findById: (id) => Effect.try({
|
|
124
125
|
try: () => {
|
|
125
|
-
const row = db.prepare("SELECT * FROM task_claims WHERE id = ?").get(id);
|
|
126
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM task_claims WHERE id = ?").get(id));
|
|
126
127
|
return row ? rowToClaim(row) : null;
|
|
127
128
|
},
|
|
128
129
|
catch: (cause) => new DatabaseError({ cause })
|
|
129
130
|
}),
|
|
130
131
|
findActiveByTaskId: (taskId) => Effect.try({
|
|
131
132
|
try: () => {
|
|
132
|
-
const row = db.prepare("SELECT * FROM task_claims WHERE task_id = ? AND status = 'active' LIMIT 1").get(taskId);
|
|
133
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM task_claims WHERE task_id = ? AND status = 'active' LIMIT 1").get(taskId));
|
|
133
134
|
return row ? rowToClaim(row) : null;
|
|
134
135
|
},
|
|
135
136
|
catch: (cause) => new DatabaseError({ cause })
|
|
136
137
|
}),
|
|
137
138
|
findExpired: (now) => Effect.try({
|
|
138
139
|
try: () => {
|
|
139
|
-
const rows = db.prepare(`SELECT * FROM task_claims
|
|
140
|
+
const rows = coerceDbResult(db.prepare(`SELECT * FROM task_claims
|
|
140
141
|
WHERE status = 'active' AND lease_expires_at < ?
|
|
141
|
-
ORDER BY lease_expires_at ASC`).all(now.toISOString());
|
|
142
|
+
ORDER BY lease_expires_at ASC`).all(now.toISOString()));
|
|
142
143
|
return rows.map(rowToClaim);
|
|
143
144
|
},
|
|
144
145
|
catch: (cause) => new DatabaseError({ cause })
|
|
@@ -155,11 +156,11 @@ export const ClaimRepositoryLive = Layer.effect(ClaimRepository, Effect.gen(func
|
|
|
155
156
|
try: () => {
|
|
156
157
|
// Find active claims where the task status is NOT 'active'
|
|
157
158
|
// This catches claims that weren't released after task completion
|
|
158
|
-
const rows = db.prepare(`SELECT c.* FROM task_claims c
|
|
159
|
+
const rows = coerceDbResult(db.prepare(`SELECT c.* FROM task_claims c
|
|
159
160
|
JOIN tasks t ON c.task_id = t.id
|
|
160
161
|
WHERE c.status = 'active'
|
|
161
162
|
AND t.status != 'active'
|
|
162
|
-
ORDER BY c.claimed_at ASC`).all();
|
|
163
|
+
ORDER BY c.claimed_at ASC`).all());
|
|
163
164
|
return rows.map(rowToClaim);
|
|
164
165
|
},
|
|
165
166
|
catch: (cause) => new DatabaseError({ cause })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-repo.js","sourceRoot":"","sources":["../../src/repo/claim-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpF,OAAO,EAAE,UAAU,EAAiB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"claim-repo.js","sourceRoot":"","sources":["../../src/repo/claim-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { DatabaseError } from "../errors.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Compaction log entry from database.
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export type CompactionLogEntry = {
|
|
8
8
|
readonly id: number;
|
|
9
9
|
readonly compactedAt: Date;
|
|
10
10
|
readonly taskCount: number;
|
|
@@ -12,17 +12,17 @@ export interface CompactionLogEntry {
|
|
|
12
12
|
readonly taskIds: readonly string[];
|
|
13
13
|
readonly learningsExportedTo: string | null;
|
|
14
14
|
readonly learnings: string | null;
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
16
|
/**
|
|
17
17
|
* Input for creating a new compaction log entry.
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export type CreateCompactionLogInput = {
|
|
20
20
|
readonly taskCount: number;
|
|
21
21
|
readonly summary: string;
|
|
22
22
|
readonly taskIds: readonly string[];
|
|
23
23
|
readonly learningsExportedTo?: string | null;
|
|
24
24
|
readonly learnings: string;
|
|
25
|
-
}
|
|
25
|
+
};
|
|
26
26
|
declare const CompactionRepository_base: Context.TagClass<CompactionRepository, "CompactionRepository", {
|
|
27
27
|
readonly insert: (input: CreateCompactionLogInput) => Effect.Effect<CompactionLogEntry, DatabaseError>;
|
|
28
28
|
readonly findById: (id: number) => Effect.Effect<CompactionLogEntry | null, DatabaseError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-repo.d.ts","sourceRoot":"","sources":["../../src/repo/compaction-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"compaction-repo.d.ts","sourceRoot":"","sources":["../../src/repo/compaction-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAG9D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;;qBA+CoB,CAAC,KAAK,EAAE,wBAAwB,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC;uBACnF,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,EAAE,aAAa,CAAC;sBACxE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,kBAAkB,EAAE,EAAE,aAAa,CAAC;yBAC9D,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,kBAAkB,EAAE,EAAE,aAAa,CAAC;oBACnF,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;;AAX9D;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,yBASvC;CAAG;AAEN,eAAO,MAAM,wBAAwB,wDA2EpC,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Context, Effect, Layer } from "effect";
|
|
2
2
|
import { SqliteClient } from "../db.js";
|
|
3
3
|
import { DatabaseError, EntityFetchError } from "../errors.js";
|
|
4
|
+
import { coerceDbResult } from "../utils/db-result.js";
|
|
4
5
|
/**
|
|
5
6
|
* Safely parse a JSON array of task ID strings, returning empty array on failure.
|
|
6
7
|
*/
|
|
@@ -39,11 +40,11 @@ export const CompactionRepositoryLive = Layer.effect(CompactionRepository, Effec
|
|
|
39
40
|
const now = new Date().toISOString();
|
|
40
41
|
const result = db.prepare(`INSERT INTO compaction_log (compacted_at, task_count, summary, task_ids, learnings_exported_to, learnings)
|
|
41
42
|
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
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM compaction_log WHERE id = ?").get(result.lastInsertRowid));
|
|
43
44
|
if (!row) {
|
|
44
45
|
throw new EntityFetchError({
|
|
45
46
|
entity: "compaction_log",
|
|
46
|
-
id: result.lastInsertRowid,
|
|
47
|
+
id: coerceDbResult(result.lastInsertRowid),
|
|
47
48
|
operation: "insert"
|
|
48
49
|
});
|
|
49
50
|
}
|
|
@@ -53,28 +54,28 @@ export const CompactionRepositoryLive = Layer.effect(CompactionRepository, Effec
|
|
|
53
54
|
}),
|
|
54
55
|
findById: (id) => Effect.try({
|
|
55
56
|
try: () => {
|
|
56
|
-
const row = db.prepare("SELECT * FROM compaction_log WHERE id = ?").get(id);
|
|
57
|
+
const row = coerceDbResult(db.prepare("SELECT * FROM compaction_log WHERE id = ?").get(id));
|
|
57
58
|
return row ? rowToCompactionLogEntry(row) : null;
|
|
58
59
|
},
|
|
59
60
|
catch: (cause) => new DatabaseError({ cause })
|
|
60
61
|
}),
|
|
61
62
|
findAll: () => Effect.try({
|
|
62
63
|
try: () => {
|
|
63
|
-
const rows = db.prepare(`SELECT * FROM compaction_log ORDER BY compacted_at DESC`).all();
|
|
64
|
+
const rows = coerceDbResult(db.prepare(`SELECT * FROM compaction_log ORDER BY compacted_at DESC`).all());
|
|
64
65
|
return rows.map(rowToCompactionLogEntry);
|
|
65
66
|
},
|
|
66
67
|
catch: (cause) => new DatabaseError({ cause })
|
|
67
68
|
}),
|
|
68
69
|
findRecent: (limit) => Effect.try({
|
|
69
70
|
try: () => {
|
|
70
|
-
const rows = db.prepare(`SELECT * FROM compaction_log ORDER BY compacted_at DESC LIMIT ?`).all(limit);
|
|
71
|
+
const rows = coerceDbResult(db.prepare(`SELECT * FROM compaction_log ORDER BY compacted_at DESC LIMIT ?`).all(limit));
|
|
71
72
|
return rows.map(rowToCompactionLogEntry);
|
|
72
73
|
},
|
|
73
74
|
catch: (cause) => new DatabaseError({ cause })
|
|
74
75
|
}),
|
|
75
76
|
count: () => Effect.try({
|
|
76
77
|
try: () => {
|
|
77
|
-
const result = db.prepare("SELECT COUNT(*) as cnt FROM compaction_log").get();
|
|
78
|
+
const result = coerceDbResult(db.prepare("SELECT COUNT(*) as cnt FROM compaction_log").get());
|
|
78
79
|
return result.cnt;
|
|
79
80
|
},
|
|
80
81
|
catch: (cause) => new DatabaseError({ cause })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-repo.js","sourceRoot":"","sources":["../../src/repo/compaction-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"compaction-repo.js","sourceRoot":"","sources":["../../src/repo/compaction-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deduplication-repo.d.ts","sourceRoot":"","sources":["../../src/repo/deduplication-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAE9D,OAAO,KAAK,EACV,aAAa,EAEb,wBAAwB,EACxB,YAAY,EAEZ,uBAAuB,EACxB,MAAM,yBAAyB,CAAA;;
|
|
1
|
+
{"version":3,"file":"deduplication-repo.d.ts","sourceRoot":"","sources":["../../src/repo/deduplication-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAE9D,OAAO,KAAK,EACV,aAAa,EAEb,wBAAwB,EACxB,YAAY,EAEZ,uBAAuB,EACxB,MAAM,yBAAyB,CAAA;;IAQ5B,6CAA6C;yBACxB,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;IAEnF,sDAAsD;0BAChC,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAErG,8BAA8B;yBACT,CAAC,KAAK,EAAE,wBAAwB,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;IAErG;;;;OAIG;4BACqB,CAAC,KAAK,EAAE,wBAAwB,KAAK,MAAM,CAAC,MAAM,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,aAAa,CAAC;IAEhH,uDAAuD;2BAChC,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAE5G,yCAAyC;yBACpB,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,EAAE,aAAa,CAAC;IAEhG,0CAA0C;0BACpB,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAEhE,qCAAqC;+BACV,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,aAAa,CAAC;IAEvG,sDAAsD;kCACxB,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAIxF,8BAA8B;8BACJ,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,EAAE,aAAa,CAAC;IAEjG,2CAA2C;iCACd,CAAC,KAAK,EAAE,uBAAuB,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC;IAE3G,iCAAiC;iCACJ,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAEvF,4BAA4B;iCACC,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,YAAY,EAAE,EAAE,aAAa,CAAC;IAExF,0BAA0B;yBACL,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;;AAnDnE,qBAAa,uBAAwB,SAAQ,4BAqD1C;CAAG;AAEN,eAAO,MAAM,2BAA2B,2DA4PvC,CAAA"}
|