@planweave-ai/runtime 0.1.1 → 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.
Files changed (214) hide show
  1. package/dist/autoRun/claudeCodeIntegration.d.ts +3 -0
  2. package/dist/autoRun/claudeCodeIntegration.d.ts.map +1 -0
  3. package/dist/autoRun/claudeCodeIntegration.js +36 -0
  4. package/dist/autoRun/claudeCodeIntegration.js.map +1 -0
  5. package/dist/autoRun/codexExecutor.d.ts.map +1 -1
  6. package/dist/autoRun/codexExecutor.js +7 -4
  7. package/dist/autoRun/codexExecutor.js.map +1 -1
  8. package/dist/autoRun/codexIntegration.d.ts +3 -0
  9. package/dist/autoRun/codexIntegration.d.ts.map +1 -0
  10. package/dist/autoRun/codexIntegration.js +37 -0
  11. package/dist/autoRun/codexIntegration.js.map +1 -0
  12. package/dist/autoRun/executorIntegration.d.ts +29 -0
  13. package/dist/autoRun/executorIntegration.d.ts.map +1 -0
  14. package/dist/autoRun/executorIntegration.js +4 -0
  15. package/dist/autoRun/executorIntegration.js.map +1 -0
  16. package/dist/autoRun/executorPreflightTypes.d.ts +21 -0
  17. package/dist/autoRun/executorPreflightTypes.d.ts.map +1 -0
  18. package/dist/autoRun/executorPreflightTypes.js +2 -0
  19. package/dist/autoRun/executorPreflightTypes.js.map +1 -0
  20. package/dist/autoRun/executorShared.d.ts +1 -1
  21. package/dist/autoRun/executorShared.js +1 -1
  22. package/dist/autoRun/executors.d.ts +17 -11
  23. package/dist/autoRun/executors.d.ts.map +1 -1
  24. package/dist/autoRun/executors.js +234 -100
  25. package/dist/autoRun/executors.js.map +1 -1
  26. package/dist/autoRun/localReviewExecutor.d.ts.map +1 -1
  27. package/dist/autoRun/localReviewExecutor.js +6 -3
  28. package/dist/autoRun/localReviewExecutor.js.map +1 -1
  29. package/dist/autoRun/localReviewIntegration.d.ts +3 -0
  30. package/dist/autoRun/localReviewIntegration.d.ts.map +1 -0
  31. package/dist/autoRun/localReviewIntegration.js +34 -0
  32. package/dist/autoRun/localReviewIntegration.js.map +1 -0
  33. package/dist/autoRun/manualExecutor.d.ts +3 -0
  34. package/dist/autoRun/manualExecutor.d.ts.map +1 -0
  35. package/dist/autoRun/manualExecutor.js +80 -0
  36. package/dist/autoRun/manualExecutor.js.map +1 -0
  37. package/dist/autoRun/opencodeExecutor.d.ts.map +1 -1
  38. package/dist/autoRun/opencodeExecutor.js +6 -3
  39. package/dist/autoRun/opencodeExecutor.js.map +1 -1
  40. package/dist/autoRun/opencodeIntegration.d.ts +3 -0
  41. package/dist/autoRun/opencodeIntegration.d.ts.map +1 -0
  42. package/dist/autoRun/opencodeIntegration.js +34 -0
  43. package/dist/autoRun/opencodeIntegration.js.map +1 -0
  44. package/dist/autoRun/piIntegration.d.ts +3 -0
  45. package/dist/autoRun/piIntegration.d.ts.map +1 -0
  46. package/dist/autoRun/piIntegration.js +36 -0
  47. package/dist/autoRun/piIntegration.js.map +1 -0
  48. package/dist/autoRun/terminalAgentExecutor.d.ts +22 -0
  49. package/dist/autoRun/terminalAgentExecutor.d.ts.map +1 -0
  50. package/dist/autoRun/terminalAgentExecutor.js +132 -0
  51. package/dist/autoRun/terminalAgentExecutor.js.map +1 -0
  52. package/dist/desktop/canvasApi.d.ts.map +1 -1
  53. package/dist/desktop/canvasApi.js +45 -15
  54. package/dist/desktop/canvasApi.js.map +1 -1
  55. package/dist/desktop/canvasGraphApi.d.ts.map +1 -1
  56. package/dist/desktop/canvasGraphApi.js +8 -4
  57. package/dist/desktop/canvasGraphApi.js.map +1 -1
  58. package/dist/desktop/fileSyncApi.d.ts.map +1 -1
  59. package/dist/desktop/fileSyncApi.js +5 -0
  60. package/dist/desktop/fileSyncApi.js.map +1 -1
  61. package/dist/desktop/graph/canvasHealthModel.d.ts +4 -0
  62. package/dist/desktop/graph/canvasHealthModel.d.ts.map +1 -0
  63. package/dist/desktop/graph/canvasHealthModel.js +181 -0
  64. package/dist/desktop/graph/canvasHealthModel.js.map +1 -0
  65. package/dist/desktop/graph/desktopDiagnostics.d.ts +15 -0
  66. package/dist/desktop/graph/desktopDiagnostics.d.ts.map +1 -0
  67. package/dist/desktop/graph/desktopDiagnostics.js +77 -0
  68. package/dist/desktop/graph/desktopDiagnostics.js.map +1 -0
  69. package/dist/desktop/graph/editModel.d.ts.map +1 -1
  70. package/dist/desktop/graph/editModel.js +27 -10
  71. package/dist/desktop/graph/editModel.js.map +1 -1
  72. package/dist/desktop/graph/projectCanvasAggregation.d.ts +6 -3
  73. package/dist/desktop/graph/projectCanvasAggregation.d.ts.map +1 -1
  74. package/dist/desktop/graph/projectCanvasAggregation.js +16 -8
  75. package/dist/desktop/graph/projectCanvasAggregation.js.map +1 -1
  76. package/dist/desktop/graph/projectProjectionModel.d.ts +16 -0
  77. package/dist/desktop/graph/projectProjectionModel.d.ts.map +1 -0
  78. package/dist/desktop/graph/projectProjectionModel.js +185 -0
  79. package/dist/desktop/graph/projectProjectionModel.js.map +1 -0
  80. package/dist/desktop/graph/projectSnapshotModel.d.ts +3 -0
  81. package/dist/desktop/graph/projectSnapshotModel.d.ts.map +1 -0
  82. package/dist/desktop/graph/projectSnapshotModel.js +108 -0
  83. package/dist/desktop/graph/projectSnapshotModel.js.map +1 -0
  84. package/dist/desktop/graph/readModel.d.ts +9 -0
  85. package/dist/desktop/graph/readModel.d.ts.map +1 -1
  86. package/dist/desktop/graph/readModel.js +20 -9
  87. package/dist/desktop/graph/readModel.js.map +1 -1
  88. package/dist/desktop/graph/resultsFileIndex.d.ts +28 -0
  89. package/dist/desktop/graph/resultsFileIndex.d.ts.map +1 -0
  90. package/dist/desktop/graph/resultsFileIndex.js +150 -0
  91. package/dist/desktop/graph/resultsFileIndex.js.map +1 -0
  92. package/dist/desktop/graph/searchIndexModel.d.ts +22 -0
  93. package/dist/desktop/graph/searchIndexModel.d.ts.map +1 -0
  94. package/dist/desktop/graph/searchIndexModel.js +142 -0
  95. package/dist/desktop/graph/searchIndexModel.js.map +1 -0
  96. package/dist/desktop/graph/searchModel.d.ts +6 -0
  97. package/dist/desktop/graph/searchModel.d.ts.map +1 -1
  98. package/dist/desktop/graph/searchModel.js +15 -123
  99. package/dist/desktop/graph/searchModel.js.map +1 -1
  100. package/dist/desktop/graph/statisticsIndexModel.d.ts +10 -0
  101. package/dist/desktop/graph/statisticsIndexModel.d.ts.map +1 -0
  102. package/dist/desktop/graph/statisticsIndexModel.js +109 -0
  103. package/dist/desktop/graph/statisticsIndexModel.js.map +1 -0
  104. package/dist/desktop/graph/statisticsModel.d.ts +7 -0
  105. package/dist/desktop/graph/statisticsModel.d.ts.map +1 -1
  106. package/dist/desktop/graph/statisticsModel.js +10 -116
  107. package/dist/desktop/graph/statisticsModel.js.map +1 -1
  108. package/dist/desktop/graph/todoModel.d.ts +21 -0
  109. package/dist/desktop/graph/todoModel.d.ts.map +1 -1
  110. package/dist/desktop/graph/todoModel.js +70 -54
  111. package/dist/desktop/graph/todoModel.js.map +1 -1
  112. package/dist/desktop/graphApi.d.ts +3 -2
  113. package/dist/desktop/graphApi.d.ts.map +1 -1
  114. package/dist/desktop/graphApi.js +3 -2
  115. package/dist/desktop/graphApi.js.map +1 -1
  116. package/dist/desktop/graphEditResult.d.ts +4 -0
  117. package/dist/desktop/graphEditResult.d.ts.map +1 -0
  118. package/dist/desktop/graphEditResult.js +5 -0
  119. package/dist/desktop/graphEditResult.js.map +1 -0
  120. package/dist/desktop/index.d.ts +3 -2
  121. package/dist/desktop/index.d.ts.map +1 -1
  122. package/dist/desktop/index.js +3 -2
  123. package/dist/desktop/index.js.map +1 -1
  124. package/dist/desktop/layoutApi.d.ts +1 -0
  125. package/dist/desktop/layoutApi.d.ts.map +1 -1
  126. package/dist/desktop/layoutApi.js +3 -0
  127. package/dist/desktop/layoutApi.js.map +1 -1
  128. package/dist/desktop/recordsApi.js +1 -1
  129. package/dist/desktop/recordsApi.js.map +1 -1
  130. package/dist/desktop/reviewPipelineApi.d.ts.map +1 -1
  131. package/dist/desktop/reviewPipelineApi.js +15 -44
  132. package/dist/desktop/reviewPipelineApi.js.map +1 -1
  133. package/dist/desktop/runApi.d.ts +2 -1
  134. package/dist/desktop/runApi.d.ts.map +1 -1
  135. package/dist/desktop/runApi.js +95 -11
  136. package/dist/desktop/runApi.js.map +1 -1
  137. package/dist/desktop/runRecovery.d.ts +7 -0
  138. package/dist/desktop/runRecovery.d.ts.map +1 -0
  139. package/dist/desktop/runRecovery.js +184 -0
  140. package/dist/desktop/runRecovery.js.map +1 -0
  141. package/dist/desktop/runStateRepository.d.ts +13 -0
  142. package/dist/desktop/runStateRepository.d.ts.map +1 -0
  143. package/dist/desktop/runStateRepository.js +169 -0
  144. package/dist/desktop/runStateRepository.js.map +1 -0
  145. package/dist/desktop/runStateStore.d.ts +2 -2
  146. package/dist/desktop/runStateStore.d.ts.map +1 -1
  147. package/dist/desktop/runStateStore.js +21 -5
  148. package/dist/desktop/runStateStore.js.map +1 -1
  149. package/dist/desktop/runStepState.d.ts.map +1 -1
  150. package/dist/desktop/runStepState.js +3 -4
  151. package/dist/desktop/runStepState.js.map +1 -1
  152. package/dist/desktop/types/bridgeTypes.d.ts +5 -3
  153. package/dist/desktop/types/bridgeTypes.d.ts.map +1 -1
  154. package/dist/desktop/types/graphTypes.d.ts +65 -0
  155. package/dist/desktop/types/graphTypes.d.ts.map +1 -1
  156. package/dist/desktop/types/runTypes.d.ts +15 -0
  157. package/dist/desktop/types/runTypes.d.ts.map +1 -1
  158. package/dist/graph/affectedTasks.d.ts +3 -0
  159. package/dist/graph/affectedTasks.d.ts.map +1 -0
  160. package/dist/graph/affectedTasks.js +70 -0
  161. package/dist/graph/affectedTasks.js.map +1 -0
  162. package/dist/graph/editGraph.d.ts.map +1 -1
  163. package/dist/graph/editGraph.js +1 -78
  164. package/dist/graph/editGraph.js.map +1 -1
  165. package/dist/graph/fieldEditMutation.d.ts +1 -1
  166. package/dist/graph/fieldEditMutation.d.ts.map +1 -1
  167. package/dist/graph/fieldEditMutation.js +11 -11
  168. package/dist/graph/fieldEditMutation.js.map +1 -1
  169. package/dist/graph/mutation.d.ts +6 -0
  170. package/dist/graph/mutation.d.ts.map +1 -1
  171. package/dist/graph/mutation.js +44 -63
  172. package/dist/graph/mutation.js.map +1 -1
  173. package/dist/index.d.ts +3 -2
  174. package/dist/index.d.ts.map +1 -1
  175. package/dist/index.js +2 -2
  176. package/dist/index.js.map +1 -1
  177. package/dist/projectGraph/runtimeAggregation.d.ts +7 -2
  178. package/dist/projectGraph/runtimeAggregation.d.ts.map +1 -1
  179. package/dist/projectGraph/runtimeAggregation.js +11 -8
  180. package/dist/projectGraph/runtimeAggregation.js.map +1 -1
  181. package/dist/schema/manifest.d.ts +10 -0
  182. package/dist/schema/manifest.d.ts.map +1 -1
  183. package/dist/schema/manifest.js +17 -1
  184. package/dist/schema/manifest.js.map +1 -1
  185. package/dist/taskManager/autoRun.d.ts +6 -1
  186. package/dist/taskManager/autoRun.d.ts.map +1 -1
  187. package/dist/taskManager/autoRun.js +240 -1
  188. package/dist/taskManager/autoRun.js.map +1 -1
  189. package/dist/taskManager/claimHints.d.ts.map +1 -1
  190. package/dist/taskManager/claimHints.js +3 -1
  191. package/dist/taskManager/claimHints.js.map +1 -1
  192. package/dist/taskManager/claimReadiness.d.ts +34 -1
  193. package/dist/taskManager/claimReadiness.d.ts.map +1 -1
  194. package/dist/taskManager/claimReadiness.js +85 -1
  195. package/dist/taskManager/claimReadiness.js.map +1 -1
  196. package/dist/taskManager/claimReadinessRules.d.ts +1 -0
  197. package/dist/taskManager/claimReadinessRules.d.ts.map +1 -1
  198. package/dist/taskManager/claimReadinessRules.js +4 -0
  199. package/dist/taskManager/claimReadinessRules.js.map +1 -1
  200. package/dist/taskManager/claimScheduler.d.ts.map +1 -1
  201. package/dist/taskManager/claimScheduler.js +17 -69
  202. package/dist/taskManager/claimScheduler.js.map +1 -1
  203. package/dist/taskManager/executionStatus.d.ts +9 -3
  204. package/dist/taskManager/executionStatus.d.ts.map +1 -1
  205. package/dist/taskManager/executionStatus.js +5 -3
  206. package/dist/taskManager/executionStatus.js.map +1 -1
  207. package/dist/taskManager/projectGraphClaimGuard.d.ts +3 -0
  208. package/dist/taskManager/projectGraphClaimGuard.d.ts.map +1 -1
  209. package/dist/taskManager/projectGraphClaimGuard.js +9 -4
  210. package/dist/taskManager/projectGraphClaimGuard.js.map +1 -1
  211. package/dist/types.d.ts +90 -5
  212. package/dist/types.d.ts.map +1 -1
  213. package/dist/types.js.map +1 -1
  214. package/package.json +1 -1
