@jamesaphoenix/tx-core 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +3 -2
- 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,129 +1,9 @@
|
|
|
1
1
|
import { Context, Effect, Layer } from "effect";
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
|
-
import { closeSync, existsSync, mkdirSync, openSync, readFileSync, unlinkSync, writeFileSync, writeSync } from "node:fs";
|
|
4
|
-
import { dirname, join } from "node:path";
|
|
5
|
-
import { homedir } from "node:os";
|
|
6
3
|
import { DaemonError } from "../errors.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export const PID_FILE_PATH = ".tx/daemon.pid";
|
|
11
|
-
/**
|
|
12
|
-
* Default install path for the launchd plist file.
|
|
13
|
-
* Located in the user's LaunchAgents directory for per-user daemons.
|
|
14
|
-
*/
|
|
15
|
-
export const LAUNCHD_PLIST_PATH = "~/Library/LaunchAgents/com.tx.daemon.plist";
|
|
16
|
-
/**
|
|
17
|
-
* Default install path for the systemd service file.
|
|
18
|
-
* Located in the user's systemd user directory for per-user services.
|
|
19
|
-
*/
|
|
20
|
-
export const SYSTEMD_SERVICE_PATH = "~/.config/systemd/user/tx-daemon.service";
|
|
21
|
-
/**
|
|
22
|
-
* Generate a macOS launchd plist file content.
|
|
23
|
-
* Creates a valid XML plist that can be used with launchctl to run the daemon.
|
|
24
|
-
*
|
|
25
|
-
* The generated plist configures the daemon to:
|
|
26
|
-
* - Run at load (start when user logs in)
|
|
27
|
-
* - Keep alive (restart if it crashes)
|
|
28
|
-
* - Log stdout and stderr to the specified log path
|
|
29
|
-
*
|
|
30
|
-
* @param options - Configuration options for the plist
|
|
31
|
-
* @returns The XML content for the launchd plist file
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* ```typescript
|
|
35
|
-
* const plist = generateLaunchdPlist({
|
|
36
|
-
* label: "com.tx.daemon",
|
|
37
|
-
* executablePath: "/usr/local/bin/tx",
|
|
38
|
-
* logPath: "~/Library/Logs/tx-daemon.log"
|
|
39
|
-
* })
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export const generateLaunchdPlist = (options) => {
|
|
43
|
-
const { label, executablePath, logPath } = options;
|
|
44
|
-
// Expand ~ to home directory for the log path
|
|
45
|
-
const resolvedLogPath = logPath
|
|
46
|
-
? logPath.replace(/^~/, homedir())
|
|
47
|
-
: join(homedir(), "Library", "Logs", "tx-daemon.log");
|
|
48
|
-
// Generate valid XML plist
|
|
49
|
-
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
50
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
51
|
-
<plist version="1.0">
|
|
52
|
-
<dict>
|
|
53
|
-
<key>Label</key>
|
|
54
|
-
<string>${escapeXml(label)}</string>
|
|
55
|
-
<key>ProgramArguments</key>
|
|
56
|
-
<array>
|
|
57
|
-
<string>${escapeXml(executablePath)}</string>
|
|
58
|
-
<string>daemon</string>
|
|
59
|
-
<string>run</string>
|
|
60
|
-
</array>
|
|
61
|
-
<key>RunAtLoad</key>
|
|
62
|
-
<true/>
|
|
63
|
-
<key>KeepAlive</key>
|
|
64
|
-
<true/>
|
|
65
|
-
<key>StandardOutPath</key>
|
|
66
|
-
<string>${escapeXml(resolvedLogPath)}</string>
|
|
67
|
-
<key>StandardErrorPath</key>
|
|
68
|
-
<string>${escapeXml(resolvedLogPath)}</string>
|
|
69
|
-
</dict>
|
|
70
|
-
</plist>
|
|
71
|
-
`;
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* Escape special characters for XML content.
|
|
75
|
-
*/
|
|
76
|
-
const escapeXml = (str) => str
|
|
77
|
-
.replace(/&/g, "&")
|
|
78
|
-
.replace(/</g, "<")
|
|
79
|
-
.replace(/>/g, ">")
|
|
80
|
-
.replace(/"/g, """)
|
|
81
|
-
.replace(/'/g, "'");
|
|
82
|
-
/**
|
|
83
|
-
* Generate a Linux systemd service file content.
|
|
84
|
-
* Creates a valid systemd unit file for a user service.
|
|
85
|
-
*
|
|
86
|
-
* The generated service file configures the daemon to:
|
|
87
|
-
* - Start after the network is available
|
|
88
|
-
* - Run as Type=simple (foreground process)
|
|
89
|
-
* - Restart always on failure with 5 second delay
|
|
90
|
-
* - Be enabled for multi-user target
|
|
91
|
-
*
|
|
92
|
-
* @param options - Configuration options for the service file
|
|
93
|
-
* @returns The content for the systemd service file
|
|
94
|
-
*
|
|
95
|
-
* @example
|
|
96
|
-
* ```typescript
|
|
97
|
-
* const service = generateSystemdService({
|
|
98
|
-
* executablePath: "/usr/local/bin/tx",
|
|
99
|
-
* user: "myuser"
|
|
100
|
-
* })
|
|
101
|
-
* ```
|
|
102
|
-
*/
|
|
103
|
-
export const generateSystemdService = (options) => {
|
|
104
|
-
const { executablePath, user } = options;
|
|
105
|
-
// Build the [Service] section lines
|
|
106
|
-
const serviceLines = [
|
|
107
|
-
"Type=simple",
|
|
108
|
-
`ExecStart=${executablePath} daemon run`,
|
|
109
|
-
"Restart=always",
|
|
110
|
-
"RestartSec=5"
|
|
111
|
-
];
|
|
112
|
-
// Add User= directive only if user is provided
|
|
113
|
-
if (user) {
|
|
114
|
-
serviceLines.push(`User=${user}`);
|
|
115
|
-
}
|
|
116
|
-
return `[Unit]
|
|
117
|
-
Description=tx Daemon - Task and memory management for AI agents
|
|
118
|
-
After=network.target
|
|
119
|
-
|
|
120
|
-
[Service]
|
|
121
|
-
${serviceLines.join("\n")}
|
|
122
|
-
|
|
123
|
-
[Install]
|
|
124
|
-
WantedBy=default.target
|
|
125
|
-
`;
|
|
126
|
-
};
|
|
4
|
+
import { acquirePidLock, PID_FILE_PATH, isProcessRunning, readPid, readStartedAt, removePid, removePidIfContentMatches, removeStartedAt, sendSignal, tryAtomicPidCreate, waitForExit, writePid, writeStartedAt } from "./daemon-service/process.js";
|
|
5
|
+
import { generateLaunchdPlist, generateSystemdService, LAUNCHD_PLIST_PATH, SYSTEMD_SERVICE_PATH } from "./daemon-service/templates.js";
|
|
6
|
+
export { acquirePidLock, generateLaunchdPlist, generateSystemdService, isProcessRunning, LAUNCHD_PLIST_PATH, PID_FILE_PATH, readPid, removePid, removePidIfContentMatches, SYSTEMD_SERVICE_PATH, tryAtomicPidCreate, writePid };
|
|
127
7
|
/**
|
|
128
8
|
* DaemonService manages the lifecycle of the tx daemon process.
|
|
129
9
|
* The daemon runs in the background and provides:
|
|
@@ -135,238 +15,6 @@ WantedBy=default.target
|
|
|
135
15
|
*/
|
|
136
16
|
export class DaemonService extends Context.Tag("DaemonService")() {
|
|
137
17
|
}
|
|
138
|
-
/**
|
|
139
|
-
* Check if a process with the given PID is currently running.
|
|
140
|
-
* Uses kill signal 0 which doesn't actually send a signal but checks if the process exists.
|
|
141
|
-
*
|
|
142
|
-
* @param pid - The process ID to check
|
|
143
|
-
* @returns Effect that resolves to true if the process is running, false otherwise
|
|
144
|
-
*/
|
|
145
|
-
export const isProcessRunning = (pid) => Effect.try({
|
|
146
|
-
try: () => {
|
|
147
|
-
// Signal 0 doesn't send anything but checks if process exists
|
|
148
|
-
process.kill(pid, 0);
|
|
149
|
-
return true;
|
|
150
|
-
},
|
|
151
|
-
catch: (error) => error
|
|
152
|
-
}).pipe(Effect.catchAll((error) => {
|
|
153
|
-
// ESRCH means no such process - return false (not running) as success value
|
|
154
|
-
if (error instanceof Error && "code" in error && error.code === "ESRCH") {
|
|
155
|
-
return Effect.succeed(false);
|
|
156
|
-
}
|
|
157
|
-
// EPERM means process exists but we don't have permission to signal it
|
|
158
|
-
// The process is still running, just owned by another user - return true as success value
|
|
159
|
-
if (error instanceof Error && "code" in error && error.code === "EPERM") {
|
|
160
|
-
return Effect.succeed(true);
|
|
161
|
-
}
|
|
162
|
-
// Any other error is unexpected - convert to DaemonError
|
|
163
|
-
return Effect.fail(new DaemonError({
|
|
164
|
-
code: "PROCESS_CHECK_FAILED",
|
|
165
|
-
reason: `Failed to check if process ${pid} is running: ${error}`,
|
|
166
|
-
pid
|
|
167
|
-
}));
|
|
168
|
-
}));
|
|
169
|
-
/**
|
|
170
|
-
* Write a PID to the daemon PID file.
|
|
171
|
-
* Creates the .tx directory if it doesn't exist.
|
|
172
|
-
*
|
|
173
|
-
* @param pid - The process ID to write
|
|
174
|
-
* @returns Effect that resolves to void on success
|
|
175
|
-
*/
|
|
176
|
-
export const writePid = (pid) => Effect.try({
|
|
177
|
-
try: () => {
|
|
178
|
-
const dir = dirname(PID_FILE_PATH);
|
|
179
|
-
if (!existsSync(dir)) {
|
|
180
|
-
mkdirSync(dir, { recursive: true });
|
|
181
|
-
}
|
|
182
|
-
writeFileSync(PID_FILE_PATH, String(pid), "utf-8");
|
|
183
|
-
},
|
|
184
|
-
catch: (error) => new DaemonError({
|
|
185
|
-
code: "PID_WRITE_FAILED",
|
|
186
|
-
reason: `Failed to write PID file: ${error}`,
|
|
187
|
-
pid
|
|
188
|
-
})
|
|
189
|
-
});
|
|
190
|
-
/**
|
|
191
|
-
* Read the PID from the daemon PID file.
|
|
192
|
-
* Returns null if the file doesn't exist.
|
|
193
|
-
* Handles stale PID cleanup: if the PID file exists but the process is not running,
|
|
194
|
-
* the stale PID file is automatically removed and null is returned.
|
|
195
|
-
*
|
|
196
|
-
* @returns Effect that resolves to the PID number, or null if no valid PID file exists
|
|
197
|
-
*/
|
|
198
|
-
export const readPid = () => Effect.gen(function* () {
|
|
199
|
-
// Check if file exists
|
|
200
|
-
if (!existsSync(PID_FILE_PATH)) {
|
|
201
|
-
return null;
|
|
202
|
-
}
|
|
203
|
-
// Read the PID file
|
|
204
|
-
const content = yield* Effect.try({
|
|
205
|
-
try: () => readFileSync(PID_FILE_PATH, "utf-8").trim(),
|
|
206
|
-
catch: (error) => new DaemonError({
|
|
207
|
-
code: "PID_READ_FAILED",
|
|
208
|
-
reason: `Failed to read PID file: ${error}`,
|
|
209
|
-
pid: null
|
|
210
|
-
})
|
|
211
|
-
});
|
|
212
|
-
// Parse the PID
|
|
213
|
-
const pid = parseInt(content, 10);
|
|
214
|
-
if (isNaN(pid) || pid <= 0) {
|
|
215
|
-
// Invalid PID content — use CAS removal so we don't delete a fresh PID
|
|
216
|
-
// written by a concurrent daemon start between our read and this removal.
|
|
217
|
-
yield* removePidIfContentMatches(content);
|
|
218
|
-
return null;
|
|
219
|
-
}
|
|
220
|
-
// Check if the process is still running
|
|
221
|
-
const running = yield* isProcessRunning(pid);
|
|
222
|
-
if (!running) {
|
|
223
|
-
// Stale PID — use CAS removal so we don't delete a fresh PID written
|
|
224
|
-
// by a concurrent daemon start between isProcessRunning() and here.
|
|
225
|
-
yield* removePidIfContentMatches(content);
|
|
226
|
-
return null;
|
|
227
|
-
}
|
|
228
|
-
return pid;
|
|
229
|
-
});
|
|
230
|
-
/**
|
|
231
|
-
* Remove the daemon PID file.
|
|
232
|
-
* Does nothing if the file doesn't exist.
|
|
233
|
-
*
|
|
234
|
-
* @returns Effect that resolves to void on success
|
|
235
|
-
*/
|
|
236
|
-
export const removePid = () => Effect.try({
|
|
237
|
-
try: () => {
|
|
238
|
-
if (existsSync(PID_FILE_PATH)) {
|
|
239
|
-
unlinkSync(PID_FILE_PATH);
|
|
240
|
-
}
|
|
241
|
-
},
|
|
242
|
-
catch: (error) => new DaemonError({
|
|
243
|
-
code: "PID_REMOVE_FAILED",
|
|
244
|
-
reason: `Failed to remove PID file: ${error}`,
|
|
245
|
-
pid: null
|
|
246
|
-
})
|
|
247
|
-
});
|
|
248
|
-
/**
|
|
249
|
-
* Remove the PID file only if its current content matches the expected value.
|
|
250
|
-
*
|
|
251
|
-
* This is a compare-and-swap guard that prevents the TOCTOU race where
|
|
252
|
-
* readPid()'s stale cleanup could delete a freshly-written PID file created
|
|
253
|
-
* by a concurrent daemon start. Between isProcessRunning() returning false
|
|
254
|
-
* and removePid() executing, a new daemon may have written a fresh PID.
|
|
255
|
-
*
|
|
256
|
-
* If the file no longer exists or its content has changed, this is a no-op.
|
|
257
|
-
*
|
|
258
|
-
* @param expectedContent - The PID file content we originally read
|
|
259
|
-
* @returns Effect that resolves to void on success
|
|
260
|
-
*/
|
|
261
|
-
export const removePidIfContentMatches = (expectedContent) => Effect.try({
|
|
262
|
-
try: () => {
|
|
263
|
-
if (!existsSync(PID_FILE_PATH)) {
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
const currentContent = readFileSync(PID_FILE_PATH, "utf-8").trim();
|
|
267
|
-
if (currentContent === expectedContent) {
|
|
268
|
-
unlinkSync(PID_FILE_PATH);
|
|
269
|
-
}
|
|
270
|
-
// Content changed — a concurrent start wrote a fresh PID. Do not delete.
|
|
271
|
-
},
|
|
272
|
-
catch: (error) => new DaemonError({
|
|
273
|
-
code: "PID_REMOVE_FAILED",
|
|
274
|
-
reason: `Failed to remove PID file: ${error}`,
|
|
275
|
-
pid: null
|
|
276
|
-
})
|
|
277
|
-
});
|
|
278
|
-
/**
|
|
279
|
-
* Path to store the daemon start timestamp for uptime calculation.
|
|
280
|
-
*/
|
|
281
|
-
const STARTED_AT_PATH = ".tx/daemon.started";
|
|
282
|
-
/**
|
|
283
|
-
* Write the daemon start timestamp to a file.
|
|
284
|
-
*/
|
|
285
|
-
const writeStartedAt = (date) => Effect.try({
|
|
286
|
-
try: () => {
|
|
287
|
-
const dir = dirname(STARTED_AT_PATH);
|
|
288
|
-
if (!existsSync(dir)) {
|
|
289
|
-
mkdirSync(dir, { recursive: true });
|
|
290
|
-
}
|
|
291
|
-
writeFileSync(STARTED_AT_PATH, date.toISOString(), "utf-8");
|
|
292
|
-
},
|
|
293
|
-
catch: (error) => new DaemonError({
|
|
294
|
-
code: "STARTED_AT_WRITE_FAILED",
|
|
295
|
-
reason: `Failed to write started_at file: ${error}`,
|
|
296
|
-
pid: null
|
|
297
|
-
})
|
|
298
|
-
});
|
|
299
|
-
/**
|
|
300
|
-
* Read the daemon start timestamp from file.
|
|
301
|
-
*/
|
|
302
|
-
const readStartedAt = () => Effect.try({
|
|
303
|
-
try: () => {
|
|
304
|
-
if (!existsSync(STARTED_AT_PATH)) {
|
|
305
|
-
return null;
|
|
306
|
-
}
|
|
307
|
-
const content = readFileSync(STARTED_AT_PATH, "utf-8").trim();
|
|
308
|
-
const date = new Date(content);
|
|
309
|
-
return isNaN(date.getTime()) ? null : date;
|
|
310
|
-
},
|
|
311
|
-
catch: (error) => new DaemonError({
|
|
312
|
-
code: "STARTED_AT_READ_FAILED",
|
|
313
|
-
reason: `Failed to read started_at file: ${error}`,
|
|
314
|
-
pid: null
|
|
315
|
-
})
|
|
316
|
-
});
|
|
317
|
-
/**
|
|
318
|
-
* Remove the daemon start timestamp file.
|
|
319
|
-
*/
|
|
320
|
-
const removeStartedAt = () => Effect.try({
|
|
321
|
-
try: () => {
|
|
322
|
-
if (existsSync(STARTED_AT_PATH)) {
|
|
323
|
-
unlinkSync(STARTED_AT_PATH);
|
|
324
|
-
}
|
|
325
|
-
},
|
|
326
|
-
catch: (error) => new DaemonError({
|
|
327
|
-
code: "STARTED_AT_REMOVE_FAILED",
|
|
328
|
-
reason: `Failed to remove started_at file: ${error}`,
|
|
329
|
-
pid: null
|
|
330
|
-
})
|
|
331
|
-
});
|
|
332
|
-
/**
|
|
333
|
-
* Send a signal to a process by PID.
|
|
334
|
-
* Returns true if the signal was sent successfully, false if the process doesn't exist.
|
|
335
|
-
*/
|
|
336
|
-
const sendSignal = (pid, signal) => Effect.try({
|
|
337
|
-
try: () => {
|
|
338
|
-
process.kill(pid, signal);
|
|
339
|
-
return true;
|
|
340
|
-
},
|
|
341
|
-
catch: (error) => error
|
|
342
|
-
}).pipe(Effect.catchAll((error) => {
|
|
343
|
-
// ESRCH means no such process - return false (not running) as success value
|
|
344
|
-
if (error instanceof Error && "code" in error && error.code === "ESRCH") {
|
|
345
|
-
return Effect.succeed(false);
|
|
346
|
-
}
|
|
347
|
-
// Any other error is unexpected - convert to DaemonError
|
|
348
|
-
return Effect.fail(new DaemonError({
|
|
349
|
-
code: "SIGNAL_FAILED",
|
|
350
|
-
reason: `Failed to send signal ${signal} to process ${pid}: ${error}`,
|
|
351
|
-
pid
|
|
352
|
-
}));
|
|
353
|
-
}));
|
|
354
|
-
/**
|
|
355
|
-
* Wait for a process to exit with a timeout.
|
|
356
|
-
* Returns true if the process exited, false if timeout was reached.
|
|
357
|
-
*/
|
|
358
|
-
const waitForExit = (pid, timeoutMs) => Effect.gen(function* () {
|
|
359
|
-
const startTime = Date.now();
|
|
360
|
-
const pollIntervalMs = 100;
|
|
361
|
-
while (Date.now() - startTime < timeoutMs) {
|
|
362
|
-
const running = yield* isProcessRunning(pid);
|
|
363
|
-
if (!running) {
|
|
364
|
-
return true;
|
|
365
|
-
}
|
|
366
|
-
yield* Effect.sleep(`${pollIntervalMs} millis`);
|
|
367
|
-
}
|
|
368
|
-
return false;
|
|
369
|
-
});
|
|
370
18
|
/**
|
|
371
19
|
* Default daemon configuration.
|
|
372
20
|
*/
|
|
@@ -432,96 +80,12 @@ const spawnDaemonProcess = (config) => new Promise((resolve, reject) => {
|
|
|
432
80
|
// No PID and no error - reject to prevent the promise from hanging forever
|
|
433
81
|
reject(new DaemonError({
|
|
434
82
|
code: "SPAWN_FAILED",
|
|
435
|
-
reason:
|
|
83
|
+
reason: "Failed to spawn daemon process: no PID was assigned",
|
|
436
84
|
pid: null
|
|
437
85
|
}));
|
|
438
86
|
}
|
|
439
87
|
});
|
|
440
88
|
});
|
|
441
|
-
/**
|
|
442
|
-
* Try to atomically create the PID file using O_EXCL.
|
|
443
|
-
* Returns true if created successfully, false if the file already exists.
|
|
444
|
-
* This is the atomic primitive that prevents the TOCTOU race condition.
|
|
445
|
-
*/
|
|
446
|
-
export const tryAtomicPidCreate = () => Effect.try({
|
|
447
|
-
try: () => {
|
|
448
|
-
// O_CREAT | O_EXCL | O_WRONLY — fails with EEXIST if file already exists
|
|
449
|
-
const fd = openSync(PID_FILE_PATH, "wx");
|
|
450
|
-
// Write the lock holder's PID so stale detection works.
|
|
451
|
-
// This is the `tx daemon start` process PID, not the daemon PID.
|
|
452
|
-
// After spawning, writePid() overwrites with the actual daemon PID.
|
|
453
|
-
writeSync(fd, String(process.pid));
|
|
454
|
-
closeSync(fd);
|
|
455
|
-
return true;
|
|
456
|
-
},
|
|
457
|
-
catch: (error) => error
|
|
458
|
-
}).pipe(Effect.catchAll((error) => {
|
|
459
|
-
if (error instanceof Error && "code" in error && error.code === "EEXIST") {
|
|
460
|
-
return Effect.succeed(false);
|
|
461
|
-
}
|
|
462
|
-
return Effect.fail(new DaemonError({
|
|
463
|
-
code: "PID_WRITE_FAILED",
|
|
464
|
-
reason: `Failed to create PID lock file: ${error}`,
|
|
465
|
-
pid: null
|
|
466
|
-
}));
|
|
467
|
-
}));
|
|
468
|
-
/**
|
|
469
|
-
* Atomically acquire the daemon PID file lock.
|
|
470
|
-
*
|
|
471
|
-
* Uses O_EXCL flag to prevent the TOCTOU race condition where two concurrent
|
|
472
|
-
* `tx daemon start` commands both pass the existence check before either writes
|
|
473
|
-
* the PID file. With O_EXCL, the filesystem guarantees only one process can
|
|
474
|
-
* create the file — the loser gets EEXIST immediately.
|
|
475
|
-
*
|
|
476
|
-
* If the file already exists, checks whether the PID is stale (process dead).
|
|
477
|
-
* Stale files are removed and creation is retried once.
|
|
478
|
-
*/
|
|
479
|
-
export const acquirePidLock = () => Effect.gen(function* () {
|
|
480
|
-
const dir = dirname(PID_FILE_PATH);
|
|
481
|
-
if (!existsSync(dir)) {
|
|
482
|
-
mkdirSync(dir, { recursive: true });
|
|
483
|
-
}
|
|
484
|
-
// First attempt: atomic file creation
|
|
485
|
-
const created = yield* tryAtomicPidCreate();
|
|
486
|
-
if (created)
|
|
487
|
-
return;
|
|
488
|
-
// File already exists — check if the PID inside is stale
|
|
489
|
-
const existingContent = yield* Effect.try({
|
|
490
|
-
try: () => existsSync(PID_FILE_PATH) ? readFileSync(PID_FILE_PATH, "utf-8").trim() : null,
|
|
491
|
-
catch: (error) => new DaemonError({
|
|
492
|
-
code: "PID_READ_FAILED",
|
|
493
|
-
reason: `Failed to read existing PID file: ${error}`,
|
|
494
|
-
pid: null
|
|
495
|
-
})
|
|
496
|
-
});
|
|
497
|
-
if (existingContent !== null && existingContent !== "") {
|
|
498
|
-
const pid = parseInt(existingContent, 10);
|
|
499
|
-
if (!isNaN(pid) && pid > 0) {
|
|
500
|
-
const running = yield* isProcessRunning(pid);
|
|
501
|
-
if (running) {
|
|
502
|
-
return yield* Effect.fail(new DaemonError({
|
|
503
|
-
code: "ALREADY_RUNNING",
|
|
504
|
-
reason: `Daemon is already running with PID ${pid}`,
|
|
505
|
-
pid
|
|
506
|
-
}));
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
// PID file is stale — CAS removal to avoid deleting a fresh PID written
|
|
511
|
-
// by a concurrent start that raced us between isProcessRunning() and here.
|
|
512
|
-
if (existingContent !== null) {
|
|
513
|
-
yield* removePidIfContentMatches(existingContent);
|
|
514
|
-
}
|
|
515
|
-
const retryCreated = yield* tryAtomicPidCreate();
|
|
516
|
-
if (!retryCreated) {
|
|
517
|
-
// Another process won the race after our stale cleanup
|
|
518
|
-
return yield* Effect.fail(new DaemonError({
|
|
519
|
-
code: "ALREADY_RUNNING",
|
|
520
|
-
reason: "Another daemon start is in progress",
|
|
521
|
-
pid: null
|
|
522
|
-
}));
|
|
523
|
-
}
|
|
524
|
-
});
|
|
525
89
|
/**
|
|
526
90
|
* Internal start implementation for the daemon.
|
|
527
91
|
* Extracted to allow reuse in restart without circular dependency.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-service.js","sourceRoot":"","sources":["../../src/services/daemon-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon-service.js","sourceRoot":"","sources":["../../src/services/daemon-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { DocRepository } from "../repo/doc-repo.js";
|
|
3
|
-
import { ValidationError, DocNotFoundError, DocLockedError, InvalidDocYamlError, InvariantNotFoundError } from "../errors.js";
|
|
4
|
-
import type { DatabaseError } from "../errors.js";
|
|
5
|
-
import type { Doc, DocLink, Invariant, InvariantCheck, DocKind, DocLinkType, TaskDocLinkType, DocGraph } from "@jamesaphoenix/tx-types";
|
|
6
|
-
declare const DocService_base: Context.TagClass<DocService, "DocService", {
|
|
7
|
-
create: (input: {
|
|
8
|
-
kind: DocKind;
|
|
9
|
-
name: string;
|
|
10
|
-
title: string;
|
|
11
|
-
yamlContent: string;
|
|
12
|
-
metadata?: Record<string, unknown>;
|
|
13
|
-
}) => Effect.Effect<Doc, ValidationError | InvalidDocYamlError | DatabaseError>;
|
|
14
|
-
get: (name: string, version?: number) => Effect.Effect<Doc, DocNotFoundError | DatabaseError>;
|
|
15
|
-
update: (name: string, yamlContent: string) => Effect.Effect<Doc, DocNotFoundError | DocLockedError | InvalidDocYamlError | DatabaseError>;
|
|
16
|
-
lock: (name: string) => Effect.Effect<Doc, DocNotFoundError | DatabaseError>;
|
|
17
|
-
list: (filter?: {
|
|
18
|
-
kind?: string;
|
|
19
|
-
status?: string;
|
|
20
|
-
}) => Effect.Effect<Doc[], DatabaseError>;
|
|
21
|
-
remove: (name: string) => Effect.Effect<void, DocNotFoundError | DocLockedError | DatabaseError>;
|
|
22
|
-
render: (name?: string) => Effect.Effect<string[], DocNotFoundError | DatabaseError>;
|
|
23
|
-
createVersion: (name: string) => Effect.Effect<Doc, DocNotFoundError | ValidationError | DatabaseError>;
|
|
24
|
-
linkDocs: (fromName: string, toName: string, linkType?: DocLinkType) => Effect.Effect<DocLink, DocNotFoundError | ValidationError | DatabaseError>;
|
|
25
|
-
attachTask: (taskId: string, docName: string, linkType?: TaskDocLinkType) => Effect.Effect<void, DocNotFoundError | DatabaseError>;
|
|
26
|
-
createPatch: (designName: string, patchName: string, patchTitle: string) => Effect.Effect<Doc, DocNotFoundError | ValidationError | DatabaseError>;
|
|
27
|
-
validate: () => Effect.Effect<string[], DatabaseError>;
|
|
28
|
-
detectDrift: (name: string) => Effect.Effect<string[], DocNotFoundError | DatabaseError>;
|
|
29
|
-
generateIndex: () => Effect.Effect<void, DatabaseError>;
|
|
30
|
-
syncInvariants: (docName?: string) => Effect.Effect<Invariant[], DocNotFoundError | DatabaseError>;
|
|
31
|
-
listInvariants: (filter?: {
|
|
32
|
-
subsystem?: string;
|
|
33
|
-
enforcement?: string;
|
|
34
|
-
}) => Effect.Effect<Invariant[], DatabaseError>;
|
|
35
|
-
recordInvariantCheck: (id: string, passed: boolean, details?: string | null, durationMs?: number | null) => Effect.Effect<InvariantCheck, InvariantNotFoundError | DatabaseError>;
|
|
36
|
-
getDocGraph: () => Effect.Effect<DocGraph, DatabaseError>;
|
|
37
|
-
}>;
|
|
38
|
-
export declare class DocService extends DocService_base {
|
|
39
|
-
}
|
|
40
|
-
export declare const DocServiceLive: Layer.Layer<DocService, never, DocRepository>;
|
|
41
|
-
export {};
|
|
1
|
+
export { DocService, DocServiceLive, } from "../internal/doc-service-impl.js";
|
|
42
2
|
//# sourceMappingURL=doc-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-service.d.ts","sourceRoot":"","sources":["../../src/services/doc-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doc-service.d.ts","sourceRoot":"","sources":["../../src/services/doc-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,GACf,MAAM,iCAAiC,CAAA"}
|