@jamesaphoenix/tx-core 0.4.2 → 0.4.4
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/README.md +480 -0
- package/dist/db.d.ts +28 -14
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +108 -14
- package/dist/db.js.map +1 -1
- package/dist/errors.d.ts +178 -34
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +119 -26
- package/dist/errors.js.map +1 -1
- package/dist/id.d.ts +10 -0
- package/dist/id.d.ts.map +1 -1
- package/dist/id.js +17 -1
- package/dist/id.js.map +1 -1
- package/dist/index.d.ts +15 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +62 -8
- package/dist/index.js.map +1 -1
- package/dist/layer.d.ts +23 -14
- package/dist/layer.d.ts.map +1 -1
- package/dist/layer.js +75 -76
- package/dist/layer.js.map +1 -1
- package/dist/mappers/attempt.d.ts +3 -1
- package/dist/mappers/attempt.d.ts.map +1 -1
- package/dist/mappers/attempt.js +23 -9
- package/dist/mappers/attempt.js.map +1 -1
- package/dist/mappers/claim.d.ts +1 -1
- package/dist/mappers/claim.d.ts.map +1 -1
- package/dist/mappers/claim.js +11 -4
- package/dist/mappers/claim.js.map +1 -1
- package/dist/mappers/deduplication.d.ts +13 -1
- package/dist/mappers/deduplication.d.ts.map +1 -1
- package/dist/mappers/deduplication.js +22 -3
- package/dist/mappers/deduplication.js.map +1 -1
- package/dist/mappers/doc.d.ts +24 -0
- package/dist/mappers/doc.d.ts.map +1 -0
- package/dist/mappers/doc.js +161 -0
- package/dist/mappers/doc.js.map +1 -0
- 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 +6 -7
- package/dist/mappers/index.d.ts.map +1 -1
- package/dist/mappers/index.js +10 -12
- package/dist/mappers/index.js.map +1 -1
- package/dist/mappers/learning.d.ts +9 -1
- package/dist/mappers/learning.d.ts.map +1 -1
- package/dist/mappers/learning.js +94 -14
- package/dist/mappers/learning.js.map +1 -1
- package/dist/mappers/orchestrator-state.d.ts +1 -1
- package/dist/mappers/orchestrator-state.d.ts.map +1 -1
- package/dist/mappers/orchestrator-state.js +31 -5
- package/dist/mappers/orchestrator-state.js.map +1 -1
- package/dist/mappers/parse-date.d.ts +11 -0
- package/dist/mappers/parse-date.d.ts.map +1 -0
- package/dist/mappers/parse-date.js +18 -0
- package/dist/mappers/parse-date.js.map +1 -0
- package/dist/mappers/run.d.ts +14 -4
- package/dist/mappers/run.d.ts.map +1 -1
- package/dist/mappers/run.js +49 -18
- package/dist/mappers/run.js.map +1 -1
- package/dist/mappers/task.d.ts +5 -1
- package/dist/mappers/task.d.ts.map +1 -1
- package/dist/mappers/task.js +66 -16
- package/dist/mappers/task.js.map +1 -1
- package/dist/mappers/tracked-project.d.ts +3 -1
- package/dist/mappers/tracked-project.d.ts.map +1 -1
- package/dist/mappers/tracked-project.js +23 -9
- package/dist/mappers/tracked-project.js.map +1 -1
- package/dist/mappers/worker.d.ts +1 -1
- package/dist/mappers/worker.d.ts.map +1 -1
- package/dist/mappers/worker.js +44 -6
- package/dist/mappers/worker.js.map +1 -1
- package/dist/repo/attempt-repo.d.ts +2 -2
- package/dist/repo/attempt-repo.d.ts.map +1 -1
- package/dist/repo/attempt-repo.js +16 -6
- package/dist/repo/attempt-repo.js.map +1 -1
- package/dist/repo/claim-repo.d.ts +46 -2
- package/dist/repo/claim-repo.d.ts.map +1 -1
- package/dist/repo/claim-repo.js +113 -6
- package/dist/repo/claim-repo.js.map +1 -1
- package/dist/repo/deduplication-repo.d.ts +9 -1
- package/dist/repo/deduplication-repo.d.ts.map +1 -1
- package/dist/repo/deduplication-repo.js +46 -9
- package/dist/repo/deduplication-repo.js.map +1 -1
- package/dist/repo/dep-repo.d.ts +27 -3
- package/dist/repo/dep-repo.d.ts.map +1 -1
- package/dist/repo/dep-repo.js +166 -39
- package/dist/repo/dep-repo.js.map +1 -1
- package/dist/repo/doc-repo.d.ts +59 -0
- package/dist/repo/doc-repo.d.ts.map +1 -0
- package/dist/repo/doc-repo.js +276 -0
- package/dist/repo/doc-repo.js.map +1 -0
- package/dist/repo/file-learning-repo.d.ts +3 -3
- package/dist/repo/file-learning-repo.d.ts.map +1 -1
- package/dist/repo/file-learning-repo.js +19 -8
- package/dist/repo/file-learning-repo.js.map +1 -1
- package/dist/repo/index.d.ts +4 -6
- package/dist/repo/index.d.ts.map +1 -1
- package/dist/repo/index.js +3 -5
- package/dist/repo/index.js.map +1 -1
- package/dist/repo/learning-repo.d.ts +10 -3
- package/dist/repo/learning-repo.d.ts.map +1 -1
- package/dist/repo/learning-repo.js +68 -11
- package/dist/repo/learning-repo.js.map +1 -1
- package/dist/repo/orchestrator-state-repo.d.ts.map +1 -1
- package/dist/repo/orchestrator-state-repo.js +8 -1
- package/dist/repo/orchestrator-state-repo.js.map +1 -1
- package/dist/repo/run-repo.d.ts +3 -3
- package/dist/repo/run-repo.d.ts.map +1 -1
- package/dist/repo/run-repo.js +40 -19
- package/dist/repo/run-repo.js.map +1 -1
- package/dist/repo/task-repo.d.ts +14 -3
- package/dist/repo/task-repo.d.ts.map +1 -1
- package/dist/repo/task-repo.js +194 -20
- 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 +15 -1
- package/dist/repo/tracked-project-repo.js.map +1 -1
- package/dist/repo/worker-repo.d.ts +3 -2
- package/dist/repo/worker-repo.d.ts.map +1 -1
- package/dist/repo/worker-repo.js +54 -8
- package/dist/repo/worker-repo.js.map +1 -1
- package/dist/schemas/sync.js +2 -2
- package/dist/schemas/sync.js.map +1 -1
- package/dist/schemas/worker.d.ts +1 -0
- package/dist/schemas/worker.d.ts.map +1 -1
- package/dist/schemas/worker.js +1 -0
- package/dist/schemas/worker.js.map +1 -1
- package/dist/services/agent-service.d.ts +57 -0
- package/dist/services/agent-service.d.ts.map +1 -0
- package/dist/services/agent-service.js +81 -0
- package/dist/services/agent-service.js.map +1 -0
- package/dist/services/attempt-service.d.ts.map +1 -1
- package/dist/services/attempt-service.js +1 -4
- package/dist/services/attempt-service.js.map +1 -1
- package/dist/services/auto-sync-service.d.ts.map +1 -1
- package/dist/services/auto-sync-service.js +18 -10
- package/dist/services/auto-sync-service.js.map +1 -1
- package/dist/services/claim-service.d.ts +8 -2
- package/dist/services/claim-service.d.ts.map +1 -1
- package/dist/services/claim-service.js +37 -23
- package/dist/services/claim-service.js.map +1 -1
- package/dist/services/cycle-scan-service.d.ts +32 -0
- package/dist/services/cycle-scan-service.d.ts.map +1 -0
- package/dist/services/cycle-scan-service.js +546 -0
- package/dist/services/cycle-scan-service.js.map +1 -0
- package/dist/services/daemon-service.d.ts +40 -2
- package/dist/services/daemon-service.d.ts.map +1 -1
- package/dist/services/daemon-service.js +199 -52
- package/dist/services/daemon-service.js.map +1 -1
- package/dist/services/deduplication-service.d.ts +8 -4
- package/dist/services/deduplication-service.d.ts.map +1 -1
- package/dist/services/deduplication-service.js +79 -25
- package/dist/services/deduplication-service.js.map +1 -1
- package/dist/services/dep-service.d.ts +2 -2
- package/dist/services/dep-service.d.ts.map +1 -1
- package/dist/services/dep-service.js +9 -5
- package/dist/services/dep-service.js.map +1 -1
- package/dist/services/diversifier-service.d.ts +2 -1
- package/dist/services/diversifier-service.d.ts.map +1 -1
- package/dist/services/diversifier-service.js +37 -43
- package/dist/services/diversifier-service.js.map +1 -1
- package/dist/services/doc-service.d.ts +49 -0
- package/dist/services/doc-service.d.ts.map +1 -0
- package/dist/services/doc-service.js +605 -0
- package/dist/services/doc-service.js.map +1 -0
- package/dist/services/embedding-service.d.ts +66 -2
- package/dist/services/embedding-service.d.ts.map +1 -1
- package/dist/services/embedding-service.js +138 -24
- package/dist/services/embedding-service.js.map +1 -1
- package/dist/services/file-learning-service.d.ts.map +1 -1
- package/dist/services/file-learning-service.js +8 -7
- package/dist/services/file-learning-service.js.map +1 -1
- package/dist/services/file-watcher-service.d.ts.map +1 -1
- package/dist/services/file-watcher-service.js +58 -11
- package/dist/services/file-watcher-service.js.map +1 -1
- package/dist/services/hierarchy-service.d.ts +1 -1
- package/dist/services/hierarchy-service.d.ts.map +1 -1
- package/dist/services/hierarchy-service.js +50 -32
- package/dist/services/hierarchy-service.js.map +1 -1
- package/dist/services/index.d.ts +13 -15
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +13 -15
- package/dist/services/index.js.map +1 -1
- package/dist/services/learning-service.d.ts +3 -3
- package/dist/services/learning-service.d.ts.map +1 -1
- package/dist/services/learning-service.js +75 -42
- package/dist/services/learning-service.js.map +1 -1
- package/dist/services/llm-service.d.ts +62 -0
- package/dist/services/llm-service.d.ts.map +1 -0
- package/dist/services/llm-service.js +172 -0
- package/dist/services/llm-service.js.map +1 -0
- package/dist/services/migration-service.d.ts +1 -1
- package/dist/services/migration-service.d.ts.map +1 -1
- package/dist/services/migration-service.js +18 -7
- package/dist/services/migration-service.js.map +1 -1
- package/dist/services/orchestrator-service.d.ts +4 -3
- package/dist/services/orchestrator-service.d.ts.map +1 -1
- package/dist/services/orchestrator-service.js +66 -27
- package/dist/services/orchestrator-service.js.map +1 -1
- package/dist/services/query-expansion-service.d.ts +30 -9
- package/dist/services/query-expansion-service.d.ts.map +1 -1
- package/dist/services/query-expansion-service.js +54 -63
- package/dist/services/query-expansion-service.js.map +1 -1
- package/dist/services/ready-service.d.ts +21 -1
- package/dist/services/ready-service.d.ts.map +1 -1
- package/dist/services/ready-service.js +44 -21
- package/dist/services/ready-service.js.map +1 -1
- package/dist/services/retriever-service.d.ts +10 -10
- package/dist/services/retriever-service.d.ts.map +1 -1
- package/dist/services/retriever-service.js +53 -161
- package/dist/services/retriever-service.js.map +1 -1
- package/dist/services/sync-service.d.ts +17 -4
- package/dist/services/sync-service.d.ts.map +1 -1
- package/dist/services/sync-service.js +381 -116
- package/dist/services/sync-service.js.map +1 -1
- package/dist/services/task-service.d.ts +6 -4
- package/dist/services/task-service.d.ts.map +1 -1
- package/dist/services/task-service.js +165 -35
- package/dist/services/task-service.js.map +1 -1
- package/dist/services/tracing-service.d.ts +55 -0
- package/dist/services/tracing-service.d.ts.map +1 -0
- package/dist/services/tracing-service.js +99 -0
- package/dist/services/tracing-service.js.map +1 -0
- package/dist/services/transcript-adapter.d.ts +99 -0
- package/dist/services/transcript-adapter.d.ts.map +1 -0
- package/dist/services/transcript-adapter.js +283 -0
- package/dist/services/transcript-adapter.js.map +1 -0
- package/dist/services/validation-service.d.ts +85 -0
- package/dist/services/validation-service.d.ts.map +1 -0
- package/dist/services/validation-service.js +289 -0
- package/dist/services/validation-service.js.map +1 -0
- package/dist/services/worker-process.d.ts +23 -4
- package/dist/services/worker-process.d.ts.map +1 -1
- package/dist/services/worker-process.js +168 -72
- package/dist/services/worker-process.js.map +1 -1
- package/dist/services/worker-service.d.ts.map +1 -1
- package/dist/services/worker-service.js +7 -12
- package/dist/services/worker-service.js.map +1 -1
- package/dist/sync/claude-task-writer.d.ts +49 -0
- package/dist/sync/claude-task-writer.d.ts.map +1 -0
- package/dist/sync/claude-task-writer.js +135 -0
- package/dist/sync/claude-task-writer.js.map +1 -0
- package/dist/utils/doc-hash.d.ts +10 -0
- package/dist/utils/doc-hash.d.ts.map +1 -0
- package/dist/utils/doc-hash.js +14 -0
- package/dist/utils/doc-hash.js.map +1 -0
- package/dist/utils/doc-renderer.d.ts +44 -0
- package/dist/utils/doc-renderer.d.ts.map +1 -0
- package/dist/utils/doc-renderer.js +202 -0
- package/dist/utils/doc-renderer.js.map +1 -0
- package/dist/utils/math.d.ts +5 -1
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/math.js +12 -4
- package/dist/utils/math.js.map +1 -1
- package/dist/utils/sql.d.ts +9 -0
- package/dist/utils/sql.d.ts.map +1 -0
- package/dist/utils/sql.js +9 -0
- package/dist/utils/sql.js.map +1 -0
- package/dist/utils/toml-config.d.ts +22 -0
- package/dist/utils/toml-config.d.ts.map +1 -0
- package/dist/utils/toml-config.js +75 -0
- package/dist/utils/toml-config.js.map +1 -0
- package/dist/worker/hooks.d.ts +102 -0
- package/dist/worker/hooks.d.ts.map +1 -0
- package/dist/worker/hooks.js +11 -0
- package/dist/worker/hooks.js.map +1 -0
- package/dist/worker/index.d.ts +9 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +8 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/run-worker.d.ts +33 -0
- package/dist/worker/run-worker.d.ts.map +1 -0
- package/dist/worker/run-worker.js +265 -0
- package/dist/worker/run-worker.js.map +1 -0
- package/package.json +14 -12
- package/dist/mappers/anchor.d.ts +0 -14
- package/dist/mappers/anchor.d.ts.map +0 -1
- package/dist/mappers/anchor.js +0 -38
- package/dist/mappers/anchor.js.map +0 -1
- package/dist/mappers/candidate.d.ts +0 -23
- package/dist/mappers/candidate.d.ts.map +0 -1
- package/dist/mappers/candidate.js +0 -53
- package/dist/mappers/candidate.js.map +0 -1
- package/dist/mappers/edge.d.ts +0 -10
- package/dist/mappers/edge.d.ts.map +0 -1
- package/dist/mappers/edge.js +0 -19
- package/dist/mappers/edge.js.map +0 -1
- package/dist/repo/anchor-repo.d.ts +0 -52
- package/dist/repo/anchor-repo.d.ts.map +0 -1
- package/dist/repo/anchor-repo.js +0 -204
- package/dist/repo/anchor-repo.js.map +0 -1
- package/dist/repo/candidate-repo.d.ts +0 -16
- package/dist/repo/candidate-repo.d.ts.map +0 -1
- package/dist/repo/candidate-repo.js +0 -143
- package/dist/repo/candidate-repo.js.map +0 -1
- package/dist/repo/edge-repo.d.ts +0 -26
- package/dist/repo/edge-repo.d.ts.map +0 -1
- package/dist/repo/edge-repo.js +0 -227
- package/dist/repo/edge-repo.js.map +0 -1
- package/dist/services/anchor-service.d.ts +0 -147
- package/dist/services/anchor-service.d.ts.map +0 -1
- package/dist/services/anchor-service.js +0 -540
- package/dist/services/anchor-service.js.map +0 -1
- package/dist/services/anchor-verification.d.ts +0 -94
- package/dist/services/anchor-verification.d.ts.map +0 -1
- package/dist/services/anchor-verification.js +0 -617
- package/dist/services/anchor-verification.js.map +0 -1
- package/dist/services/ast-grep-service.d.ts +0 -58
- package/dist/services/ast-grep-service.d.ts.map +0 -1
- package/dist/services/ast-grep-service.js +0 -356
- package/dist/services/ast-grep-service.js.map +0 -1
- package/dist/services/candidate-extractor-service.d.ts +0 -56
- package/dist/services/candidate-extractor-service.d.ts.map +0 -1
- package/dist/services/candidate-extractor-service.js +0 -365
- package/dist/services/candidate-extractor-service.js.map +0 -1
- package/dist/services/edge-service.d.ts +0 -78
- package/dist/services/edge-service.d.ts.map +0 -1
- package/dist/services/edge-service.js +0 -158
- package/dist/services/edge-service.js.map +0 -1
- package/dist/services/feedback-tracker.d.ts +0 -64
- package/dist/services/feedback-tracker.d.ts.map +0 -1
- package/dist/services/feedback-tracker.js +0 -110
- package/dist/services/feedback-tracker.js.map +0 -1
- package/dist/services/graph-expansion.d.ts +0 -155
- package/dist/services/graph-expansion.d.ts.map +0 -1
- package/dist/services/graph-expansion.js +0 -466
- package/dist/services/graph-expansion.js.map +0 -1
- package/dist/services/promotion-service.d.ts +0 -67
- package/dist/services/promotion-service.d.ts.map +0 -1
- package/dist/services/promotion-service.js +0 -151
- package/dist/services/promotion-service.js.map +0 -1
- package/dist/services/swarm-verification.d.ts +0 -104
- package/dist/services/swarm-verification.d.ts.map +0 -1
- package/dist/services/swarm-verification.js +0 -400
- package/dist/services/swarm-verification.js.map +0 -1
|
@@ -2,16 +2,54 @@
|
|
|
2
2
|
* WorkerProcess - PRD-018
|
|
3
3
|
*
|
|
4
4
|
* Implements the worker process with heartbeat fiber, lease renewal,
|
|
5
|
-
*
|
|
5
|
+
* agent subprocess management, and graceful shutdown handling.
|
|
6
6
|
* Uses Effect-TS patterns per DD-002.
|
|
7
7
|
*/
|
|
8
|
-
import { Effect, Duration, Fiber, Ref } from "effect";
|
|
8
|
+
import { Effect, Duration, Fiber, Ref, Schedule } from "effect";
|
|
9
9
|
import { spawn } from "child_process";
|
|
10
10
|
import * as os from "os";
|
|
11
11
|
import { WorkerService } from "./worker-service.js";
|
|
12
12
|
import { ClaimService } from "./claim-service.js";
|
|
13
13
|
import { ReadyService } from "./ready-service.js";
|
|
14
14
|
import { TaskService } from "./task-service.js";
|
|
15
|
+
import { AttemptService } from "./attempt-service.js";
|
|
16
|
+
/**
|
|
17
|
+
* Maximum number of failed attempts before a task is marked as blocked.
|
|
18
|
+
* After this many failures, the task will not be retried automatically.
|
|
19
|
+
*/
|
|
20
|
+
const MAX_RETRIES = 3;
|
|
21
|
+
/**
|
|
22
|
+
* Timeout in milliseconds to wait after SIGTERM before escalating to SIGKILL.
|
|
23
|
+
* If the agent subprocess doesn't exit within this window, it will be forcefully killed.
|
|
24
|
+
*/
|
|
25
|
+
export const SIGKILL_ESCALATION_TIMEOUT_MS = 5_000;
|
|
26
|
+
/**
|
|
27
|
+
* Kill a child process with SIGTERM, escalating to SIGKILL after a timeout.
|
|
28
|
+
*
|
|
29
|
+
* If the process ignores SIGTERM (e.g., traps the signal), it would become orphaned.
|
|
30
|
+
* This function ensures cleanup by sending SIGKILL after SIGKILL_ESCALATION_TIMEOUT_MS.
|
|
31
|
+
*
|
|
32
|
+
* Uses setTimeout with .unref() so the escalation timer doesn't keep the event loop alive
|
|
33
|
+
* during graceful shutdown.
|
|
34
|
+
*/
|
|
35
|
+
export const killWithEscalation = (proc) => {
|
|
36
|
+
if (proc.killed)
|
|
37
|
+
return;
|
|
38
|
+
proc.kill("SIGTERM");
|
|
39
|
+
const escalationTimer = setTimeout(() => {
|
|
40
|
+
try {
|
|
41
|
+
if (!proc.killed) {
|
|
42
|
+
console.log(`Agent process ${proc.pid} did not exit after SIGTERM, escalating to SIGKILL`);
|
|
43
|
+
proc.kill("SIGKILL");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Process may have already exited between the check and kill call
|
|
48
|
+
}
|
|
49
|
+
}, SIGKILL_ESCALATION_TIMEOUT_MS);
|
|
50
|
+
// Don't keep event loop alive waiting for the escalation timer
|
|
51
|
+
escalationTimer.unref();
|
|
52
|
+
};
|
|
15
53
|
/**
|
|
16
54
|
* Run the worker process.
|
|
17
55
|
*
|
|
@@ -29,11 +67,19 @@ export const runWorkerProcess = (config) => Effect.gen(function* () {
|
|
|
29
67
|
const claimService = yield* ClaimService;
|
|
30
68
|
const readyService = yield* ReadyService;
|
|
31
69
|
const taskService = yield* TaskService;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
70
|
+
const attemptService = yield* AttemptService;
|
|
71
|
+
// Mutable worker state (shared with signal handlers and heartbeat fiber via closure)
|
|
72
|
+
// Using plain object instead of Effect Ref to avoid Effect.runSync in signal handlers
|
|
73
|
+
const state = {
|
|
74
|
+
shutdownRequested: false,
|
|
75
|
+
agentProcess: null,
|
|
76
|
+
currentStatus: "idle",
|
|
77
|
+
currentTaskId: undefined
|
|
78
|
+
};
|
|
79
|
+
// Effect Ref for tasksCompleted counter — safe for concurrent fiber access.
|
|
80
|
+
// Separate from MutableWorkerState because it's only accessed from Effect
|
|
81
|
+
// contexts, never from signal handlers
|
|
82
|
+
const tasksCompletedRef = yield* Ref.make(0);
|
|
37
83
|
// Register with orchestrator
|
|
38
84
|
const worker = yield* workerService.register({
|
|
39
85
|
name: config.name,
|
|
@@ -44,36 +90,33 @@ export const runWorkerProcess = (config) => Effect.gen(function* () {
|
|
|
44
90
|
const workerId = worker.id;
|
|
45
91
|
yield* Effect.log(`Worker ${workerId} registered`);
|
|
46
92
|
// Set up signal handlers for graceful shutdown
|
|
93
|
+
// Uses direct mutation - no Effect.runSync needed
|
|
47
94
|
const handleSignal = (signal) => {
|
|
48
95
|
console.log(`Worker ${workerId} received ${signal}`);
|
|
49
|
-
// Mark shutdown as requested
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Effect.runSync(Ref.get(shutdownState).pipe(Effect.map((state) => {
|
|
56
|
-
if (state.claudeProcess && !state.claudeProcess.killed) {
|
|
57
|
-
state.claudeProcess.kill("SIGTERM");
|
|
58
|
-
}
|
|
59
|
-
})));
|
|
96
|
+
// Mark shutdown as requested
|
|
97
|
+
state.shutdownRequested = true;
|
|
98
|
+
// Try to terminate agent subprocess with SIGKILL escalation
|
|
99
|
+
if (state.agentProcess) {
|
|
100
|
+
killWithEscalation(state.agentProcess);
|
|
101
|
+
}
|
|
60
102
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
103
|
+
const sigTermHandler = () => handleSignal("SIGTERM");
|
|
104
|
+
const sigIntHandler = () => handleSignal("SIGINT");
|
|
105
|
+
process.on("SIGTERM", sigTermHandler);
|
|
106
|
+
process.on("SIGINT", sigIntHandler);
|
|
65
107
|
// Heartbeat fiber - runs continuously in background
|
|
66
|
-
const heartbeatFiber = yield* Effect.fork(runHeartbeatLoop(workerId, config.heartbeatIntervalSeconds,
|
|
108
|
+
const heartbeatFiber = yield* Effect.fork(runHeartbeatLoop(workerId, config.heartbeatIntervalSeconds, state, tasksCompletedRef));
|
|
67
109
|
try {
|
|
68
110
|
// Main work loop
|
|
69
111
|
while (true) {
|
|
70
112
|
// Check if shutdown was requested
|
|
71
|
-
|
|
72
|
-
if (state.requested) {
|
|
113
|
+
if (state.shutdownRequested) {
|
|
73
114
|
yield* Effect.log(`Worker ${workerId} shutting down gracefully`);
|
|
74
115
|
break;
|
|
75
116
|
}
|
|
76
|
-
// Update status to idle
|
|
117
|
+
// Update status to idle (both orchestrator and shared state for heartbeat)
|
|
118
|
+
state.currentStatus = "idle";
|
|
119
|
+
state.currentTaskId = undefined;
|
|
77
120
|
yield* workerService.updateStatus(workerId, "idle");
|
|
78
121
|
// Check for available work
|
|
79
122
|
const readyTasks = yield* readyService.getReady(1);
|
|
@@ -92,8 +135,15 @@ export const runWorkerProcess = (config) => Effect.gen(function* () {
|
|
|
92
135
|
}
|
|
93
136
|
const _claim = claimResult.right;
|
|
94
137
|
yield* Effect.log(`Worker ${workerId} claimed task ${task.id}`);
|
|
95
|
-
|
|
138
|
+
// Transition task to 'active' so reconciliation can track it
|
|
139
|
+
yield* taskService.update(task.id, { status: "active" }).pipe(Effect.catchAll((error) => Effect.log(`Failed to set task ${task.id} to active: ${error.message}`)));
|
|
140
|
+
// Mark busy in shared state immediately so heartbeat reports correctly
|
|
141
|
+
// This must happen before the heartbeat call and agent spawn to avoid
|
|
142
|
+
// the race window where heartbeat would report "idle" for a claimed task
|
|
143
|
+
state.currentStatus = "busy";
|
|
144
|
+
state.currentTaskId = task.id;
|
|
96
145
|
// Update worker status to busy with current task
|
|
146
|
+
const currentTasksCompleted = yield* Ref.get(tasksCompletedRef);
|
|
97
147
|
yield* workerService.heartbeat({
|
|
98
148
|
workerId,
|
|
99
149
|
timestamp: new Date(),
|
|
@@ -102,18 +152,19 @@ export const runWorkerProcess = (config) => Effect.gen(function* () {
|
|
|
102
152
|
metrics: {
|
|
103
153
|
cpuPercent: process.cpuUsage().user / 1000000,
|
|
104
154
|
memoryMb: process.memoryUsage().heapUsed / 1024 / 1024,
|
|
105
|
-
tasksCompleted
|
|
155
|
+
tasksCompleted: currentTasksCompleted
|
|
106
156
|
}
|
|
107
157
|
});
|
|
108
158
|
// Select appropriate agent for the task
|
|
109
159
|
const agent = selectAgent(task);
|
|
110
160
|
// Start lease renewal fiber
|
|
161
|
+
const leaseDuration = config.leaseDurationMinutes ?? 30;
|
|
111
162
|
const renewalInterval = config.leaseRenewalIntervalSeconds ??
|
|
112
|
-
|
|
113
|
-
const renewFiber = yield* Effect.fork(runLeaseRenewalLoop(task.id, workerId, renewalInterval,
|
|
163
|
+
Math.floor((leaseDuration * 60) / 3); // Default: renew at 1/3 of lease duration
|
|
164
|
+
const renewFiber = yield* Effect.fork(runLeaseRenewalLoop(task.id, workerId, renewalInterval, state));
|
|
114
165
|
try {
|
|
115
|
-
// Run
|
|
116
|
-
const result = yield*
|
|
166
|
+
// Run agent subprocess
|
|
167
|
+
const result = yield* runAgent(agent, task, workerId, config.workingDirectory ?? process.cwd(), state);
|
|
117
168
|
if (result.success) {
|
|
118
169
|
// Mark task as done
|
|
119
170
|
yield* taskService.update(task.id, { status: "done" });
|
|
@@ -121,10 +172,32 @@ export const runWorkerProcess = (config) => Effect.gen(function* () {
|
|
|
121
172
|
yield* Effect.log(`Task ${task.id} completed successfully`);
|
|
122
173
|
}
|
|
123
174
|
else {
|
|
124
|
-
|
|
175
|
+
// Record the failure attempt
|
|
176
|
+
yield* attemptService
|
|
177
|
+
.create(task.id, agent, "failed", result.error ?? "Unknown error")
|
|
178
|
+
.pipe(Effect.catchAll((error) => Effect.log(`Failed to record attempt for task ${task.id}: ${error.message}`)));
|
|
179
|
+
// Check if max retries exceeded
|
|
180
|
+
const failedCount = yield* attemptService
|
|
181
|
+
.getFailedCount(task.id)
|
|
182
|
+
.pipe(Effect.catchAll(() => Effect.succeed(0)));
|
|
183
|
+
if (failedCount >= MAX_RETRIES) {
|
|
184
|
+
// Circuit breaker: mark task as blocked to stop infinite retries
|
|
185
|
+
yield* taskService
|
|
186
|
+
.update(task.id, { status: "blocked" })
|
|
187
|
+
.pipe(Effect.catchAll((error) => Effect.log(`Failed to block task ${task.id}: ${error.message}`)));
|
|
188
|
+
yield* Effect.log(`Task ${task.id} failed ${failedCount} times (max: ${MAX_RETRIES}), marked blocked`);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
// Reset to backlog so task can be retried by another worker
|
|
192
|
+
yield* taskService
|
|
193
|
+
.update(task.id, { status: "backlog" })
|
|
194
|
+
.pipe(Effect.catchAll((error) => Effect.log(`Failed to reset task ${task.id} status: ${error.message}`)));
|
|
195
|
+
yield* Effect.log(`Task ${task.id} failed (attempt ${failedCount}/${MAX_RETRIES}): ${result.error ?? "Unknown error"}`);
|
|
196
|
+
}
|
|
125
197
|
}
|
|
126
|
-
// Release the claim
|
|
127
|
-
|
|
198
|
+
// Release the claim with retry logic
|
|
199
|
+
// If release fails after retries, log and continue - reconciliation will eventually clean up
|
|
200
|
+
yield* claimService.release(task.id, workerId).pipe(Effect.retry(Schedule.exponential(Duration.seconds(1)).pipe(Schedule.jittered, Schedule.compose(Schedule.recurs(3)))), Effect.catchAll((error) => Effect.log(`Failed to release claim for task ${task.id} after retries: ${error.message}`)));
|
|
128
201
|
}
|
|
129
202
|
finally {
|
|
130
203
|
// Stop renewal fiber
|
|
@@ -135,6 +208,9 @@ export const runWorkerProcess = (config) => Effect.gen(function* () {
|
|
|
135
208
|
yield* workerService.updateStatus(workerId, "stopping");
|
|
136
209
|
}
|
|
137
210
|
finally {
|
|
211
|
+
// Cleanup: remove signal handlers to prevent accumulation on restart
|
|
212
|
+
process.removeListener("SIGTERM", sigTermHandler);
|
|
213
|
+
process.removeListener("SIGINT", sigIntHandler);
|
|
138
214
|
// Cleanup: stop heartbeat fiber and deregister
|
|
139
215
|
yield* Fiber.interrupt(heartbeatFiber);
|
|
140
216
|
// Release any active claims before deregistering
|
|
@@ -147,23 +223,22 @@ export const runWorkerProcess = (config) => Effect.gen(function* () {
|
|
|
147
223
|
* Run the heartbeat loop.
|
|
148
224
|
* Sends periodic heartbeats to the orchestrator.
|
|
149
225
|
*/
|
|
150
|
-
const runHeartbeatLoop = (workerId, intervalSeconds,
|
|
226
|
+
const runHeartbeatLoop = (workerId, intervalSeconds, state, tasksCompletedRef) => Effect.gen(function* () {
|
|
151
227
|
const workerService = yield* WorkerService;
|
|
152
228
|
while (true) {
|
|
153
229
|
// Check shutdown before heartbeat
|
|
154
|
-
|
|
155
|
-
if (state.requested)
|
|
230
|
+
if (state.shutdownRequested)
|
|
156
231
|
break;
|
|
157
|
-
//
|
|
158
|
-
const
|
|
159
|
-
// Read
|
|
232
|
+
// Read status from shared state (set explicitly by the main work loop)
|
|
233
|
+
const { currentStatus, currentTaskId } = state;
|
|
234
|
+
// Read tasksCompleted from Ref (safe concurrent access)
|
|
160
235
|
const tasksCompleted = yield* Ref.get(tasksCompletedRef);
|
|
161
236
|
yield* workerService
|
|
162
237
|
.heartbeat({
|
|
163
238
|
workerId,
|
|
164
239
|
timestamp: new Date(),
|
|
165
|
-
status,
|
|
166
|
-
currentTaskId
|
|
240
|
+
status: currentStatus,
|
|
241
|
+
currentTaskId,
|
|
167
242
|
metrics: {
|
|
168
243
|
cpuPercent: process.cpuUsage().user / 1000000,
|
|
169
244
|
memoryMb: process.memoryUsage().heapUsed / 1024 / 1024,
|
|
@@ -178,45 +253,54 @@ const runHeartbeatLoop = (workerId, intervalSeconds, shutdownState, tasksComplet
|
|
|
178
253
|
* Run the lease renewal loop.
|
|
179
254
|
* Periodically renews the lease on a claimed task.
|
|
180
255
|
*/
|
|
181
|
-
const runLeaseRenewalLoop = (taskId, workerId, intervalSeconds,
|
|
256
|
+
const runLeaseRenewalLoop = (taskId, workerId, intervalSeconds, state) => Effect.gen(function* () {
|
|
182
257
|
const claimService = yield* ClaimService;
|
|
183
258
|
while (true) {
|
|
184
259
|
// Wait before first renewal
|
|
185
260
|
yield* Effect.sleep(Duration.seconds(intervalSeconds));
|
|
186
261
|
// Check shutdown before renewal
|
|
187
|
-
|
|
188
|
-
if (state.requested)
|
|
262
|
+
if (state.shutdownRequested)
|
|
189
263
|
break;
|
|
190
|
-
yield* claimService
|
|
264
|
+
const renewResult = yield* claimService
|
|
191
265
|
.renew(taskId, workerId)
|
|
192
|
-
.pipe(Effect.tap(() => Effect.log(`Renewed lease on task ${taskId}`)), Effect.catchAll((error) => Effect.
|
|
266
|
+
.pipe(Effect.tap(() => Effect.log(`Renewed lease on task ${taskId}`)), Effect.map(() => true), Effect.catchAll((error) => Effect.gen(function* () {
|
|
267
|
+
yield* Effect.log(`CRITICAL: Lease renewal failed for task ${taskId}: ${error.message}. Stopping worker to prevent duplicate execution.`);
|
|
268
|
+
// Stop the worker to prevent duplicate task execution
|
|
269
|
+
// Another worker may have claimed this task after lease expiry
|
|
270
|
+
state.shutdownRequested = true;
|
|
271
|
+
// Kill agent subprocess with SIGKILL escalation
|
|
272
|
+
if (state.agentProcess) {
|
|
273
|
+
killWithEscalation(state.agentProcess);
|
|
274
|
+
}
|
|
275
|
+
return false;
|
|
276
|
+
})));
|
|
277
|
+
// Exit renewal loop if renewal failed
|
|
278
|
+
if (!renewResult)
|
|
279
|
+
break;
|
|
193
280
|
}
|
|
194
281
|
});
|
|
195
282
|
/**
|
|
196
|
-
* Run
|
|
283
|
+
* Run an agent subprocess to work on a task.
|
|
284
|
+
*
|
|
285
|
+
* Uses direct mutation on state object instead of Effect.runSync
|
|
286
|
+
* because this function uses Effect.async with process event callbacks.
|
|
197
287
|
*/
|
|
198
|
-
const
|
|
288
|
+
const runAgent = (agent, task, workerId, workingDirectory, state) => Effect.async((resume) => {
|
|
199
289
|
const prompt = buildPrompt(agent, task);
|
|
200
290
|
const proc = spawn("claude", ["--dangerously-skip-permissions", "--print", prompt], {
|
|
201
291
|
cwd: workingDirectory,
|
|
202
292
|
env: { ...process.env, TX_WORKER_ID: workerId },
|
|
203
293
|
stdio: ["pipe", "pipe", "pipe"]
|
|
204
294
|
});
|
|
205
|
-
// Store the process reference for signal handling
|
|
206
|
-
|
|
207
|
-
...state,
|
|
208
|
-
claudeProcess: proc
|
|
209
|
-
})));
|
|
295
|
+
// Store the process reference for signal handling (direct mutation)
|
|
296
|
+
state.agentProcess = proc;
|
|
210
297
|
let stderr = "";
|
|
211
298
|
proc.stderr?.on("data", (data) => {
|
|
212
299
|
stderr += data.toString();
|
|
213
300
|
});
|
|
214
301
|
proc.on("close", (code) => {
|
|
215
|
-
// Clear the process reference
|
|
216
|
-
|
|
217
|
-
...state,
|
|
218
|
-
claudeProcess: null
|
|
219
|
-
})));
|
|
302
|
+
// Clear the process reference (direct mutation)
|
|
303
|
+
state.agentProcess = null;
|
|
220
304
|
if (code === 0) {
|
|
221
305
|
resume(Effect.succeed({ success: true, exitCode: code ?? 0 }));
|
|
222
306
|
}
|
|
@@ -229,11 +313,8 @@ const runClaude = (agent, task, workerId, workingDirectory, shutdownState) => Ef
|
|
|
229
313
|
}
|
|
230
314
|
});
|
|
231
315
|
proc.on("error", (err) => {
|
|
232
|
-
// Clear the process reference
|
|
233
|
-
|
|
234
|
-
...state,
|
|
235
|
-
claudeProcess: null
|
|
236
|
-
})));
|
|
316
|
+
// Clear the process reference (direct mutation)
|
|
317
|
+
state.agentProcess = null;
|
|
237
318
|
resume(Effect.succeed({
|
|
238
319
|
success: false,
|
|
239
320
|
error: err.message,
|
|
@@ -242,17 +323,32 @@ const runClaude = (agent, task, workerId, workingDirectory, shutdownState) => Ef
|
|
|
242
323
|
});
|
|
243
324
|
});
|
|
244
325
|
/**
|
|
245
|
-
*
|
|
326
|
+
* Sanitize user-provided text for inclusion in agent prompts.
|
|
327
|
+
* Removes characters that could be used for prompt injection or shell escaping.
|
|
328
|
+
* Only allows alphanumeric, spaces, basic punctuation, and common symbols.
|
|
246
329
|
*/
|
|
247
|
-
const
|
|
330
|
+
const sanitizeForPrompt = (text) => text.replace(/[^\w\s.,;:!?'"()\-/+=#@&%]/g, "").slice(0, 500);
|
|
331
|
+
/**
|
|
332
|
+
* Build the prompt for the agent subprocess.
|
|
333
|
+
* Task data is sanitized to prevent prompt injection since the agent
|
|
334
|
+
* runs with --dangerously-skip-permissions.
|
|
335
|
+
*/
|
|
336
|
+
const buildPrompt = (agent, task) => {
|
|
337
|
+
// Only allow valid agent names (alphanumeric + hyphens)
|
|
338
|
+
const safeAgent = agent.replace(/[^a-zA-Z0-9-]/g, "");
|
|
339
|
+
// Task IDs follow a strict format (tx-XXXXXX) — validate shape
|
|
340
|
+
const safeId = /^tx-[a-z0-9]{6,12}$/.test(task.id) ? task.id : "unknown";
|
|
341
|
+
const safeTitle = sanitizeForPrompt(task.title);
|
|
342
|
+
return `Read .claude/agents/${safeAgent}.md for your instructions.
|
|
248
343
|
|
|
249
|
-
Your assigned task: ${
|
|
250
|
-
Task title: ${
|
|
344
|
+
Your assigned task: ${safeId}
|
|
345
|
+
Task title: ${safeTitle}
|
|
251
346
|
|
|
252
|
-
Run \`tx show ${
|
|
253
|
-
When done, run \`tx done ${
|
|
347
|
+
Run \`tx show ${safeId}\` to get full details, then follow your agent instructions.
|
|
348
|
+
When done, run \`tx done ${safeId}\` to mark the task complete.
|
|
254
349
|
If you discover new work, create subtasks with \`tx add\`.
|
|
255
|
-
If you hit a blocker, update the task status: \`tx update ${
|
|
350
|
+
If you hit a blocker, update the task status: \`tx update ${safeId} --status blocked\`.`;
|
|
351
|
+
};
|
|
256
352
|
/**
|
|
257
353
|
* Select the appropriate agent based on task characteristics.
|
|
258
354
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-process.js","sourceRoot":"","sources":["../../src/services/worker-process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker-process.js","sourceRoot":"","sources":["../../src/services/worker-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-service.d.ts","sourceRoot":"","sources":["../../src/services/worker-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;;IAkBG;;;OAGG;uBACgB,CACjB,YAAY,EAAE,kBAAkB,KAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAAC;IAE7D;;;OAGG;wBACiB,CAClB,SAAS,EAAE,SAAS,KACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;IAE7D;;;;OAIG;yBACkB,CACnB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;IAE7D;;OAEG;mBACY,CACb,MAAM,CAAC,EAAE,YAAY,KAClB,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;IAEpD;;;OAGG;uBACgB,CACjB,MAAM,EAAE,cAAc,KACnB,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;IAEpD;;OAEG;uBACgB,CACjB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;IAE7D;;OAEG;2BACoB,CACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,KACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;;AAxDjE,qBAAa,aAAc,SAAQ,kBA0DhC;CAAG;AAEN,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"worker-service.d.ts","sourceRoot":"","sources":["../../src/services/worker-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;;IAkBG;;;OAGG;uBACgB,CACjB,YAAY,EAAE,kBAAkB,KAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAAC;IAE7D;;;OAGG;wBACiB,CAClB,SAAS,EAAE,SAAS,KACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;IAE7D;;;;OAIG;yBACkB,CACnB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;IAE7D;;OAEG;mBACY,CACb,MAAM,CAAC,EAAE,YAAY,KAClB,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;IAEpD;;;OAGG;uBACgB,CACjB,MAAM,EAAE,cAAc,KACnB,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,aAAa,CAAC;IAEpD;;OAEG;uBACgB,CACjB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;IAE7D;;OAEG;2BACoB,CACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,KACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;;AAxDjE,qBAAa,aAAc,SAAQ,kBA0DhC;CAAG;AAEN,eAAO,MAAM,iBAAiB,mFAmK7B,CAAA"}
|
|
@@ -36,17 +36,6 @@ export const WorkerServiceLive = Layer.effect(WorkerService, Effect.gen(function
|
|
|
36
36
|
reason: "Orchestrator is not running"
|
|
37
37
|
}));
|
|
38
38
|
}
|
|
39
|
-
// Count active workers (starting, idle, busy)
|
|
40
|
-
const startingCount = yield* workerRepo.countByStatus("starting");
|
|
41
|
-
const idleCount = yield* workerRepo.countByStatus("idle");
|
|
42
|
-
const busyCount = yield* workerRepo.countByStatus("busy");
|
|
43
|
-
const activeWorkers = startingCount + idleCount + busyCount;
|
|
44
|
-
// Check pool capacity
|
|
45
|
-
if (activeWorkers >= state.workerPoolSize) {
|
|
46
|
-
return yield* Effect.fail(new RegistrationError({
|
|
47
|
-
reason: `Worker pool at capacity (${state.workerPoolSize})`
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
39
|
const now = new Date();
|
|
51
40
|
const worker = {
|
|
52
41
|
id: registration.workerId ?? generateWorkerId(),
|
|
@@ -60,7 +49,13 @@ export const WorkerServiceLive = Layer.effect(WorkerService, Effect.gen(function
|
|
|
60
49
|
capabilities: [...(registration.capabilities ?? ["tx-implementer"])],
|
|
61
50
|
metadata: {}
|
|
62
51
|
};
|
|
63
|
-
|
|
52
|
+
// Atomic capacity check + insert in a single transaction
|
|
53
|
+
const inserted = yield* workerRepo.insertIfUnderCapacity(worker, state.workerPoolSize);
|
|
54
|
+
if (!inserted) {
|
|
55
|
+
return yield* Effect.fail(new RegistrationError({
|
|
56
|
+
reason: `Worker pool at capacity (${state.workerPoolSize})`
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
64
59
|
yield* Effect.log(`Worker ${worker.id} registered`);
|
|
65
60
|
return worker;
|
|
66
61
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-service.js","sourceRoot":"","sources":["../../src/services/worker-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EAEL,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AA6BrB;;GAEG;AACH,MAAM,gBAAgB,GAAG,GAAW,EAAE;IACpC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC;SACb,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClB,OAAO,UAAU,IAAI,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EA0D5D;CAAG;AAEN,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAC3C,aAAa,EACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAA;IAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAAA;IAE3D,OAAO;QACL,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,iCAAiC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAA;YAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,iBAAiB,CAAC;oBACpB,MAAM,EAAE,6BAA6B;iBACtC,CAAC,CACH,CAAA;YACH,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"worker-service.js","sourceRoot":"","sources":["../../src/services/worker-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code task directory writer.
|
|
3
|
+
*
|
|
4
|
+
* Pure functions that transform TaskWithDeps[] into Claude Code's
|
|
5
|
+
* on-disk task format (individual JSON files per task).
|
|
6
|
+
*
|
|
7
|
+
* Claude Code stores team tasks at ~/.claude/tasks/{team-name}/
|
|
8
|
+
* with files: {id}.json, .highwatermark, .lock
|
|
9
|
+
*/
|
|
10
|
+
import { Schema } from "effect";
|
|
11
|
+
import type { TaskWithDeps } from "@jamesaphoenix/tx-types";
|
|
12
|
+
/** A single Claude Code task file (written as {id}.json) */
|
|
13
|
+
export declare const ClaudeTaskFileSchema: Schema.Struct<{
|
|
14
|
+
id: typeof Schema.String;
|
|
15
|
+
subject: typeof Schema.String;
|
|
16
|
+
description: typeof Schema.String;
|
|
17
|
+
activeForm: typeof Schema.String;
|
|
18
|
+
status: Schema.Literal<["pending", "in_progress", "completed"]>;
|
|
19
|
+
blocks: Schema.Array$<typeof Schema.String>;
|
|
20
|
+
blockedBy: Schema.Array$<typeof Schema.String>;
|
|
21
|
+
}>;
|
|
22
|
+
export type ClaudeTaskFile = typeof ClaudeTaskFileSchema.Type;
|
|
23
|
+
/** Result of building Claude task files from tx tasks */
|
|
24
|
+
export declare const ClaudeSyncResultSchema: Schema.Struct<{
|
|
25
|
+
files: Schema.Array$<Schema.Struct<{
|
|
26
|
+
id: typeof Schema.String;
|
|
27
|
+
subject: typeof Schema.String;
|
|
28
|
+
description: typeof Schema.String;
|
|
29
|
+
activeForm: typeof Schema.String;
|
|
30
|
+
status: Schema.Literal<["pending", "in_progress", "completed"]>;
|
|
31
|
+
blocks: Schema.Array$<typeof Schema.String>;
|
|
32
|
+
blockedBy: Schema.Array$<typeof Schema.String>;
|
|
33
|
+
}>>;
|
|
34
|
+
highwatermark: typeof Schema.Number;
|
|
35
|
+
}>;
|
|
36
|
+
export type ClaudeSyncResult = typeof ClaudeSyncResultSchema.Type & {
|
|
37
|
+
/** Mapping from tx task ID to Claude numeric ID (for debugging) */
|
|
38
|
+
readonly txIdMap: ReadonlyMap<string, string>;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Transform tx tasks into Claude Code task files.
|
|
42
|
+
*
|
|
43
|
+
* - Filters out done tasks
|
|
44
|
+
* - Sorts: ready tasks first (highest score first), then non-ready by score
|
|
45
|
+
* - Assigns sequential numeric IDs
|
|
46
|
+
* - Maps blockedBy/blocks references to numeric IDs
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildClaudeTaskFiles(tasks: readonly TaskWithDeps[]): ClaudeSyncResult;
|
|
49
|
+
//# sourceMappingURL=claude-task-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-task-writer.d.ts","sourceRoot":"","sources":["../../src/sync/claude-task-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,yBAAyB,CAAA;AAQnE,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB;;;;;;;;EAQ/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAE7D,yDAAyD;AACzD,eAAO,MAAM,sBAAsB;;;;;;;;;;;EAGjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,sBAAsB,CAAC,IAAI,GAAG;IAClE,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9C,CAAA;AAmED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,gBAAgB,CAmDrF"}
|