@@ -3,7 +3,8 @@ import { access, mkdir, rm } from "node:fs/promises";
3
3
  import { dirname, join } from "node:path";
4
4
  import { readProject, resolveProjectWorkspace } from "../project.js";
5
5
  import { readJsonFile, writeJsonFile } from "../json.js";
6
- import { loadProjectCanvasAggregation } from "./graph/projectCanvasAggregation.js";
6
+ import { buildCanvasHealth } from "./graph/canvasHealthModel.js";
7
+ import { readDesktopProjectProjection } from "./graph/projectProjectionModel.js";
7
8
  async function exists(path) {
8
9
  try {
9
10
  await access(path, constants.R_OK);
@@ -81,7 +82,8 @@ async function projectTitle(projectRoot, fallback) {
81
82
  return (await readProject(projectRoot))?.name ?? fallback;
82
83
  }
83
84
  async function canvasIdsForProject(projectRoot) {
84
- const { loaded, graph } = await loadProjectCanvasAggregation(projectRoot);
85
+ const { todoContext } = await readDesktopProjectProjection(projectRoot);
86
+ const { loaded, graph } = todoContext.aggregation;
85
87
  return {
86
88
  workspace: loaded.workspace,
87
89
  projectId: loaded.workspace.id,
@@ -89,7 +91,8 @@ async function canvasIdsForProject(projectRoot) {
89
91
  };
90
92
  }
91
93
  export async function getCanvasGraphViewModel(projectRoot) {
92
- const { loaded, graph, canvasesById } = await loadProjectCanvasAggregation(projectRoot);
94
+ const { todoContext } = await readDesktopProjectProjection(projectRoot);
95
+ const { loaded, graph, canvasesById } = todoContext.aggregation;
93
96
  const diagnostics = [...graph.diagnostics.errors, ...graph.diagnostics.warnings];
94
97
  const canvases = await Promise.all(graph.canvasIdsInOrder.map(async (canvasId) => {
95
98
  const canvas = canvasesById.get(canvasId);
@@ -109,7 +112,8 @@ export async function getCanvasGraphViewModel(projectRoot) {
109
112
  canvases,
110
113
  edges: graph.manifest.edges.map((edge) => ({ from: edge.from, to: edge.to, type: edge.type })),
111
114
  crossTaskEdges: graph.crossTaskEdges.map((edge) => ({ from: edge.from, to: edge.to, type: edge.type })),
112
- diagnostics
115
+ diagnostics,
116
+ health: buildCanvasHealth(todoContext)
113
117
  };
114
118
  }
115
119
  export async function getCanvasMapLayout(projectRoot) {
@@ -1 +1 @@
1
- {"version":3,"file":"canvasGraphApi.js","sourceRoot":"","sources":["../../src/desktop/canvasGraphApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvasGraphApi.js","sourceRoot":"","sources":["../../src/desktop/canvasGraphApi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fileSyncApi.d.ts","sourceRoot":"","sources":["../../src/desktop/fileSyncApi.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAyF9F,wBAAsB,gCAAgC,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAO/H;AAED,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,mBAAmB,EAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,4BAA4B,CAAC,CAyBvC;AAED,wBAAsB,mCAAmC,CACvD,WAAW,EAAE,mBAAmB,EAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,4BAA4B,CAAC,CAuCvC;AAED,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAuCvH;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE5F"}
1
+ {"version":3,"file":"fileSyncApi.d.ts","sourceRoot":"","sources":["../../src/desktop/fileSyncApi.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AA0F9F,wBAAsB,gCAAgC,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAQ/H;AAED,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,mBAAmB,EAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,4BAA4B,CAAC,CA0BvC;AAED,wBAAsB,mCAAmC,CACvD,WAAW,EAAE,mBAAmB,EAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,4BAA4B,CAAC,CAwCvC;AAED,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAwCvH;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE5F"}
@@ -1,5 +1,6 @@
1
1
  import { createPackageFileSnapshot as createRuntimePackageFileSnapshot, detectPackageFileChanges as detectRuntimePackageFileChanges, refreshChangedPackagePrompts as refreshRuntimeChangedPackagePrompts } from "../package/fileChanges.js";
2
2
  import { resolvePackageWorkspace } from "../package/loadPackage.js";
3
+ import { invalidateDesktopProjectProjection } from "./graph/projectProjectionModel.js";
3
4
  const snapshots = new Map();
4
5
  const snapshotsById = new Map();
5
6
  const dirtyRefsByProject = new Map();
@@ -68,6 +69,7 @@ function syncResult(options) {
68
69
  };
69
70
  }
70
71
  export async function createDesktopPackageFileSnapshot(projectRoot) {
72
+ invalidateDesktopProjectProjection(projectRoot);
71
73
  const projectKey = await snapshotKey(projectRoot);
72
74
  const displayProjectRoot = typeof projectRoot === "string" ? projectRoot : projectRoot.rootPath;
73
75
  const snapshot = await createRuntimePackageFileSnapshot(projectRoot);
@@ -76,6 +78,7 @@ export async function createDesktopPackageFileSnapshot(projectRoot) {
76
78
  return snapshotRef(displayProjectRoot, snapshot);
77
79
  }
78
80
  export async function detectDesktopPackageFileChanges(projectRoot, snapshotId) {
81
+ invalidateDesktopProjectProjection(projectRoot);
79
82
  const projectKey = await snapshotKey(projectRoot);
80
83
  const previous = previousSnapshot(projectKey, snapshotId);
81
84
  if (!previous) {
@@ -102,6 +105,7 @@ export async function detectDesktopPackageFileChanges(projectRoot, snapshotId) {
102
105
  return detected;
103
106
  }
104
107
  export async function refreshChangedDesktopPackagePrompts(projectRoot, snapshotId) {
108
+ invalidateDesktopProjectProjection(projectRoot);
105
109
  const projectKey = await snapshotKey(projectRoot);
106
110
  const previous = previousSnapshot(projectKey, snapshotId);
107
111
  if (!previous) {
@@ -142,6 +146,7 @@ export async function refreshChangedDesktopPackagePrompts(projectRoot, snapshotI
142
146
  return refreshed;
143
147
  }
144
148
  export async function refreshPackageFileChanges(projectRoot) {
149
+ invalidateDesktopProjectProjection(projectRoot);
145
150
  const projectKey = await snapshotKey(projectRoot);
146
151
  const previous = snapshots.get(projectKey);
147
152
  if (!previous) {
@@ -1 +1 @@
1
- {"version":3,"file":"fileSyncApi.js","sourceRoot":"","sources":["../../src/desktop/fileSyncApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileSyncApi.js","sourceRoot":"","sources":["../../src/desktop/fileSyncApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DesktopCanvasHealth } from "../types.js";
2
+ import type { ProjectTodoContext } from "./todoModel.js";
3
+ export declare function buildCanvasHealth(context: ProjectTodoContext): DesktopCanvasHealth;
4
+ //# sourceMappingURL=canvasHealthModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasHealthModel.d.ts","sourceRoot":"","sources":["../../../src/desktop/graph/canvasHealthModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAMpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA0LzD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,CA+BlF"}
@@ -0,0 +1,181 @@
1
+ function diagnosticKey(diagnostic) {
2
+ return [diagnostic.code, diagnostic.path ?? "", diagnostic.message].join("\u001f");
3
+ }
4
+ function uniqueDiagnostics(diagnostics) {
5
+ const seen = new Set();
6
+ return diagnostics.filter((diagnostic) => {
7
+ const key = diagnosticKey(diagnostic);
8
+ if (seen.has(key)) {
9
+ return false;
10
+ }
11
+ seen.add(key);
12
+ return true;
13
+ });
14
+ }
15
+ function diagnosticMentionsCanvas(diagnostic, canvasId) {
16
+ if (diagnostic.path === canvasId) {
17
+ return true;
18
+ }
19
+ return (diagnostic.message.includes(`'${canvasId}'`) ||
20
+ diagnostic.message.includes(`${canvasId}::`) ||
21
+ diagnostic.message.includes(`::${canvasId}`) ||
22
+ diagnostic.message.includes(`canvas '${canvasId}'`));
23
+ }
24
+ function diagnosticLevel(diagnostic, errorKeys) {
25
+ return errorKeys.has(diagnosticKey(diagnostic)) ? "error" : "warning";
26
+ }
27
+ function maxSeverity(current, next) {
28
+ if (current === "error" || next === "error") {
29
+ return "error";
30
+ }
31
+ if (current === "warning" || next === "warning") {
32
+ return "warning";
33
+ }
34
+ return "ok";
35
+ }
36
+ function splitProjectBlockerRef(ref) {
37
+ if (ref.startsWith("canvas:")) {
38
+ const canvasId = ref.slice("canvas:".length);
39
+ return canvasId ? { kind: "canvas", canvasId } : null;
40
+ }
41
+ const separatorIndex = ref.indexOf(":");
42
+ if (separatorIndex <= 0 || separatorIndex === ref.length - 1) {
43
+ return null;
44
+ }
45
+ return {
46
+ kind: "task",
47
+ canvasId: ref.slice(0, separatorIndex),
48
+ taskId: ref.slice(separatorIndex + 1)
49
+ };
50
+ }
51
+ function taskTitle(context, canvasId, taskId) {
52
+ return context.snapshotsByCanvas.get(canvasId)?.runtime?.graph.tasksById.get(taskId)?.title ?? taskId;
53
+ }
54
+ function taskStatus(context, canvasId, taskId) {
55
+ return context.aggregation.runtimeSnapshotsByCanvas.get(canvasId)?.taskStatusById.get(taskId) ?? "planned";
56
+ }
57
+ function canvasTitle(context, canvasId) {
58
+ return context.aggregation.canvasesById.get(canvasId)?.canvasName ?? canvasId;
59
+ }
60
+ function projectBlockerFromRef(context, rawRef) {
61
+ const parsed = splitProjectBlockerRef(rawRef);
62
+ if (!parsed) {
63
+ return null;
64
+ }
65
+ if (parsed.kind === "canvas") {
66
+ return {
67
+ kind: "canvas",
68
+ canvasId: parsed.canvasId,
69
+ canvasTitle: canvasTitle(context, parsed.canvasId)
70
+ };
71
+ }
72
+ return {
73
+ kind: "task",
74
+ canvasId: parsed.canvasId,
75
+ canvasTitle: canvasTitle(context, parsed.canvasId),
76
+ taskId: parsed.taskId,
77
+ taskTitle: taskTitle(context, parsed.canvasId, parsed.taskId),
78
+ status: taskStatus(context, parsed.canvasId, parsed.taskId)
79
+ };
80
+ }
81
+ function blockedBlocks(context) {
82
+ const result = [];
83
+ for (const canvasId of context.aggregation.orderedCanvasIds) {
84
+ const snapshot = context.snapshotsByCanvas.get(canvasId);
85
+ if (!snapshot?.status || !snapshot.runtime) {
86
+ continue;
87
+ }
88
+ const blockStatusByRef = new Map(snapshot.status.blocks.map((block) => [block.ref, block.status]));
89
+ for (const hint of snapshot.status.claimHints) {
90
+ const status = blockStatusByRef.get(hint.ref);
91
+ if (hint.blockedByProject.length === 0 || status !== "ready") {
92
+ continue;
93
+ }
94
+ const block = snapshot.runtime.graph.blocksByRef.get(hint.ref);
95
+ const blockers = hint.blockedByProject.flatMap((rawRef) => {
96
+ const blocker = projectBlockerFromRef(context, rawRef);
97
+ return blocker ? [blocker] : [];
98
+ });
99
+ if (blockers.length === 0) {
100
+ continue;
101
+ }
102
+ result.push({
103
+ blocked: {
104
+ canvasId,
105
+ canvasTitle: canvasTitle(context, canvasId),
106
+ taskId: hint.taskId,
107
+ taskTitle: taskTitle(context, canvasId, hint.taskId),
108
+ blockRef: hint.ref,
109
+ blockId: hint.blockId,
110
+ blockTitle: block?.title ?? hint.ref,
111
+ status
112
+ },
113
+ blockers,
114
+ reason: hint.statusReason ?? `Project graph blockers are not complete: ${hint.blockedByProject.join(", ")}.`
115
+ });
116
+ }
117
+ }
118
+ return result;
119
+ }
120
+ function canvasSummaries(context, diagnostics, errorKeys, blocked) {
121
+ return context.aggregation.graph.canvasIdsInOrder.map((canvasId) => {
122
+ const diagnosticCount = (context.aggregation.canvasesById.get(canvasId)?.canvas.diagnostics.length ?? 0) +
123
+ diagnostics.filter((diagnostic) => diagnosticMentionsCanvas(diagnostic, canvasId)).length;
124
+ const blockerCount = blocked.filter((item) => item.blocked.canvasId === canvasId).length;
125
+ const hasError = diagnostics.some((diagnostic) => diagnosticMentionsCanvas(diagnostic, canvasId) && diagnosticLevel(diagnostic, errorKeys) === "error");
126
+ return {
127
+ canvasId,
128
+ severity: hasError ? "error" : diagnosticCount > 0 || blockerCount > 0 ? "warning" : "ok",
129
+ blockerCount,
130
+ diagnosticCount
131
+ };
132
+ });
133
+ }
134
+ function edgeKey(from, to, type) {
135
+ return `${from}\u001f${to}\u001f${type}`;
136
+ }
137
+ function edgeSummaries(context, diagnostics, errorKeys, blocked) {
138
+ return context.aggregation.graph.manifest.edges.map((edge) => {
139
+ const edgeDiagnostics = diagnostics.filter((diagnostic) => diagnostic.path === "edges" && diagnostic.message.includes(edge.from) && diagnostic.message.includes(edge.to));
140
+ const blockerCount = blocked.filter((item) => item.blocked.canvasId === edge.from && item.blockers.some((blocker) => blocker.canvasId === edge.to)).length;
141
+ const hasError = edgeDiagnostics.some((diagnostic) => diagnosticLevel(diagnostic, errorKeys) === "error");
142
+ return {
143
+ from: edge.from,
144
+ to: edge.to,
145
+ type: edge.type,
146
+ severity: hasError ? "error" : edgeDiagnostics.length > 0 || blockerCount > 0 ? "warning" : "ok",
147
+ blockerCount,
148
+ diagnosticCount: edgeDiagnostics.length
149
+ };
150
+ });
151
+ }
152
+ export function buildCanvasHealth(context) {
153
+ const errorDiagnostics = context.aggregation.graph.diagnostics.errors;
154
+ const warningDiagnostics = context.aggregation.graph.diagnostics.warnings;
155
+ const diagnostics = uniqueDiagnostics([
156
+ ...errorDiagnostics,
157
+ ...warningDiagnostics,
158
+ ...context.diagnostics
159
+ ]);
160
+ const errorKeys = new Set([...errorDiagnostics, ...context.diagnostics].map(diagnosticKey));
161
+ const blocked = blockedBlocks(context);
162
+ const canvases = canvasSummaries(context, diagnostics, errorKeys, blocked);
163
+ const edgeSummaryByKey = new Map(edgeSummaries(context, diagnostics, errorKeys, blocked).map((edge) => [edgeKey(edge.from, edge.to, edge.type), edge]));
164
+ const edges = context.aggregation.graph.manifest.edges.map((edge) => {
165
+ const summary = edgeSummaryByKey.get(edgeKey(edge.from, edge.to, edge.type));
166
+ if (!summary) {
167
+ throw new Error(`Canvas health edge summary missing for '${edge.from}' -> '${edge.to}'.`);
168
+ }
169
+ return summary;
170
+ });
171
+ const diagnosticSeverity = diagnostics.reduce((severity, diagnostic) => maxSeverity(severity, diagnosticLevel(diagnostic, errorKeys) === "error" ? "error" : "warning"), "ok");
172
+ const blockerSeverity = blocked.length > 0 ? "warning" : "ok";
173
+ return {
174
+ severity: maxSeverity(diagnosticSeverity, blockerSeverity),
175
+ canvases,
176
+ edges,
177
+ blockedBlocks: blocked,
178
+ diagnostics
179
+ };
180
+ }
181
+ //# sourceMappingURL=canvasHealthModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasHealthModel.js","sourceRoot":"","sources":["../../../src/desktop/graph/canvasHealthModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ValidationIssue } from "../../types.js";
2
+ export declare function errorMessage(caught: unknown): string;
3
+ export declare function desktopDiagnostic(code: string, message: string, path?: string): ValidationIssue;
4
+ export declare function appendDesktopDiagnostic(diagnostics: ValidationIssue[], diagnostic: ValidationIssue): void;
5
+ export declare function appendDesktopDiagnostics(diagnostics: ValidationIssue[], nextDiagnostics: ValidationIssue[]): void;
6
+ export declare function formatDesktopDiagnostic(diagnostic: ValidationIssue): string;
7
+ export declare function listResultFilesWithDiagnostics(resultsDir: string): Promise<{
8
+ files: string[];
9
+ diagnostics: ValidationIssue[];
10
+ }>;
11
+ export declare function readJsonObjectWithDiagnostics(path: string, resultsDir: string): Promise<{
12
+ value: Record<string, unknown> | null;
13
+ diagnostics: ValidationIssue[];
14
+ }>;
15
+ //# sourceMappingURL=desktopDiagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktopDiagnostics.d.ts","sourceRoot":"","sources":["../../../src/desktop/graph/desktopDiagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAE/F;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAKzG;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,IAAI,CAIjH;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAE3E;AAmCD,wBAAsB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CAKrI;AAED,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CAuBpF"}
@@ -0,0 +1,77 @@
1
+ import { readdir, readFile } from "node:fs/promises";
2
+ import { join, relative } from "node:path";
3
+ export function errorMessage(caught) {
4
+ return caught instanceof Error ? caught.message : String(caught);
5
+ }
6
+ export function desktopDiagnostic(code, message, path) {
7
+ return { code, message, path };
8
+ }
9
+ export function appendDesktopDiagnostic(diagnostics, diagnostic) {
10
+ if (diagnostics.some((item) => item.code === diagnostic.code && item.path === diagnostic.path && item.message === diagnostic.message)) {
11
+ return;
12
+ }
13
+ diagnostics.push(diagnostic);
14
+ }
15
+ export function appendDesktopDiagnostics(diagnostics, nextDiagnostics) {
16
+ for (const diagnostic of nextDiagnostics) {
17
+ appendDesktopDiagnostic(diagnostics, diagnostic);
18
+ }
19
+ }
20
+ export function formatDesktopDiagnostic(diagnostic) {
21
+ return diagnostic.path ? `${diagnostic.path}: ${diagnostic.message}` : `${diagnostic.code}: ${diagnostic.message}`;
22
+ }
23
+ function toPosixPath(path) {
24
+ return path.split("\\").join("/");
25
+ }
26
+ function resultPath(resultsDir, path) {
27
+ const resultRelativePath = toPosixPath(relative(resultsDir, path));
28
+ return resultRelativePath ? `results/${resultRelativePath}` : "results";
29
+ }
30
+ async function collectResultFiles(resultsDir, root, diagnostics, files) {
31
+ try {
32
+ const entries = await readdir(root, { withFileTypes: true });
33
+ for (const entry of entries) {
34
+ const path = join(root, entry.name);
35
+ if (entry.isDirectory()) {
36
+ await collectResultFiles(resultsDir, path, diagnostics, files);
37
+ }
38
+ else if (entry.isFile() && /\.(md|json|log|txt)$/.test(entry.name)) {
39
+ files.push(path);
40
+ }
41
+ }
42
+ }
43
+ catch (caught) {
44
+ appendDesktopDiagnostic(diagnostics, desktopDiagnostic("desktop_results_read_failed", `Result files could not be listed: ${errorMessage(caught)}`, resultPath(resultsDir, root)));
45
+ return;
46
+ }
47
+ }
48
+ export async function listResultFilesWithDiagnostics(resultsDir) {
49
+ const diagnostics = [];
50
+ const files = [];
51
+ await collectResultFiles(resultsDir, resultsDir, diagnostics, files);
52
+ return { files, diagnostics };
53
+ }
54
+ export async function readJsonObjectWithDiagnostics(path, resultsDir) {
55
+ let parsed;
56
+ try {
57
+ parsed = JSON.parse(await readFile(path, "utf8"));
58
+ }
59
+ catch (caught) {
60
+ return {
61
+ value: null,
62
+ diagnostics: [
63
+ desktopDiagnostic("desktop_result_metadata_read_failed", `Result metadata could not be read or parsed: ${errorMessage(caught)}`, resultPath(resultsDir, path))
64
+ ]
65
+ };
66
+ }
67
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
68
+ return { value: parsed, diagnostics: [] };
69
+ }
70
+ return {
71
+ value: null,
72
+ diagnostics: [
73
+ desktopDiagnostic("desktop_result_metadata_invalid", "Result metadata must be a JSON object.", resultPath(resultsDir, path))
74
+ ]
75
+ };
76
+ }
77
+ //# sourceMappingURL=desktopDiagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktopDiagnostics.js","sourceRoot":"","sources":["../../../src/desktop/graph/desktopDiagnostics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"editModel.d.ts","sourceRoot":"","sources":["../../../src/desktop/graph/editModel.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAa,eAAe,EAAmC,mBAAmB,EAAuB,MAAM,gBAAgB,CAAC;AAC5I,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAwG9G,wBAAsB,WAAW,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqCxH;AAED,wBAAsB,QAAQ,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuBtH;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAO/G;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAMzG;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,+BAA+B,GAAG,OAAO,CAAC,eAAe,CAAC,CAsB1I;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAE/H;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAEnI;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAE7H;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAEjI;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAEhJ;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAE9I;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAElI;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAErI"}
1
+ {"version":3,"file":"editModel.d.ts","sourceRoot":"","sources":["../../../src/desktop/graph/editModel.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAa,eAAe,EAAmC,mBAAmB,EAAuB,MAAM,gBAAgB,CAAC;AAC5I,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AA6G9G,wBAAsB,WAAW,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuCxH;AAED,wBAAsB,QAAQ,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyBtH;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAS/G;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAQzG;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,+BAA+B,GAAG,OAAO,CAAC,eAAe,CAAC,CAsB1I;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAE/H;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAEnI;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAE7H;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAEjI;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAEhJ;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAE9I;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAIxI;AAED,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAI3I"}
@@ -4,6 +4,7 @@ import { buildPlanPackageBlockFieldEditMutation, buildPlanPackageTaskFieldEditMu
4
4
  import { buildPlanPackageGraphMutation } from "../../graph/mutation.js";
5
5
  import { loadPackage } from "../../package/loadPackage.js";
6
6
  import { getTask } from "./graphHelpers.js";
7
+ import { invalidateDesktopProjectProjection } from "./projectProjectionModel.js";
7
8
  function normalizeOptionalText(value) {
8
9
  return value?.trim() || undefined;
9
10
  }
@@ -75,17 +76,21 @@ function graphEditResult(manifest, affectedTasks = []) {
75
76
  }
76
77
  async function commitTaskEdit(projectRoot, input) {
77
78
  const { manifest } = await loadPackage(projectRoot);
78
- return commitPlanPackageGraphMutation({
79
+ const result = await commitPlanPackageGraphMutation({
79
80
  projectRoot,
80
81
  mutation: buildPlanPackageTaskFieldEditMutation(manifest, input)
81
82
  });
83
+ invalidateDesktopProjectProjection(projectRoot);
84
+ return result;
82
85
  }
83
86
  async function commitBlockEdit(projectRoot, input) {
84
87
  const { manifest } = await loadPackage(projectRoot);
85
- return commitPlanPackageGraphMutation({
88
+ const result = await commitPlanPackageGraphMutation({
86
89
  projectRoot,
87
90
  mutation: buildPlanPackageBlockFieldEditMutation(manifest, input)
88
91
  });
92
+ invalidateDesktopProjectProjection(projectRoot);
93
+ return result;
89
94
  }
90
95
  export async function addTaskNode(projectRoot, input) {
91
96
  const { manifest } = await loadPackage(projectRoot);
@@ -113,7 +118,7 @@ export async function addTaskNode(projectRoot, input) {
113
118
  acceptance: input.acceptance?.length ? input.acceptance : ["Task is implemented."],
114
119
  blocks
115
120
  };
116
- return commitPlanPackageGraphMutation({
121
+ const result = await commitPlanPackageGraphMutation({
117
122
  projectRoot,
118
123
  mutation: buildPlanPackageGraphMutation(manifest, {
119
124
  kind: "addTaskNode",
@@ -122,6 +127,8 @@ export async function addTaskNode(projectRoot, input) {
122
127
  blockPromptMarkdown: blocks.map((block) => ({ blockId: block.id, markdown: promptFileMarkdown(`# ${block.title}\n\n${input.promptMarkdown}`) }))
123
128
  })
124
129
  });
130
+ invalidateDesktopProjectProjection(projectRoot);
131
+ return result;
125
132
  }
126
133
  export async function addBlock(projectRoot, input) {
127
134
  const { manifest } = await loadPackage(projectRoot);
@@ -137,7 +144,7 @@ export async function addBlock(projectRoot, input) {
137
144
  executor: normalizeOptionalText(input.executor ?? null),
138
145
  maxFeedbackCycles: manifest.review.maxFeedbackCycles
139
146
  });
140
- return commitPlanPackageGraphMutation({
147
+ const result = await commitPlanPackageGraphMutation({
141
148
  projectRoot,
142
149
  mutation: buildPlanPackageGraphMutation(manifest, {
143
150
  kind: "addBlock",
@@ -146,21 +153,27 @@ export async function addBlock(projectRoot, input) {
146
153
  promptMarkdown: promptFileMarkdown(input.promptMarkdown)
147
154
  })
148
155
  });
156
+ invalidateDesktopProjectProjection(projectRoot);
157
+ return result;
149
158
  }
150
159
  export async function removeTaskNode(projectRoot, taskId) {
151
160
  const { manifest } = await loadPackage(projectRoot);
152
161
  getTask(compileTaskGraph(manifest), taskId);
153
- return commitPlanPackageGraphMutation({
162
+ const result = await commitPlanPackageGraphMutation({
154
163
  projectRoot,
155
164
  mutation: buildPlanPackageGraphMutation(manifest, { kind: "removeNode", nodeId: taskId, removeTaskDirectory: true })
156
165
  });
166
+ invalidateDesktopProjectProjection(projectRoot);
167
+ return result;
157
168
  }
158
169
  export async function removeBlock(projectRoot, ref) {
159
170
  const { manifest } = await loadPackage(projectRoot);
160
- return commitPlanPackageGraphMutation({
171
+ const result = await commitPlanPackageGraphMutation({
161
172
  projectRoot,
162
173
  mutation: buildPlanPackageGraphMutation(manifest, { kind: "removeBlock", blockRef: ref })
163
174
  });
175
+ invalidateDesktopProjectProjection(projectRoot);
176
+ return result;
164
177
  }
165
178
  export async function validateGraphEdit(projectRoot, input) {
166
179
  const { manifest } = await loadPackage(projectRoot);
@@ -203,10 +216,14 @@ export async function updateTaskExecutor(projectRoot, taskId, executorName) {
203
216
  export async function updateBlockExecutor(projectRoot, ref, executorName) {
204
217
  return commitBlockEdit(projectRoot, { blockRef: ref, executor: executorName });
205
218
  }
206
- export function addDependencyEdge(projectRoot, fromTaskId, toTaskId) {
207
- return addEdge({ projectRoot, edge: { from: fromTaskId, to: toTaskId, type: "depends_on" } });
219
+ export async function addDependencyEdge(projectRoot, fromTaskId, toTaskId) {
220
+ const result = await addEdge({ projectRoot, edge: { from: fromTaskId, to: toTaskId, type: "depends_on" } });
221
+ invalidateDesktopProjectProjection(projectRoot);
222
+ return result;
208
223
  }
209
- export function removeDependencyEdge(projectRoot, fromTaskId, toTaskId) {
210
- return removeEdge({ projectRoot, edge: { from: fromTaskId, to: toTaskId, type: "depends_on" } });
224
+ export async function removeDependencyEdge(projectRoot, fromTaskId, toTaskId) {
225
+ const result = await removeEdge({ projectRoot, edge: { from: fromTaskId, to: toTaskId, type: "depends_on" } });
226
+ invalidateDesktopProjectProjection(projectRoot);
227
+ return result;
211
228
  }
212
229
  //# sourceMappingURL=editModel.js.map