@telora/daemon 0.15.1 → 0.15.3
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 +11 -11
- package/build-info.json +2 -2
- package/dist/assembly-engine.d.ts +1 -1
- package/dist/assembly-engine.d.ts.map +1 -1
- package/dist/assembly-resolvers.js +41 -41
- package/dist/assembly-resolvers.js.map +1 -1
- package/dist/branch-status.d.ts +4 -4
- package/dist/branch-status.d.ts.map +1 -1
- package/dist/branch-status.js +23 -23
- package/dist/branch-status.js.map +1 -1
- package/dist/cli/connect.js +1 -1
- package/dist/cli/connect.js.map +1 -1
- package/dist/completion-detector.d.ts +1 -1
- package/dist/completion-detector.js +1 -1
- package/dist/completion-handler.d.ts +1 -1
- package/dist/completion-handler.js +4 -4
- package/dist/completion-handler.js.map +1 -1
- package/dist/condition-evaluators.js +4 -4
- package/dist/condition-evaluators.js.map +1 -1
- package/dist/control-state.d.ts +6 -6
- package/dist/control-state.d.ts.map +1 -1
- package/dist/control-state.js +43 -43
- package/dist/control-state.js.map +1 -1
- package/dist/crash-recovery-scan.d.ts +1 -1
- package/dist/crash-recovery-scan.js +20 -20
- package/dist/crash-recovery-scan.js.map +1 -1
- package/dist/crash-recovery-types.d.ts +3 -3
- package/dist/crash-recovery-types.d.ts.map +1 -1
- package/dist/crash-recovery-types.js +2 -2
- package/dist/crash-recovery-types.js.map +1 -1
- package/dist/crash-recovery.d.ts +3 -3
- package/dist/crash-recovery.d.ts.map +1 -1
- package/dist/crash-recovery.js +21 -21
- package/dist/crash-recovery.js.map +1 -1
- package/dist/daemon-process.d.ts +1 -1
- package/dist/daemon-process.d.ts.map +1 -1
- package/dist/dag-validator.d.ts +6 -6
- package/dist/dag-validator.d.ts.map +1 -1
- package/dist/dag-validator.js +2 -2
- package/dist/dag-validator.js.map +1 -1
- package/dist/delivery-guards.d.ts +1 -1
- package/dist/delivery-guards.js +1 -1
- package/dist/delivery-lifecycle.d.ts +5 -5
- package/dist/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery-lifecycle.js +12 -12
- package/dist/delivery-lifecycle.js.map +1 -1
- package/dist/delivery-merge.js +1 -1
- package/dist/delivery-merge.js.map +1 -1
- package/dist/dependency-resolver.d.ts +7 -7
- package/dist/dependency-resolver.d.ts.map +1 -1
- package/dist/dependency-resolver.js.map +1 -1
- package/dist/directive-executor.d.ts +15 -15
- package/dist/directive-executor.d.ts.map +1 -1
- package/dist/directive-executor.js +76 -76
- package/dist/directive-executor.js.map +1 -1
- package/dist/evaluation-context.d.ts +2 -2
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +4 -4
- package/dist/evaluation-context.js.map +1 -1
- package/dist/focus-completion-event.d.ts +97 -0
- package/dist/focus-completion-event.d.ts.map +1 -0
- package/dist/focus-completion-event.js +257 -0
- package/dist/focus-completion-event.js.map +1 -0
- package/dist/focus-completion.d.ts +85 -0
- package/dist/focus-completion.d.ts.map +1 -0
- package/dist/focus-completion.js +459 -0
- package/dist/focus-completion.js.map +1 -0
- package/dist/focus-engine.d.ts +47 -0
- package/dist/focus-engine.d.ts.map +1 -0
- package/dist/focus-engine.js +421 -0
- package/dist/focus-engine.js.map +1 -0
- package/dist/focus-executor.d.ts +55 -0
- package/dist/focus-executor.d.ts.map +1 -0
- package/dist/focus-executor.js +549 -0
- package/dist/focus-executor.js.map +1 -0
- package/dist/focus-lifecycle.d.ts +61 -0
- package/dist/focus-lifecycle.d.ts.map +1 -0
- package/dist/focus-lifecycle.js +544 -0
- package/dist/focus-lifecycle.js.map +1 -0
- package/dist/focus-merge.d.ts +77 -0
- package/dist/focus-merge.d.ts.map +1 -0
- package/dist/focus-merge.js +378 -0
- package/dist/focus-merge.js.map +1 -0
- package/dist/focus-prompt-builder.d.ts +35 -0
- package/dist/focus-prompt-builder.d.ts.map +1 -0
- package/dist/focus-prompt-builder.js +138 -0
- package/dist/focus-prompt-builder.js.map +1 -0
- package/dist/focus-provisioning.d.ts +16 -0
- package/dist/focus-provisioning.d.ts.map +1 -0
- package/dist/focus-provisioning.js +119 -0
- package/dist/focus-provisioning.js.map +1 -0
- package/dist/focus-spawn-helpers.d.ts +67 -0
- package/dist/focus-spawn-helpers.d.ts.map +1 -0
- package/dist/focus-spawn-helpers.js +160 -0
- package/dist/focus-spawn-helpers.js.map +1 -0
- package/dist/focus-team-lifecycle.d.ts +50 -0
- package/dist/focus-team-lifecycle.d.ts.map +1 -0
- package/dist/focus-team-lifecycle.js +256 -0
- package/dist/focus-team-lifecycle.js.map +1 -0
- package/dist/focus-team-state.d.ts +24 -0
- package/dist/focus-team-state.d.ts.map +1 -0
- package/dist/focus-team-state.js +43 -0
- package/dist/focus-team-state.js.map +1 -0
- package/dist/focus-worktree-state.d.ts +47 -0
- package/dist/focus-worktree-state.d.ts.map +1 -0
- package/dist/focus-worktree-state.js +104 -0
- package/dist/focus-worktree-state.js.map +1 -0
- package/dist/git-merge.d.ts +5 -5
- package/dist/git-merge.d.ts.map +1 -1
- package/dist/git-merge.js +5 -5
- package/dist/git-merge.js.map +1 -1
- package/dist/git-state-detector.d.ts +1 -1
- package/dist/git-state-detector.js +9 -9
- package/dist/git-state-detector.js.map +1 -1
- package/dist/git-utils.d.ts +1 -1
- package/dist/git-utils.js +1 -1
- package/dist/git.d.ts +2 -2
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +3 -3
- package/dist/git.js.map +1 -1
- package/dist/heartbeat.d.ts +4 -4
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +7 -7
- package/dist/heartbeat.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/listener-auto-advance.d.ts +2 -2
- package/dist/listener-auto-advance.js +21 -21
- package/dist/listener-auto-advance.js.map +1 -1
- package/dist/listener.d.ts +12 -12
- package/dist/listener.d.ts.map +1 -1
- package/dist/listener.js +80 -75
- package/dist/listener.js.map +1 -1
- package/dist/loop-engine.d.ts +20 -20
- package/dist/loop-engine.d.ts.map +1 -1
- package/dist/loop-engine.js +82 -82
- package/dist/loop-engine.js.map +1 -1
- package/dist/loop-event-bus.d.ts +5 -5
- package/dist/loop-event-bus.d.ts.map +1 -1
- package/dist/loop-event-bus.js +3 -3
- package/dist/loop-llm-client.d.ts +1 -1
- package/dist/loop-llm-client.js +1 -1
- package/dist/loop-variance.d.ts +1 -1
- package/dist/loop-variance.js +1 -1
- package/dist/merge-detector.d.ts +6 -6
- package/dist/merge-detector.d.ts.map +1 -1
- package/dist/merge-detector.js +47 -47
- package/dist/merge-detector.js.map +1 -1
- package/dist/otlp-log-parser.js +2 -2
- package/dist/otlp-log-parser.js.map +1 -1
- package/dist/otlp-metric-parser.js +1 -1
- package/dist/otlp-metric-parser.js.map +1 -1
- package/dist/otlp-receiver.d.ts +1 -1
- package/dist/otlp-receiver.js +7 -7
- package/dist/otlp-receiver.js.map +1 -1
- package/dist/otlp-types.d.ts +1 -1
- package/dist/otlp-types.d.ts.map +1 -1
- package/dist/otlp-types.js +3 -3
- package/dist/otlp-types.js.map +1 -1
- package/dist/output-monitor.d.ts +6 -6
- package/dist/output-monitor.d.ts.map +1 -1
- package/dist/output-monitor.js +11 -11
- package/dist/output-monitor.js.map +1 -1
- package/dist/planning-prompt-builder.d.ts +17 -15
- package/dist/planning-prompt-builder.d.ts.map +1 -1
- package/dist/planning-prompt-builder.js +34 -32
- package/dist/planning-prompt-builder.js.map +1 -1
- package/dist/pm/mitigation-correlator.d.ts +7 -7
- package/dist/pm/mitigation-correlator.d.ts.map +1 -1
- package/dist/pm/mitigation-correlator.js +33 -33
- package/dist/pm/mitigation-correlator.js.map +1 -1
- package/dist/pm-engine.js +1 -1
- package/dist/pm-engine.js.map +1 -1
- package/dist/prompt-builder.d.ts +1 -1
- package/dist/prompt-builder.js +9 -9
- package/dist/prompt-builder.js.map +1 -1
- package/dist/prompts/starter-prompt.d.ts +2 -2
- package/dist/prompts/starter-prompt.d.ts.map +1 -1
- package/dist/prompts/starter-prompt.js +6 -6
- package/dist/qa-crash-recovery.d.ts +10 -10
- package/dist/qa-crash-recovery.d.ts.map +1 -1
- package/dist/qa-crash-recovery.js +32 -32
- package/dist/qa-crash-recovery.js.map +1 -1
- package/dist/qa-dev-server.d.ts +3 -3
- package/dist/qa-dev-server.d.ts.map +1 -1
- package/dist/qa-dev-server.js +3 -3
- package/dist/qa-dev-server.js.map +1 -1
- package/dist/qa-orchestrator.d.ts +18 -18
- package/dist/qa-orchestrator.d.ts.map +1 -1
- package/dist/qa-orchestrator.js +47 -47
- package/dist/qa-orchestrator.js.map +1 -1
- package/dist/qa-provisioner.d.ts +3 -3
- package/dist/qa-provisioner.d.ts.map +1 -1
- package/dist/qa-provisioner.js +14 -14
- package/dist/qa-provisioner.js.map +1 -1
- package/dist/qa-state.d.ts +10 -10
- package/dist/qa-state.d.ts.map +1 -1
- package/dist/qa-state.js +11 -11
- package/dist/qa-state.js.map +1 -1
- package/dist/queries/control-state.d.ts +5 -5
- package/dist/queries/control-state.d.ts.map +1 -1
- package/dist/queries/control-state.js +4 -4
- package/dist/queries/control-state.js.map +1 -1
- package/dist/queries/deliveries.d.ts +28 -24
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +32 -28
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/focuses.d.ts +97 -0
- package/dist/queries/focuses.d.ts.map +1 -0
- package/dist/queries/focuses.js +136 -0
- package/dist/queries/focuses.js.map +1 -0
- package/dist/queries/index.d.ts +3 -3
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +2 -2
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/qa.d.ts +16 -16
- package/dist/queries/qa.d.ts.map +1 -1
- package/dist/queries/qa.js +22 -22
- package/dist/queries/qa.js.map +1 -1
- package/dist/queries/schemas.d.ts +40 -34
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +31 -26
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/sessions.d.ts +1 -1
- package/dist/queries/sessions.d.ts.map +1 -1
- package/dist/queries/sessions.js +2 -2
- package/dist/queries/sessions.js.map +1 -1
- package/dist/queries/shared.js +10 -10
- package/dist/queries/shared.js.map +1 -1
- package/dist/queries/workflows.d.ts +1 -1
- package/dist/queries/workflows.js +1 -1
- package/dist/queries/worktrees.d.ts +7 -7
- package/dist/queries/worktrees.d.ts.map +1 -1
- package/dist/queries/worktrees.js +7 -7
- package/dist/queries/worktrees.js.map +1 -1
- package/dist/review-defect-detector.d.ts +125 -0
- package/dist/review-defect-detector.d.ts.map +1 -0
- package/dist/review-defect-detector.js +289 -0
- package/dist/review-defect-detector.js.map +1 -0
- package/dist/session-lifecycle.d.ts +17 -17
- package/dist/session-lifecycle.d.ts.map +1 -1
- package/dist/session-lifecycle.js +82 -82
- package/dist/session-lifecycle.js.map +1 -1
- package/dist/spawn-cooldown.d.ts +8 -8
- package/dist/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn-cooldown.js +15 -15
- package/dist/spawn-cooldown.js.map +1 -1
- package/dist/spawn-environment.d.ts +2 -2
- package/dist/spawn-environment.d.ts.map +1 -1
- package/dist/spawn-environment.js +3 -3
- package/dist/spawn-environment.js.map +1 -1
- package/dist/spawner-lifecycle.d.ts +2 -2
- package/dist/spawner-lifecycle.d.ts.map +1 -1
- package/dist/spawner-lifecycle.js +3 -3
- package/dist/spawner-lifecycle.js.map +1 -1
- package/dist/spawner-resolution.d.ts +3 -3
- package/dist/spawner-resolution.d.ts.map +1 -1
- package/dist/spawner-resolution.js +4 -4
- package/dist/spawner-resolution.js.map +1 -1
- package/dist/spawner-stream-handlers.js +2 -2
- package/dist/spawner-stream-handlers.js.map +1 -1
- package/dist/spawner.d.ts +1 -1
- package/dist/spawner.d.ts.map +1 -1
- package/dist/spawner.js +6 -6
- package/dist/spawner.js.map +1 -1
- package/dist/stage-classifier.d.ts +1 -1
- package/dist/stage-classifier.js +1 -1
- package/dist/state-cascade.d.ts +25 -25
- package/dist/state-cascade.d.ts.map +1 -1
- package/dist/state-cascade.js +89 -89
- package/dist/state-cascade.js.map +1 -1
- package/dist/strategy-completion-event.d.ts +37 -3
- package/dist/strategy-completion-event.d.ts.map +1 -1
- package/dist/strategy-completion-event.js +78 -9
- package/dist/strategy-completion-event.js.map +1 -1
- package/dist/strategy-completion.d.ts +11 -0
- package/dist/strategy-completion.d.ts.map +1 -1
- package/dist/strategy-completion.js +22 -1
- package/dist/strategy-completion.js.map +1 -1
- package/dist/strategy-executor.d.ts.map +1 -1
- package/dist/strategy-executor.js +46 -14
- package/dist/strategy-executor.js.map +1 -1
- package/dist/strategy-merge.d.ts.map +1 -1
- package/dist/strategy-merge.js +4 -0
- package/dist/strategy-merge.js.map +1 -1
- package/dist/strategy-team-lifecycle.d.ts.map +1 -1
- package/dist/strategy-team-lifecycle.js +3 -0
- package/dist/strategy-team-lifecycle.js.map +1 -1
- package/dist/supabase.d.ts +4 -4
- package/dist/supabase.d.ts.map +1 -1
- package/dist/supabase.js +5 -5
- package/dist/supabase.js.map +1 -1
- package/dist/task-converter.d.ts +4 -4
- package/dist/task-converter.d.ts.map +1 -1
- package/dist/task-converter.js +1 -1
- package/dist/task-converter.js.map +1 -1
- package/dist/team-prompt-base.d.ts +59 -19
- package/dist/team-prompt-base.d.ts.map +1 -1
- package/dist/team-prompt-base.js +206 -25
- package/dist/team-prompt-base.js.map +1 -1
- package/dist/team-spawner.d.ts +9 -9
- package/dist/team-spawner.d.ts.map +1 -1
- package/dist/team-spawner.js +87 -83
- package/dist/team-spawner.js.map +1 -1
- package/dist/telemetry-writer.d.ts +2 -2
- package/dist/telemetry-writer.d.ts.map +1 -1
- package/dist/templates/claude-md.js +8 -8
- package/dist/templates/claude-settings.d.ts +1 -1
- package/dist/templates/claude-settings.js +2 -2
- package/dist/templates/claude-settings.js.map +1 -1
- package/dist/trigger-executor.d.ts +4 -4
- package/dist/trigger-executor.d.ts.map +1 -1
- package/dist/trigger-executor.js +11 -11
- package/dist/trigger-executor.js.map +1 -1
- package/dist/types/dag.d.ts +1 -1
- package/dist/types/delivery.d.ts +3 -3
- package/dist/types/delivery.d.ts.map +1 -1
- package/dist/types/focus.d.ts +214 -0
- package/dist/types/focus.d.ts.map +1 -0
- package/dist/types/focus.js +5 -0
- package/dist/types/focus.js.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/merge.d.ts +1 -1
- package/dist/types/session.d.ts +2 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/strategy.d.ts +7 -0
- package/dist/types/strategy.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.js +11 -11
- package/dist/unified-engine-lifecycle.js.map +1 -1
- package/dist/unified-init.d.ts +1 -1
- package/dist/unified-init.js +9 -9
- package/dist/unified-init.js.map +1 -1
- package/dist/unified-shell-config.d.ts +4 -4
- package/dist/unified-shell-config.d.ts.map +1 -1
- package/dist/unified-shell-config.js +5 -5
- package/dist/unified-shell-config.js.map +1 -1
- package/dist/unified-shell-status.js +3 -3
- package/dist/unified-shell-status.js.map +1 -1
- package/dist/unified-shell.d.ts +1 -1
- package/dist/unified-shell.js +4 -4
- package/dist/unified-shell.js.map +1 -1
- package/dist/workflow-engine.d.ts +1 -1
- package/dist/workflow-engine.d.ts.map +1 -1
- package/dist/worktree-focus.d.ts +69 -0
- package/dist/worktree-focus.d.ts.map +1 -0
- package/dist/worktree-focus.js +214 -0
- package/dist/worktree-focus.js.map +1 -0
- package/dist/worktree.d.ts +10 -10
- package/dist/worktree.d.ts.map +1 -1
- package/dist/worktree.js +39 -39
- package/dist/worktree.js.map +1 -1
- package/package.json +2 -2
|
@@ -4,39 +4,39 @@
|
|
|
4
4
|
* Called by the daemon poll loop to process pending QA requests.
|
|
5
5
|
* Coordinates provisioning and teardown using the lower-level modules.
|
|
6
6
|
*/
|
|
7
|
-
import type { DaemonConfig,
|
|
7
|
+
import type { DaemonConfig, FocusWorktreeInfo } from './types.js';
|
|
8
8
|
import type { StartQaDevServerOptions, StartQaDevServerResult } from './qa-dev-server.js';
|
|
9
9
|
import type { QaEnvironmentState, ProductQaEnvironmentState, SavePointQaEnvironmentState } from './qa-state.js';
|
|
10
10
|
/** Shape of a QA request row from the API query. */
|
|
11
11
|
export interface QaRequest {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
focus_id: string;
|
|
13
|
+
focus_name: string;
|
|
14
14
|
qa_status: string;
|
|
15
15
|
product_id: string;
|
|
16
16
|
}
|
|
17
|
-
/** Shape of a deactivated QA
|
|
18
|
-
export interface
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
/** Shape of a deactivated QA focus row from the API query. */
|
|
18
|
+
export interface DeactivatedQaFocus {
|
|
19
|
+
focus_id: string;
|
|
20
|
+
focus_name: string;
|
|
21
21
|
qa_status: string;
|
|
22
|
-
|
|
22
|
+
focus_status: string;
|
|
23
23
|
product_id: string;
|
|
24
24
|
}
|
|
25
25
|
/** Injectable dependencies for testing. */
|
|
26
26
|
export interface QaOrchestratorDeps {
|
|
27
27
|
getQaRequests: (productId: string) => Promise<QaRequest[]>;
|
|
28
|
-
|
|
29
|
-
updateQaStatus: (
|
|
30
|
-
|
|
28
|
+
getDeactivatedQaFocuses: (productId: string) => Promise<DeactivatedQaFocus[]>;
|
|
29
|
+
updateQaStatus: (focusId: string, fields: Record<string, unknown>) => Promise<void>;
|
|
30
|
+
getFocusWorktree: (focusId: string) => FocusWorktreeInfo | undefined;
|
|
31
31
|
symlinkEnvFiles: (repoPath: string, worktreePath: string) => void;
|
|
32
32
|
allocatePort: (config: DaemonConfig) => Promise<number>;
|
|
33
33
|
buildQaUrl: (config: DaemonConfig, port: number) => string;
|
|
34
34
|
startQaDevServer: (options: StartQaDevServerOptions) => StartQaDevServerResult;
|
|
35
35
|
stopQaDevServer: (pid: number) => Promise<void>;
|
|
36
|
-
getQaEnvironment: (
|
|
37
|
-
setQaEnvironment: (
|
|
38
|
-
removeQaEnvironment: (
|
|
39
|
-
hasActiveQaEnvironment: (
|
|
36
|
+
getQaEnvironment: (focusId: string) => QaEnvironmentState | undefined;
|
|
37
|
+
setQaEnvironment: (focusId: string, state: QaEnvironmentState) => void;
|
|
38
|
+
removeQaEnvironment: (focusId: string) => boolean;
|
|
39
|
+
hasActiveQaEnvironment: (focusId: string) => boolean;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Check for and process pending QA requests.
|
|
@@ -44,11 +44,11 @@ export interface QaOrchestratorDeps {
|
|
|
44
44
|
*/
|
|
45
45
|
export declare function checkQaRequests(config: DaemonConfig, deps?: QaOrchestratorDeps): Promise<void>;
|
|
46
46
|
/**
|
|
47
|
-
* Check for
|
|
48
|
-
* Tears down any QA environment whose
|
|
47
|
+
* Check for focuses that have been deactivated while QA was running.
|
|
48
|
+
* Tears down any QA environment whose focus is no longer in 'active' status.
|
|
49
49
|
* Called each poll cycle from listener.ts.
|
|
50
50
|
*/
|
|
51
|
-
export declare function
|
|
51
|
+
export declare function checkQaForDeactivatedFocuses(config: DaemonConfig, deps?: QaOrchestratorDeps): Promise<void>;
|
|
52
52
|
/** Shape of a product QA request row from the API query. */
|
|
53
53
|
export interface ProductQaRequest {
|
|
54
54
|
product_id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-orchestrator.d.ts","sourceRoot":"","sources":["../src/qa-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"qa-orchestrator.d.ts","sourceRoot":"","sources":["../src/qa-orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/qa-orchestrator.js
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
* Called by the daemon poll loop to process pending QA requests.
|
|
5
5
|
* Coordinates provisioning and teardown using the lower-level modules.
|
|
6
6
|
*/
|
|
7
|
-
import { getQaRequests, updateQaStatus,
|
|
7
|
+
import { getQaRequests, updateQaStatus, getDeactivatedQaFocuses, getProductQaRequests, updateProductQaStatus, getSavePointQaRequests, updateSavePointQaStatus } from './supabase.js';
|
|
8
8
|
import { symlinkEnvFiles, createQaWorktree, removeQaWorktree } from './qa-provisioner.js';
|
|
9
9
|
import { getDefaultBranch } from './git-branch.js';
|
|
10
|
-
import {
|
|
10
|
+
import { getFocusWorktree as getFocusWorktreeImpl } from './focus-worktree-state.js';
|
|
11
11
|
import { allocatePort, buildQaUrl } from './qa-port-allocator.js';
|
|
12
12
|
import { startQaDevServer, stopQaDevServer } from './qa-dev-server.js';
|
|
13
13
|
import { getQaEnvironment, setQaEnvironment, removeQaEnvironment, hasActiveQaEnvironment, getProductQaEnvironment, setProductQaEnvironment, removeProductQaEnvironment, hasActiveProductQaEnvironment, getSavePointQaEnvironment, setSavePointQaEnvironment, removeSavePointQaEnvironment, hasActiveSavePointQaEnvironment, } from './qa-state.js';
|
|
14
14
|
/** Default deps wired to real implementations. */
|
|
15
15
|
const defaultDeps = {
|
|
16
16
|
getQaRequests,
|
|
17
|
-
|
|
17
|
+
getDeactivatedQaFocuses,
|
|
18
18
|
updateQaStatus,
|
|
19
|
-
|
|
19
|
+
getFocusWorktree: getFocusWorktreeImpl,
|
|
20
20
|
symlinkEnvFiles,
|
|
21
21
|
allocatePort,
|
|
22
22
|
buildQaUrl,
|
|
@@ -52,10 +52,10 @@ export async function checkQaRequests(config, deps = defaultDeps) {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
catch (err) {
|
|
55
|
-
console.error(`[qa] Error processing QA request for
|
|
55
|
+
console.error(`[qa] Error processing QA request for focus ${req.focus_name}: ${err.message}`);
|
|
56
56
|
// Update DB to failed state
|
|
57
57
|
try {
|
|
58
|
-
await deps.updateQaStatus(req.
|
|
58
|
+
await deps.updateQaStatus(req.focus_id, {
|
|
59
59
|
qaStatus: 'failed',
|
|
60
60
|
qaError: err.message,
|
|
61
61
|
});
|
|
@@ -67,7 +67,7 @@ export async function checkQaRequests(config, deps = defaultDeps) {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
* Provision a QA environment for a
|
|
70
|
+
* Provision a QA environment for a focus.
|
|
71
71
|
*
|
|
72
72
|
* 1. If already active (refresh case), tear down first.
|
|
73
73
|
* 2. Set DB status to 'provisioning'.
|
|
@@ -76,28 +76,28 @@ export async function checkQaRequests(config, deps = defaultDeps) {
|
|
|
76
76
|
* 5. Update in-memory state and DB to 'ready'.
|
|
77
77
|
*/
|
|
78
78
|
async function handleQaProvision(config, req, deps) {
|
|
79
|
-
const {
|
|
79
|
+
const { focus_id: focusId, focus_name: focusName } = req;
|
|
80
80
|
// If already active (refresh), tear down first
|
|
81
|
-
if (deps.hasActiveQaEnvironment(
|
|
82
|
-
console.log(`[qa] Refreshing QA environment for "${
|
|
81
|
+
if (deps.hasActiveQaEnvironment(focusId)) {
|
|
82
|
+
console.log(`[qa] Refreshing QA environment for "${focusName}"`);
|
|
83
83
|
await handleQaTeardown(config, req, deps);
|
|
84
84
|
}
|
|
85
85
|
// 1. Set provisioning in DB
|
|
86
|
-
await deps.updateQaStatus(
|
|
86
|
+
await deps.updateQaStatus(focusId, { qaStatus: 'provisioning' });
|
|
87
87
|
// 2. Allocate port
|
|
88
88
|
const port = await deps.allocatePort(config);
|
|
89
89
|
const url = deps.buildQaUrl(config, port);
|
|
90
|
-
// 3. Look up the persistent
|
|
91
|
-
const worktreeInfo = deps.
|
|
90
|
+
// 3. Look up the persistent focus worktree (QA runs inside it)
|
|
91
|
+
const worktreeInfo = deps.getFocusWorktree(focusId);
|
|
92
92
|
if (!worktreeInfo) {
|
|
93
|
-
throw new Error(`No persistent worktree found for
|
|
93
|
+
throw new Error(`No persistent worktree found for focus "${focusName}" (${focusId})`);
|
|
94
94
|
}
|
|
95
95
|
const worktreePath = worktreeInfo.worktreePath;
|
|
96
96
|
deps.symlinkEnvFiles(config.repoPath, worktreePath);
|
|
97
97
|
// 4. Track in memory (status provisioning, dev server not yet started)
|
|
98
98
|
const state = {
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
focusId,
|
|
100
|
+
focusName,
|
|
101
101
|
worktreePath,
|
|
102
102
|
pid: null,
|
|
103
103
|
port,
|
|
@@ -106,17 +106,17 @@ async function handleQaProvision(config, req, deps) {
|
|
|
106
106
|
createdAt: new Date(),
|
|
107
107
|
lastError: null,
|
|
108
108
|
};
|
|
109
|
-
deps.setQaEnvironment(
|
|
109
|
+
deps.setQaEnvironment(focusId, state);
|
|
110
110
|
// 5. Start dev server (npm install + npm run dev)
|
|
111
111
|
const result = deps.startQaDevServer({
|
|
112
112
|
config,
|
|
113
|
-
|
|
113
|
+
focusId,
|
|
114
114
|
worktreePath,
|
|
115
115
|
port,
|
|
116
116
|
onUnexpectedExit: (error) => {
|
|
117
|
-
console.error(`[qa] Dev server crashed for "${
|
|
118
|
-
deps.setQaEnvironment(
|
|
119
|
-
deps.updateQaStatus(
|
|
117
|
+
console.error(`[qa] Dev server crashed for "${focusName}": ${error}`);
|
|
118
|
+
deps.setQaEnvironment(focusId, { ...state, pid: null, status: 'failed', lastError: error });
|
|
119
|
+
deps.updateQaStatus(focusId, { qaStatus: 'failed', qaError: error }).catch((e) => {
|
|
120
120
|
console.warn(`[qa] Failed to report dev server crash: ${e.message}`);
|
|
121
121
|
});
|
|
122
122
|
},
|
|
@@ -127,38 +127,38 @@ async function handleQaProvision(config, req, deps) {
|
|
|
127
127
|
pid: result.pid,
|
|
128
128
|
status: 'ready',
|
|
129
129
|
};
|
|
130
|
-
deps.setQaEnvironment(
|
|
130
|
+
deps.setQaEnvironment(focusId, readyState);
|
|
131
131
|
// 7. Update DB to ready
|
|
132
|
-
await deps.updateQaStatus(
|
|
132
|
+
await deps.updateQaStatus(focusId, {
|
|
133
133
|
qaStatus: 'ready',
|
|
134
134
|
qaUrl: url,
|
|
135
135
|
qaPort: port,
|
|
136
136
|
qaWorktreePath: worktreePath,
|
|
137
137
|
qaReadyAt: new Date().toISOString(),
|
|
138
138
|
});
|
|
139
|
-
console.log(`[qa] QA environment ready for "${
|
|
139
|
+
console.log(`[qa] QA environment ready for "${focusName}" at ${url}`);
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
142
|
-
* Tear down a QA environment for a
|
|
142
|
+
* Tear down a QA environment for a focus.
|
|
143
143
|
*
|
|
144
144
|
* 1. Kill the dev server process if running.
|
|
145
145
|
* 2. Remove the worktree.
|
|
146
146
|
* 3. Clear in-memory and DB state.
|
|
147
147
|
*/
|
|
148
148
|
async function handleQaTeardown(config, req, deps) {
|
|
149
|
-
const {
|
|
150
|
-
console.log(`[qa] Tearing down QA environment for "${
|
|
149
|
+
const { focus_id: focusId, focus_name: focusName } = req;
|
|
150
|
+
console.log(`[qa] Tearing down QA environment for "${focusName}"`);
|
|
151
151
|
// Kill dev server if running
|
|
152
|
-
const state = deps.getQaEnvironment(
|
|
152
|
+
const state = deps.getQaEnvironment(focusId);
|
|
153
153
|
if (state?.pid) {
|
|
154
154
|
await deps.stopQaDevServer(state.pid);
|
|
155
155
|
}
|
|
156
|
-
// Worktree is
|
|
157
|
-
// Removal happens via coordinated teardown when the
|
|
156
|
+
// Worktree is focus-owned -- do NOT remove here.
|
|
157
|
+
// Removal happens via coordinated teardown when the focus is deactivated.
|
|
158
158
|
// Clear in-memory state
|
|
159
|
-
deps.removeQaEnvironment(
|
|
159
|
+
deps.removeQaEnvironment(focusId);
|
|
160
160
|
// Clear DB state
|
|
161
|
-
await deps.updateQaStatus(
|
|
161
|
+
await deps.updateQaStatus(focusId, {
|
|
162
162
|
qaStatus: null,
|
|
163
163
|
qaUrl: null,
|
|
164
164
|
qaPort: null,
|
|
@@ -166,36 +166,36 @@ async function handleQaTeardown(config, req, deps) {
|
|
|
166
166
|
qaReadyAt: null,
|
|
167
167
|
qaError: null,
|
|
168
168
|
});
|
|
169
|
-
console.log(`[qa] QA environment torn down for "${
|
|
169
|
+
console.log(`[qa] QA environment torn down for "${focusName}"`);
|
|
170
170
|
}
|
|
171
171
|
/**
|
|
172
|
-
* Check for
|
|
173
|
-
* Tears down any QA environment whose
|
|
172
|
+
* Check for focuses that have been deactivated while QA was running.
|
|
173
|
+
* Tears down any QA environment whose focus is no longer in 'active' status.
|
|
174
174
|
* Called each poll cycle from listener.ts.
|
|
175
175
|
*/
|
|
176
|
-
export async function
|
|
176
|
+
export async function checkQaForDeactivatedFocuses(config, deps = defaultDeps) {
|
|
177
177
|
let deactivated;
|
|
178
178
|
try {
|
|
179
|
-
deactivated = await deps.
|
|
179
|
+
deactivated = await deps.getDeactivatedQaFocuses(config.productId);
|
|
180
180
|
}
|
|
181
181
|
catch (err) {
|
|
182
|
-
console.warn(`[qa] Failed to fetch deactivated QA
|
|
182
|
+
console.warn(`[qa] Failed to fetch deactivated QA focuses: ${err.message}`);
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
185
|
if (deactivated.length === 0)
|
|
186
186
|
return;
|
|
187
|
-
for (const
|
|
188
|
-
console.log(`[qa]
|
|
187
|
+
for (const focus of deactivated) {
|
|
188
|
+
console.log(`[qa] Focus "${focus.focus_name}" is ${focus.focus_status} but has QA state "${focus.qa_status}" -- tearing down`);
|
|
189
189
|
try {
|
|
190
190
|
await handleQaTeardown(config, {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
qa_status:
|
|
194
|
-
product_id:
|
|
191
|
+
focus_id: focus.focus_id,
|
|
192
|
+
focus_name: focus.focus_name,
|
|
193
|
+
qa_status: focus.qa_status,
|
|
194
|
+
product_id: focus.product_id,
|
|
195
195
|
}, deps);
|
|
196
196
|
}
|
|
197
197
|
catch (err) {
|
|
198
|
-
console.error(`[qa] Error tearing down QA for deactivated
|
|
198
|
+
console.error(`[qa] Error tearing down QA for deactivated focus "${focus.focus_name}": ${err.message}`);
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
}
|
|
@@ -294,7 +294,7 @@ async function handleProductQaProvision(config, req, deps) {
|
|
|
294
294
|
// 5. Start dev server in integration worktree
|
|
295
295
|
const result = deps.startQaDevServer({
|
|
296
296
|
config,
|
|
297
|
-
|
|
297
|
+
focusId: `product-${productId}`,
|
|
298
298
|
worktreePath,
|
|
299
299
|
port,
|
|
300
300
|
onUnexpectedExit: (error) => {
|
|
@@ -463,7 +463,7 @@ async function handleSavePointQaProvision(config, req, deps) {
|
|
|
463
463
|
// 5. Start dev server
|
|
464
464
|
const result = deps.startQaDevServer({
|
|
465
465
|
config,
|
|
466
|
-
|
|
466
|
+
focusId: `save-point-${savePointId}`,
|
|
467
467
|
worktreePath,
|
|
468
468
|
port,
|
|
469
469
|
onUnexpectedExit: (error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-orchestrator.js","sourceRoot":"","sources":["../src/qa-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qa-orchestrator.js","sourceRoot":"","sources":["../src/qa-orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/qa-provisioner.d.ts
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
* QA worktree provisioning and teardown.
|
|
3
3
|
*
|
|
4
4
|
* Manages git worktrees for QA environments. Unlike agent worktrees,
|
|
5
|
-
* QA worktrees are read-only checkouts of a
|
|
5
|
+
* QA worktrees are read-only checkouts of a focus's integration branch
|
|
6
6
|
* used to run a dev server for manual QA verification.
|
|
7
7
|
*/
|
|
8
8
|
import type { DaemonConfig } from './types.js';
|
|
9
9
|
/**
|
|
10
|
-
* Create (or update) a QA worktree for a
|
|
10
|
+
* Create (or update) a QA worktree for a focus's integration branch.
|
|
11
11
|
*
|
|
12
12
|
* If the worktree already exists, checks out the correct branch and
|
|
13
13
|
* pulls the latest changes. Otherwise, creates a fresh worktree.
|
|
14
14
|
*
|
|
15
15
|
* @returns The absolute path to the QA worktree directory.
|
|
16
16
|
*/
|
|
17
|
-
export declare function createQaWorktree(config: DaemonConfig,
|
|
17
|
+
export declare function createQaWorktree(config: DaemonConfig, focusBranchName: string, focusId: string): string;
|
|
18
18
|
/**
|
|
19
19
|
* Remove a QA worktree.
|
|
20
20
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-provisioner.d.ts","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,
|
|
1
|
+
{"version":3,"file":"qa-provisioner.d.ts","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GACd,MAAM,CAiER;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,IAAI,CAgCN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,IAAI,CA6CN"}
|
package/dist/qa-provisioner.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* QA worktree provisioning and teardown.
|
|
3
3
|
*
|
|
4
4
|
* Manages git worktrees for QA environments. Unlike agent worktrees,
|
|
5
|
-
* QA worktrees are read-only checkouts of a
|
|
5
|
+
* QA worktrees are read-only checkouts of a focus's integration branch
|
|
6
6
|
* used to run a dev server for manual QA verification.
|
|
7
7
|
*/
|
|
8
8
|
import { existsSync, mkdirSync, symlinkSync, unlinkSync, readlinkSync, rmSync } from 'node:fs';
|
|
@@ -11,15 +11,15 @@ import { runGitSync, branchExists } from './git.js';
|
|
|
11
11
|
/** File names to symlink from the main repo into QA worktrees. */
|
|
12
12
|
const ENV_FILES = ['.env', '.env.local', '.env.development.local'];
|
|
13
13
|
/**
|
|
14
|
-
* Create (or update) a QA worktree for a
|
|
14
|
+
* Create (or update) a QA worktree for a focus's integration branch.
|
|
15
15
|
*
|
|
16
16
|
* If the worktree already exists, checks out the correct branch and
|
|
17
17
|
* pulls the latest changes. Otherwise, creates a fresh worktree.
|
|
18
18
|
*
|
|
19
19
|
* @returns The absolute path to the QA worktree directory.
|
|
20
20
|
*/
|
|
21
|
-
export function createQaWorktree(config,
|
|
22
|
-
const worktreePath = join(config.worktreeDir, 'qa-' +
|
|
21
|
+
export function createQaWorktree(config, focusBranchName, focusId) {
|
|
22
|
+
const worktreePath = join(config.worktreeDir, 'qa-' + focusId.slice(0, 8));
|
|
23
23
|
// Ensure parent worktree directory exists
|
|
24
24
|
if (!existsSync(config.worktreeDir)) {
|
|
25
25
|
mkdirSync(config.worktreeDir, { recursive: true });
|
|
@@ -30,12 +30,12 @@ export function createQaWorktree(config, strategyBranchName, strategyId) {
|
|
|
30
30
|
console.log(`[qa-provisioner] QA worktree already exists, updating: ${worktreePath}`);
|
|
31
31
|
// Reset detached HEAD to the local branch tip.
|
|
32
32
|
// Only fetch from origin if the branch doesn't exist locally (remote-only branch).
|
|
33
|
-
if (!branchExists(
|
|
34
|
-
runGitSync(['fetch', 'origin',
|
|
33
|
+
if (!branchExists(focusBranchName, config.repoPath)) {
|
|
34
|
+
runGitSync(['fetch', 'origin', focusBranchName], config.repoPath);
|
|
35
35
|
}
|
|
36
|
-
const resetResult = runGitSync(['checkout', '--detach',
|
|
36
|
+
const resetResult = runGitSync(['checkout', '--detach', focusBranchName], worktreePath);
|
|
37
37
|
if (!resetResult.success) {
|
|
38
|
-
console.warn(`[qa-provisioner] Could not update detached HEAD to ${
|
|
38
|
+
console.warn(`[qa-provisioner] Could not update detached HEAD to ${focusBranchName}: ${resetResult.error}`);
|
|
39
39
|
}
|
|
40
40
|
symlinkEnvFiles(config.repoPath, worktreePath);
|
|
41
41
|
return worktreePath;
|
|
@@ -43,17 +43,17 @@ export function createQaWorktree(config, strategyBranchName, strategyId) {
|
|
|
43
43
|
// Prune stale worktree entries before creating a new one
|
|
44
44
|
runGitSync(['worktree', 'prune'], config.repoPath);
|
|
45
45
|
// If the branch doesn't exist locally, try fetching from origin
|
|
46
|
-
if (!branchExists(
|
|
47
|
-
console.log(`[qa-provisioner] Branch ${
|
|
48
|
-
const fetchResult = runGitSync(['fetch', 'origin',
|
|
46
|
+
if (!branchExists(focusBranchName, config.repoPath)) {
|
|
47
|
+
console.log(`[qa-provisioner] Branch ${focusBranchName} not found locally, fetching from origin...`);
|
|
48
|
+
const fetchResult = runGitSync(['fetch', 'origin', focusBranchName], config.repoPath);
|
|
49
49
|
if (!fetchResult.success) {
|
|
50
|
-
throw new Error(`[qa-provisioner] Failed to fetch branch ${
|
|
50
|
+
throw new Error(`[qa-provisioner] Failed to fetch branch ${focusBranchName} from origin: ${fetchResult.error}`);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
// Create the worktree with detached HEAD to avoid locking the branch.
|
|
54
54
|
// Locking the branch prevents agent merges into integration while QA is running.
|
|
55
|
-
console.log(`[qa-provisioner] Creating QA worktree at ${worktreePath} (detached at ${
|
|
56
|
-
const addResult = runGitSync(['worktree', 'add', '--detach', worktreePath,
|
|
55
|
+
console.log(`[qa-provisioner] Creating QA worktree at ${worktreePath} (detached at ${focusBranchName})`);
|
|
56
|
+
const addResult = runGitSync(['worktree', 'add', '--detach', worktreePath, focusBranchName], config.repoPath);
|
|
57
57
|
if (!addResult.success) {
|
|
58
58
|
throw new Error(`[qa-provisioner] Failed to create QA worktree: ${addResult.error}`);
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-provisioner.js","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEpD,kEAAkE;AAClE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,wBAAwB,CAAU,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"qa-provisioner.js","sourceRoot":"","sources":["../src/qa-provisioner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEpD,kEAAkE;AAClE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,wBAAwB,CAAU,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAoB,EACpB,eAAuB,EACvB,OAAe;IAEf,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE3E,0CAA0C;IAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,gDAAgD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,4EAA4E;IAC5E,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,0DAA0D,YAAY,EAAE,CAAC,CAAC;QAEtF,+CAA+C;QAC/C,mFAAmF;QACnF,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,UAAU,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CACV,sDAAsD,eAAe,KAAK,WAAW,CAAC,KAAK,EAAE,CAC9F,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,yDAAyD;IACzD,UAAU,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEnD,gEAAgE;IAChE,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,GAAG,CACT,2BAA2B,eAAe,6CAA6C,CACxF,CAAC;QACF,MAAM,WAAW,GAAG,UAAU,CAC5B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,EACpC,MAAM,CAAC,QAAQ,CAChB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,2CAA2C,eAAe,iBAAiB,WAAW,CAAC,KAAK,EAAE,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,iFAAiF;IACjF,OAAO,CAAC,GAAG,CACT,4CAA4C,YAAY,iBAAiB,eAAe,GAAG,CAC5F,CAAC;IACF,MAAM,SAAS,GAAG,UAAU,CAC1B,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,CAAC,EAC9D,MAAM,CAAC,QAAQ,CAChB,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,kDAAkD,SAAS,CAAC,KAAK,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,YAAoB;IAEpB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,iDAAiD,YAAY,EAAE,CAAC,CAAC;YAC7E,UAAU,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,UAAU,CACvB,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAC/C,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,wEAAwE,MAAM,CAAC,KAAK,EAAE,CACvF,CAAC;YACF,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,qCAAqC;YACrC,UAAU,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,8DAA8D,YAAY,EAAE,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,8CAA8C,EAC9C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,YAAoB;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,wEAAwE;QACxE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC5C,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;oBACvC,8BAA8B;oBAC9B,SAAS;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;gBAC5D,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,gDAAgD,CACtF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,mEAAmE;YACnE,IAAI,CAAC;gBACH,UAAU,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CACV,uDAAuD,QAAQ,KAAK,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CACzI,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,OAAO,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,sCAAsC,QAAQ,KAAK,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAC3H,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/qa-state.d.ts
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
export type QaEnvironmentStatus = 'provisioning' | 'ready' | 'stopping' | 'failed';
|
|
9
9
|
/** In-memory state for a QA environment. */
|
|
10
10
|
export interface QaEnvironmentState {
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
|
|
11
|
+
/** Focus UUID this QA environment is for. */
|
|
12
|
+
focusId: string;
|
|
13
|
+
/** Focus name for logging. */
|
|
14
|
+
focusName: string;
|
|
15
15
|
/** Filesystem path to the QA worktree. */
|
|
16
16
|
worktreePath: string;
|
|
17
17
|
/** PID of the dev server process. */
|
|
@@ -32,13 +32,13 @@ export interface QaEnvironmentState {
|
|
|
32
32
|
*/
|
|
33
33
|
export declare function getActiveQaEnvironments(): Map<string, QaEnvironmentState>;
|
|
34
34
|
/**
|
|
35
|
-
* Get a single QA environment by
|
|
35
|
+
* Get a single QA environment by focus ID.
|
|
36
36
|
*/
|
|
37
|
-
export declare function getQaEnvironment(
|
|
37
|
+
export declare function getQaEnvironment(focusId: string): QaEnvironmentState | undefined;
|
|
38
38
|
/**
|
|
39
|
-
* Check if a
|
|
39
|
+
* Check if a focus already has an active QA environment.
|
|
40
40
|
*/
|
|
41
|
-
export declare function hasActiveQaEnvironment(
|
|
41
|
+
export declare function hasActiveQaEnvironment(focusId: string): boolean;
|
|
42
42
|
/**
|
|
43
43
|
* Get count of active QA environments.
|
|
44
44
|
*/
|
|
@@ -46,12 +46,12 @@ export declare function getQaEnvironmentCount(): number;
|
|
|
46
46
|
/**
|
|
47
47
|
* Add or update a QA environment entry.
|
|
48
48
|
*/
|
|
49
|
-
export declare function setQaEnvironment(
|
|
49
|
+
export declare function setQaEnvironment(focusId: string, state: QaEnvironmentState): void;
|
|
50
50
|
/**
|
|
51
51
|
* Remove a QA environment entry.
|
|
52
52
|
* Returns whether the entry existed.
|
|
53
53
|
*/
|
|
54
|
-
export declare function removeQaEnvironment(
|
|
54
|
+
export declare function removeQaEnvironment(focusId: string): boolean;
|
|
55
55
|
/** In-memory state for a product-level QA environment. */
|
|
56
56
|
export interface ProductQaEnvironmentState {
|
|
57
57
|
/** Product UUID this QA environment is for. */
|
package/dist/qa-state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-state.d.ts","sourceRoot":"","sources":["../src/qa-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnF,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,
|
|
1
|
+
{"version":3,"file":"qa-state.d.ts","sourceRoot":"","sources":["../src/qa-state.ts"],"names":[],"mappings":"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"}
|
package/dist/qa-state.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* query/mutation helpers for the active environments map.
|
|
6
6
|
*/
|
|
7
7
|
// ── Active environments tracking ─────────────────────────────────────
|
|
8
|
-
/** Active QA environments:
|
|
8
|
+
/** Active QA environments: focusId -> QaEnvironmentState */
|
|
9
9
|
const activeEnvironments = new Map();
|
|
10
10
|
/**
|
|
11
11
|
* Get all active QA environments.
|
|
@@ -14,16 +14,16 @@ export function getActiveQaEnvironments() {
|
|
|
14
14
|
return activeEnvironments;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* Get a single QA environment by
|
|
17
|
+
* Get a single QA environment by focus ID.
|
|
18
18
|
*/
|
|
19
|
-
export function getQaEnvironment(
|
|
20
|
-
return activeEnvironments.get(
|
|
19
|
+
export function getQaEnvironment(focusId) {
|
|
20
|
+
return activeEnvironments.get(focusId);
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* Check if a
|
|
23
|
+
* Check if a focus already has an active QA environment.
|
|
24
24
|
*/
|
|
25
|
-
export function hasActiveQaEnvironment(
|
|
26
|
-
return activeEnvironments.has(
|
|
25
|
+
export function hasActiveQaEnvironment(focusId) {
|
|
26
|
+
return activeEnvironments.has(focusId);
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Get count of active QA environments.
|
|
@@ -34,15 +34,15 @@ export function getQaEnvironmentCount() {
|
|
|
34
34
|
/**
|
|
35
35
|
* Add or update a QA environment entry.
|
|
36
36
|
*/
|
|
37
|
-
export function setQaEnvironment(
|
|
38
|
-
activeEnvironments.set(
|
|
37
|
+
export function setQaEnvironment(focusId, state) {
|
|
38
|
+
activeEnvironments.set(focusId, state);
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Remove a QA environment entry.
|
|
42
42
|
* Returns whether the entry existed.
|
|
43
43
|
*/
|
|
44
|
-
export function removeQaEnvironment(
|
|
45
|
-
return activeEnvironments.delete(
|
|
44
|
+
export function removeQaEnvironment(focusId) {
|
|
45
|
+
return activeEnvironments.delete(focusId);
|
|
46
46
|
}
|
|
47
47
|
/** Active product QA environments: productId -> ProductQaEnvironmentState */
|
|
48
48
|
const activeProductEnvironments = new Map();
|