@planweave-ai/runtime 0.1.0 → 0.1.2
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/dist/autoRun/claudeCodeIntegration.d.ts +3 -0
- package/dist/autoRun/claudeCodeIntegration.d.ts.map +1 -0
- package/dist/autoRun/claudeCodeIntegration.js +36 -0
- package/dist/autoRun/claudeCodeIntegration.js.map +1 -0
- package/dist/autoRun/codexExecutor.d.ts.map +1 -1
- package/dist/autoRun/codexExecutor.js +7 -4
- package/dist/autoRun/codexExecutor.js.map +1 -1
- package/dist/autoRun/codexIntegration.d.ts +3 -0
- package/dist/autoRun/codexIntegration.d.ts.map +1 -0
- package/dist/autoRun/codexIntegration.js +37 -0
- package/dist/autoRun/codexIntegration.js.map +1 -0
- package/dist/autoRun/executorIntegration.d.ts +29 -0
- package/dist/autoRun/executorIntegration.d.ts.map +1 -0
- package/dist/autoRun/executorIntegration.js +4 -0
- package/dist/autoRun/executorIntegration.js.map +1 -0
- package/dist/autoRun/executorPreflightTypes.d.ts +21 -0
- package/dist/autoRun/executorPreflightTypes.d.ts.map +1 -0
- package/dist/autoRun/executorPreflightTypes.js +2 -0
- package/dist/autoRun/executorPreflightTypes.js.map +1 -0
- package/dist/autoRun/executorShared.d.ts +1 -1
- package/dist/autoRun/executorShared.js +1 -1
- package/dist/autoRun/executors.d.ts +17 -11
- package/dist/autoRun/executors.d.ts.map +1 -1
- package/dist/autoRun/executors.js +234 -96
- package/dist/autoRun/executors.js.map +1 -1
- package/dist/autoRun/localReviewExecutor.d.ts.map +1 -1
- package/dist/autoRun/localReviewExecutor.js +6 -3
- package/dist/autoRun/localReviewExecutor.js.map +1 -1
- package/dist/autoRun/localReviewIntegration.d.ts +3 -0
- package/dist/autoRun/localReviewIntegration.d.ts.map +1 -0
- package/dist/autoRun/localReviewIntegration.js +34 -0
- package/dist/autoRun/localReviewIntegration.js.map +1 -0
- package/dist/autoRun/manualExecutor.d.ts +3 -0
- package/dist/autoRun/manualExecutor.d.ts.map +1 -0
- package/dist/autoRun/manualExecutor.js +80 -0
- package/dist/autoRun/manualExecutor.js.map +1 -0
- package/dist/autoRun/opencodeExecutor.d.ts.map +1 -1
- package/dist/autoRun/opencodeExecutor.js +6 -3
- package/dist/autoRun/opencodeExecutor.js.map +1 -1
- package/dist/autoRun/opencodeIntegration.d.ts +3 -0
- package/dist/autoRun/opencodeIntegration.d.ts.map +1 -0
- package/dist/autoRun/opencodeIntegration.js +34 -0
- package/dist/autoRun/opencodeIntegration.js.map +1 -0
- package/dist/autoRun/piIntegration.d.ts +3 -0
- package/dist/autoRun/piIntegration.d.ts.map +1 -0
- package/dist/autoRun/piIntegration.js +36 -0
- package/dist/autoRun/piIntegration.js.map +1 -0
- package/dist/autoRun/terminalAgentExecutor.d.ts +22 -0
- package/dist/autoRun/terminalAgentExecutor.d.ts.map +1 -0
- package/dist/autoRun/terminalAgentExecutor.js +132 -0
- package/dist/autoRun/terminalAgentExecutor.js.map +1 -0
- package/dist/desktop/canvasApi.d.ts.map +1 -1
- package/dist/desktop/canvasApi.js +177 -14
- package/dist/desktop/canvasApi.js.map +1 -1
- package/dist/desktop/canvasGraphApi.d.ts +6 -0
- package/dist/desktop/canvasGraphApi.d.ts.map +1 -0
- package/dist/desktop/canvasGraphApi.js +147 -0
- package/dist/desktop/canvasGraphApi.js.map +1 -0
- package/dist/desktop/fileSyncApi.d.ts.map +1 -1
- package/dist/desktop/fileSyncApi.js +5 -0
- package/dist/desktop/fileSyncApi.js.map +1 -1
- package/dist/desktop/graph/canvasHealthModel.d.ts +4 -0
- package/dist/desktop/graph/canvasHealthModel.d.ts.map +1 -0
- package/dist/desktop/graph/canvasHealthModel.js +181 -0
- package/dist/desktop/graph/canvasHealthModel.js.map +1 -0
- package/dist/desktop/graph/desktopDiagnostics.d.ts +15 -0
- package/dist/desktop/graph/desktopDiagnostics.d.ts.map +1 -0
- package/dist/desktop/graph/desktopDiagnostics.js +77 -0
- package/dist/desktop/graph/desktopDiagnostics.js.map +1 -0
- package/dist/desktop/graph/editModel.d.ts.map +1 -1
- package/dist/desktop/graph/editModel.js +54 -98
- package/dist/desktop/graph/editModel.js.map +1 -1
- package/dist/desktop/graph/projectCanvasAggregation.d.ts +14 -1
- package/dist/desktop/graph/projectCanvasAggregation.d.ts.map +1 -1
- package/dist/desktop/graph/projectCanvasAggregation.js +61 -11
- package/dist/desktop/graph/projectCanvasAggregation.js.map +1 -1
- package/dist/desktop/graph/projectProjectionModel.d.ts +16 -0
- package/dist/desktop/graph/projectProjectionModel.d.ts.map +1 -0
- package/dist/desktop/graph/projectProjectionModel.js +185 -0
- package/dist/desktop/graph/projectProjectionModel.js.map +1 -0
- package/dist/desktop/graph/projectSnapshotModel.d.ts +3 -0
- package/dist/desktop/graph/projectSnapshotModel.d.ts.map +1 -0
- package/dist/desktop/graph/projectSnapshotModel.js +108 -0
- package/dist/desktop/graph/projectSnapshotModel.js.map +1 -0
- package/dist/desktop/graph/readModel.d.ts +9 -0
- package/dist/desktop/graph/readModel.d.ts.map +1 -1
- package/dist/desktop/graph/readModel.js +20 -9
- package/dist/desktop/graph/readModel.js.map +1 -1
- package/dist/desktop/graph/resultsFileIndex.d.ts +28 -0
- package/dist/desktop/graph/resultsFileIndex.d.ts.map +1 -0
- package/dist/desktop/graph/resultsFileIndex.js +150 -0
- package/dist/desktop/graph/resultsFileIndex.js.map +1 -0
- package/dist/desktop/graph/searchIndexModel.d.ts +22 -0
- package/dist/desktop/graph/searchIndexModel.d.ts.map +1 -0
- package/dist/desktop/graph/searchIndexModel.js +142 -0
- package/dist/desktop/graph/searchIndexModel.js.map +1 -0
- package/dist/desktop/graph/searchModel.d.ts +6 -0
- package/dist/desktop/graph/searchModel.d.ts.map +1 -1
- package/dist/desktop/graph/searchModel.js +15 -123
- package/dist/desktop/graph/searchModel.js.map +1 -1
- package/dist/desktop/graph/statisticsIndexModel.d.ts +10 -0
- package/dist/desktop/graph/statisticsIndexModel.d.ts.map +1 -0
- package/dist/desktop/graph/statisticsIndexModel.js +109 -0
- package/dist/desktop/graph/statisticsIndexModel.js.map +1 -0
- package/dist/desktop/graph/statisticsModel.d.ts +7 -0
- package/dist/desktop/graph/statisticsModel.d.ts.map +1 -1
- package/dist/desktop/graph/statisticsModel.js +10 -116
- package/dist/desktop/graph/statisticsModel.js.map +1 -1
- package/dist/desktop/graph/todoModel.d.ts +21 -0
- package/dist/desktop/graph/todoModel.d.ts.map +1 -1
- package/dist/desktop/graph/todoModel.js +110 -34
- package/dist/desktop/graph/todoModel.js.map +1 -1
- package/dist/desktop/graphApi.d.ts +3 -2
- package/dist/desktop/graphApi.d.ts.map +1 -1
- package/dist/desktop/graphApi.js +3 -2
- package/dist/desktop/graphApi.js.map +1 -1
- package/dist/desktop/graphEditResult.d.ts +4 -0
- package/dist/desktop/graphEditResult.d.ts.map +1 -0
- package/dist/desktop/graphEditResult.js +5 -0
- package/dist/desktop/graphEditResult.js.map +1 -0
- package/dist/desktop/index.d.ts +4 -2
- package/dist/desktop/index.d.ts.map +1 -1
- package/dist/desktop/index.js +4 -2
- package/dist/desktop/index.js.map +1 -1
- package/dist/desktop/layoutApi.d.ts +1 -0
- package/dist/desktop/layoutApi.d.ts.map +1 -1
- package/dist/desktop/layoutApi.js +3 -0
- package/dist/desktop/layoutApi.js.map +1 -1
- package/dist/desktop/projectApi.d.ts.map +1 -1
- package/dist/desktop/projectApi.js +5 -1
- package/dist/desktop/projectApi.js.map +1 -1
- package/dist/desktop/recordsApi.js +1 -1
- package/dist/desktop/recordsApi.js.map +1 -1
- package/dist/desktop/reviewPipelineApi.d.ts.map +1 -1
- package/dist/desktop/reviewPipelineApi.js +15 -44
- package/dist/desktop/reviewPipelineApi.js.map +1 -1
- package/dist/desktop/runApi.d.ts +2 -1
- package/dist/desktop/runApi.d.ts.map +1 -1
- package/dist/desktop/runApi.js +101 -13
- package/dist/desktop/runApi.js.map +1 -1
- package/dist/desktop/runRecovery.d.ts +7 -0
- package/dist/desktop/runRecovery.d.ts.map +1 -0
- package/dist/desktop/runRecovery.js +184 -0
- package/dist/desktop/runRecovery.js.map +1 -0
- package/dist/desktop/runStateRepository.d.ts +13 -0
- package/dist/desktop/runStateRepository.d.ts.map +1 -0
- package/dist/desktop/runStateRepository.js +169 -0
- package/dist/desktop/runStateRepository.js.map +1 -0
- package/dist/desktop/runStateStore.d.ts +2 -2
- package/dist/desktop/runStateStore.d.ts.map +1 -1
- package/dist/desktop/runStateStore.js +21 -5
- package/dist/desktop/runStateStore.js.map +1 -1
- package/dist/desktop/runStepState.d.ts.map +1 -1
- package/dist/desktop/runStepState.js +3 -4
- package/dist/desktop/runStepState.js.map +1 -1
- package/dist/desktop/types/bridgeTypes.d.ts +9 -3
- package/dist/desktop/types/bridgeTypes.d.ts.map +1 -1
- package/dist/desktop/types/graphTypes.d.ts +106 -0
- package/dist/desktop/types/graphTypes.d.ts.map +1 -1
- package/dist/desktop/types/runTypes.d.ts +15 -0
- package/dist/desktop/types/runTypes.d.ts.map +1 -1
- package/dist/graph/affectedTasks.d.ts +3 -0
- package/dist/graph/affectedTasks.d.ts.map +1 -0
- package/dist/graph/affectedTasks.js +70 -0
- package/dist/graph/affectedTasks.js.map +1 -0
- package/dist/graph/editGraph.d.ts.map +1 -1
- package/dist/graph/editGraph.js +1 -78
- package/dist/graph/editGraph.js.map +1 -1
- package/dist/graph/fieldEditMutation.d.ts +33 -0
- package/dist/graph/fieldEditMutation.d.ts.map +1 -0
- package/dist/graph/fieldEditMutation.js +157 -0
- package/dist/graph/fieldEditMutation.js.map +1 -0
- package/dist/graph/mutation.d.ts +6 -0
- package/dist/graph/mutation.d.ts.map +1 -1
- package/dist/graph/mutation.js +44 -63
- package/dist/graph/mutation.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/initWorkspace.d.ts +1 -0
- package/dist/initWorkspace.d.ts.map +1 -1
- package/dist/initWorkspace.js +3 -0
- package/dist/initWorkspace.js.map +1 -1
- package/dist/package/manifestEdit.d.ts.map +1 -1
- package/dist/package/manifestEdit.js +37 -191
- package/dist/package/manifestEdit.js.map +1 -1
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +17 -2
- package/dist/paths.js.map +1 -1
- package/dist/projectGraph/compileProjectGraph.d.ts +3 -0
- package/dist/projectGraph/compileProjectGraph.d.ts.map +1 -0
- package/dist/projectGraph/compileProjectGraph.js +184 -0
- package/dist/projectGraph/compileProjectGraph.js.map +1 -0
- package/dist/projectGraph/graphAlgorithms.d.ts +4 -0
- package/dist/projectGraph/graphAlgorithms.d.ts.map +1 -0
- package/dist/projectGraph/graphAlgorithms.js +63 -0
- package/dist/projectGraph/graphAlgorithms.js.map +1 -0
- package/dist/projectGraph/index.d.ts +11 -0
- package/dist/projectGraph/index.d.ts.map +1 -0
- package/dist/projectGraph/index.js +9 -0
- package/dist/projectGraph/index.js.map +1 -0
- package/dist/projectGraph/loadProjectGraph.d.ts +7 -0
- package/dist/projectGraph/loadProjectGraph.d.ts.map +1 -0
- package/dist/projectGraph/loadProjectGraph.js +102 -0
- package/dist/projectGraph/loadProjectGraph.js.map +1 -0
- package/dist/projectGraph/materializeProjectGraph.d.ts +9 -0
- package/dist/projectGraph/materializeProjectGraph.d.ts.map +1 -0
- package/dist/projectGraph/materializeProjectGraph.js +35 -0
- package/dist/projectGraph/materializeProjectGraph.js.map +1 -0
- package/dist/projectGraph/migration.d.ts +6 -0
- package/dist/projectGraph/migration.d.ts.map +1 -0
- package/dist/projectGraph/migration.js +41 -0
- package/dist/projectGraph/migration.js.map +1 -0
- package/dist/projectGraph/projectGraphKeys.d.ts +6 -0
- package/dist/projectGraph/projectGraphKeys.d.ts.map +1 -0
- package/dist/projectGraph/projectGraphKeys.js +20 -0
- package/dist/projectGraph/projectGraphKeys.js.map +1 -0
- package/dist/projectGraph/projectGraphWorkspace.d.ts +5 -0
- package/dist/projectGraph/projectGraphWorkspace.d.ts.map +1 -0
- package/dist/projectGraph/projectGraphWorkspace.js +38 -0
- package/dist/projectGraph/projectGraphWorkspace.js.map +1 -0
- package/dist/projectGraph/runtimeAggregation.d.ts +35 -0
- package/dist/projectGraph/runtimeAggregation.d.ts.map +1 -0
- package/dist/projectGraph/runtimeAggregation.js +131 -0
- package/dist/projectGraph/runtimeAggregation.js.map +1 -0
- package/dist/projectGraph/schema.d.ts +35 -0
- package/dist/projectGraph/schema.d.ts.map +1 -0
- package/dist/projectGraph/schema.js +46 -0
- package/dist/projectGraph/schema.js.map +1 -0
- package/dist/projectGraph/types.d.ts +68 -0
- package/dist/projectGraph/types.d.ts.map +1 -0
- package/dist/projectGraph/types.js +4 -0
- package/dist/projectGraph/types.js.map +1 -0
- package/dist/schema/manifest.d.ts +10 -0
- package/dist/schema/manifest.d.ts.map +1 -1
- package/dist/schema/manifest.js +17 -1
- package/dist/schema/manifest.js.map +1 -1
- package/dist/taskManager/autoRun.d.ts +6 -1
- package/dist/taskManager/autoRun.d.ts.map +1 -1
- package/dist/taskManager/autoRun.js +240 -1
- package/dist/taskManager/autoRun.js.map +1 -1
- package/dist/taskManager/canvasCommandScope.d.ts +7 -0
- package/dist/taskManager/canvasCommandScope.d.ts.map +1 -0
- package/dist/taskManager/canvasCommandScope.js +34 -0
- package/dist/taskManager/canvasCommandScope.js.map +1 -0
- package/dist/taskManager/claimBlockDispatch.d.ts +7 -0
- package/dist/taskManager/claimBlockDispatch.d.ts.map +1 -0
- package/dist/taskManager/claimBlockDispatch.js +36 -0
- package/dist/taskManager/claimBlockDispatch.js.map +1 -0
- package/dist/taskManager/claimHints.d.ts +4 -0
- package/dist/taskManager/claimHints.d.ts.map +1 -0
- package/dist/taskManager/claimHints.js +88 -0
- package/dist/taskManager/claimHints.js.map +1 -0
- package/dist/taskManager/claimReadiness.d.ts +72 -0
- package/dist/taskManager/claimReadiness.d.ts.map +1 -0
- package/dist/taskManager/claimReadiness.js +186 -0
- package/dist/taskManager/claimReadiness.js.map +1 -0
- package/dist/taskManager/claimReadinessRules.d.ts +10 -0
- package/dist/taskManager/claimReadinessRules.d.ts.map +1 -0
- package/dist/taskManager/claimReadinessRules.js +51 -0
- package/dist/taskManager/claimReadinessRules.js.map +1 -0
- package/dist/taskManager/claimScheduler.d.ts.map +1 -1
- package/dist/taskManager/claimScheduler.js +47 -184
- package/dist/taskManager/claimScheduler.js.map +1 -1
- package/dist/taskManager/executionStatus.d.ts +12 -31
- package/dist/taskManager/executionStatus.d.ts.map +1 -1
- package/dist/taskManager/executionStatus.js +15 -109
- package/dist/taskManager/executionStatus.js.map +1 -1
- package/dist/taskManager/executorApi.d.ts.map +1 -1
- package/dist/taskManager/executorApi.js +12 -13
- package/dist/taskManager/executorApi.js.map +1 -1
- package/dist/taskManager/projectCanvasContext.d.ts +8 -0
- package/dist/taskManager/projectCanvasContext.d.ts.map +1 -0
- package/dist/taskManager/projectCanvasContext.js +66 -0
- package/dist/taskManager/projectCanvasContext.js.map +1 -0
- package/dist/taskManager/projectGraphClaimGuard.d.ts +9 -0
- package/dist/taskManager/projectGraphClaimGuard.d.ts.map +1 -0
- package/dist/taskManager/projectGraphClaimGuard.js +35 -0
- package/dist/taskManager/projectGraphClaimGuard.js.map +1 -0
- package/dist/taskManager/promptRenderer.d.ts +1 -1
- package/dist/taskManager/promptRenderer.d.ts.map +1 -1
- package/dist/taskManager/promptRenderer.js +16 -2
- package/dist/taskManager/promptRenderer.js.map +1 -1
- package/dist/types.d.ts +106 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validatePackage.d.ts.map +1 -1
- package/dist/validatePackage.js +35 -8
- package/dist/validatePackage.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DesktopAutoRunState } from "./types.js";
|
|
2
|
+
export declare function normalizePersistedAutoRunState(value: unknown, paths: {
|
|
3
|
+
statePath: string;
|
|
4
|
+
eventLogPath: string;
|
|
5
|
+
}): DesktopAutoRunState | null;
|
|
6
|
+
export declare function recoverPersistedAutoRunState(state: DesktopAutoRunState, hasActiveLoop: boolean): DesktopAutoRunState;
|
|
7
|
+
//# sourceMappingURL=runRecovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runRecovery.d.ts","sourceRoot":"","sources":["../../src/desktop/runRecovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAyIvH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,GAAG,IAAI,CAkD7I;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,GAAG,mBAAmB,CAUpH"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { createAutoRunExplanation } from "../taskManager/autoRun.js";
|
|
2
|
+
const persistedInFlightPhases = ["running", "pausing"];
|
|
3
|
+
function isRecord(value) {
|
|
4
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
|
+
}
|
|
6
|
+
function stringOrNull(value) {
|
|
7
|
+
return typeof value === "string" ? value : null;
|
|
8
|
+
}
|
|
9
|
+
function requiredString(record, key) {
|
|
10
|
+
const value = record[key];
|
|
11
|
+
return typeof value === "string" && value.length > 0 ? value : null;
|
|
12
|
+
}
|
|
13
|
+
function requiredNumber(record, key) {
|
|
14
|
+
const value = record[key];
|
|
15
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
16
|
+
}
|
|
17
|
+
function normalizeScope(value) {
|
|
18
|
+
if (!isRecord(value) || typeof value.kind !== "string") {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
if (value.kind === "project") {
|
|
22
|
+
return { kind: "project" };
|
|
23
|
+
}
|
|
24
|
+
if (value.kind === "task" && typeof value.taskId === "string" && value.taskId.length > 0) {
|
|
25
|
+
return { kind: "task", taskId: value.taskId };
|
|
26
|
+
}
|
|
27
|
+
if (value.kind === "block" && typeof value.blockRef === "string" && value.blockRef.length > 0) {
|
|
28
|
+
return { kind: "block", blockRef: value.blockRef };
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
function normalizePhase(value) {
|
|
33
|
+
if (value === "idle" ||
|
|
34
|
+
value === "running" ||
|
|
35
|
+
value === "pausing" ||
|
|
36
|
+
value === "paused" ||
|
|
37
|
+
value === "manual" ||
|
|
38
|
+
value === "completed" ||
|
|
39
|
+
value === "blocked" ||
|
|
40
|
+
value === "failed" ||
|
|
41
|
+
value === "stopped") {
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
function normalizeNextActionKind(value) {
|
|
47
|
+
if (value === "start" ||
|
|
48
|
+
value === "wait" ||
|
|
49
|
+
value === "resume" ||
|
|
50
|
+
value === "submit_manual_result" ||
|
|
51
|
+
value === "inspect_record" ||
|
|
52
|
+
value === "resolve_error" ||
|
|
53
|
+
value === "review_status") {
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
function normalizeOptions(value) {
|
|
59
|
+
if (!isRecord(value) || typeof value.tmuxEnabled !== "boolean") {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return { tmuxEnabled: value.tmuxEnabled };
|
|
63
|
+
}
|
|
64
|
+
function validExplanation(value) {
|
|
65
|
+
if (!isRecord(value) || !isRecord(value.nextAction)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const phase = normalizePhase(value.phase);
|
|
69
|
+
const actionKind = normalizeNextActionKind(value.nextAction.kind);
|
|
70
|
+
const actionMessage = value.nextAction.message;
|
|
71
|
+
const targetPath = stringOrNull(value.nextAction.targetPath);
|
|
72
|
+
if (!phase || !actionKind || typeof actionMessage !== "string") {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
const baseAction = {
|
|
76
|
+
message: actionMessage,
|
|
77
|
+
command: stringOrNull(value.nextAction.command),
|
|
78
|
+
ref: stringOrNull(value.nextAction.ref)
|
|
79
|
+
};
|
|
80
|
+
let nextAction;
|
|
81
|
+
if (actionKind === "inspect_record") {
|
|
82
|
+
if (targetPath === null) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
nextAction = {
|
|
86
|
+
...baseAction,
|
|
87
|
+
kind: actionKind,
|
|
88
|
+
targetPath
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
nextAction = {
|
|
93
|
+
...baseAction,
|
|
94
|
+
kind: actionKind,
|
|
95
|
+
targetPath
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
phase,
|
|
100
|
+
currentRef: stringOrNull(value.currentRef),
|
|
101
|
+
currentExecutor: stringOrNull(value.currentExecutor),
|
|
102
|
+
latestRecordId: stringOrNull(value.latestRecordId),
|
|
103
|
+
latestRecordPath: stringOrNull(value.latestRecordPath),
|
|
104
|
+
latestOutputSummary: stringOrNull(value.latestOutputSummary),
|
|
105
|
+
error: stringOrNull(value.error),
|
|
106
|
+
nextAction
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function withRecoveredExplanation(state) {
|
|
110
|
+
return {
|
|
111
|
+
...state,
|
|
112
|
+
explanation: createAutoRunExplanation({
|
|
113
|
+
phase: state.phase,
|
|
114
|
+
currentRef: state.currentRef,
|
|
115
|
+
currentExecutor: state.currentExecutor,
|
|
116
|
+
latestRecordId: state.latestRecordId,
|
|
117
|
+
latestRecordPath: state.latestRecordPath,
|
|
118
|
+
latestOutputSummary: state.latestOutputSummary,
|
|
119
|
+
error: state.error
|
|
120
|
+
})
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
export function normalizePersistedAutoRunState(value, paths) {
|
|
124
|
+
if (!isRecord(value)) {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
const phase = normalizePhase(value.phase);
|
|
128
|
+
const scope = normalizeScope(value.scope);
|
|
129
|
+
const options = normalizeOptions(value.options);
|
|
130
|
+
const runId = requiredString(value, "runId");
|
|
131
|
+
const projectRoot = requiredString(value, "projectRoot");
|
|
132
|
+
const stepCount = requiredNumber(value, "stepCount");
|
|
133
|
+
const stepLimit = requiredNumber(value, "stepLimit");
|
|
134
|
+
const elapsedMs = requiredNumber(value, "elapsedMs");
|
|
135
|
+
const startedAt = requiredString(value, "startedAt");
|
|
136
|
+
const updatedAt = requiredString(value, "updatedAt");
|
|
137
|
+
if (!phase || !scope || !options || !runId || !projectRoot || stepCount === null || stepLimit === null || elapsedMs === null || !startedAt || !updatedAt) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
const state = {
|
|
141
|
+
runId,
|
|
142
|
+
projectRoot,
|
|
143
|
+
canvasId: stringOrNull(value.canvasId),
|
|
144
|
+
scope,
|
|
145
|
+
phase,
|
|
146
|
+
stepCount,
|
|
147
|
+
stepLimit,
|
|
148
|
+
currentRef: stringOrNull(value.currentRef),
|
|
149
|
+
currentExecutor: stringOrNull(value.currentExecutor),
|
|
150
|
+
elapsedMs,
|
|
151
|
+
latestOutputSummary: stringOrNull(value.latestOutputSummary),
|
|
152
|
+
latestRecordId: stringOrNull(value.latestRecordId),
|
|
153
|
+
latestRecordPath: stringOrNull(value.latestRecordPath),
|
|
154
|
+
explanation: validExplanation(value.explanation) ??
|
|
155
|
+
createAutoRunExplanation({
|
|
156
|
+
phase,
|
|
157
|
+
currentRef: stringOrNull(value.currentRef),
|
|
158
|
+
currentExecutor: stringOrNull(value.currentExecutor),
|
|
159
|
+
latestRecordId: stringOrNull(value.latestRecordId),
|
|
160
|
+
latestRecordPath: stringOrNull(value.latestRecordPath),
|
|
161
|
+
latestOutputSummary: stringOrNull(value.latestOutputSummary),
|
|
162
|
+
error: stringOrNull(value.error)
|
|
163
|
+
}),
|
|
164
|
+
statePath: paths.statePath,
|
|
165
|
+
eventLogPath: paths.eventLogPath,
|
|
166
|
+
options,
|
|
167
|
+
error: stringOrNull(value.error),
|
|
168
|
+
startedAt,
|
|
169
|
+
updatedAt
|
|
170
|
+
};
|
|
171
|
+
return state;
|
|
172
|
+
}
|
|
173
|
+
export function recoverPersistedAutoRunState(state, hasActiveLoop) {
|
|
174
|
+
if (hasActiveLoop || !persistedInFlightPhases.includes(state.phase)) {
|
|
175
|
+
return state;
|
|
176
|
+
}
|
|
177
|
+
const interruptedPhase = state.phase;
|
|
178
|
+
return withRecoveredExplanation({
|
|
179
|
+
...state,
|
|
180
|
+
phase: "failed",
|
|
181
|
+
error: `Auto Run was interrupted while ${interruptedPhase}; the desktop process exited before this run reached a terminal state. Inspect the latest record, then start a new Auto Run when ready.`
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=runRecovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runRecovery.js","sourceRoot":"","sources":["../../src/desktop/runRecovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ProjectWorkspace } from "../types.js";
|
|
2
|
+
import type { DesktopAutoRunState } from "./types.js";
|
|
3
|
+
export declare function nextPersistedAutoRunId(workspace: ProjectWorkspace, options?: {
|
|
4
|
+
isReserved?: (runId: string) => boolean;
|
|
5
|
+
}): Promise<string>;
|
|
6
|
+
export declare function readPersistedAutoRunState(workspace: ProjectWorkspace, runId: string, options?: {
|
|
7
|
+
hasActiveLoop?: boolean;
|
|
8
|
+
}): Promise<DesktopAutoRunState | null>;
|
|
9
|
+
export declare function listPersistedAutoRunStates(workspace: ProjectWorkspace, options?: {
|
|
10
|
+
hasActiveLoop?: (runId: string) => boolean;
|
|
11
|
+
}): Promise<DesktopAutoRunState[]>;
|
|
12
|
+
export declare function writePersistedAutoRunState(state: DesktopAutoRunState): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=runStateRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runStateRepository.d.ts","sourceRoot":"","sources":["../../src/desktop/runStateRepository.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAmHtD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCpJ;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAe1K;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAS1K;AAED,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { mkdir, readdir } from "node:fs/promises";
|
|
2
|
+
import { basename, join } from "node:path";
|
|
3
|
+
import { readJsonFile } from "../json.js";
|
|
4
|
+
import { loadProjectGraphForWorkspace, projectCanvasWorkspace } from "../projectGraph/index.js";
|
|
5
|
+
import { autoRunRoot, writeAutoRunState } from "./runStateStore.js";
|
|
6
|
+
import { normalizePersistedAutoRunState, recoverPersistedAutoRunState } from "./runRecovery.js";
|
|
7
|
+
const desktopRunIdPattern = /^DESKTOP-RUN-(\d{4,})$/;
|
|
8
|
+
function autoRunsRoot(workspace) {
|
|
9
|
+
return join(workspace.resultsDir, "auto-runs");
|
|
10
|
+
}
|
|
11
|
+
function projectsRoot(workspace) {
|
|
12
|
+
return join(workspace.planweaveHome, "projects");
|
|
13
|
+
}
|
|
14
|
+
function globalAutoRunIdsRoot(workspace) {
|
|
15
|
+
return join(workspace.planweaveHome, "desktop", "auto-run-ids");
|
|
16
|
+
}
|
|
17
|
+
function runNumber(runId) {
|
|
18
|
+
const match = desktopRunIdPattern.exec(runId);
|
|
19
|
+
if (!match) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const parsed = Number.parseInt(match[1], 10);
|
|
23
|
+
return Number.isSafeInteger(parsed) ? parsed : null;
|
|
24
|
+
}
|
|
25
|
+
async function listRunDirectories(workspace) {
|
|
26
|
+
return listRunDirectoriesAt(autoRunsRoot(workspace));
|
|
27
|
+
}
|
|
28
|
+
async function listRunDirectoriesAt(root) {
|
|
29
|
+
try {
|
|
30
|
+
const entries = await readdir(root, { withFileTypes: true });
|
|
31
|
+
return entries.filter((entry) => entry.isDirectory() && desktopRunIdPattern.test(entry.name)).map((entry) => entry.name);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function listProjectWorkspaceRoots(workspace) {
|
|
41
|
+
try {
|
|
42
|
+
const entries = await readdir(projectsRoot(workspace), { withFileTypes: true });
|
|
43
|
+
return entries.filter((entry) => entry.isDirectory()).map((entry) => join(projectsRoot(workspace), entry.name));
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function workspaceFromRoot(workspace, workspaceRoot) {
|
|
53
|
+
return {
|
|
54
|
+
id: basename(workspaceRoot),
|
|
55
|
+
rootPath: workspaceRoot,
|
|
56
|
+
planweaveHome: workspace.planweaveHome,
|
|
57
|
+
workspaceRoot,
|
|
58
|
+
projectFile: join(workspaceRoot, "project.json"),
|
|
59
|
+
packageDir: join(workspaceRoot, "package"),
|
|
60
|
+
manifestFile: join(workspaceRoot, "package", "manifest.json"),
|
|
61
|
+
stateFile: join(workspaceRoot, "state.json"),
|
|
62
|
+
resultsDir: join(workspaceRoot, "results"),
|
|
63
|
+
projectPromptFile: join(workspaceRoot, "policy", "project-prompt.md")
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async function listCanvasAutoRunRoots(workspace) {
|
|
67
|
+
try {
|
|
68
|
+
const loaded = await loadProjectGraphForWorkspace(workspace);
|
|
69
|
+
return loaded.manifest.canvases.map((canvas) => autoRunsRoot(projectCanvasWorkspace(loaded.workspace, canvas)));
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
void error;
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async function listAutoRunRootsAcrossProjects(workspace) {
|
|
77
|
+
const autoRunRoots = new Set([autoRunsRoot(workspace)]);
|
|
78
|
+
for (const workspaceRoot of await listProjectWorkspaceRoots(workspace)) {
|
|
79
|
+
autoRunRoots.add(join(workspaceRoot, "results", "auto-runs"));
|
|
80
|
+
for (const canvasAutoRunRoot of await listCanvasAutoRunRoots(workspaceFromRoot(workspace, workspaceRoot))) {
|
|
81
|
+
autoRunRoots.add(canvasAutoRunRoot);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return [...autoRunRoots];
|
|
85
|
+
}
|
|
86
|
+
async function listPersistedRunDirectoriesAcrossProjects(workspace) {
|
|
87
|
+
const runIds = [];
|
|
88
|
+
for (const autoRunDirectory of await listAutoRunRootsAcrossProjects(workspace)) {
|
|
89
|
+
runIds.push(...(await listRunDirectoriesAt(autoRunDirectory)));
|
|
90
|
+
}
|
|
91
|
+
return runIds;
|
|
92
|
+
}
|
|
93
|
+
function maxRunNumber(runIds) {
|
|
94
|
+
return runIds
|
|
95
|
+
.map(runNumber)
|
|
96
|
+
.filter((value) => value !== null)
|
|
97
|
+
.reduce((max, value) => Math.max(max, value), 0);
|
|
98
|
+
}
|
|
99
|
+
function compareAutoRunStatesNewestFirst(left, right) {
|
|
100
|
+
const byUpdatedAt = right.updatedAt.localeCompare(left.updatedAt);
|
|
101
|
+
if (byUpdatedAt !== 0) {
|
|
102
|
+
return byUpdatedAt;
|
|
103
|
+
}
|
|
104
|
+
return right.runId.localeCompare(left.runId, undefined, { numeric: true });
|
|
105
|
+
}
|
|
106
|
+
export async function nextPersistedAutoRunId(workspace, options = {}) {
|
|
107
|
+
await mkdir(autoRunsRoot(workspace), { recursive: true });
|
|
108
|
+
await mkdir(globalAutoRunIdsRoot(workspace), { recursive: true });
|
|
109
|
+
let nextNumber = Math.max(maxRunNumber(await listPersistedRunDirectoriesAcrossProjects(workspace)), maxRunNumber(await listRunDirectoriesAt(globalAutoRunIdsRoot(workspace)))) + 1;
|
|
110
|
+
while (true) {
|
|
111
|
+
const runId = `DESKTOP-RUN-${String(nextNumber).padStart(4, "0")}`;
|
|
112
|
+
if (options.isReserved?.(runId)) {
|
|
113
|
+
nextNumber += 1;
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
await mkdir(join(globalAutoRunIdsRoot(workspace), runId), { recursive: false });
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (error instanceof Error && "code" in error && error.code === "EEXIST") {
|
|
121
|
+
nextNumber += 1;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
throw error;
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
await mkdir(autoRunRoot(workspace, runId), { recursive: false });
|
|
128
|
+
return runId;
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
if (error instanceof Error && "code" in error && error.code === "EEXIST") {
|
|
132
|
+
nextNumber += 1;
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
throw error;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
export async function readPersistedAutoRunState(workspace, runId, options = {}) {
|
|
140
|
+
const runRoot = autoRunRoot(workspace, runId);
|
|
141
|
+
const statePath = join(runRoot, "state.json");
|
|
142
|
+
const eventLogPath = join(runRoot, "events.ndjson");
|
|
143
|
+
let raw;
|
|
144
|
+
try {
|
|
145
|
+
raw = await readJsonFile(statePath);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
const state = normalizePersistedAutoRunState(raw, { statePath, eventLogPath });
|
|
154
|
+
return state ? recoverPersistedAutoRunState(state, options.hasActiveLoop ?? false) : null;
|
|
155
|
+
}
|
|
156
|
+
export async function listPersistedAutoRunStates(workspace, options = {}) {
|
|
157
|
+
const states = [];
|
|
158
|
+
for (const runId of await listRunDirectories(workspace)) {
|
|
159
|
+
const state = await readPersistedAutoRunState(workspace, runId, { hasActiveLoop: options.hasActiveLoop?.(runId) ?? false });
|
|
160
|
+
if (state) {
|
|
161
|
+
states.push(state);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return states.sort(compareAutoRunStatesNewestFirst);
|
|
165
|
+
}
|
|
166
|
+
export async function writePersistedAutoRunState(state) {
|
|
167
|
+
await writeAutoRunState(state);
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=runStateRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runStateRepository.js","sourceRoot":"","sources":["../../src/desktop/runStateRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ProjectWorkspace } from "../types.js";
|
|
2
|
-
import type { DesktopAutoRunState } from "./types.js";
|
|
2
|
+
import type { DesktopAutoRunEvent, DesktopAutoRunState } from "./types.js";
|
|
3
3
|
export declare function now(): string;
|
|
4
|
-
export declare function nextRunId(): string;
|
|
5
4
|
export declare function cloneAutoRunState(state: DesktopAutoRunState): DesktopAutoRunState;
|
|
5
|
+
export declare function createAutoRunEvent(state: DesktopAutoRunState, eventType: string): DesktopAutoRunEvent;
|
|
6
6
|
export declare function autoRunRoot(workspace: ProjectWorkspace, runId: string): string;
|
|
7
7
|
export declare function writeAutoRunState(state: DesktopAutoRunState): Promise<void>;
|
|
8
8
|
export declare function appendAutoRunEvent(state: DesktopAutoRunState, type: string, data?: Record<string, unknown>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runStateStore.d.ts","sourceRoot":"","sources":["../../src/desktop/runStateStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"runStateStore.d.ts","sourceRoot":"","sources":["../../src/desktop/runStateStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE3E,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAYjF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAcrG;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjF;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAepI"}
|
|
@@ -1,19 +1,35 @@
|
|
|
1
1
|
import { appendFile, mkdir } from "node:fs/promises";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { writeJsonFile } from "../json.js";
|
|
4
|
-
let nextRunNumber = 1;
|
|
5
4
|
export function now() {
|
|
6
5
|
return new Date().toISOString();
|
|
7
6
|
}
|
|
8
|
-
export function nextRunId() {
|
|
9
|
-
return `DESKTOP-RUN-${String(nextRunNumber++).padStart(4, "0")}`;
|
|
10
|
-
}
|
|
11
7
|
export function cloneAutoRunState(state) {
|
|
12
8
|
const endTime = state.phase === "running" || state.phase === "pausing" ? Date.now() : Date.parse(state.updatedAt);
|
|
13
9
|
return {
|
|
14
10
|
...state,
|
|
15
11
|
elapsedMs: Math.max(0, endTime - Date.parse(state.startedAt)),
|
|
16
|
-
scope: { ...state.scope }
|
|
12
|
+
scope: { ...state.scope },
|
|
13
|
+
options: { ...state.options },
|
|
14
|
+
explanation: {
|
|
15
|
+
...state.explanation,
|
|
16
|
+
nextAction: { ...state.explanation.nextAction }
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function createAutoRunEvent(state, eventType) {
|
|
21
|
+
const clonedState = cloneAutoRunState(state);
|
|
22
|
+
return {
|
|
23
|
+
projectRoot: clonedState.projectRoot,
|
|
24
|
+
canvasId: clonedState.canvasId,
|
|
25
|
+
runId: clonedState.runId,
|
|
26
|
+
phase: clonedState.phase,
|
|
27
|
+
state: clonedState,
|
|
28
|
+
currentRef: clonedState.currentRef,
|
|
29
|
+
latestRecordId: clonedState.latestRecordId,
|
|
30
|
+
latestRecordPath: clonedState.latestRecordPath,
|
|
31
|
+
eventType,
|
|
32
|
+
triggeredAt: now()
|
|
17
33
|
};
|
|
18
34
|
}
|
|
19
35
|
export function autoRunRoot(workspace, runId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runStateStore.js","sourceRoot":"","sources":["../../src/desktop/runStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,
|
|
1
|
+
{"version":3,"file":"runStateStore.js","sourceRoot":"","sources":["../../src/desktop/runStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,MAAM,UAAU,GAAG;IACjB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAA0B;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClH,OAAO;QACL,GAAG,KAAK;QACR,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7D,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;QACzB,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;QAC7B,WAAW,EAAE;YACX,GAAG,KAAK,CAAC,WAAW;YACpB,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE;SAChD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA0B,EAAE,SAAiB;IAC9E,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO;QACL,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;QAC9C,SAAS;QACT,WAAW,EAAE,GAAG,EAAE;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAA2B,EAAE,KAAa;IACpE,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAA0B;IAChE,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAA0B,EAAE,IAAY,EAAE,OAAgC,EAAE;IACnH,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,UAAU,CACd,KAAK,CAAC,YAAY,EAClB,GAAG,IAAI,CAAC,SAAS,CAAC;QAChB,SAAS,EAAE,GAAG,EAAE;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,IAAI;KACR,CAAC,IAAI,EACN,MAAM,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runStepState.d.ts","sourceRoot":"","sources":["../../src/desktop/runStepState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAW/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAQnE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAiBpE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,GAAE,eAAe,EAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAiB5H;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,GAAG,mBAAmB,CAW5H;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"runStepState.d.ts","sourceRoot":"","sources":["../../src/desktop/runStepState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAW/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAQnE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAiBpE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,GAAE,eAAe,EAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAiB5H;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,GAAG,mBAAmB,CAW5H;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CAY3J;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,mBAAmB,GAAG,UAAU,CAQjE"}
|
|
@@ -70,14 +70,13 @@ export function phaseAfterStep(current, patch) {
|
|
|
70
70
|
}
|
|
71
71
|
export async function latestStatus(workspace) {
|
|
72
72
|
const status = await getAutoRunStatus({ projectRoot: workspace });
|
|
73
|
-
|
|
74
|
-
if (!latestRun) {
|
|
73
|
+
if (!status.explanation.latestRecordId || !status.explanation.latestRecordPath) {
|
|
75
74
|
return { record: null, warnings: status.warnings };
|
|
76
75
|
}
|
|
77
76
|
return {
|
|
78
77
|
record: {
|
|
79
|
-
recordId:
|
|
80
|
-
path:
|
|
78
|
+
recordId: status.explanation.latestRecordId,
|
|
79
|
+
path: status.explanation.latestRecordPath
|
|
81
80
|
},
|
|
82
81
|
warnings: status.warnings
|
|
83
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runStepState.js","sourceRoot":"","sources":["../../src/desktop/runStepState.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runStepState.js","sourceRoot":"","sources":["../../src/desktop/runStepState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { DesktopAddBlockInput, DesktopAddTaskInput, DesktopBlockDetail, DesktopGraphEditResult, DesktopGraphEditValidationInput, DesktopGraphViewModel, DesktopLayout, DesktopProjectExecutionPlan, DesktopSearchFilters, DesktopSearchResult, DesktopStatistics, DesktopTaskDetail, DesktopTaskDraft, DesktopTaskDraftMode, DesktopTaskExecutionOrder, DesktopTodoGroups } from "./graphTypes.js";
|
|
1
|
+
import type { DesktopAddBlockInput, DesktopAddTaskInput, DesktopBlockDetail, DesktopCanvasGraphViewModel, DesktopCanvasMapLayout, DesktopGraphEditResult, DesktopGraphEditValidationInput, DesktopGraphViewModel, DesktopLayout, DesktopProjectExecutionPlan, DesktopProjectSnapshot, DesktopSearchFilters, DesktopSearchResult, DesktopStatistics, DesktopTaskDetail, DesktopTaskDraft, DesktopTaskDraftMode, DesktopTaskExecutionOrder, DesktopTodoGroups } from "./graphTypes.js";
|
|
2
2
|
import type { DesktopProjectSummary, DesktopTaskCanvasSummary } from "./projectTypes.js";
|
|
3
3
|
import type { ProjectPromptPolicy } from "../../projectPromptPolicy.js";
|
|
4
4
|
import type { DesktopBlockRunRecordSummary, DesktopFeedbackRecord, DesktopReviewAttemptSummary, DesktopRunRecord } from "./recordsTypes.js";
|
|
5
5
|
import type { DesktopReviewPipeline, DesktopUpdateReviewPipelineInput } from "./reviewPipelineTypes.js";
|
|
6
6
|
import type { DesktopPackageFileChangeEvent, DesktopPackageFileSyncResult, DesktopPackageFileSnapshotRef } from "./syncTypes.js";
|
|
7
|
-
import type { DesktopAutoRunOptions, DesktopAutoRunScope, DesktopAutoRunState } from "./runTypes.js";
|
|
8
|
-
export type DesktopAgentKind = "codex" | "claude-code" | "opencode";
|
|
7
|
+
import type { DesktopAutoRunEvent, DesktopAutoRunOptions, DesktopAutoRunScope, DesktopAutoRunState } from "./runTypes.js";
|
|
8
|
+
export type DesktopAgentKind = "codex" | "claude-code" | "opencode" | "pi";
|
|
9
9
|
export type DesktopAgentCliProfile = {
|
|
10
10
|
kind: DesktopAgentKind;
|
|
11
11
|
name: string;
|
|
@@ -57,6 +57,11 @@ export type DesktopBridgeApi = {
|
|
|
57
57
|
}): Promise<DesktopTaskCanvasSummary>;
|
|
58
58
|
removeTaskCanvas(projectRoot: string, canvasId: string): Promise<DesktopTaskCanvasSummary[]>;
|
|
59
59
|
getProjectOverview(projectRoot: string): Promise<DesktopProjectSummary>;
|
|
60
|
+
getCanvasGraphViewModel(projectRoot: string): Promise<DesktopCanvasGraphViewModel>;
|
|
61
|
+
getCanvasMapLayout(projectRoot: string): Promise<DesktopCanvasMapLayout>;
|
|
62
|
+
saveCanvasMapLayout(projectRoot: string, layout: DesktopCanvasMapLayout): Promise<DesktopCanvasMapLayout>;
|
|
63
|
+
resetCanvasMapLayout(projectRoot: string): Promise<DesktopCanvasMapLayout>;
|
|
64
|
+
getDesktopProjectSnapshot(ref: DesktopCanvasReference): Promise<DesktopProjectSnapshot>;
|
|
60
65
|
getGraphViewModel(ref: DesktopCanvasReference): Promise<DesktopGraphViewModel>;
|
|
61
66
|
getTaskDetail(ref: DesktopCanvasReference, taskId: string): Promise<DesktopTaskDetail>;
|
|
62
67
|
getBlockDetail(ref: DesktopCanvasReference, blockRef: string): Promise<DesktopBlockDetail>;
|
|
@@ -102,6 +107,7 @@ export type DesktopBridgeApi = {
|
|
|
102
107
|
watchPackageFiles(ref: DesktopCanvasReference): Promise<void>;
|
|
103
108
|
unwatchPackageFiles(ref: DesktopCanvasReference): Promise<void>;
|
|
104
109
|
onPackageFileChanged(callback: (event: DesktopPackageFileChangeEvent) => void): () => void;
|
|
110
|
+
onAutoRunChanged(callback: (event: DesktopAutoRunEvent) => void): () => void;
|
|
105
111
|
startAutoRun(ref: DesktopCanvasReference, scope: DesktopAutoRunScope, stepLimit?: number, options?: DesktopAutoRunOptions): Promise<DesktopAutoRunState>;
|
|
106
112
|
unblockBlock(ref: DesktopCanvasReference, blockRef: string, reason: string): Promise<void>;
|
|
107
113
|
pauseAutoRun(runId: string): Promise<DesktopAutoRunState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeTypes.d.ts","sourceRoot":"","sources":["../../../src/desktop/types/bridgeTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,EACrB,aAAa,EACb,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EACV,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,qBAAqB,EACrB,gCAAgC,EACjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bridgeTypes.d.ts","sourceRoot":"","sources":["../../../src/desktop/types/bridgeTypes.ts"],"names":[],"mappings":"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"}
|