@cluesmith/codev 2.0.2 → 2.0.6
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/dashboard/dist/assets/index-B-s8BA2l.js +135 -0
- package/dashboard/dist/assets/index-B-s8BA2l.js.map +1 -0
- package/dashboard/dist/assets/index-DB2AxRP7.css +32 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +32 -14
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/architect.d.ts +1 -1
- package/dist/agent-farm/commands/architect.js +3 -3
- package/dist/agent-farm/commands/architect.js.map +1 -1
- package/dist/agent-farm/commands/attach.d.ts +19 -0
- package/dist/agent-farm/commands/attach.d.ts.map +1 -1
- package/dist/agent-farm/commands/attach.js +172 -12
- package/dist/agent-farm/commands/attach.js.map +1 -1
- package/dist/agent-farm/commands/cleanup.js +6 -6
- package/dist/agent-farm/commands/cleanup.js.map +1 -1
- package/dist/agent-farm/commands/open.js +5 -5
- package/dist/agent-farm/commands/open.js.map +1 -1
- package/dist/agent-farm/commands/send.d.ts +22 -2
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +100 -181
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/shell.js +5 -5
- package/dist/agent-farm/commands/shell.js.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.d.ts +3 -9
- package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.js +14 -53
- package/dist/agent-farm/commands/spawn-roles.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +11 -17
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +32 -13
- package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
- package/dist/agent-farm/commands/spawn.d.ts +8 -6
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +183 -69
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/commands/start.d.ts +4 -4
- package/dist/agent-farm/commands/start.js +16 -16
- package/dist/agent-farm/commands/start.js.map +1 -1
- package/dist/agent-farm/commands/status.d.ts +1 -1
- package/dist/agent-farm/commands/status.d.ts.map +1 -1
- package/dist/agent-farm/commands/status.js +15 -26
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/commands/stop.d.ts +4 -4
- package/dist/agent-farm/commands/stop.js +9 -9
- package/dist/agent-farm/commands/stop.js.map +1 -1
- package/dist/agent-farm/db/index.d.ts.map +1 -1
- package/dist/agent-farm/db/index.js +82 -7
- package/dist/agent-farm/db/index.js.map +1 -1
- package/dist/agent-farm/db/schema.d.ts +2 -2
- package/dist/agent-farm/db/schema.d.ts.map +1 -1
- package/dist/agent-farm/db/schema.js +21 -4
- package/dist/agent-farm/db/schema.js.map +1 -1
- package/dist/agent-farm/lib/tower-client.d.ts +36 -26
- package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tower-client.js +50 -25
- package/dist/agent-farm/lib/tower-client.js.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.d.ts +12 -2
- package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.js +59 -1
- package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
- package/dist/agent-farm/servers/overview.d.ts +111 -0
- package/dist/agent-farm/servers/overview.d.ts.map +1 -0
- package/dist/agent-farm/servers/overview.js +385 -0
- package/dist/agent-farm/servers/overview.js.map +1 -0
- package/dist/agent-farm/servers/tower-instances.d.ts +18 -20
- package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-instances.js +97 -100
- package/dist/agent-farm/servers/tower-instances.js.map +1 -1
- package/dist/agent-farm/servers/tower-messages.d.ts +87 -0
- package/dist/agent-farm/servers/tower-messages.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-messages.js +202 -0
- package/dist/agent-farm/servers/tower-messages.js.map +1 -0
- package/dist/agent-farm/servers/tower-routes.d.ts +1 -1
- package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-routes.js +343 -174
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +50 -21
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.d.ts +35 -31
- package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.js +208 -184
- package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.d.ts +2 -2
- package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.js +12 -12
- package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
- package/dist/agent-farm/servers/tower-types.d.ts +8 -12
- package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.d.ts +9 -9
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.js +18 -18
- package/dist/agent-farm/servers/tower-utils.js.map +1 -1
- package/dist/agent-farm/servers/tower-websocket.d.ts +2 -2
- package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-websocket.js +39 -18
- package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
- package/dist/agent-farm/types.d.ts +5 -6
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/agent-farm/utils/agent-names.d.ts +85 -0
- package/dist/agent-farm/utils/agent-names.d.ts.map +1 -0
- package/dist/agent-farm/utils/agent-names.js +140 -0
- package/dist/agent-farm/utils/agent-names.js.map +1 -0
- package/dist/agent-farm/utils/config.d.ts +1 -1
- package/dist/agent-farm/utils/config.d.ts.map +1 -1
- package/dist/agent-farm/utils/config.js +16 -16
- package/dist/agent-farm/utils/config.js.map +1 -1
- package/dist/agent-farm/utils/file-tabs.d.ts +3 -3
- package/dist/agent-farm/utils/file-tabs.d.ts.map +1 -1
- package/dist/agent-farm/utils/file-tabs.js +9 -9
- package/dist/agent-farm/utils/file-tabs.js.map +1 -1
- package/dist/agent-farm/utils/index.d.ts +0 -1
- package/dist/agent-farm/utils/index.d.ts.map +1 -1
- package/dist/agent-farm/utils/index.js +0 -1
- package/dist/agent-farm/utils/index.js.map +1 -1
- package/dist/agent-farm/utils/message-format.d.ts +17 -0
- package/dist/agent-farm/utils/message-format.d.ts.map +1 -0
- package/dist/agent-farm/utils/message-format.js +41 -0
- package/dist/agent-farm/utils/message-format.js.map +1 -0
- package/dist/agent-farm/utils/notifications.d.ts +4 -4
- package/dist/agent-farm/utils/notifications.d.ts.map +1 -1
- package/dist/agent-farm/utils/notifications.js +18 -18
- package/dist/agent-farm/utils/notifications.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +26 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts +2 -2
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +13 -15
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/consult/index.d.ts +26 -2
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +296 -83
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/consult/metrics.d.ts +90 -0
- package/dist/commands/consult/metrics.d.ts.map +1 -0
- package/dist/commands/consult/metrics.js +203 -0
- package/dist/commands/consult/metrics.js.map +1 -0
- package/dist/commands/consult/stats.d.ts +18 -0
- package/dist/commands/consult/stats.d.ts.map +1 -0
- package/dist/commands/consult/stats.js +150 -0
- package/dist/commands/consult/stats.js.map +1 -0
- package/dist/commands/consult/usage-extractor.d.ts +38 -0
- package/dist/commands/consult/usage-extractor.d.ts.map +1 -0
- package/dist/commands/consult/usage-extractor.js +99 -0
- package/dist/commands/consult/usage-extractor.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +11 -9
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/import.js +4 -4
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +13 -15
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/porch/index.d.ts +6 -6
- package/dist/commands/porch/index.d.ts.map +1 -1
- package/dist/commands/porch/index.js +37 -37
- package/dist/commands/porch/index.js.map +1 -1
- package/dist/commands/porch/next.d.ts +1 -1
- package/dist/commands/porch/next.d.ts.map +1 -1
- package/dist/commands/porch/next.js +86 -92
- package/dist/commands/porch/next.js.map +1 -1
- package/dist/commands/porch/notify.d.ts +11 -0
- package/dist/commands/porch/notify.d.ts.map +1 -0
- package/dist/commands/porch/notify.js +30 -0
- package/dist/commands/porch/notify.js.map +1 -0
- package/dist/commands/porch/plan.d.ts +1 -1
- package/dist/commands/porch/plan.d.ts.map +1 -1
- package/dist/commands/porch/plan.js +3 -3
- package/dist/commands/porch/plan.js.map +1 -1
- package/dist/commands/porch/prompts.d.ts +10 -1
- package/dist/commands/porch/prompts.d.ts.map +1 -1
- package/dist/commands/porch/prompts.js +59 -35
- package/dist/commands/porch/prompts.js.map +1 -1
- package/dist/commands/porch/protocol.d.ts +1 -1
- package/dist/commands/porch/protocol.d.ts.map +1 -1
- package/dist/commands/porch/protocol.js +8 -8
- package/dist/commands/porch/protocol.js.map +1 -1
- package/dist/commands/porch/state.d.ts +6 -6
- package/dist/commands/porch/state.d.ts.map +1 -1
- package/dist/commands/porch/state.js +14 -12
- package/dist/commands/porch/state.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +10 -11
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/github.d.ts +81 -0
- package/dist/lib/github.d.ts.map +1 -0
- package/dist/lib/github.js +141 -0
- package/dist/lib/github.js.map +1 -0
- package/dist/lib/scaffold.d.ts +13 -21
- package/dist/lib/scaffold.d.ts.map +1 -1
- package/dist/lib/scaffold.js +34 -57
- package/dist/lib/scaffold.js.map +1 -1
- package/dist/lib/skeleton.d.ts +7 -7
- package/dist/lib/skeleton.d.ts.map +1 -1
- package/dist/lib/skeleton.js +10 -10
- package/dist/lib/skeleton.js.map +1 -1
- package/dist/terminal/index.d.ts +14 -0
- package/dist/terminal/index.d.ts.map +1 -1
- package/dist/terminal/index.js +12 -0
- package/dist/terminal/index.js.map +1 -1
- package/dist/terminal/pty-manager.d.ts +1 -1
- package/dist/terminal/pty-manager.d.ts.map +1 -1
- package/dist/terminal/pty-manager.js +10 -7
- package/dist/terminal/pty-manager.js.map +1 -1
- package/dist/terminal/pty-session.js +3 -3
- package/dist/terminal/pty-session.js.map +1 -1
- package/dist/terminal/session-manager.d.ts +64 -0
- package/dist/terminal/session-manager.d.ts.map +1 -1
- package/dist/terminal/session-manager.js +299 -10
- package/dist/terminal/session-manager.js.map +1 -1
- package/dist/terminal/shellper-client.d.ts +2 -1
- package/dist/terminal/shellper-client.d.ts.map +1 -1
- package/dist/terminal/shellper-client.js +4 -2
- package/dist/terminal/shellper-client.js.map +1 -1
- package/dist/terminal/shellper-main.js +33 -4
- package/dist/terminal/shellper-main.js.map +1 -1
- package/dist/terminal/shellper-process.d.ts +24 -7
- package/dist/terminal/shellper-process.d.ts.map +1 -1
- package/dist/terminal/shellper-process.js +139 -36
- package/dist/terminal/shellper-process.js.map +1 -1
- package/dist/terminal/shellper-protocol.d.ts +1 -0
- package/dist/terminal/shellper-protocol.d.ts.map +1 -1
- package/dist/terminal/shellper-protocol.js.map +1 -1
- package/package.json +4 -1
- package/skeleton/.claude/skills/af/SKILL.md +7 -7
- package/skeleton/.claude/skills/consult/SKILL.md +1 -1
- package/skeleton/builders.md +2 -2
- package/skeleton/maintain/.gitkeep +1 -1
- package/skeleton/porch/prompts/specify.md +1 -1
- package/skeleton/protocols/bugfix/prompts/pr.md +15 -4
- package/skeleton/protocols/experiment/protocol.md +17 -17
- package/skeleton/protocols/maintain/prompts/audit.md +2 -2
- package/skeleton/protocols/maintain/prompts/sync.md +1 -1
- package/skeleton/protocols/maintain/prompts/verify.md +1 -1
- package/skeleton/protocols/maintain/protocol.md +8 -9
- package/skeleton/protocols/maintain/templates/maintenance-run.md +2 -2
- package/skeleton/protocols/spir/protocol.json +5 -5
- package/skeleton/protocols/spir/protocol.md +8 -8
- package/skeleton/protocols/tick/protocol.md +31 -31
- package/skeleton/resources/commands/agent-farm.md +14 -14
- package/skeleton/resources/commands/codev.md +0 -1
- package/skeleton/resources/commands/consult.md +3 -3
- package/skeleton/resources/spikes.md +3 -3
- package/skeleton/resources/workflow-reference.md +14 -14
- package/skeleton/roles/architect.md +25 -25
- package/skeleton/roles/builder.md +1 -1
- package/skeleton/roles/consultant.md +6 -0
- package/skeleton/templates/AGENTS.md +5 -5
- package/skeleton/templates/CLAUDE.md +5 -5
- package/skeleton/templates/lifecycle.md +9 -9
- package/templates/open.html +19 -16
- package/templates/tower.html +54 -94
- package/templates/vendor/marked.min.js +6 -0
- package/templates/vendor/prism-bash.min.js +1 -0
- package/templates/vendor/prism-css.min.js +1 -0
- package/templates/vendor/prism-javascript.min.js +1 -0
- package/templates/vendor/prism-json.min.js +1 -0
- package/templates/vendor/prism-markdown.min.js +1 -0
- package/templates/vendor/prism-markup.min.js +1 -0
- package/templates/vendor/prism-python.min.js +1 -0
- package/templates/vendor/prism-tomorrow.min.css +1 -0
- package/templates/vendor/prism-typescript.min.js +1 -0
- package/templates/vendor/prism-yaml.min.js +1 -0
- package/templates/vendor/prism.min.js +1 -0
- package/templates/vendor/purify.min.js +3 -0
- package/dashboard/dist/assets/index-4n9zpWLY.css +0 -32
- package/dashboard/dist/assets/index-b38SaXk5.js +0 -136
- package/dashboard/dist/assets/index-b38SaXk5.js.map +0 -1
- package/dist/agent-farm/hq-connector.d.ts +0 -19
- package/dist/agent-farm/hq-connector.d.ts.map +0 -1
- package/dist/agent-farm/hq-connector.js +0 -351
- package/dist/agent-farm/hq-connector.js.map +0 -1
- package/dist/agent-farm/utils/deps.d.ts +0 -51
- package/dist/agent-farm/utils/deps.d.ts.map +0 -1
- package/dist/agent-farm/utils/deps.js +0 -162
- package/dist/agent-farm/utils/deps.js.map +0 -1
- package/dist/agent-farm/utils/gate-status.d.ts +0 -16
- package/dist/agent-farm/utils/gate-status.d.ts.map +0 -1
- package/dist/agent-farm/utils/gate-status.js +0 -79
- package/dist/agent-farm/utils/gate-status.js.map +0 -1
- package/dist/agent-farm/utils/gate-watcher.d.ts +0 -38
- package/dist/agent-farm/utils/gate-watcher.d.ts.map +0 -1
- package/dist/agent-farm/utils/gate-watcher.js +0 -122
- package/dist/agent-farm/utils/gate-watcher.js.map +0 -1
- package/dist/agent-farm/utils/session.d.ts +0 -32
- package/dist/agent-farm/utils/session.d.ts.map +0 -1
- package/dist/agent-farm/utils/session.js +0 -57
- package/dist/agent-farm/utils/session.js.map +0 -1
- package/dist/lib/projectlist-parser.d.ts +0 -70
- package/dist/lib/projectlist-parser.d.ts.map +0 -1
- package/dist/lib/projectlist-parser.js +0 -200
- package/dist/lib/projectlist-parser.js.map +0 -1
- package/skeleton/templates/projectlist-archive.md +0 -21
- package/skeleton/templates/projectlist.md +0 -147
- package/templates/dashboard/css/dialogs.css +0 -149
- package/templates/dashboard/css/files.css +0 -558
- package/templates/dashboard/css/layout.css +0 -133
- package/templates/dashboard/css/projects.css +0 -501
- package/templates/dashboard/css/statusbar.css +0 -23
- package/templates/dashboard/css/tabs.css +0 -314
- package/templates/dashboard/css/utilities.css +0 -50
- package/templates/dashboard/css/variables.css +0 -45
- package/templates/dashboard/index.html +0 -149
- package/templates/dashboard/js/dialogs.js +0 -368
- package/templates/dashboard/js/files.js +0 -448
- package/templates/dashboard/js/main.js +0 -476
- package/templates/dashboard/js/projects.js +0 -544
- package/templates/dashboard/js/state.js +0 -91
- package/templates/dashboard/js/tabs.js +0 -518
- package/templates/dashboard/js/utils.js +0 -191
|
@@ -12,7 +12,7 @@ import * as fs from 'node:fs';
|
|
|
12
12
|
import * as path from 'node:path';
|
|
13
13
|
import { globSync } from 'glob';
|
|
14
14
|
import { readState, writeState, findStatusPath, getProjectDir } from './state.js';
|
|
15
|
-
import { loadProtocol, getPhaseConfig, getNextPhase, getPhaseGate, isPhased, isBuildVerify, getBuildConfig, getVerifyConfig,
|
|
15
|
+
import { loadProtocol, getPhaseConfig, getNextPhase, getPhaseGate, isPhased, isBuildVerify, getBuildConfig, getVerifyConfig, getPhaseChecks, } from './protocol.js';
|
|
16
16
|
import { findPlanFile, extractPhasesFromFile, getCurrentPlanPhase, advancePlanPhase, } from './plan.js';
|
|
17
17
|
import { buildPhasePrompt } from './prompts.js';
|
|
18
18
|
import { parseVerdict, allApprove } from './verdict.js';
|
|
@@ -26,11 +26,11 @@ import { parseVerdict, allApprove } from './verdict.js';
|
|
|
26
26
|
* validated: [gemini, codex, claude]
|
|
27
27
|
* ---
|
|
28
28
|
*/
|
|
29
|
-
function isArtifactPreApproved(
|
|
30
|
-
const matches = globSync(artifactGlob, { cwd:
|
|
29
|
+
function isArtifactPreApproved(workspaceRoot, artifactGlob) {
|
|
30
|
+
const matches = globSync(artifactGlob, { cwd: workspaceRoot });
|
|
31
31
|
if (matches.length === 0)
|
|
32
32
|
return false;
|
|
33
|
-
const filePath = path.join(
|
|
33
|
+
const filePath = path.join(workspaceRoot, matches[0]);
|
|
34
34
|
try {
|
|
35
35
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
36
36
|
const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
|
|
@@ -50,8 +50,8 @@ function isArtifactPreApproved(projectRoot, artifactGlob) {
|
|
|
50
50
|
* Review files are created by the `consult` CLI and follow the pattern:
|
|
51
51
|
* <id>-<phase>-iter<N>-<model>.txt
|
|
52
52
|
*/
|
|
53
|
-
function findReviewFiles(
|
|
54
|
-
const projectDir = getProjectDir(
|
|
53
|
+
function findReviewFiles(workspaceRoot, state, verifyModels) {
|
|
54
|
+
const projectDir = getProjectDir(workspaceRoot, state.id, state.title);
|
|
55
55
|
if (!fs.existsSync(projectDir))
|
|
56
56
|
return [];
|
|
57
57
|
const results = [];
|
|
@@ -71,8 +71,8 @@ function findReviewFiles(projectRoot, state, verifyModels) {
|
|
|
71
71
|
* Compute the expected review file path for a given model.
|
|
72
72
|
* This must match the pattern used by findReviewFiles().
|
|
73
73
|
*/
|
|
74
|
-
function getReviewFilePath(
|
|
75
|
-
const projectDir = getProjectDir(
|
|
74
|
+
function getReviewFilePath(workspaceRoot, state, model) {
|
|
75
|
+
const projectDir = getProjectDir(workspaceRoot, state.id, state.title);
|
|
76
76
|
const phase = state.current_plan_phase || state.phase;
|
|
77
77
|
const fileName = `${state.id}-${phase}-iter${state.iteration}-${model}.txt`;
|
|
78
78
|
return path.join(projectDir, fileName);
|
|
@@ -81,8 +81,8 @@ function getReviewFilePath(projectRoot, state, model) {
|
|
|
81
81
|
* Find a rebuttal file for a given iteration.
|
|
82
82
|
* Rebuttals are written by the builder to dispute false positive reviewer concerns.
|
|
83
83
|
*/
|
|
84
|
-
function findRebuttalFile(
|
|
85
|
-
const projectDir = getProjectDir(
|
|
84
|
+
function findRebuttalFile(workspaceRoot, state, iteration) {
|
|
85
|
+
const projectDir = getProjectDir(workspaceRoot, state.id, state.title);
|
|
86
86
|
const phase = state.current_plan_phase || state.phase;
|
|
87
87
|
const fileName = `${state.id}-${phase}-iter${iteration}-rebuttals.md`;
|
|
88
88
|
const filePath = path.join(projectDir, fileName);
|
|
@@ -106,7 +106,7 @@ function extractReviewSummary(filePath) {
|
|
|
106
106
|
* Includes previous iteration reviews and builder rebuttals so consultants
|
|
107
107
|
* can see what was raised before and how the builder responded.
|
|
108
108
|
*/
|
|
109
|
-
function buildReviewContext(
|
|
109
|
+
function buildReviewContext(workspaceRoot, state) {
|
|
110
110
|
if (state.history.length === 0)
|
|
111
111
|
return null;
|
|
112
112
|
const currentPhase = state.current_plan_phase || undefined;
|
|
@@ -123,7 +123,7 @@ function buildReviewContext(projectRoot, state) {
|
|
|
123
123
|
}
|
|
124
124
|
lines.push('');
|
|
125
125
|
// Check for builder rebuttals
|
|
126
|
-
const rebuttalFile = findRebuttalFile(
|
|
126
|
+
const rebuttalFile = findRebuttalFile(workspaceRoot, state, record.iteration);
|
|
127
127
|
if (rebuttalFile) {
|
|
128
128
|
try {
|
|
129
129
|
const rebuttals = fs.readFileSync(rebuttalFile, 'utf-8');
|
|
@@ -153,8 +153,8 @@ function buildReviewContext(projectRoot, state) {
|
|
|
153
153
|
* State is only mutated when completed work is detected (filesystem-as-truth).
|
|
154
154
|
* If called twice without filesystem changes, returns the same output.
|
|
155
155
|
*/
|
|
156
|
-
export async function next(
|
|
157
|
-
const statusPath = findStatusPath(
|
|
156
|
+
export async function next(workspaceRoot, projectId) {
|
|
157
|
+
const statusPath = findStatusPath(workspaceRoot, projectId);
|
|
158
158
|
if (!statusPath) {
|
|
159
159
|
return {
|
|
160
160
|
status: 'error',
|
|
@@ -164,10 +164,20 @@ export async function next(projectRoot, projectId) {
|
|
|
164
164
|
};
|
|
165
165
|
}
|
|
166
166
|
const state = readState(statusPath);
|
|
167
|
-
const protocol = loadProtocol(
|
|
167
|
+
const protocol = loadProtocol(workspaceRoot, state.protocol);
|
|
168
168
|
const phaseConfig = getPhaseConfig(protocol, state.phase);
|
|
169
169
|
// Protocol complete
|
|
170
170
|
if (state.phase === 'complete' || !phaseConfig) {
|
|
171
|
+
// Bugfix builders are done after PR + CMAP — architect handles merge/cleanup
|
|
172
|
+
if (state.protocol === 'bugfix') {
|
|
173
|
+
return {
|
|
174
|
+
status: 'complete',
|
|
175
|
+
phase: state.phase,
|
|
176
|
+
iteration: state.iteration,
|
|
177
|
+
summary: `Project ${state.id} has completed the ${state.protocol} protocol. The architect will review, merge, and clean up.`,
|
|
178
|
+
tasks: [],
|
|
179
|
+
};
|
|
180
|
+
}
|
|
171
181
|
return {
|
|
172
182
|
status: 'complete',
|
|
173
183
|
phase: state.phase,
|
|
@@ -186,7 +196,7 @@ export async function next(projectRoot, projectId) {
|
|
|
186
196
|
const buildConfig = getBuildConfig(protocol, state.phase);
|
|
187
197
|
if (buildConfig?.artifact) {
|
|
188
198
|
const artifactGlob = buildConfig.artifact.replace('${PROJECT_ID}', state.id);
|
|
189
|
-
if (isArtifactPreApproved(
|
|
199
|
+
if (isArtifactPreApproved(workspaceRoot, artifactGlob)) {
|
|
190
200
|
// Auto-approve gate and advance
|
|
191
201
|
const gateName = getPhaseGate(protocol, state.phase);
|
|
192
202
|
if (gateName) {
|
|
@@ -198,7 +208,7 @@ export async function next(projectRoot, projectId) {
|
|
|
198
208
|
state.phase = nextPhase.id;
|
|
199
209
|
// If entering phased protocol, extract plan phases
|
|
200
210
|
if (isPhased(protocol, nextPhase.id)) {
|
|
201
|
-
const planPath = findPlanFile(
|
|
211
|
+
const planPath = findPlanFile(workspaceRoot, state.id, state.title);
|
|
202
212
|
if (planPath) {
|
|
203
213
|
state.plan_phases = extractPhasesFromFile(planPath);
|
|
204
214
|
if (state.plan_phases.length > 0) {
|
|
@@ -211,7 +221,7 @@ export async function next(projectRoot, projectId) {
|
|
|
211
221
|
state.history = [];
|
|
212
222
|
writeState(statusPath, state);
|
|
213
223
|
// Recurse to compute tasks for the new phase
|
|
214
|
-
return next(
|
|
224
|
+
return next(workspaceRoot, projectId);
|
|
215
225
|
}
|
|
216
226
|
}
|
|
217
227
|
}
|
|
@@ -231,7 +241,7 @@ export async function next(projectRoot, projectId) {
|
|
|
231
241
|
tasks: [{
|
|
232
242
|
subject: `Request human approval: ${gateName}`,
|
|
233
243
|
activeForm: `Requesting ${gateName} approval`,
|
|
234
|
-
description: `
|
|
244
|
+
description: `Gate ${gateName} is pending. The architect has already been notified.\n\nSTOP and wait for human approval before proceeding.`,
|
|
235
245
|
}],
|
|
236
246
|
};
|
|
237
247
|
}
|
|
@@ -241,7 +251,7 @@ export async function next(projectRoot, projectId) {
|
|
|
241
251
|
if (!nextPhase) {
|
|
242
252
|
state.phase = 'complete';
|
|
243
253
|
writeState(statusPath, state);
|
|
244
|
-
return next(
|
|
254
|
+
return next(workspaceRoot, projectId);
|
|
245
255
|
}
|
|
246
256
|
state.phase = nextPhase.id;
|
|
247
257
|
state.iteration = 1;
|
|
@@ -249,7 +259,7 @@ export async function next(projectRoot, projectId) {
|
|
|
249
259
|
state.history = [];
|
|
250
260
|
// If entering phased protocol, extract plan phases
|
|
251
261
|
if (isPhased(protocol, nextPhase.id)) {
|
|
252
|
-
const planPath = findPlanFile(
|
|
262
|
+
const planPath = findPlanFile(workspaceRoot, state.id, state.title);
|
|
253
263
|
if (planPath) {
|
|
254
264
|
state.plan_phases = extractPhasesFromFile(planPath);
|
|
255
265
|
if (state.plan_phases.length > 0) {
|
|
@@ -258,22 +268,21 @@ export async function next(projectRoot, projectId) {
|
|
|
258
268
|
}
|
|
259
269
|
}
|
|
260
270
|
writeState(statusPath, state);
|
|
261
|
-
return next(
|
|
271
|
+
return next(workspaceRoot, projectId);
|
|
262
272
|
}
|
|
263
273
|
}
|
|
264
274
|
// Handle build_verify / per_plan_phase phases
|
|
265
275
|
if (isBuildVerify(protocol, state.phase)) {
|
|
266
|
-
return await handleBuildVerify(
|
|
276
|
+
return await handleBuildVerify(workspaceRoot, projectId, state, protocol, phaseConfig, statusPath);
|
|
267
277
|
}
|
|
268
278
|
// Handle 'once' phases (TICK, BUGFIX)
|
|
269
|
-
return handleOncePhase(
|
|
279
|
+
return await handleOncePhase(workspaceRoot, state, protocol, phaseConfig);
|
|
270
280
|
}
|
|
271
281
|
/**
|
|
272
282
|
* Handle build_verify and per_plan_phase phases.
|
|
273
283
|
*/
|
|
274
|
-
async function handleBuildVerify(
|
|
284
|
+
async function handleBuildVerify(workspaceRoot, projectId, state, protocol, phaseConfig, statusPath) {
|
|
275
285
|
const verifyConfig = getVerifyConfig(protocol, state.phase);
|
|
276
|
-
const maxIterations = getMaxIterations(protocol, state.phase);
|
|
277
286
|
// Determine plan phase context for per_plan_phase protocols
|
|
278
287
|
const planPhase = isPhased(protocol, state.phase)
|
|
279
288
|
? getCurrentPlanPhase(state.plan_phases)
|
|
@@ -285,7 +294,7 @@ async function handleBuildVerify(projectRoot, projectId, state, protocol, phaseC
|
|
|
285
294
|
};
|
|
286
295
|
// --- NEED BUILD ---
|
|
287
296
|
if (!state.build_complete) {
|
|
288
|
-
const prompt = buildPhasePrompt(
|
|
297
|
+
const prompt = await buildPhasePrompt(workspaceRoot, state, protocol);
|
|
289
298
|
const tasks = [];
|
|
290
299
|
// Main build task with full phase prompt
|
|
291
300
|
if (state.iteration === 1) {
|
|
@@ -326,7 +335,7 @@ async function handleBuildVerify(projectRoot, projectId, state, protocol, phaseC
|
|
|
326
335
|
}
|
|
327
336
|
// --- NEED VERIFY ---
|
|
328
337
|
if (state.build_complete && verifyConfig) {
|
|
329
|
-
const reviews = findReviewFiles(
|
|
338
|
+
const reviews = findReviewFiles(workspaceRoot, state, verifyConfig.models);
|
|
330
339
|
// No review files yet — emit consultation tasks
|
|
331
340
|
if (reviews.length === 0) {
|
|
332
341
|
const tasks = [];
|
|
@@ -336,15 +345,15 @@ async function handleBuildVerify(projectRoot, projectId, state, protocol, phaseC
|
|
|
336
345
|
// For iteration > 1, generate context file with previous reviews + rebuttals
|
|
337
346
|
let contextFlag = '';
|
|
338
347
|
if (state.iteration > 1) {
|
|
339
|
-
const context = buildReviewContext(
|
|
348
|
+
const context = buildReviewContext(workspaceRoot, state);
|
|
340
349
|
if (context) {
|
|
341
|
-
const projectDir = getProjectDir(
|
|
350
|
+
const projectDir = getProjectDir(workspaceRoot, state.id, state.title);
|
|
342
351
|
const contextPath = path.join(projectDir, `${state.id}-${state.current_plan_phase || state.phase}-iter${state.iteration}-context.md`);
|
|
343
352
|
fs.writeFileSync(contextPath, context);
|
|
344
353
|
contextFlag = ` --context "${contextPath}"`;
|
|
345
354
|
}
|
|
346
355
|
}
|
|
347
|
-
const consultCmds = verifyConfig.models.map(m => `consult --model ${m} --type ${verifyConfig.type}${planPhaseFlag}${contextFlag} --output "${getReviewFilePath(
|
|
356
|
+
const consultCmds = verifyConfig.models.map(m => `consult --model ${m} --type ${verifyConfig.type}${planPhaseFlag}${contextFlag} --protocol ${state.protocol} --project-id ${state.id} --output "${getReviewFilePath(workspaceRoot, state, m)}" ${consultType} ${state.id}`);
|
|
348
357
|
tasks.push({
|
|
349
358
|
subject: `Run ${verifyConfig.models.length}-way consultation`,
|
|
350
359
|
activeForm: `Running ${verifyConfig.models.length}-way consultation`,
|
|
@@ -361,13 +370,13 @@ async function handleBuildVerify(projectRoot, projectId, state, protocol, phaseC
|
|
|
361
370
|
// Reuse context file from full consultation emission (if it exists)
|
|
362
371
|
let contextFlagPartial = '';
|
|
363
372
|
if (state.iteration > 1) {
|
|
364
|
-
const projectDir = getProjectDir(
|
|
373
|
+
const projectDir = getProjectDir(workspaceRoot, state.id, state.title);
|
|
365
374
|
const contextPath = path.join(projectDir, `${state.id}-${state.current_plan_phase || state.phase}-iter${state.iteration}-context.md`);
|
|
366
375
|
if (fs.existsSync(contextPath)) {
|
|
367
376
|
contextFlagPartial = ` --context "${contextPath}"`;
|
|
368
377
|
}
|
|
369
378
|
}
|
|
370
|
-
const consultCmds = missingModels.map(m => `consult --model ${m} --type ${verifyConfig.type}${planPhaseFlagPartial}${contextFlagPartial} --output "${getReviewFilePath(
|
|
379
|
+
const consultCmds = missingModels.map(m => `consult --model ${m} --type ${verifyConfig.type}${planPhaseFlagPartial}${contextFlagPartial} --protocol ${state.protocol} --project-id ${state.id} --output "${getReviewFilePath(workspaceRoot, state, m)}" ${consultType} ${state.id}`);
|
|
371
380
|
return {
|
|
372
381
|
status: 'tasks',
|
|
373
382
|
...baseResponse,
|
|
@@ -381,56 +390,41 @@ async function handleBuildVerify(projectRoot, projectId, state, protocol, phaseC
|
|
|
381
390
|
// All reviews in — parse verdicts and decide
|
|
382
391
|
if (allApprove(reviews)) {
|
|
383
392
|
// All approve — advance
|
|
384
|
-
return await handleVerifyApproved(
|
|
393
|
+
return await handleVerifyApproved(workspaceRoot, projectId, state, protocol, statusPath, reviews);
|
|
385
394
|
}
|
|
386
|
-
// Some request changes — check
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
phase: state.phase,
|
|
395
|
+
// Some request changes — check for rebuttal file first
|
|
396
|
+
const rebuttalFile = findRebuttalFile(workspaceRoot, state, state.iteration);
|
|
397
|
+
if (rebuttalFile) {
|
|
398
|
+
// Rebuttal exists — record reviews in history and advance (no second consultation)
|
|
399
|
+
const currentPhase = state.current_plan_phase || undefined;
|
|
400
|
+
const existingRecord = state.history.find(h => h.iteration === state.iteration &&
|
|
401
|
+
(h.plan_phase || undefined) === currentPhase);
|
|
402
|
+
if (existingRecord) {
|
|
403
|
+
existingRecord.reviews = reviews;
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
state.history.push({
|
|
399
407
|
iteration: state.iteration,
|
|
400
|
-
plan_phase:
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
activeForm: `Requesting ${gateName} approval`,
|
|
405
|
-
description: `Max iterations (${maxIterations}) reached without unanimous approval.\n\nReviewer verdicts:\n${formatVerdicts(reviews)}\n\nRun: porch gate ${state.id}\n\nNotify the architect:\n\naf send architect "Project ${state.id}: ${gateName} needs approval (max iterations reached). Waiting for review."\n\nSTOP and wait for human approval.`,
|
|
406
|
-
}],
|
|
407
|
-
};
|
|
408
|
+
plan_phase: currentPhase,
|
|
409
|
+
build_output: '',
|
|
410
|
+
reviews,
|
|
411
|
+
});
|
|
408
412
|
}
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
return await handleVerifyApproved(projectRoot, projectId, state, protocol, statusPath, reviews);
|
|
412
|
-
}
|
|
413
|
-
// Increment iteration and emit fix tasks
|
|
414
|
-
state.iteration++;
|
|
415
|
-
state.build_complete = false;
|
|
416
|
-
// Record reviews in history (scoped by plan_phase for disambiguation)
|
|
417
|
-
const currentPhase = state.current_plan_phase || undefined;
|
|
418
|
-
const existingRecord = state.history.find(h => h.iteration === state.iteration - 1 &&
|
|
419
|
-
(h.plan_phase || undefined) === currentPhase);
|
|
420
|
-
if (existingRecord) {
|
|
421
|
-
existingRecord.reviews = reviews;
|
|
422
|
-
}
|
|
423
|
-
else {
|
|
424
|
-
state.history.push({
|
|
425
|
-
iteration: state.iteration - 1,
|
|
426
|
-
plan_phase: currentPhase,
|
|
427
|
-
build_output: '',
|
|
428
|
-
reviews,
|
|
429
|
-
});
|
|
413
|
+
writeState(statusPath, state);
|
|
414
|
+
return await handleVerifyApproved(workspaceRoot, projectId, state, protocol, statusPath, reviews);
|
|
430
415
|
}
|
|
431
|
-
|
|
432
|
-
//
|
|
433
|
-
|
|
416
|
+
// No rebuttal yet — emit "write rebuttal" task (do NOT increment iteration)
|
|
417
|
+
// This MUST come before the max_iterations safety valve so the builder
|
|
418
|
+
// gets a chance to write a rebuttal before force-advance kicks in.
|
|
419
|
+
const reviewInfo = reviews.map(r => {
|
|
420
|
+
const phase = state.current_plan_phase || state.phase;
|
|
421
|
+
const fileName = `${state.id}-${phase}-iter${state.iteration}-${r.model}.txt`;
|
|
422
|
+
return `- ${fileName} (${r.verdict})`;
|
|
423
|
+
}).join('\n');
|
|
424
|
+
const projectDir = getProjectDir(workspaceRoot, state.id, state.title);
|
|
425
|
+
const phase = state.current_plan_phase || state.phase;
|
|
426
|
+
const rebuttalFileName = `${state.id}-${phase}-iter${state.iteration}-rebuttals.md`;
|
|
427
|
+
const rebuttalPath = path.join(projectDir, rebuttalFileName);
|
|
434
428
|
return {
|
|
435
429
|
status: 'tasks',
|
|
436
430
|
phase: state.phase,
|
|
@@ -438,15 +432,15 @@ async function handleBuildVerify(projectRoot, projectId, state, protocol, phaseC
|
|
|
438
432
|
plan_phase: state.current_plan_phase || undefined,
|
|
439
433
|
tasks: [
|
|
440
434
|
{
|
|
441
|
-
subject:
|
|
442
|
-
activeForm: `
|
|
443
|
-
description:
|
|
435
|
+
subject: `Write rebuttal for review feedback (iteration ${state.iteration})`,
|
|
436
|
+
activeForm: `Writing rebuttal for iteration ${state.iteration}`,
|
|
437
|
+
description: `Reviews requested changes. Read the feedback and write a rebuttal.\n\nReview files:\n${reviewInfo}\n\nWrite your rebuttal to:\n ${rebuttalPath}\n\nIn the rebuttal:\n- Address each REQUEST_CHANGES point\n- Note what you changed (if anything)\n- Explain why you disagree (if applicable)\n\nThen run: porch done ${state.id}`,
|
|
444
438
|
sequential: true,
|
|
445
439
|
},
|
|
446
440
|
{
|
|
447
441
|
subject: `Signal build complete`,
|
|
448
442
|
activeForm: 'Signaling build complete',
|
|
449
|
-
description: `Run: porch done ${state.id}\n\nThis
|
|
443
|
+
description: `Run: porch done ${state.id}\n\nThis marks the rebuttal as complete for re-verification.`,
|
|
450
444
|
sequential: true,
|
|
451
445
|
},
|
|
452
446
|
],
|
|
@@ -464,7 +458,7 @@ async function handleBuildVerify(projectRoot, projectId, state, protocol, phaseC
|
|
|
464
458
|
* Handle the case where all reviewers approve.
|
|
465
459
|
* Advances plan phase or requests gate.
|
|
466
460
|
*/
|
|
467
|
-
async function handleVerifyApproved(
|
|
461
|
+
async function handleVerifyApproved(workspaceRoot, projectId, state, protocol, statusPath, reviews) {
|
|
468
462
|
const gateName = getPhaseGate(protocol, state.phase);
|
|
469
463
|
// For per_plan_phase: advance to next plan phase (no gate between phases)
|
|
470
464
|
if (isPhased(protocol, state.phase) && state.plan_phases.length > 0) {
|
|
@@ -481,13 +475,13 @@ async function handleVerifyApproved(projectRoot, projectId, state, protocol, sta
|
|
|
481
475
|
state.phase = 'review';
|
|
482
476
|
state.current_plan_phase = null;
|
|
483
477
|
writeState(statusPath, state);
|
|
484
|
-
return next(
|
|
478
|
+
return next(workspaceRoot, projectId);
|
|
485
479
|
}
|
|
486
480
|
// Next plan phase
|
|
487
481
|
const newCurrent = getCurrentPlanPhase(state.plan_phases);
|
|
488
482
|
state.current_plan_phase = newCurrent?.id || null;
|
|
489
483
|
writeState(statusPath, state);
|
|
490
|
-
return next(
|
|
484
|
+
return next(workspaceRoot, projectId);
|
|
491
485
|
}
|
|
492
486
|
}
|
|
493
487
|
// Request gate (for non-phased phases like specify, plan, review)
|
|
@@ -505,7 +499,7 @@ async function handleVerifyApproved(projectRoot, projectId, state, protocol, sta
|
|
|
505
499
|
tasks: [{
|
|
506
500
|
subject: `Request human approval: ${gateName}`,
|
|
507
501
|
activeForm: `Requesting ${gateName} approval`,
|
|
508
|
-
description: `All reviewers approved!\n\nReviewer verdicts:\n${formatVerdicts(reviews)}\n\
|
|
502
|
+
description: `All reviewers approved!\n\nReviewer verdicts:\n${formatVerdicts(reviews)}\n\nSTOP and wait for human approval.`,
|
|
509
503
|
}],
|
|
510
504
|
};
|
|
511
505
|
}
|
|
@@ -514,22 +508,22 @@ async function handleVerifyApproved(projectRoot, projectId, state, protocol, sta
|
|
|
514
508
|
if (!nextPhase) {
|
|
515
509
|
state.phase = 'complete';
|
|
516
510
|
writeState(statusPath, state);
|
|
517
|
-
return next(
|
|
511
|
+
return next(workspaceRoot, projectId);
|
|
518
512
|
}
|
|
519
513
|
state.phase = nextPhase.id;
|
|
520
514
|
state.iteration = 1;
|
|
521
515
|
state.build_complete = false;
|
|
522
516
|
state.history = [];
|
|
523
517
|
writeState(statusPath, state);
|
|
524
|
-
return next(
|
|
518
|
+
return next(workspaceRoot, projectId);
|
|
525
519
|
}
|
|
526
520
|
/**
|
|
527
521
|
* Handle 'once' phases (TICK, BUGFIX).
|
|
528
522
|
* These don't have build/verify config — emit a single task.
|
|
529
523
|
*/
|
|
530
|
-
function handleOncePhase(
|
|
524
|
+
async function handleOncePhase(workspaceRoot, state, protocol, phaseConfig) {
|
|
531
525
|
// Try to load a prompt file for this phase
|
|
532
|
-
const prompt = buildPhasePrompt(
|
|
526
|
+
const prompt = await buildPhasePrompt(workspaceRoot, state, protocol);
|
|
533
527
|
// If prompt is just a generic fallback, try to use phase steps from protocol
|
|
534
528
|
let description = prompt;
|
|
535
529
|
if (phaseConfig.checks && phaseConfig.checks.length > 0) {
|
|
@@ -556,7 +550,7 @@ function getConsultArtifactType(phaseId) {
|
|
|
556
550
|
case 'specify': return 'spec';
|
|
557
551
|
case 'plan': return 'plan';
|
|
558
552
|
case 'implement': return 'impl';
|
|
559
|
-
case 'review': return '
|
|
553
|
+
case 'review': return 'impl';
|
|
560
554
|
default: return 'spec';
|
|
561
555
|
}
|
|
562
556
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.js","sourceRoot":"","sources":["../../../src/commands/porch/next.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"next.js","sourceRoot":"","sources":["../../../src/commands/porch/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,eAAe,EAEf,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAWxD;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAAC,aAAqB,EAAE,YAAoB;IACxE,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAEpC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,OAAO,WAAW,IAAI,YAAY,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACtB,aAAqB,EACrB,KAAmB,EACnB,YAAsB;IAEtB,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1C,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,KAAK,CAAC;IAEtD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,QAAQ,KAAK,CAAC,SAAS,IAAI,KAAK,MAAM,CAAC;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEjD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,aAAqB,EACrB,KAAmB,EACnB,KAAa;IAEb,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,KAAK,CAAC;IACtD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,QAAQ,KAAK,CAAC,SAAS,IAAI,KAAK,MAAM,CAAC;IAC5E,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,aAAqB,EACrB,KAAmB,EACnB,SAAiB;IAEjB,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,KAAK,CAAC;IACtD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,QAAQ,SAAS,eAAe,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,aAAqB,EACrB,KAAmB;IAEnB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,IAAI,SAAS,CAAC;IAC3D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,KAAK,YAAY,CAClD,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,SAAS,UAAU,CAAC,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,8BAA8B;QAC9B,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9E,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,2GAA2G,CAAC,CAAC;IACxH,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;IACjI,KAAK,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;IAC/G,KAAK,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;IAC/G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,aAAqB,EAAE,SAAiB;IACjE,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,WAAW,SAAS,uDAAuD;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAE1D,oBAAoB;IACpB,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,6EAA6E;QAC7E,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,WAAW,KAAK,CAAC,EAAE,sBAAsB,KAAK,CAAC,QAAQ,4DAA4D;gBAC5H,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,WAAW,KAAK,CAAC,EAAE,sBAAsB,KAAK,CAAC,QAAQ,YAAY;YAC5E,KAAK,EAAE,CAAC;oBACN,OAAO,EAAE,wBAAwB;oBACjC,UAAU,EAAE,sBAAsB;oBAClC,WAAW,EAAE,iOAAiO,KAAK,CAAC,EAAE,2CAA2C;oBACjS,UAAU,EAAE,IAAI;iBACjB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;QAC3F,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,WAAW,EAAE,QAAQ,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,qBAAqB,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC;gBACvD,gCAAgC;gBAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxF,CAAC;gBACD,wBAAwB;gBACxB,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;oBAC3B,mDAAmD;oBACnD,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;wBACrC,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpE,IAAI,QAAQ,EAAE,CAAC;4BACb,KAAK,CAAC,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;4BACpD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACjC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACrD,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;oBACpB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC7B,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;oBACnB,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAC9B,6CAA6C;oBAC7C,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzC,oDAAoD;QACpD,IAAI,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,UAAU,EAAE,YAAY,EAAE,CAAC;YACjE,OAAO;gBACL,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAS;gBACjD,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,CAAC;wBACN,OAAO,EAAE,2BAA2B,QAAQ,EAAE;wBAC9C,UAAU,EAAE,cAAc,QAAQ,WAAW;wBAC7C,WAAW,EAAE,QAAQ,QAAQ,8GAA8G;qBAC5I,CAAC;aACH,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,UAAU,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;gBACzB,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACxC,CAAC;YAED,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YACpB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;YAC7B,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;YAEnB,mDAAmD;YACnD,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpE,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;oBACpD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,MAAM,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACrG,CAAC;IAED,sCAAsC;IACtC,OAAO,MAAM,eAAe,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,aAAqB,EACrB,SAAiB,EACjB,KAAmB,EACnB,QAAkB,EAClB,WAA0B,EAC1B,UAAkB;IAElB,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAE5D,4DAA4D;IAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;QAC/C,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,YAAY,GAAG;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,KAAK,CAAC,kBAAkB,IAAI,SAAS;KACnE,CAAC;IAEF,qBAAqB;IACrB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtE,MAAM,KAAK,GAAgB,EAAE,CAAC;QAE9B,yCAAyC;QACzC,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,kBAAkB;gBAC9C,UAAU,EAAE,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW;gBACjE,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,+BAA+B,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;gBAChF,UAAU,EAAE,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,KAAK,CAAC,SAAS,GAAG;gBAC5F,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,sCAAsC,QAAQ,CAAC,GAAG,6CAA6C,CAAC,CAAC,CAAC,EAAE,CAAC;YACpI,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,cAAc,IAAI,EAAE;gBAC7B,UAAU,EAAE,WAAW,IAAI,QAAQ;gBACnC,WAAW,EAAE,QAAQ,QAAQ,CAAC,OAAO,GAAG,OAAO,yCAAyC;gBACxF,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,uBAAuB;YAChC,UAAU,EAAE,0BAA0B;YACtC,WAAW,EAAE,mBAAmB,KAAK,CAAC,EAAE,6EAA6E;YACrH,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,CAAC;IACrD,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,CAAC,cAAc,IAAI,YAAY,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAE3E,gDAAgD;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAgB,EAAE,CAAC;YAE9B,0FAA0F;YAC1F,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAElG,6EAA6E;YAC7E,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBACzD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,UAAU,EACV,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,SAAS,aAAa,CAC3F,CAAC;oBACF,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;oBACvC,WAAW,GAAG,eAAe,WAAW,GAAG,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CACzC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,YAAY,CAAC,IAAI,GAAG,aAAa,GAAG,WAAW,eAAe,KAAK,CAAC,QAAQ,iBAAiB,KAAK,CAAC,EAAE,cAAc,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,KAAK,CAAC,EAAE,EAAE,CAChO,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,mBAAmB;gBAC7D,UAAU,EAAE,WAAW,YAAY,CAAC,MAAM,CAAC,MAAM,mBAAmB;gBACpE,WAAW,EAAE,wDAAwD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD,KAAK,CAAC,EAAE,0BAA0B;aACtL,CAAC,CAAC;YAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QAED,oDAAoD;QACpD,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAChD,8EAA8E;YAC9E,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CACvC,CAAC;YACF,MAAM,oBAAoB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzG,oEAAoE;YACpE,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,UAAU,EACV,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,SAAS,aAAa,CAC3F,CAAC;gBACF,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,kBAAkB,GAAG,eAAe,WAAW,GAAG,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CACnC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,YAAY,CAAC,IAAI,GAAG,oBAAoB,GAAG,kBAAkB,eAAe,KAAK,CAAC,QAAQ,iBAAiB,KAAK,CAAC,EAAE,cAAc,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,KAAK,CAAC,EAAE,EAAE,CAC9O,CAAC;YAEF,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,GAAG,YAAY;gBACf,KAAK,EAAE,CAAC;wBACN,OAAO,EAAE,gCAAgC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBACpE,UAAU,EAAE,iCAAiC;wBAC7C,WAAW,EAAE,iDAAiD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,EAAE,WAAW;qBACtI,CAAC;aACH,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,wBAAwB;YACxB,OAAO,MAAM,oBAAoB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpG,CAAC;QAED,uDAAuD;QACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,YAAY,EAAE,CAAC;YACjB,mFAAmF;YACnF,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,IAAI,SAAS,CAAC;YAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gBAC/B,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,KAAK,YAAY,CAClD,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBACjB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,YAAY;oBACxB,YAAY,EAAE,EAAE;oBAChB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YACD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,MAAM,oBAAoB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpG,CAAC;QAED,4EAA4E;QAC5E,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,KAAK,CAAC;YACtD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,QAAQ,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC;YAC9E,OAAO,KAAK,QAAQ,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC;QACxC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,KAAK,CAAC;QACtD,MAAM,gBAAgB,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,QAAQ,KAAK,CAAC,SAAS,eAAe,CAAC;QACpF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAE7D,OAAO;YACL,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,kBAAkB,IAAI,SAAS;YACjD,KAAK,EAAE;gBACL;oBACE,OAAO,EAAE,iDAAiD,KAAK,CAAC,SAAS,GAAG;oBAC5E,UAAU,EAAE,kCAAkC,KAAK,CAAC,SAAS,EAAE;oBAC/D,WAAW,EAAE,wFAAwF,UAAU,kCAAkC,YAAY,yKAAyK,KAAK,CAAC,EAAE,EAAE;oBAChV,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,OAAO,EAAE,uBAAuB;oBAChC,UAAU,EAAE,0BAA0B;oBACtC,WAAW,EAAE,mBAAmB,KAAK,CAAC,EAAE,8DAA8D;oBACtG,UAAU,EAAE,IAAI;iBACjB;aACF;SACF,CAAC;IACJ,CAAC;IAED,gGAAgG;IAChG,OAAO;QACL,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,SAAS,KAAK,CAAC,KAAK,gDAAgD;KAC5E,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,aAAqB,EACrB,SAAiB,EACjB,KAAmB,EACnB,QAAkB,EAClB,UAAkB,EAClB,OAAuB;IAEvB,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAErD,0EAA0E;IAC1E,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAC9D,KAAK,CAAC,WAAW,EACjB,gBAAgB,CAAC,EAAE,CACpB,CAAC;YAEF,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;YAClC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YACpB,sDAAsD;YACtD,4DAA4D;YAE5D,IAAI,YAAY,EAAE,CAAC;gBACjB,wCAAwC;gBACxC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACvB,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAChC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACxC,CAAC;YAED,kBAAkB;YAClB,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1D,KAAK,CAAC,kBAAkB,GAAG,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;YAClD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACtF,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAC7B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE9B,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC;oBACN,OAAO,EAAE,2BAA2B,QAAQ,EAAE;oBAC9C,UAAU,EAAE,cAAc,QAAQ,WAAW;oBAC7C,WAAW,EAAE,kDAAkD,cAAc,CAAC,OAAO,CAAC,uCAAuC;iBAC9H,CAAC;SACH,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;QACzB,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;IAC3B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;IAC7B,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAC5B,aAAqB,EACrB,KAAmB,EACnB,QAAkB,EAClB,WAA0B;IAE1B,2CAA2C;IAC3C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEtE,6EAA6E;IAC7E,IAAI,WAAW,GAAG,MAAM,CAAC;IACzB,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,WAAW,IAAI,qDAAqD,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzH,CAAC;IAED,WAAW,IAAI,sCAAsC,KAAK,CAAC,EAAE,EAAE,CAAC;IAEhE,OAAO;QACL,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,CAAC;gBACN,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,uBAAuB;gBACnD,UAAU,EAAE,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC1D,WAAW;gBACX,UAAU,EAAE,IAAI;aACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAAe;IAC7C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC;QAC9B,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC;QAC3B,KAAK,WAAW,CAAC,CAAC,OAAO,MAAM,CAAC;QAChC,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC;QAC7B,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,OAAuB;IAC7C,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACtC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Porch gate notification — sends `af send architect` when a gate transitions to pending.
|
|
3
|
+
* Spec 0108: Push-based gate notifications, replacing the poll-based gate watcher.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Fire-and-forget notification to the architect terminal when a gate becomes pending.
|
|
7
|
+
* Uses `af send architect` via execFile (no shell, no injection risk).
|
|
8
|
+
* Errors are logged but never thrown — notification is best-effort.
|
|
9
|
+
*/
|
|
10
|
+
export declare function notifyArchitect(projectId: string, gateName: string, worktreeDir: string): void;
|
|
11
|
+
//# sourceMappingURL=notify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/notify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAmB9F"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Porch gate notification — sends `af send architect` when a gate transitions to pending.
|
|
3
|
+
* Spec 0108: Push-based gate notifications, replacing the poll-based gate watcher.
|
|
4
|
+
*/
|
|
5
|
+
import { execFile } from 'node:child_process';
|
|
6
|
+
import { resolve, dirname } from 'node:path';
|
|
7
|
+
import { fileURLToPath } from 'node:url';
|
|
8
|
+
function resolveAfBinary() {
|
|
9
|
+
const thisDir = dirname(fileURLToPath(import.meta.url));
|
|
10
|
+
return resolve(thisDir, '../../../bin/af.js');
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Fire-and-forget notification to the architect terminal when a gate becomes pending.
|
|
14
|
+
* Uses `af send architect` via execFile (no shell, no injection risk).
|
|
15
|
+
* Errors are logged but never thrown — notification is best-effort.
|
|
16
|
+
*/
|
|
17
|
+
export function notifyArchitect(projectId, gateName, worktreeDir) {
|
|
18
|
+
const message = [
|
|
19
|
+
`GATE: ${gateName} (Builder ${projectId})`,
|
|
20
|
+
`Builder ${projectId} is waiting for approval.`,
|
|
21
|
+
`Run: porch approve ${projectId} ${gateName}`,
|
|
22
|
+
].join('\n');
|
|
23
|
+
const afBinary = resolveAfBinary();
|
|
24
|
+
execFile(process.execPath, [afBinary, 'send', 'architect', message, '--raw', '--no-enter'], { cwd: worktreeDir, timeout: 10_000 }, (error) => {
|
|
25
|
+
if (error) {
|
|
26
|
+
console.error(`[porch] Gate notification failed: ${error.message}`);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=notify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../src/commands/porch/notify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,eAAe;IACtB,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,QAAgB,EAAE,WAAmB;IACtF,MAAM,OAAO,GAAG;QACd,SAAS,QAAQ,aAAa,SAAS,GAAG;QAC1C,WAAW,SAAS,2BAA2B;QAC/C,sBAAsB,SAAS,IAAI,QAAQ,EAAE;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IAEnC,QAAQ,CACN,OAAO,CAAC,QAAQ,EAChB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAC/D,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EACrC,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -12,7 +12,7 @@ import type { PlanPhase } from './types.js';
|
|
|
12
12
|
* Find the plan file for a project
|
|
13
13
|
* Searches both legacy (codev/plans/NNNN-name.md) and new (codev/projects/NNNN-name/plan.md) locations
|
|
14
14
|
*/
|
|
15
|
-
export declare function findPlanFile(
|
|
15
|
+
export declare function findPlanFile(workspaceRoot: string, projectId: string, projectName?: string): string | null;
|
|
16
16
|
/**
|
|
17
17
|
* Extract phases from plan markdown content
|
|
18
18
|
* Returns phases with status 'pending'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyB1G;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,CA6ClE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,CAOvE;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAOzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAM9F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAElE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EAAE,EACnB,cAAc,EAAE,MAAM,GACrB;IAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAoBhD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAenF"}
|
|
@@ -16,14 +16,14 @@ import * as path from 'node:path';
|
|
|
16
16
|
* Find the plan file for a project
|
|
17
17
|
* Searches both legacy (codev/plans/NNNN-name.md) and new (codev/projects/NNNN-name/plan.md) locations
|
|
18
18
|
*/
|
|
19
|
-
export function findPlanFile(
|
|
19
|
+
export function findPlanFile(workspaceRoot, projectId, projectName) {
|
|
20
20
|
const searchPaths = [];
|
|
21
21
|
// New structure: codev/projects/<id>-<name>/plan.md
|
|
22
22
|
if (projectName) {
|
|
23
|
-
searchPaths.push(path.join(
|
|
23
|
+
searchPaths.push(path.join(workspaceRoot, 'codev/projects', `${projectId}-${projectName}`, 'plan.md'));
|
|
24
24
|
}
|
|
25
25
|
// Legacy structure: codev/plans/<id>-*.md
|
|
26
|
-
const plansDir = path.join(
|
|
26
|
+
const plansDir = path.join(workspaceRoot, 'codev/plans');
|
|
27
27
|
if (fs.existsSync(plansDir)) {
|
|
28
28
|
const files = fs.readdirSync(plansDir);
|
|
29
29
|
const match = files.find(f => f.startsWith(`${projectId}-`) && f.endsWith('.md'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/commands/porch/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/commands/porch/plan.ts"],"names":[],"mappings":"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"}
|