@cluesmith/codev 2.0.0-rc.1 → 2.0.0-rc.10
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/bin/porch.js +9 -4
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +2 -14
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/kickoff.d.ts +1 -0
- package/dist/agent-farm/commands/kickoff.d.ts.map +1 -1
- package/dist/agent-farm/commands/kickoff.js +82 -78
- package/dist/agent-farm/commands/kickoff.js.map +1 -1
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +30 -54
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/commands/start.d.ts.map +1 -1
- package/dist/agent-farm/commands/start.js +8 -50
- package/dist/agent-farm/commands/start.js.map +1 -1
- package/dist/agent-farm/servers/dashboard-server.js +0 -14
- package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
- package/dist/agent-farm/state.d.ts +0 -10
- package/dist/agent-farm/state.d.ts.map +1 -1
- package/dist/agent-farm/state.js +0 -24
- package/dist/agent-farm/state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -17
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +17 -1
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +2 -1
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +17 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/porch/checks.d.ts +16 -29
- package/dist/commands/porch/checks.d.ts.map +1 -1
- package/dist/commands/porch/checks.js +90 -144
- package/dist/commands/porch/checks.js.map +1 -1
- package/dist/commands/porch/claude.d.ts +29 -0
- package/dist/commands/porch/claude.d.ts.map +1 -0
- package/dist/commands/porch/claude.js +79 -0
- package/dist/commands/porch/claude.js.map +1 -0
- package/dist/commands/porch/index.d.ts +21 -43
- package/dist/commands/porch/index.d.ts.map +1 -1
- package/dist/commands/porch/index.js +449 -753
- package/dist/commands/porch/index.js.map +1 -1
- package/dist/commands/porch/plan.d.ts +60 -0
- package/dist/commands/porch/plan.d.ts.map +1 -0
- package/dist/commands/porch/plan.js +162 -0
- package/dist/commands/porch/plan.js.map +1 -0
- package/dist/commands/porch/prompts.d.ts +19 -0
- package/dist/commands/porch/prompts.d.ts.map +1 -0
- package/dist/commands/porch/prompts.js +259 -0
- package/dist/commands/porch/prompts.js.map +1 -0
- package/dist/commands/porch/protocol.d.ts +57 -0
- package/dist/commands/porch/protocol.d.ts.map +1 -0
- package/dist/commands/porch/protocol.js +250 -0
- package/dist/commands/porch/protocol.js.map +1 -0
- package/dist/commands/porch/repl.d.ts +33 -0
- package/dist/commands/porch/repl.d.ts.map +1 -0
- package/dist/commands/porch/repl.js +206 -0
- package/dist/commands/porch/repl.js.map +1 -0
- package/dist/commands/porch/run.d.ts +15 -0
- package/dist/commands/porch/run.d.ts.map +1 -0
- package/dist/commands/porch/run.js +551 -0
- package/dist/commands/porch/run.js.map +1 -0
- package/dist/commands/porch/signals.d.ts +35 -0
- package/dist/commands/porch/signals.d.ts.map +1 -0
- package/dist/commands/porch/signals.js +76 -0
- package/dist/commands/porch/signals.js.map +1 -0
- package/dist/commands/porch/state.d.ts +19 -112
- package/dist/commands/porch/state.d.ts.map +1 -1
- package/dist/commands/porch/state.js +78 -685
- package/dist/commands/porch/state.js.map +1 -1
- package/dist/commands/porch/types.d.ts +65 -173
- package/dist/commands/porch/types.d.ts.map +1 -1
- package/dist/commands/porch/types.js +2 -1
- package/dist/commands/porch/types.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +19 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/scaffold.d.ts +24 -0
- package/dist/lib/scaffold.d.ts.map +1 -1
- package/dist/lib/scaffold.js +78 -0
- package/dist/lib/scaffold.js.map +1 -1
- package/package.json +5 -2
- package/skeleton/protocols/spider/prompts/defend.md +215 -0
- package/skeleton/protocols/spider/prompts/evaluate.md +241 -0
- package/skeleton/protocols/spider/prompts/implement.md +149 -0
- package/skeleton/protocols/spider/prompts/plan.md +214 -0
- package/skeleton/protocols/spider/prompts/review.md +217 -0
- package/skeleton/protocols/spider/prompts/specify.md +174 -0
- package/skeleton/protocols/spider/protocol.json +79 -147
- package/skeleton/protocols/spider/templates/plan.md +14 -0
- package/skeleton/roles/architect.md +40 -48
- package/skeleton/roles/builder.md +152 -29
- package/templates/dashboard/index.html +0 -27
- package/templates/dashboard/js/utils.js +0 -86
- package/dist/agent-farm/commands/rename.d.ts +0 -13
- package/dist/agent-farm/commands/rename.d.ts.map +0 -1
- package/dist/agent-farm/commands/rename.js +0 -33
- package/dist/agent-farm/commands/rename.js.map +0 -1
- package/dist/commands/pcheck/cache.d.ts +0 -48
- package/dist/commands/pcheck/cache.d.ts.map +0 -1
- package/dist/commands/pcheck/cache.js +0 -170
- package/dist/commands/pcheck/cache.js.map +0 -1
- package/dist/commands/pcheck/evaluator.d.ts +0 -15
- package/dist/commands/pcheck/evaluator.d.ts.map +0 -1
- package/dist/commands/pcheck/evaluator.js +0 -246
- package/dist/commands/pcheck/evaluator.js.map +0 -1
- package/dist/commands/pcheck/index.d.ts +0 -12
- package/dist/commands/pcheck/index.d.ts.map +0 -1
- package/dist/commands/pcheck/index.js +0 -249
- package/dist/commands/pcheck/index.js.map +0 -1
- package/dist/commands/pcheck/parser.d.ts +0 -39
- package/dist/commands/pcheck/parser.d.ts.map +0 -1
- package/dist/commands/pcheck/parser.js +0 -155
- package/dist/commands/pcheck/parser.js.map +0 -1
- package/dist/commands/pcheck/types.d.ts +0 -82
- package/dist/commands/pcheck/types.d.ts.map +0 -1
- package/dist/commands/pcheck/types.js +0 -5
- package/dist/commands/pcheck/types.js.map +0 -1
- package/dist/commands/porch/consultation.d.ts +0 -56
- package/dist/commands/porch/consultation.d.ts.map +0 -1
- package/dist/commands/porch/consultation.js +0 -330
- package/dist/commands/porch/consultation.js.map +0 -1
- package/dist/commands/porch/notifications.d.ts +0 -99
- package/dist/commands/porch/notifications.d.ts.map +0 -1
- package/dist/commands/porch/notifications.js +0 -223
- package/dist/commands/porch/notifications.js.map +0 -1
- package/dist/commands/porch/plan-parser.d.ts +0 -38
- package/dist/commands/porch/plan-parser.d.ts.map +0 -1
- package/dist/commands/porch/plan-parser.js +0 -166
- package/dist/commands/porch/plan-parser.js.map +0 -1
- package/dist/commands/porch/protocol-loader.d.ts +0 -46
- package/dist/commands/porch/protocol-loader.d.ts.map +0 -1
- package/dist/commands/porch/protocol-loader.js +0 -249
- package/dist/commands/porch/protocol-loader.js.map +0 -1
- package/dist/commands/porch/signal-parser.d.ts +0 -88
- package/dist/commands/porch/signal-parser.d.ts.map +0 -1
- package/dist/commands/porch/signal-parser.js +0 -148
- package/dist/commands/porch/signal-parser.js.map +0 -1
- package/skeleton/porch/protocols/bugfix.json +0 -85
- package/skeleton/porch/protocols/spider.json +0 -135
- package/skeleton/porch/protocols/tick.json +0 -76
- package/templates/dashboard/css/activity.css +0 -151
- package/templates/dashboard/js/activity.js +0 -112
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signal detection for Porch
|
|
3
|
+
*
|
|
4
|
+
* Watches Claude's output file for signal markers:
|
|
5
|
+
* PHASE_COMPLETE - Phase work is done
|
|
6
|
+
* GATE_NEEDED - Human approval required
|
|
7
|
+
* BLOCKED: <reason> - Claude is stuck
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'node:fs';
|
|
10
|
+
/**
|
|
11
|
+
* Create a signal watcher for the given output file.
|
|
12
|
+
*/
|
|
13
|
+
export function watchForSignal(outputPath) {
|
|
14
|
+
let lastPosition = 0;
|
|
15
|
+
let stopped = false;
|
|
16
|
+
return {
|
|
17
|
+
async check() {
|
|
18
|
+
if (stopped)
|
|
19
|
+
return null;
|
|
20
|
+
try {
|
|
21
|
+
if (!fs.existsSync(outputPath)) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const content = fs.readFileSync(outputPath, 'utf-8');
|
|
25
|
+
// Only check new content since last position
|
|
26
|
+
const newContent = content.slice(lastPosition);
|
|
27
|
+
lastPosition = content.length;
|
|
28
|
+
// Look for signal markers
|
|
29
|
+
// These should be on their own line, possibly in output blocks
|
|
30
|
+
const lines = newContent.split('\n');
|
|
31
|
+
for (const line of lines) {
|
|
32
|
+
const trimmed = line.trim();
|
|
33
|
+
if (trimmed === 'PHASE_COMPLETE' || trimmed.includes('PHASE_COMPLETE')) {
|
|
34
|
+
return { type: 'PHASE_COMPLETE' };
|
|
35
|
+
}
|
|
36
|
+
if (trimmed === 'GATE_NEEDED' || trimmed.includes('GATE_NEEDED')) {
|
|
37
|
+
return { type: 'GATE_NEEDED' };
|
|
38
|
+
}
|
|
39
|
+
const blockedMatch = trimmed.match(/BLOCKED:\s*(.+)/);
|
|
40
|
+
if (blockedMatch) {
|
|
41
|
+
return { type: 'BLOCKED', reason: blockedMatch[1] };
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
// File might not exist yet or be locked
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
stop() {
|
|
52
|
+
stopped = true;
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Parse a signal from text content (one-shot check).
|
|
58
|
+
*/
|
|
59
|
+
export function parseSignal(content) {
|
|
60
|
+
const lines = content.split('\n');
|
|
61
|
+
for (const line of lines) {
|
|
62
|
+
const trimmed = line.trim();
|
|
63
|
+
if (trimmed === 'PHASE_COMPLETE') {
|
|
64
|
+
return { type: 'PHASE_COMPLETE' };
|
|
65
|
+
}
|
|
66
|
+
if (trimmed === 'GATE_NEEDED') {
|
|
67
|
+
return { type: 'GATE_NEEDED' };
|
|
68
|
+
}
|
|
69
|
+
const blockedMatch = trimmed.match(/BLOCKED:\s*(.+)/);
|
|
70
|
+
if (blockedMatch) {
|
|
71
|
+
return { type: 'BLOCKED', reason: blockedMatch[1] };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=signals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../../../src/commands/porch/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAmB9B;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO;QACL,KAAK,CAAC,KAAK;YACT,IAAI,OAAO;gBAAE,OAAO,IAAI,CAAC;YAEzB,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAErD,6CAA6C;gBAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC/C,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;gBAE9B,0BAA0B;gBAC1B,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAE5B,IAAI,OAAO,KAAK,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACvE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;oBACpC,CAAC;oBAED,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBACjE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;oBACjC,CAAC;oBAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACtD,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,CAAC;gBACH,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,wCAAwC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,133 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Porch State Management
|
|
3
3
|
*
|
|
4
|
-
* Handles project state persistence with
|
|
5
|
-
*
|
|
6
|
-
* - Atomic writes (tmp file + fsync + rename)
|
|
7
|
-
* - File locking (flock advisory locking)
|
|
8
|
-
* - Crash recovery
|
|
4
|
+
* Handles project state persistence with atomic writes.
|
|
5
|
+
* Fails loudly on any error - no guessing.
|
|
9
6
|
*/
|
|
10
7
|
import type { ProjectState, Protocol } from './types.js';
|
|
11
|
-
/** Directory for
|
|
8
|
+
/** Directory for project state (relative to project root) */
|
|
12
9
|
export declare const PROJECTS_DIR = "codev/projects";
|
|
13
|
-
/** Directory for TICK/BUGFIX execution state (relative to project root) */
|
|
14
|
-
export declare const EXECUTIONS_DIR = "codev/executions";
|
|
15
10
|
/**
|
|
16
|
-
* Get the
|
|
11
|
+
* Get the project directory path
|
|
17
12
|
*/
|
|
18
|
-
export declare function
|
|
13
|
+
export declare function getProjectDir(projectRoot: string, projectId: string, name: string): string;
|
|
19
14
|
/**
|
|
20
|
-
* Get the status
|
|
15
|
+
* Get the status.yaml path for a project
|
|
21
16
|
*/
|
|
22
|
-
export declare function
|
|
17
|
+
export declare function getStatusPath(projectRoot: string, projectId: string, name: string): string;
|
|
23
18
|
/**
|
|
24
|
-
*
|
|
19
|
+
* Read project state from status.yaml
|
|
20
|
+
* Fails loudly if file is missing or corrupted.
|
|
25
21
|
*/
|
|
26
|
-
export declare function
|
|
22
|
+
export declare function readState(statusPath: string): ProjectState;
|
|
27
23
|
/**
|
|
28
|
-
*
|
|
24
|
+
* Write project state atomically (tmp file + rename)
|
|
29
25
|
*/
|
|
30
|
-
export declare function
|
|
31
|
-
interface FileLock {
|
|
32
|
-
fd: number;
|
|
33
|
-
lockFile: string;
|
|
34
|
-
}
|
|
26
|
+
export declare function writeState(statusPath: string, state: ProjectState): void;
|
|
35
27
|
/**
|
|
36
|
-
*
|
|
37
|
-
* Creates a .lock file to indicate lock ownership
|
|
28
|
+
* Create initial state for a new project
|
|
38
29
|
*/
|
|
39
|
-
export declare function
|
|
30
|
+
export declare function createInitialState(protocol: Protocol, projectId: string, title: string): ProjectState;
|
|
40
31
|
/**
|
|
41
|
-
*
|
|
32
|
+
* Find status.yaml by project ID (searches for NNNN-* directories)
|
|
42
33
|
*/
|
|
43
|
-
export declare function
|
|
34
|
+
export declare function findStatusPath(projectRoot: string, projectId: string): string | null;
|
|
44
35
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
36
|
+
* Auto-detect project ID when only one project exists.
|
|
37
|
+
* Returns null if zero or multiple projects found.
|
|
47
38
|
*/
|
|
48
|
-
export declare function
|
|
49
|
-
/**
|
|
50
|
-
* Parse YAML status file into ProjectState
|
|
51
|
-
*/
|
|
52
|
-
export declare function parseState(content: string): ProjectState;
|
|
53
|
-
/**
|
|
54
|
-
* Read project state from status file
|
|
55
|
-
*/
|
|
56
|
-
export declare function readState(statusFilePath: string): ProjectState | null;
|
|
57
|
-
/**
|
|
58
|
-
* Write project state atomically
|
|
59
|
-
* Uses tmp file + fsync + rename for crash safety
|
|
60
|
-
*/
|
|
61
|
-
export declare function writeState(statusFilePath: string, state: ProjectState): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Create initial project state
|
|
64
|
-
*/
|
|
65
|
-
export declare function createInitialState(protocol: Protocol, projectId: string, title: string, worktreePath?: string): ProjectState;
|
|
66
|
-
/**
|
|
67
|
-
* Update state with a new current state
|
|
68
|
-
*/
|
|
69
|
-
export declare function updateState(state: ProjectState, newState: string, options?: {
|
|
70
|
-
signal?: string;
|
|
71
|
-
}): ProjectState;
|
|
72
|
-
/**
|
|
73
|
-
* Approve a gate in state
|
|
74
|
-
*/
|
|
75
|
-
export declare function approveGate(state: ProjectState, gateId: string): ProjectState;
|
|
76
|
-
/**
|
|
77
|
-
* Request a gate approval (mark as pending with timestamp)
|
|
78
|
-
*/
|
|
79
|
-
export declare function requestGateApproval(state: ProjectState, gateId: string): ProjectState;
|
|
80
|
-
/**
|
|
81
|
-
* Update phase status
|
|
82
|
-
*/
|
|
83
|
-
export declare function updatePhaseStatus(state: ProjectState, phaseId: string, status: 'pending' | 'in_progress' | 'complete'): ProjectState;
|
|
84
|
-
/**
|
|
85
|
-
* Set plan phases extracted from plan.md
|
|
86
|
-
*/
|
|
87
|
-
export declare function setPlanPhases(state: ProjectState, phases: Array<{
|
|
88
|
-
id: string;
|
|
89
|
-
title: string;
|
|
90
|
-
description?: string;
|
|
91
|
-
}>): ProjectState;
|
|
92
|
-
/**
|
|
93
|
-
* Find all SPIDER projects
|
|
94
|
-
*/
|
|
95
|
-
export declare function findProjects(projectRoot: string): Array<{
|
|
96
|
-
id: string;
|
|
97
|
-
path: string;
|
|
98
|
-
}>;
|
|
99
|
-
/**
|
|
100
|
-
* Find all executions (TICK, BUGFIX, etc.)
|
|
101
|
-
*/
|
|
102
|
-
export declare function findExecutions(projectRoot: string): Array<{
|
|
103
|
-
protocol: string;
|
|
104
|
-
id: string;
|
|
105
|
-
path: string;
|
|
106
|
-
}>;
|
|
107
|
-
/**
|
|
108
|
-
* Find status file for a project by ID
|
|
109
|
-
*/
|
|
110
|
-
export declare function findStatusFile(projectRoot: string, projectId: string): string | null;
|
|
111
|
-
/**
|
|
112
|
-
* Get the number of consultation attempts for a given state
|
|
113
|
-
*/
|
|
114
|
-
export declare function getConsultationAttempts(state: ProjectState, stateKey: string): number;
|
|
115
|
-
/**
|
|
116
|
-
* Increment consultation attempts for a given state
|
|
117
|
-
*/
|
|
118
|
-
export declare function incrementConsultationAttempts(state: ProjectState, stateKey: string): ProjectState;
|
|
119
|
-
/**
|
|
120
|
-
* Reset consultation attempts for a given state (e.g., after gate approval)
|
|
121
|
-
*/
|
|
122
|
-
export declare function resetConsultationAttempts(state: ProjectState, stateKey: string): ProjectState;
|
|
123
|
-
/**
|
|
124
|
-
* Find all status files with pending gates
|
|
125
|
-
*/
|
|
126
|
-
export declare function findPendingGates(projectRoot: string): Array<{
|
|
127
|
-
projectId: string;
|
|
128
|
-
gateId: string;
|
|
129
|
-
requestedAt?: string;
|
|
130
|
-
statusPath: string;
|
|
131
|
-
}>;
|
|
132
|
-
export {};
|
|
39
|
+
export declare function detectProjectId(projectRoot: string): string | null;
|
|
133
40
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/state.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAEpE,6DAA6D;AAC7D,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAM7C;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1F;AAMD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAwB1D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAmBxE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,YAAY,CA4Bd;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBpF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyBlE"}
|