agentic-orchestrator 0.1.26 → 0.1.28
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/AGENTS.md +2 -2
- package/CLAUDE.md +2 -2
- package/README.md +47 -14
- package/agentic/orchestrator/agents.yaml +13 -0
- package/agentic/orchestrator/policy.yaml +3 -0
- package/agentic/orchestrator/schemas/agents.schema.json +76 -0
- package/agentic/orchestrator/schemas/policy.schema.json +16 -0
- package/agentic/orchestrator/schemas/policy.user.schema.json +16 -0
- package/agentic/orchestrator/schemas/state.schema.json +53 -0
- package/apps/control-plane/src/application/configuration-service.ts +181 -0
- package/apps/control-plane/src/application/kernel-tool-wiring.ts +292 -0
- package/apps/control-plane/src/application/services/checkpoint-service.ts +523 -0
- package/apps/control-plane/src/application/services/feature-send-message-service.ts +132 -0
- package/apps/control-plane/src/application/services/patch-service.ts +29 -5
- package/apps/control-plane/src/application/services/repo-operations-service.ts +276 -0
- package/apps/control-plane/src/application/services/worktree-watchdog-service.ts +156 -0
- package/apps/control-plane/src/cli/cli-argument-parser.ts +12 -0
- package/apps/control-plane/src/cli/help-command-handler.ts +17 -0
- package/apps/control-plane/src/cli/init-command-handler.ts +31 -0
- package/apps/control-plane/src/cli/resume-command-handler.ts +31 -4
- package/apps/control-plane/src/cli/rollback-command-handler.ts +217 -0
- package/apps/control-plane/src/cli/run-command-handler.ts +8 -0
- package/apps/control-plane/src/cli/types.ts +3 -0
- package/apps/control-plane/src/core/kernel-types.ts +55 -0
- package/apps/control-plane/src/core/kernel.ts +61 -878
- package/apps/control-plane/src/core/tool-caller.ts +10 -0
- package/apps/control-plane/src/core/utils/field-readers.ts +38 -0
- package/apps/control-plane/src/core/utils/index-normalizer.ts +119 -0
- package/apps/control-plane/src/core/utils/path-normalizers.ts +22 -0
- package/apps/control-plane/src/interfaces/cli/bootstrap.ts +15 -0
- package/apps/control-plane/src/providers/api-worker-provider.ts +14 -12
- package/apps/control-plane/src/providers/cli-worker-provider.ts +82 -12
- package/apps/control-plane/src/providers/providers.ts +45 -24
- package/apps/control-plane/src/providers/worker-provider-factory.ts +36 -1
- package/apps/control-plane/src/supervisor/run-coordinator.ts +91 -36
- package/apps/control-plane/src/supervisor/runtime.ts +107 -1
- package/apps/control-plane/src/supervisor/types.ts +9 -0
- package/apps/control-plane/src/supervisor/worker-decision-loop.ts +253 -14
- package/apps/control-plane/test/checkpoint-service.spec.ts +537 -0
- package/apps/control-plane/test/cli-helpers.spec.ts +28 -0
- package/apps/control-plane/test/cli.unit.spec.ts +52 -0
- package/apps/control-plane/test/configuration-service.spec.ts +466 -0
- package/apps/control-plane/test/dashboard-api.integration.spec.ts +537 -0
- package/apps/control-plane/test/dashboard-client.spec.ts +233 -0
- package/apps/control-plane/test/feature-send-message-service.spec.ts +314 -0
- package/apps/control-plane/test/init-wizard.spec.ts +35 -0
- package/apps/control-plane/test/path-normalizers.spec.ts +41 -0
- package/apps/control-plane/test/repo-operations-service.spec.ts +339 -0
- package/apps/control-plane/test/resume-command.spec.ts +33 -0
- package/apps/control-plane/test/review-workspace-logic.spec.ts +130 -0
- package/apps/control-plane/test/rollback-command.spec.ts +208 -0
- package/apps/control-plane/test/run-coordinator.spec.ts +119 -0
- package/apps/control-plane/test/worker-decision-loop.spec.ts +209 -0
- package/apps/control-plane/test/worker-provider-adapters.spec.ts +102 -0
- package/apps/control-plane/test/worker-provider-factory.spec.ts +14 -0
- package/apps/control-plane/test/worktree-watchdog-service.spec.ts +147 -0
- package/config/agentic/orchestrator/agents.yaml +13 -0
- package/dist/apps/control-plane/application/configuration-service.d.ts +19 -0
- package/dist/apps/control-plane/application/configuration-service.js +123 -0
- package/dist/apps/control-plane/application/configuration-service.js.map +1 -0
- package/dist/apps/control-plane/application/kernel-tool-wiring.d.ts +39 -0
- package/dist/apps/control-plane/application/kernel-tool-wiring.js +38 -0
- package/dist/apps/control-plane/application/kernel-tool-wiring.js.map +1 -0
- package/dist/apps/control-plane/application/services/checkpoint-service.d.ts +84 -0
- package/dist/apps/control-plane/application/services/checkpoint-service.js +367 -0
- package/dist/apps/control-plane/application/services/checkpoint-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/feature-send-message-service.d.ts +25 -0
- package/dist/apps/control-plane/application/services/feature-send-message-service.js +105 -0
- package/dist/apps/control-plane/application/services/feature-send-message-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/patch-service.d.ts +6 -0
- package/dist/apps/control-plane/application/services/patch-service.js +11 -2
- package/dist/apps/control-plane/application/services/patch-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/repo-operations-service.d.ts +70 -0
- package/dist/apps/control-plane/application/services/repo-operations-service.js +213 -0
- package/dist/apps/control-plane/application/services/repo-operations-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/worktree-watchdog-service.d.ts +23 -0
- package/dist/apps/control-plane/application/services/worktree-watchdog-service.js +119 -0
- package/dist/apps/control-plane/application/services/worktree-watchdog-service.js.map +1 -0
- package/dist/apps/control-plane/cli/cli-argument-parser.js +12 -0
- package/dist/apps/control-plane/cli/cli-argument-parser.js.map +1 -1
- package/dist/apps/control-plane/cli/help-command-handler.js +17 -0
- package/dist/apps/control-plane/cli/help-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/init-command-handler.js +23 -0
- package/dist/apps/control-plane/cli/init-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/resume-command-handler.js +25 -5
- package/dist/apps/control-plane/cli/resume-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/rollback-command-handler.d.ts +6 -0
- package/dist/apps/control-plane/cli/rollback-command-handler.js +177 -0
- package/dist/apps/control-plane/cli/rollback-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/run-command-handler.js +7 -1
- package/dist/apps/control-plane/cli/run-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/types.d.ts +3 -0
- package/dist/apps/control-plane/cli/types.js +1 -0
- package/dist/apps/control-plane/cli/types.js.map +1 -1
- package/dist/apps/control-plane/core/configuration-service.d.ts +25 -0
- package/dist/apps/control-plane/core/configuration-service.js +130 -0
- package/dist/apps/control-plane/core/configuration-service.js.map +1 -0
- package/dist/apps/control-plane/core/kernel-tool-wiring.d.ts +50 -0
- package/dist/apps/control-plane/core/kernel-tool-wiring.js +44 -0
- package/dist/apps/control-plane/core/kernel-tool-wiring.js.map +1 -0
- package/dist/apps/control-plane/core/kernel-types.d.ts +48 -0
- package/dist/apps/control-plane/core/kernel-types.js +2 -0
- package/dist/apps/control-plane/core/kernel-types.js.map +1 -0
- package/dist/apps/control-plane/core/kernel.d.ts +17 -48
- package/dist/apps/control-plane/core/kernel.js +44 -539
- package/dist/apps/control-plane/core/kernel.js.map +1 -1
- package/dist/apps/control-plane/core/tool-caller.d.ts +10 -0
- package/dist/apps/control-plane/core/utils/error-normalizer.d.ts +2 -0
- package/dist/apps/control-plane/core/utils/error-normalizer.js +51 -0
- package/dist/apps/control-plane/core/utils/error-normalizer.js.map +1 -0
- package/dist/apps/control-plane/core/utils/field-readers.d.ts +9 -0
- package/dist/apps/control-plane/core/utils/field-readers.js +30 -0
- package/dist/apps/control-plane/core/utils/field-readers.js.map +1 -0
- package/dist/apps/control-plane/core/utils/index-normalizer.d.ts +7 -0
- package/dist/apps/control-plane/core/utils/index-normalizer.js +92 -0
- package/dist/apps/control-plane/core/utils/index-normalizer.js.map +1 -0
- package/dist/apps/control-plane/core/utils/path-normalizers.d.ts +2 -0
- package/dist/apps/control-plane/core/utils/path-normalizers.js +17 -0
- package/dist/apps/control-plane/core/utils/path-normalizers.js.map +1 -0
- package/dist/apps/control-plane/interfaces/cli/bootstrap.js +13 -1
- package/dist/apps/control-plane/interfaces/cli/bootstrap.js.map +1 -1
- package/dist/apps/control-plane/providers/api-worker-provider.d.ts +4 -13
- package/dist/apps/control-plane/providers/api-worker-provider.js +10 -0
- package/dist/apps/control-plane/providers/api-worker-provider.js.map +1 -1
- package/dist/apps/control-plane/providers/cli-worker-provider.d.ts +11 -13
- package/dist/apps/control-plane/providers/cli-worker-provider.js +64 -0
- package/dist/apps/control-plane/providers/cli-worker-provider.js.map +1 -1
- package/dist/apps/control-plane/providers/providers.d.ts +31 -24
- package/dist/apps/control-plane/providers/providers.js +10 -0
- package/dist/apps/control-plane/providers/providers.js.map +1 -1
- package/dist/apps/control-plane/providers/worker-provider-factory.d.ts +11 -0
- package/dist/apps/control-plane/providers/worker-provider-factory.js +20 -1
- package/dist/apps/control-plane/providers/worker-provider-factory.js.map +1 -1
- package/dist/apps/control-plane/supervisor/run-coordinator.d.ts +3 -0
- package/dist/apps/control-plane/supervisor/run-coordinator.js +81 -33
- package/dist/apps/control-plane/supervisor/run-coordinator.js.map +1 -1
- package/dist/apps/control-plane/supervisor/runtime.d.ts +8 -1
- package/dist/apps/control-plane/supervisor/runtime.js +90 -0
- package/dist/apps/control-plane/supervisor/runtime.js.map +1 -1
- package/dist/apps/control-plane/supervisor/types.d.ts +11 -0
- package/dist/apps/control-plane/supervisor/types.js.map +1 -1
- package/dist/apps/control-plane/supervisor/worker-decision-loop.d.ts +21 -1
- package/dist/apps/control-plane/supervisor/worker-decision-loop.js +207 -13
- package/dist/apps/control-plane/supervisor/worker-decision-loop.js.map +1 -1
- package/package.json +1 -1
- package/packages/web-dashboard/package.json +2 -0
- package/packages/web-dashboard/src/app/analytics/page.tsx +83 -2
- package/packages/web-dashboard/src/app/api/actions/route.ts +92 -1
- package/packages/web-dashboard/src/app/api/analytics/route.ts +5 -2
- package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/[checkpointId]/diff/route.ts +43 -0
- package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/compare/route.ts +45 -0
- package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/stream/route.ts +170 -0
- package/packages/web-dashboard/src/app/api/features/[id]/file-diff/route.ts +144 -0
- package/packages/web-dashboard/src/app/api/features/[id]/log-stream/route.ts +167 -0
- package/packages/web-dashboard/src/app/api/features/[id]/raw-logs/[filename]/route.ts +65 -0
- package/packages/web-dashboard/src/app/api/features/[id]/raw-logs/route.ts +63 -0
- package/packages/web-dashboard/src/app/api/features/[id]/timeline/route.ts +60 -0
- package/packages/web-dashboard/src/app/feature/[id]/page.tsx +32 -11
- package/packages/web-dashboard/src/app/globals.css +2 -0
- package/packages/web-dashboard/src/components/detail-panel.tsx +483 -0
- package/packages/web-dashboard/src/components/review-workspace.tsx +1162 -0
- package/packages/web-dashboard/src/lib/aop-client.ts +725 -0
- package/packages/web-dashboard/src/lib/review-contracts.ts +182 -0
- package/packages/web-dashboard/src/lib/review-workspace-logic.ts +64 -0
- package/packages/web-dashboard/src/lib/types.ts +131 -0
- package/packages/web-dashboard/src/styles/dashboard.module.css +333 -0
- package/spec-files/completed/agentic_orchestrator_execution_mode_spec.md +1905 -0
- package/spec-files/outstanding/agentic_orchestrator_runtime_inspection_spec.md +940 -0
- package/spec-files/outstanding/execution_mode_critical_review.md +355 -0
- package/spec-files/outstanding/shadow_workspace_implementation_spec.md +1271 -0
- package/spec-files/outstanding/shadow_workspace_spec_summary.md +222 -0
- package/spec-files/progress.md +269 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
type AnyRecord = Record<string, any>;
|
|
2
|
+
export interface RepoOperationsServicePort {
|
|
3
|
+
getRepoRoot(): string;
|
|
4
|
+
worktreePath(featureId: string): string;
|
|
5
|
+
getPolicySnapshot(): AnyRecord;
|
|
6
|
+
evidenceLatest(featureId: string): Promise<{
|
|
7
|
+
data?: {
|
|
8
|
+
latest?: unknown;
|
|
9
|
+
};
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
export declare class RepoOperationsService {
|
|
13
|
+
private readonly port;
|
|
14
|
+
constructor(port: RepoOperationsServicePort);
|
|
15
|
+
repoEnsureWorktree(featureId: string | null): Promise<{
|
|
16
|
+
data: {
|
|
17
|
+
feature_id: string;
|
|
18
|
+
branch: string;
|
|
19
|
+
worktree_path_abs: string;
|
|
20
|
+
existed: boolean;
|
|
21
|
+
};
|
|
22
|
+
}>;
|
|
23
|
+
repoStatus(featureId: string | null): Promise<{
|
|
24
|
+
data: {
|
|
25
|
+
feature_id: string;
|
|
26
|
+
branch: string;
|
|
27
|
+
status_porcelain: string[];
|
|
28
|
+
};
|
|
29
|
+
}>;
|
|
30
|
+
repoDiff(featureId: string | null, options?: string[]): Promise<{
|
|
31
|
+
data: {
|
|
32
|
+
feature_id: string;
|
|
33
|
+
diff: string;
|
|
34
|
+
};
|
|
35
|
+
}>;
|
|
36
|
+
repoReadFile(featureId: string | null, filePath: string | null): Promise<{
|
|
37
|
+
data: {
|
|
38
|
+
feature_id: string;
|
|
39
|
+
path: string;
|
|
40
|
+
content: string;
|
|
41
|
+
};
|
|
42
|
+
}>;
|
|
43
|
+
repoSearch(featureId: string | null, query: string | null): Promise<{
|
|
44
|
+
data: {
|
|
45
|
+
feature_id: string;
|
|
46
|
+
query: string;
|
|
47
|
+
matches: ({
|
|
48
|
+
raw: string;
|
|
49
|
+
path?: undefined;
|
|
50
|
+
line?: undefined;
|
|
51
|
+
snippet?: undefined;
|
|
52
|
+
} | {
|
|
53
|
+
path: string;
|
|
54
|
+
line: number;
|
|
55
|
+
snippet: string;
|
|
56
|
+
raw?: undefined;
|
|
57
|
+
})[];
|
|
58
|
+
};
|
|
59
|
+
}>;
|
|
60
|
+
repoDiffBundle(featureId: string | null): Promise<{
|
|
61
|
+
data: {
|
|
62
|
+
feature_id: string;
|
|
63
|
+
diff_stat: string;
|
|
64
|
+
diff: string;
|
|
65
|
+
touched_files: string[];
|
|
66
|
+
last_gate_summary: unknown;
|
|
67
|
+
};
|
|
68
|
+
}>;
|
|
69
|
+
}
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
3
|
+
import { pathExists, ensureDir } from '../../core/fs.js';
|
|
4
|
+
import { runGit, runCommand } from '../../core/git.js';
|
|
5
|
+
import { normalizeRepoPath } from '../../core/path-rules.js';
|
|
6
|
+
import { ERROR_CODES } from '../../core/error-codes.js';
|
|
7
|
+
import { fail } from '../../core/response.js';
|
|
8
|
+
import { applyWorktreeSymlinks, formatWorkspaceHookWarning, runWorktreePostCreate, } from '../../core/workspace-hooks.js';
|
|
9
|
+
import { normalizeFromWorktree } from '../../core/utils/path-normalizers.js';
|
|
10
|
+
import { asArray } from '../../core/utils/field-readers.js';
|
|
11
|
+
export class RepoOperationsService {
|
|
12
|
+
port;
|
|
13
|
+
constructor(port) {
|
|
14
|
+
this.port = port;
|
|
15
|
+
}
|
|
16
|
+
async repoEnsureWorktree(featureId) {
|
|
17
|
+
const repoRoot = this.port.getRepoRoot();
|
|
18
|
+
const worktree = this.port.worktreePath(featureId);
|
|
19
|
+
const branch = featureId;
|
|
20
|
+
await ensureDir(path.join(repoRoot, '.worktrees'));
|
|
21
|
+
if (await pathExists(worktree)) {
|
|
22
|
+
return {
|
|
23
|
+
data: {
|
|
24
|
+
feature_id: featureId,
|
|
25
|
+
branch,
|
|
26
|
+
worktree_path_abs: worktree,
|
|
27
|
+
existed: true,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const policy = this.port.getPolicySnapshot();
|
|
32
|
+
const baseBranch = policy.worktree.base_branch;
|
|
33
|
+
const baseCheck = await runGit(repoRoot, ['rev-parse', '--verify', baseBranch]);
|
|
34
|
+
const baseRef = baseCheck.code === 0 ? baseBranch : 'HEAD';
|
|
35
|
+
const branchCheck = await runGit(repoRoot, ['rev-parse', '--verify', branch]);
|
|
36
|
+
if (branchCheck.code !== 0) {
|
|
37
|
+
const branchCreate = await runGit(repoRoot, ['branch', branch, baseRef]);
|
|
38
|
+
if (branchCreate.code !== 0) {
|
|
39
|
+
throw {
|
|
40
|
+
normalizedResponse: fail(ERROR_CODES.GIT_FAILURE, 'Unable to create feature branch', {
|
|
41
|
+
feature_id: featureId,
|
|
42
|
+
stderr: branchCreate.stderr,
|
|
43
|
+
retryable: false,
|
|
44
|
+
requires_human: true,
|
|
45
|
+
}, {
|
|
46
|
+
command: ['git', 'branch', branch, baseRef],
|
|
47
|
+
exit_code: branchCreate.code,
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const addWorktree = await runGit(repoRoot, ['worktree', 'add', worktree, branch]);
|
|
53
|
+
if (addWorktree.code !== 0) {
|
|
54
|
+
throw {
|
|
55
|
+
normalizedResponse: fail(ERROR_CODES.GIT_FAILURE, 'Unable to create git worktree', {
|
|
56
|
+
feature_id: featureId,
|
|
57
|
+
stderr: addWorktree.stderr,
|
|
58
|
+
retryable: false,
|
|
59
|
+
requires_human: true,
|
|
60
|
+
}, {
|
|
61
|
+
command: ['git', 'worktree', 'add', worktree, branch],
|
|
62
|
+
exit_code: addWorktree.code,
|
|
63
|
+
}),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const worktreeConfig = policy.worktree;
|
|
67
|
+
const hookWarnings = [];
|
|
68
|
+
const collectHookWarning = (warning) => {
|
|
69
|
+
hookWarnings.push(warning);
|
|
70
|
+
};
|
|
71
|
+
if (worktreeConfig?.symlinks?.length) {
|
|
72
|
+
await applyWorktreeSymlinks(repoRoot, worktree, worktreeConfig.symlinks, collectHookWarning);
|
|
73
|
+
}
|
|
74
|
+
if (worktreeConfig?.post_create?.length) {
|
|
75
|
+
await runWorktreePostCreate(worktree, worktreeConfig.post_create, collectHookWarning);
|
|
76
|
+
}
|
|
77
|
+
for (const warning of hookWarnings) {
|
|
78
|
+
// Preserve non-fatal behavior while making hook failures observable.
|
|
79
|
+
console.warn(`[aop] workspace hook warning: ${formatWorkspaceHookWarning(warning)}`);
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
data: {
|
|
83
|
+
feature_id: featureId,
|
|
84
|
+
branch,
|
|
85
|
+
worktree_path_abs: worktree,
|
|
86
|
+
existed: false,
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
async repoStatus(featureId) {
|
|
91
|
+
const repoRoot = this.port.getRepoRoot();
|
|
92
|
+
const worktree = this.port.worktreePath(featureId);
|
|
93
|
+
const status = await runGit(repoRoot, ['status', '--porcelain'], { cwd: worktree });
|
|
94
|
+
const branch = await runGit(repoRoot, ['rev-parse', '--abbrev-ref', 'HEAD'], {
|
|
95
|
+
cwd: worktree,
|
|
96
|
+
});
|
|
97
|
+
return {
|
|
98
|
+
data: {
|
|
99
|
+
feature_id: featureId,
|
|
100
|
+
branch: branch.stdout.trim(),
|
|
101
|
+
status_porcelain: status.stdout.trim().split('\n').filter(Boolean),
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
async repoDiff(featureId, options = []) {
|
|
106
|
+
const repoRoot = this.port.getRepoRoot();
|
|
107
|
+
const safeOptions = asArray(options).filter((option) => typeof option === 'string' && option.startsWith('--'));
|
|
108
|
+
const diff = await runGit(repoRoot, ['diff', ...safeOptions], {
|
|
109
|
+
cwd: this.port.worktreePath(featureId),
|
|
110
|
+
});
|
|
111
|
+
return {
|
|
112
|
+
data: {
|
|
113
|
+
feature_id: featureId,
|
|
114
|
+
diff: diff.stdout,
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
async repoReadFile(featureId, filePath) {
|
|
119
|
+
const repoRoot = this.port.getRepoRoot();
|
|
120
|
+
const worktree = this.port.worktreePath(featureId);
|
|
121
|
+
const policy = this.port.getPolicySnapshot();
|
|
122
|
+
const normalized = await normalizeRepoPath(repoRoot, path.join(worktree, filePath), policy.path_rules
|
|
123
|
+
?.allow_symlink_traversal).then((relative) => normalizeFromWorktree(worktree, repoRoot, relative));
|
|
124
|
+
const absolute = path.join(repoRoot, normalized);
|
|
125
|
+
const exists = await pathExists(absolute);
|
|
126
|
+
if (!exists) {
|
|
127
|
+
throw {
|
|
128
|
+
normalizedResponse: fail(ERROR_CODES.FILE_NOT_FOUND, 'File not found', {
|
|
129
|
+
path: normalized,
|
|
130
|
+
retryable: false,
|
|
131
|
+
requires_human: false,
|
|
132
|
+
}),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const content = await fs.readFile(absolute, 'utf8');
|
|
136
|
+
return {
|
|
137
|
+
data: {
|
|
138
|
+
feature_id: featureId,
|
|
139
|
+
path: normalized,
|
|
140
|
+
content,
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
async repoSearch(featureId, query) {
|
|
145
|
+
const worktree = this.port.worktreePath(featureId);
|
|
146
|
+
const rgResult = await runCommand('rg', ['-n', '--no-heading', query, '.'], {
|
|
147
|
+
cwd: worktree,
|
|
148
|
+
timeoutMs: 30_000,
|
|
149
|
+
});
|
|
150
|
+
if (rgResult.code === 127) {
|
|
151
|
+
throw {
|
|
152
|
+
normalizedResponse: fail(ERROR_CODES.GIT_FAILURE, 'ripgrep (rg) not found - required for search functionality', {
|
|
153
|
+
stderr: rgResult.stderr,
|
|
154
|
+
retryable: false,
|
|
155
|
+
requires_human: true,
|
|
156
|
+
}),
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
if (rgResult.code !== 0 && rgResult.code !== 1) {
|
|
160
|
+
throw {
|
|
161
|
+
normalizedResponse: fail(ERROR_CODES.GIT_FAILURE, 'Search failed', {
|
|
162
|
+
stderr: rgResult.stderr,
|
|
163
|
+
retryable: true,
|
|
164
|
+
requires_human: false,
|
|
165
|
+
}),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
const matches = rgResult.stdout
|
|
169
|
+
.trim()
|
|
170
|
+
.split('\n')
|
|
171
|
+
.filter(Boolean)
|
|
172
|
+
.map((line) => {
|
|
173
|
+
const firstColon = line.indexOf(':');
|
|
174
|
+
const secondColon = line.indexOf(':', firstColon + 1);
|
|
175
|
+
if (firstColon === -1 || secondColon === -1) {
|
|
176
|
+
return { raw: line };
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
path: line.slice(0, firstColon),
|
|
180
|
+
line: Number(line.slice(firstColon + 1, secondColon)),
|
|
181
|
+
snippet: line.slice(secondColon + 1),
|
|
182
|
+
};
|
|
183
|
+
});
|
|
184
|
+
return {
|
|
185
|
+
data: {
|
|
186
|
+
feature_id: featureId,
|
|
187
|
+
query,
|
|
188
|
+
matches,
|
|
189
|
+
},
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
async repoDiffBundle(featureId) {
|
|
193
|
+
const repoRoot = this.port.getRepoRoot();
|
|
194
|
+
const worktree = this.port.worktreePath(featureId);
|
|
195
|
+
const stat = await runGit(repoRoot, ['diff', '--stat'], { cwd: worktree });
|
|
196
|
+
const full = await runGit(repoRoot, ['diff'], { cwd: worktree });
|
|
197
|
+
const names = await runGit(repoRoot, ['diff', '--name-only'], { cwd: worktree });
|
|
198
|
+
const latest = await this.port.evidenceLatest(featureId);
|
|
199
|
+
return {
|
|
200
|
+
data: {
|
|
201
|
+
feature_id: featureId,
|
|
202
|
+
diff_stat: stat.stdout,
|
|
203
|
+
diff: full.stdout,
|
|
204
|
+
touched_files: names.stdout
|
|
205
|
+
.split('\n')
|
|
206
|
+
.map((x) => x.trim())
|
|
207
|
+
.filter(Boolean),
|
|
208
|
+
last_gate_summary: latest.data?.latest ?? null,
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=repo-operations-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-operations-service.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/application/services/repo-operations-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
interface WatchStartInput {
|
|
3
|
+
featureId: string;
|
|
4
|
+
repoRoot: string;
|
|
5
|
+
worktreePath: string;
|
|
6
|
+
pollIntervalMs: number;
|
|
7
|
+
maxUncommittedChanges: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Polling watchdog that tracks feature-worktree changes and emits threshold events.
|
|
11
|
+
*/
|
|
12
|
+
export declare class WorktreeWatchdogService extends EventEmitter {
|
|
13
|
+
private readonly watchers;
|
|
14
|
+
startWatching(input: WatchStartInput): Promise<void>;
|
|
15
|
+
stopWatching(featureId: string): Promise<void>;
|
|
16
|
+
getChangedFiles(featureId: string): Promise<string[]>;
|
|
17
|
+
getChangeCount(featureId: string): number;
|
|
18
|
+
resetChangeCount(featureId: string): void;
|
|
19
|
+
on(event: 'changeThreshold', listener: (featureId: string) => void): this;
|
|
20
|
+
off(event: 'changeThreshold', listener: (featureId: string) => void): this;
|
|
21
|
+
private pollFeature;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
import { runGit } from '../../core/git.js';
|
|
3
|
+
function parseStatusPaths(statusPorcelain) {
|
|
4
|
+
const files = [];
|
|
5
|
+
const lines = statusPorcelain
|
|
6
|
+
.split('\n')
|
|
7
|
+
.map((line) => line.trimEnd())
|
|
8
|
+
.filter((line) => line.length >= 4);
|
|
9
|
+
for (const line of lines) {
|
|
10
|
+
const candidate = line.slice(3).trim();
|
|
11
|
+
if (!candidate) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
const renameMarker = candidate.indexOf(' -> ');
|
|
15
|
+
const pathValue = renameMarker >= 0 ? candidate.slice(renameMarker + 4) : candidate;
|
|
16
|
+
const normalized = pathValue.replaceAll('\\\\', '/').trim();
|
|
17
|
+
if (normalized.length > 0) {
|
|
18
|
+
files.push(normalized);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return [...new Set(files)].sort((a, b) => a.localeCompare(b));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Polling watchdog that tracks feature-worktree changes and emits threshold events.
|
|
25
|
+
*/
|
|
26
|
+
export class WorktreeWatchdogService extends EventEmitter {
|
|
27
|
+
watchers = new Map();
|
|
28
|
+
async startWatching(input) {
|
|
29
|
+
await this.stopWatching(input.featureId);
|
|
30
|
+
const intervalMs = Number.isFinite(input.pollIntervalMs) && input.pollIntervalMs > 0
|
|
31
|
+
? Math.floor(input.pollIntervalMs)
|
|
32
|
+
: 2_000;
|
|
33
|
+
const maxUncommittedChanges = Number.isFinite(input.maxUncommittedChanges) && input.maxUncommittedChanges > 0
|
|
34
|
+
? Math.floor(input.maxUncommittedChanges)
|
|
35
|
+
: 50;
|
|
36
|
+
const state = {
|
|
37
|
+
repoRoot: input.repoRoot,
|
|
38
|
+
worktreePath: input.worktreePath,
|
|
39
|
+
maxUncommittedChanges,
|
|
40
|
+
timer: setInterval(() => {
|
|
41
|
+
void this.pollFeature(input.featureId);
|
|
42
|
+
}, intervalMs),
|
|
43
|
+
changedFiles: new Set(),
|
|
44
|
+
thresholdEmitted: false,
|
|
45
|
+
pollInFlight: false,
|
|
46
|
+
stopped: false,
|
|
47
|
+
};
|
|
48
|
+
state.timer.unref?.();
|
|
49
|
+
this.watchers.set(input.featureId, state);
|
|
50
|
+
await this.pollFeature(input.featureId);
|
|
51
|
+
}
|
|
52
|
+
stopWatching(featureId) {
|
|
53
|
+
const existing = this.watchers.get(featureId);
|
|
54
|
+
if (!existing) {
|
|
55
|
+
return Promise.resolve();
|
|
56
|
+
}
|
|
57
|
+
existing.stopped = true;
|
|
58
|
+
clearInterval(existing.timer);
|
|
59
|
+
this.watchers.delete(featureId);
|
|
60
|
+
return Promise.resolve();
|
|
61
|
+
}
|
|
62
|
+
async getChangedFiles(featureId) {
|
|
63
|
+
await this.pollFeature(featureId);
|
|
64
|
+
const state = this.watchers.get(featureId);
|
|
65
|
+
if (!state) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
return [...state.changedFiles].sort((a, b) => a.localeCompare(b));
|
|
69
|
+
}
|
|
70
|
+
getChangeCount(featureId) {
|
|
71
|
+
const state = this.watchers.get(featureId);
|
|
72
|
+
if (!state) {
|
|
73
|
+
return 0;
|
|
74
|
+
}
|
|
75
|
+
return state.changedFiles.size;
|
|
76
|
+
}
|
|
77
|
+
resetChangeCount(featureId) {
|
|
78
|
+
const state = this.watchers.get(featureId);
|
|
79
|
+
if (!state) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
state.changedFiles.clear();
|
|
83
|
+
state.thresholdEmitted = false;
|
|
84
|
+
}
|
|
85
|
+
on(event, listener) {
|
|
86
|
+
return super.on(event, listener);
|
|
87
|
+
}
|
|
88
|
+
off(event, listener) {
|
|
89
|
+
return super.off(event, listener);
|
|
90
|
+
}
|
|
91
|
+
async pollFeature(featureId) {
|
|
92
|
+
const state = this.watchers.get(featureId);
|
|
93
|
+
if (!state || state.stopped || state.pollInFlight) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
state.pollInFlight = true;
|
|
97
|
+
try {
|
|
98
|
+
const status = await runGit(state.repoRoot, ['status', '--porcelain'], {
|
|
99
|
+
cwd: state.worktreePath,
|
|
100
|
+
});
|
|
101
|
+
if (status.code !== 0) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const files = parseStatusPaths(status.stdout);
|
|
105
|
+
state.changedFiles = new Set(files);
|
|
106
|
+
if (state.changedFiles.size >= state.maxUncommittedChanges && !state.thresholdEmitted) {
|
|
107
|
+
state.thresholdEmitted = true;
|
|
108
|
+
this.emit('changeThreshold', featureId);
|
|
109
|
+
}
|
|
110
|
+
if (state.changedFiles.size < state.maxUncommittedChanges) {
|
|
111
|
+
state.thresholdEmitted = false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
finally {
|
|
115
|
+
state.pollInFlight = false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=worktree-watchdog-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-watchdog-service.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/application/services/worktree-watchdog-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,11 @@ export class CliArgumentParser {
|
|
|
48
48
|
index += 1;
|
|
49
49
|
continue;
|
|
50
50
|
}
|
|
51
|
+
if (token === '--checkpoint') {
|
|
52
|
+
options.checkpoint = next;
|
|
53
|
+
index += 1;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
51
56
|
if (token === '--dry-run') {
|
|
52
57
|
const parsed = parseOptionalBooleanToken(next);
|
|
53
58
|
if (parsed === null) {
|
|
@@ -101,6 +106,13 @@ export class CliArgumentParser {
|
|
|
101
106
|
}
|
|
102
107
|
continue;
|
|
103
108
|
}
|
|
109
|
+
if (token === '--execution-mode') {
|
|
110
|
+
if (next === 'deterministic' || next === 'interactive') {
|
|
111
|
+
options.execution_mode = next;
|
|
112
|
+
index += 1;
|
|
113
|
+
}
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
104
116
|
if (token === '--transport') {
|
|
105
117
|
options.transport = next;
|
|
106
118
|
index += 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-argument-parser.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/cli/cli-argument-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-argument-parser.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/cli/cli-argument-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,SAAS,yBAAyB,CAAC,KAAyB;IAC1D,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,IAAc;QAClB,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAE9B,iDAAiD;QACjD,MAAM,UAAU,GAAG,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;QACxD,MAAM,cAAc,GAAG,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1F,MAAM,MAAM,GAAG,UAAU,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,OAAO,GAAe;YAC1B,OAAO,EAAE,UAAU,IAAI,UAAU,CAAC,GAAG;SACtC,CAAC;QAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE/B,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC5B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACjC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC9B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBAC7B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBAC7B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;oBACzB,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;oBACjC,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;gBAChC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC7B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;gBAC9B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC3B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;gBAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC5B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,uBAAuB,EAAE,CAAC;gBACtC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBACnC,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,wBAAwB,EAAE,CAAC;gBACvC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACvC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACpC,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACjC,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBACvD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC9B,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;gBACrC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBAClC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;oBACtB,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBAC7B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACzC,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,IACE,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,MAAM,CAAC;oBAC9E,CAAC,OAAO,CAAC,UAAU,EACnB,CAAC;oBACD,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC3B,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC5D,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,MAA0B;QACzC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAa,CAAC;QAClE,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,gBAAgB,CAAC;QAC1C,KAAK,CAAC,OAAO,GAAG;YACd,MAAM,EAAE,2BAA2B;YACnC,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC;SAC/B,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;CACF"}
|
|
@@ -24,6 +24,10 @@ const COMMAND_HELP = {
|
|
|
24
24
|
flag: '--worker-provider-mode <live|stub>',
|
|
25
25
|
description: 'Worker execution mode override (default: live for run/resume)',
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
flag: '--execution-mode <deterministic|interactive>',
|
|
29
|
+
description: 'Execution mode override for worker decision flow (default: deterministic)',
|
|
30
|
+
},
|
|
27
31
|
{ flag: '--transport <inprocess|mcp>', description: 'Tool transport layer (default: mcp)' },
|
|
28
32
|
{ flag: '--takeover-stale-run', description: 'Take over a stale run lease' },
|
|
29
33
|
{ flag: '--project <name>', description: 'Select project from multi-project.yaml' },
|
|
@@ -48,6 +52,10 @@ const COMMAND_HELP = {
|
|
|
48
52
|
flag: '--worker-provider-mode <live|stub>',
|
|
49
53
|
description: 'Worker execution mode override (default: live)',
|
|
50
54
|
},
|
|
55
|
+
{
|
|
56
|
+
flag: '--execution-mode <deterministic|interactive>',
|
|
57
|
+
description: 'Execution mode override for worker decision flow (default: deterministic)',
|
|
58
|
+
},
|
|
51
59
|
{ flag: '--transport <inprocess|mcp>', description: 'Tool transport layer (default: mcp)' },
|
|
52
60
|
],
|
|
53
61
|
},
|
|
@@ -88,6 +96,15 @@ const COMMAND_HELP = {
|
|
|
88
96
|
},
|
|
89
97
|
],
|
|
90
98
|
},
|
|
99
|
+
[CliCommand.Rollback]: {
|
|
100
|
+
usage: 'aop rollback [flags]',
|
|
101
|
+
description: 'Rollback a feature worktree by applying the inverse of a checkpoint snapshot.',
|
|
102
|
+
flags: [
|
|
103
|
+
{ flag: '--feature-id <id>', description: 'Feature to roll back' },
|
|
104
|
+
{ flag: '--checkpoint <id>', description: 'Checkpoint id to reverse-apply' },
|
|
105
|
+
{ flag: '--dry-run', description: 'Preview rollback inputs without applying git changes' },
|
|
106
|
+
],
|
|
107
|
+
},
|
|
91
108
|
[CliCommand.Init]: {
|
|
92
109
|
usage: 'aop init [flags]',
|
|
93
110
|
description: 'Initialise agentic orchestrator configuration in the current directory.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-command-handler.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/cli/help-command-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQxC,MAAM,YAAY,GAAoC;IACpD,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAChB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,mDAAmD;QAChE,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE;YAC3D,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE;YAC7D;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qEAAqE;aACnF;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,oDAAoD;aAClE;YACD,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACrE,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,2BAA2B,EAAE;YAC3E;gBACE,IAAI,EAAE,6BAA6B;gBACnC,WAAW,EAAE,uDAAuD;aACrE;YACD;gBACE,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,+DAA+D;aAC7E;YACD,EAAE,IAAI,EAAE,6BAA6B,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAC3F,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC5E,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACpF;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,2CAA2C;QACxD,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACpF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,4DAA4D,EAAE;YAC5F,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,6BAA6B,EAAE;SACzE;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,qCAAqC;QAClD,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,2BAA2B,EAAE;YACvE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iDAAiD,EAAE;YACnF;gBACE,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,gDAAgD;aAC9D;YACD,EAAE,IAAI,EAAE,6BAA6B,EAAE,WAAW,EAAE,qCAAqC,EAAE;SAC5F;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,sEAAsE;QACnF,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,8BAA8B,EAAE;YACxE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACpF;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE;YAC/D,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE;YACrD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,sDAAsD,EAAE;YAC1F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACzE;KACF;IACD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACpB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,uDAAuD;QACpE,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,6BAA6B,EAAE;YACzE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,gCAAgC,EAAE;YAChE,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACnF;gBACE,IAAI,EAAE,mCAAmC;gBACzC,WAAW,EAAE,mCAAmC;aACjD;YACD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,sDAAsD,EAAE;YAC1F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE;YAC3D;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,2FAA2F;aAC9F;SACF;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,yEAAyE;QACtF,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;YACtE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;YACpE;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EACT,sFAAsF;aACzF;SACF;KACF;IACD,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACtB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,iCAAiC;QAC9C,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC7E,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC1E,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE;SAC5D;KACF;IACD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAClB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE;YAC9D,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0DAA0D,EAAE;SAC7F;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,kDAAkD;QAC/D,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,4DAA4D;aAC1E;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,qEAAqE;aACnF;SACF;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,kEAAkE;QAC/E,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,kEAAkE;aAChF;SACF;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,+DAA+D;QAC5E,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;KAClF;CACF,CAAC;AAEF,SAAS,GAAG,CAAC,GAAW,EAAE,KAAa;IACrC,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,GAAe,EAAE,IAAiB;IACvD,MAAM,KAAK,GAAa,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAiB;IAC5C,MAAM,KAAK,GAAa,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,OAAO,kBAAkB;IAC7B,OAAO,CAAC,UAAmB;QACzB,MAAM,MAAM,GAAG,UAAoC,CAAC;QAEpD,IAAI,MAAM,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,MAAM,GAAG;YACb,0CAA0C;YAC1C,EAAE;YACF,8BAA8B;YAC9B,EAAE;YACF,WAAW;SACZ,CAAC;QAEF,MAAM,YAAY,GAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAsC,CAAC,GAAG,CACzF,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAC1C,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,EAAE;YACF,4DAA4D;YAC5D,mBAAmB;SACpB,CAAC;QAEF,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;IACtC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"help-command-handler.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/cli/help-command-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -349,6 +349,19 @@ missing_prompt_behavior: ignore
|
|
|
349
349
|
runtime:
|
|
350
350
|
default_provider: ${wizard.defaultProvider}
|
|
351
351
|
default_model: ${wizard.defaultModel}
|
|
352
|
+
execution_mode: ${wizard.executionMode}
|
|
353
|
+
interactive:
|
|
354
|
+
watchdog_poll_interval_ms: 2000
|
|
355
|
+
checkpoint_interval_ms: 30000
|
|
356
|
+
max_uncommitted_changes: 50
|
|
357
|
+
validation_on_checkpoint: true
|
|
358
|
+
revert_on_violation: false
|
|
359
|
+
violation_severity: warning
|
|
360
|
+
shadow_workspace:
|
|
361
|
+
enabled: false
|
|
362
|
+
promotion_strategy: atomic
|
|
363
|
+
cleanup_on_failure: true
|
|
364
|
+
max_shadow_size_mb: 2048
|
|
352
365
|
worker_provider_mode: live
|
|
353
366
|
worker_response_timeout_ms: 600000
|
|
354
367
|
worker_spawn_timeout_ms: 15000
|
|
@@ -398,6 +411,13 @@ function parseFramework(raw, fallback) {
|
|
|
398
411
|
}
|
|
399
412
|
return fallback;
|
|
400
413
|
}
|
|
414
|
+
function parseExecutionMode(raw, fallback) {
|
|
415
|
+
const value = raw.trim().toLowerCase();
|
|
416
|
+
if (value === 'deterministic' || value === 'interactive') {
|
|
417
|
+
return value;
|
|
418
|
+
}
|
|
419
|
+
return fallback;
|
|
420
|
+
}
|
|
401
421
|
function parseNotificationChannels(raw) {
|
|
402
422
|
const normalized = raw.trim().toLowerCase();
|
|
403
423
|
if (!normalized || normalized === 'none') {
|
|
@@ -494,10 +514,12 @@ async function collectWizardConfig(repoRoot, defaults, promptFactory) {
|
|
|
494
514
|
providerCredentialBootstrapped = true;
|
|
495
515
|
}
|
|
496
516
|
}
|
|
517
|
+
const executionModeRaw = await askWithDefault(prompt, 'Default execution mode (deterministic|interactive)', 'deterministic');
|
|
497
518
|
return {
|
|
498
519
|
baseBranch,
|
|
499
520
|
defaultProvider: parseAdapterName(defaultProviderRaw, supportedProviders, defaults.defaultProvider),
|
|
500
521
|
defaultModel,
|
|
522
|
+
executionMode: parseExecutionMode(executionModeRaw, 'deterministic'),
|
|
501
523
|
providerConfigEnv,
|
|
502
524
|
providerCredentialBootstrapped,
|
|
503
525
|
scmProvider: parseAdapterName(scmProviderRaw, supportedScmProviders, defaults.defaultScmProvider),
|
|
@@ -548,6 +570,7 @@ export class InitCommandHandler {
|
|
|
548
570
|
baseBranch: gitContext.defaultBranch,
|
|
549
571
|
defaultProvider: DEFAULT_AGENT_PROVIDER,
|
|
550
572
|
defaultModel: DEFAULT_AGENT_MODEL,
|
|
573
|
+
executionMode: 'deterministic',
|
|
551
574
|
providerConfigEnv: null,
|
|
552
575
|
providerCredentialBootstrapped: false,
|
|
553
576
|
scmProvider: DEFAULT_SCM_PROVIDER,
|