@planweave-ai/runtime 0.1.1 → 0.1.4

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 (331) 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 +37 -10
  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 +10 -1
  70. package/dist/desktop/graph/editModel.d.ts.map +1 -1
  71. package/dist/desktop/graph/editModel.js +36 -10
  72. package/dist/desktop/graph/editModel.js.map +1 -1
  73. package/dist/desktop/graph/projectCanvasAggregation.d.ts +6 -3
  74. package/dist/desktop/graph/projectCanvasAggregation.d.ts.map +1 -1
  75. package/dist/desktop/graph/projectCanvasAggregation.js +16 -8
  76. package/dist/desktop/graph/projectCanvasAggregation.js.map +1 -1
  77. package/dist/desktop/graph/projectProjectionModel.d.ts +16 -0
  78. package/dist/desktop/graph/projectProjectionModel.d.ts.map +1 -0
  79. package/dist/desktop/graph/projectProjectionModel.js +185 -0
  80. package/dist/desktop/graph/projectProjectionModel.js.map +1 -0
  81. package/dist/desktop/graph/projectSnapshotModel.d.ts +3 -0
  82. package/dist/desktop/graph/projectSnapshotModel.d.ts.map +1 -0
  83. package/dist/desktop/graph/projectSnapshotModel.js +108 -0
  84. package/dist/desktop/graph/projectSnapshotModel.js.map +1 -0
  85. package/dist/desktop/graph/readModel.d.ts +9 -0
  86. package/dist/desktop/graph/readModel.d.ts.map +1 -1
  87. package/dist/desktop/graph/readModel.js +20 -9
  88. package/dist/desktop/graph/readModel.js.map +1 -1
  89. package/dist/desktop/graph/resultsFileIndex.d.ts +28 -0
  90. package/dist/desktop/graph/resultsFileIndex.d.ts.map +1 -0
  91. package/dist/desktop/graph/resultsFileIndex.js +174 -0
  92. package/dist/desktop/graph/resultsFileIndex.js.map +1 -0
  93. package/dist/desktop/graph/searchIndexModel.d.ts +22 -0
  94. package/dist/desktop/graph/searchIndexModel.d.ts.map +1 -0
  95. package/dist/desktop/graph/searchIndexModel.js +186 -0
  96. package/dist/desktop/graph/searchIndexModel.js.map +1 -0
  97. package/dist/desktop/graph/searchModel.d.ts +6 -0
  98. package/dist/desktop/graph/searchModel.d.ts.map +1 -1
  99. package/dist/desktop/graph/searchModel.js +15 -123
  100. package/dist/desktop/graph/searchModel.js.map +1 -1
  101. package/dist/desktop/graph/statisticsIndexModel.d.ts +10 -0
  102. package/dist/desktop/graph/statisticsIndexModel.d.ts.map +1 -0
  103. package/dist/desktop/graph/statisticsIndexModel.js +109 -0
  104. package/dist/desktop/graph/statisticsIndexModel.js.map +1 -0
  105. package/dist/desktop/graph/statisticsModel.d.ts +7 -0
  106. package/dist/desktop/graph/statisticsModel.d.ts.map +1 -1
  107. package/dist/desktop/graph/statisticsModel.js +10 -116
  108. package/dist/desktop/graph/statisticsModel.js.map +1 -1
  109. package/dist/desktop/graph/todoModel.d.ts +21 -0
  110. package/dist/desktop/graph/todoModel.d.ts.map +1 -1
  111. package/dist/desktop/graph/todoModel.js +70 -54
  112. package/dist/desktop/graph/todoModel.js.map +1 -1
  113. package/dist/desktop/graphApi.d.ts +4 -3
  114. package/dist/desktop/graphApi.d.ts.map +1 -1
  115. package/dist/desktop/graphApi.js +4 -3
  116. package/dist/desktop/graphApi.js.map +1 -1
  117. package/dist/desktop/graphEditResult.d.ts +4 -0
  118. package/dist/desktop/graphEditResult.d.ts.map +1 -0
  119. package/dist/desktop/graphEditResult.js +5 -0
  120. package/dist/desktop/graphEditResult.js.map +1 -0
  121. package/dist/desktop/index.d.ts +5 -2
  122. package/dist/desktop/index.d.ts.map +1 -1
  123. package/dist/desktop/index.js +4 -2
  124. package/dist/desktop/index.js.map +1 -1
  125. package/dist/desktop/layoutApi.d.ts +4 -5
  126. package/dist/desktop/layoutApi.d.ts.map +1 -1
  127. package/dist/desktop/layoutApi.js +5 -63
  128. package/dist/desktop/layoutApi.js.map +1 -1
  129. package/dist/desktop/projectGraphEditApi.d.ts +12 -0
  130. package/dist/desktop/projectGraphEditApi.d.ts.map +1 -0
  131. package/dist/desktop/projectGraphEditApi.js +65 -0
  132. package/dist/desktop/projectGraphEditApi.js.map +1 -0
  133. package/dist/desktop/recordsApi.js +1 -1
  134. package/dist/desktop/recordsApi.js.map +1 -1
  135. package/dist/desktop/reviewPipelineApi.d.ts.map +1 -1
  136. package/dist/desktop/reviewPipelineApi.js +15 -44
  137. package/dist/desktop/reviewPipelineApi.js.map +1 -1
  138. package/dist/desktop/runApi.d.ts +2 -1
  139. package/dist/desktop/runApi.d.ts.map +1 -1
  140. package/dist/desktop/runApi.js +95 -11
  141. package/dist/desktop/runApi.js.map +1 -1
  142. package/dist/desktop/runRecovery.d.ts +7 -0
  143. package/dist/desktop/runRecovery.d.ts.map +1 -0
  144. package/dist/desktop/runRecovery.js +184 -0
  145. package/dist/desktop/runRecovery.js.map +1 -0
  146. package/dist/desktop/runStateRepository.d.ts +13 -0
  147. package/dist/desktop/runStateRepository.d.ts.map +1 -0
  148. package/dist/desktop/runStateRepository.js +169 -0
  149. package/dist/desktop/runStateRepository.js.map +1 -0
  150. package/dist/desktop/runStateStore.d.ts +2 -2
  151. package/dist/desktop/runStateStore.d.ts.map +1 -1
  152. package/dist/desktop/runStateStore.js +21 -5
  153. package/dist/desktop/runStateStore.js.map +1 -1
  154. package/dist/desktop/runStepState.d.ts.map +1 -1
  155. package/dist/desktop/runStepState.js +3 -4
  156. package/dist/desktop/runStepState.js.map +1 -1
  157. package/dist/desktop/types/bridgeTypes.d.ts +5 -3
  158. package/dist/desktop/types/bridgeTypes.d.ts.map +1 -1
  159. package/dist/desktop/types/graphTypes.d.ts +66 -0
  160. package/dist/desktop/types/graphTypes.d.ts.map +1 -1
  161. package/dist/desktop/types/runTypes.d.ts +15 -0
  162. package/dist/desktop/types/runTypes.d.ts.map +1 -1
  163. package/dist/errors.d.ts +13 -0
  164. package/dist/errors.d.ts.map +1 -0
  165. package/dist/errors.js +24 -0
  166. package/dist/errors.js.map +1 -0
  167. package/dist/graph/affectedTasks.d.ts +3 -0
  168. package/dist/graph/affectedTasks.d.ts.map +1 -0
  169. package/dist/graph/affectedTasks.js +70 -0
  170. package/dist/graph/affectedTasks.js.map +1 -0
  171. package/dist/graph/editGraph.d.ts.map +1 -1
  172. package/dist/graph/editGraph.js +1 -78
  173. package/dist/graph/editGraph.js.map +1 -1
  174. package/dist/graph/fieldEditMutation.d.ts +3 -1
  175. package/dist/graph/fieldEditMutation.d.ts.map +1 -1
  176. package/dist/graph/fieldEditMutation.js +29 -11
  177. package/dist/graph/fieldEditMutation.js.map +1 -1
  178. package/dist/graph/mutation.d.ts +6 -0
  179. package/dist/graph/mutation.d.ts.map +1 -1
  180. package/dist/graph/mutation.js +44 -63
  181. package/dist/graph/mutation.js.map +1 -1
  182. package/dist/index.d.ts +11 -7
  183. package/dist/index.d.ts.map +1 -1
  184. package/dist/index.js +9 -7
  185. package/dist/index.js.map +1 -1
  186. package/dist/package/loadPackage.d.ts.map +1 -1
  187. package/dist/package/loadPackage.js +4 -0
  188. package/dist/package/loadPackage.js.map +1 -1
  189. package/dist/package/manifestEdit.d.ts.map +1 -1
  190. package/dist/package/manifestEdit.js +3 -1
  191. package/dist/package/manifestEdit.js.map +1 -1
  192. package/dist/paths.d.ts.map +1 -1
  193. package/dist/paths.js +2 -10
  194. package/dist/paths.js.map +1 -1
  195. package/dist/project.d.ts +1 -0
  196. package/dist/project.d.ts.map +1 -1
  197. package/dist/project.js +11 -0
  198. package/dist/project.js.map +1 -1
  199. package/dist/projectGraph/compileProjectGraph.d.ts.map +1 -1
  200. package/dist/projectGraph/compileProjectGraph.js +110 -50
  201. package/dist/projectGraph/compileProjectGraph.js.map +1 -1
  202. package/dist/projectGraph/index.d.ts +1 -1
  203. package/dist/projectGraph/index.d.ts.map +1 -1
  204. package/dist/projectGraph/index.js +1 -1
  205. package/dist/projectGraph/index.js.map +1 -1
  206. package/dist/projectGraph/runtimeAggregation.d.ts +7 -2
  207. package/dist/projectGraph/runtimeAggregation.d.ts.map +1 -1
  208. package/dist/projectGraph/runtimeAggregation.js +11 -8
  209. package/dist/projectGraph/runtimeAggregation.js.map +1 -1
  210. package/dist/projectGraph/schema.d.ts +1 -0
  211. package/dist/projectGraph/schema.d.ts.map +1 -1
  212. package/dist/projectGraph/schema.js +4 -4
  213. package/dist/projectGraph/schema.js.map +1 -1
  214. package/dist/projectGraph/types.d.ts +5 -0
  215. package/dist/projectGraph/types.d.ts.map +1 -1
  216. package/dist/schema/manifest.d.ts +14 -3
  217. package/dist/schema/manifest.d.ts.map +1 -1
  218. package/dist/schema/manifest.js +29 -11
  219. package/dist/schema/manifest.js.map +1 -1
  220. package/dist/schemaDocs/index.d.ts +7 -0
  221. package/dist/schemaDocs/index.d.ts.map +1 -0
  222. package/dist/schemaDocs/index.js +10 -0
  223. package/dist/schemaDocs/index.js.map +1 -0
  224. package/dist/schemaDocs/manifest.d.ts +3 -0
  225. package/dist/schemaDocs/manifest.d.ts.map +1 -0
  226. package/dist/schemaDocs/manifest.js +111 -0
  227. package/dist/schemaDocs/manifest.js.map +1 -0
  228. package/dist/schemaDocs/project.d.ts +3 -0
  229. package/dist/schemaDocs/project.d.ts.map +1 -0
  230. package/dist/schemaDocs/project.js +39 -0
  231. package/dist/schemaDocs/project.js.map +1 -0
  232. package/dist/schemaDocs/types.d.ts +11 -0
  233. package/dist/schemaDocs/types.d.ts.map +1 -0
  234. package/dist/schemaDocs/types.js +2 -0
  235. package/dist/schemaDocs/types.js.map +1 -0
  236. package/dist/taskManager/autoRun.d.ts +6 -1
  237. package/dist/taskManager/autoRun.d.ts.map +1 -1
  238. package/dist/taskManager/autoRun.js +240 -1
  239. package/dist/taskManager/autoRun.js.map +1 -1
  240. package/dist/taskManager/claimHints.d.ts.map +1 -1
  241. package/dist/taskManager/claimHints.js +3 -1
  242. package/dist/taskManager/claimHints.js.map +1 -1
  243. package/dist/taskManager/claimReadiness.d.ts +34 -1
  244. package/dist/taskManager/claimReadiness.d.ts.map +1 -1
  245. package/dist/taskManager/claimReadiness.js +85 -1
  246. package/dist/taskManager/claimReadiness.js.map +1 -1
  247. package/dist/taskManager/claimReadinessRules.d.ts +1 -0
  248. package/dist/taskManager/claimReadinessRules.d.ts.map +1 -1
  249. package/dist/taskManager/claimReadinessRules.js +4 -0
  250. package/dist/taskManager/claimReadinessRules.js.map +1 -1
  251. package/dist/taskManager/claimScheduler.d.ts.map +1 -1
  252. package/dist/taskManager/claimScheduler.js +17 -69
  253. package/dist/taskManager/claimScheduler.js.map +1 -1
  254. package/dist/taskManager/doctor.d.ts.map +1 -1
  255. package/dist/taskManager/doctor.js.map +1 -1
  256. package/dist/taskManager/executionStatus.d.ts +9 -3
  257. package/dist/taskManager/executionStatus.d.ts.map +1 -1
  258. package/dist/taskManager/executionStatus.js +5 -3
  259. package/dist/taskManager/executionStatus.js.map +1 -1
  260. package/dist/taskManager/index.d.ts +1 -0
  261. package/dist/taskManager/index.d.ts.map +1 -1
  262. package/dist/taskManager/index.js +1 -0
  263. package/dist/taskManager/index.js.map +1 -1
  264. package/dist/taskManager/projectDoctor.d.ts +6 -0
  265. package/dist/taskManager/projectDoctor.d.ts.map +1 -0
  266. package/dist/taskManager/projectDoctor.js +108 -0
  267. package/dist/taskManager/projectDoctor.js.map +1 -0
  268. package/dist/taskManager/projectDoctorCanvas.d.ts +14 -0
  269. package/dist/taskManager/projectDoctorCanvas.d.ts.map +1 -0
  270. package/dist/taskManager/projectDoctorCanvas.js +181 -0
  271. package/dist/taskManager/projectDoctorCanvas.js.map +1 -0
  272. package/dist/taskManager/projectGraphClaimGuard.d.ts +3 -0
  273. package/dist/taskManager/projectGraphClaimGuard.d.ts.map +1 -1
  274. package/dist/taskManager/projectGraphClaimGuard.js +9 -4
  275. package/dist/taskManager/projectGraphClaimGuard.js.map +1 -1
  276. package/dist/taskManager/reviewHook.d.ts +17 -0
  277. package/dist/taskManager/reviewHook.d.ts.map +1 -1
  278. package/dist/taskManager/reviewHook.js +113 -25
  279. package/dist/taskManager/reviewHook.js.map +1 -1
  280. package/dist/types/autoRun.d.ts +125 -0
  281. package/dist/types/autoRun.d.ts.map +1 -0
  282. package/dist/types/autoRun.js +2 -0
  283. package/dist/types/autoRun.js.map +1 -0
  284. package/dist/types/executor.d.ts +118 -0
  285. package/dist/types/executor.d.ts.map +1 -0
  286. package/dist/types/executor.js +17 -0
  287. package/dist/types/executor.js.map +1 -0
  288. package/dist/types/graph.d.ts +100 -0
  289. package/dist/types/graph.d.ts.map +1 -0
  290. package/dist/types/graph.js +2 -0
  291. package/dist/types/graph.js.map +1 -0
  292. package/dist/types/manifest.d.ts +86 -0
  293. package/dist/types/manifest.d.ts.map +1 -0
  294. package/dist/types/manifest.js +6 -0
  295. package/dist/types/manifest.js.map +1 -0
  296. package/dist/types/packageFiles.d.ts +26 -0
  297. package/dist/types/packageFiles.d.ts.map +1 -0
  298. package/dist/types/packageFiles.js +2 -0
  299. package/dist/types/packageFiles.js.map +1 -0
  300. package/dist/types/results.d.ts +24 -0
  301. package/dist/types/results.d.ts.map +1 -0
  302. package/dist/types/results.js +4 -0
  303. package/dist/types/results.js.map +1 -0
  304. package/dist/types/state.d.ts +38 -0
  305. package/dist/types/state.d.ts.map +1 -0
  306. package/dist/types/state.js +5 -0
  307. package/dist/types/state.js.map +1 -0
  308. package/dist/types/taskManager.d.ts +259 -0
  309. package/dist/types/taskManager.d.ts.map +1 -0
  310. package/dist/types/taskManager.js +2 -0
  311. package/dist/types/taskManager.js.map +1 -0
  312. package/dist/types/validation.d.ts +11 -0
  313. package/dist/types/validation.d.ts.map +1 -0
  314. package/dist/types/validation.js +2 -0
  315. package/dist/types/validation.js.map +1 -0
  316. package/dist/types/workspace.d.ts +55 -0
  317. package/dist/types/workspace.d.ts.map +1 -0
  318. package/dist/types/workspace.js +2 -0
  319. package/dist/types/workspace.js.map +1 -0
  320. package/dist/types.d.ts +10 -690
  321. package/dist/types.d.ts.map +1 -1
  322. package/dist/types.js +10 -10
  323. package/dist/types.js.map +1 -1
  324. package/dist/validatePackage.d.ts.map +1 -1
  325. package/dist/validatePackage.js +1 -1
  326. package/dist/validatePackage.js.map +1 -1
  327. package/dist/validation/desktopLayoutValidation.d.ts +6 -0
  328. package/dist/validation/desktopLayoutValidation.d.ts.map +1 -0
  329. package/dist/validation/desktopLayoutValidation.js +154 -0
  330. package/dist/validation/desktopLayoutValidation.js.map +1 -0
  331. 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;AAsH9F,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,CA0BvC;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,7 +1,10 @@
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";
4
+ const MAX_SNAPSHOT_IDS_PER_PROJECT = 5;
3
5
  const snapshots = new Map();
4
6
  const snapshotsById = new Map();
7
+ const snapshotIdsByProject = new Map();
5
8
  const dirtyRefsByProject = new Map();
6
9
  let nextSnapshotNumber = 1;
7
10
  function nextSnapshotId() {
@@ -37,9 +40,29 @@ function dirtyPromptRefs(previous, next) {
37
40
  async function snapshotKey(projectRoot) {
38
41
  return (await resolvePackageWorkspace(projectRoot)).workspaceRoot;
39
42
  }
40
- function snapshotRef(projectRoot, snapshot) {
43
+ function displayProjectRoot(projectRoot) {
44
+ return typeof projectRoot === "string" ? projectRoot : projectRoot.rootPath;
45
+ }
46
+ function trimSnapshotIds(projectKey) {
47
+ const snapshotIds = snapshotIdsByProject.get(projectKey);
48
+ if (!snapshotIds) {
49
+ return;
50
+ }
51
+ while (snapshotIds.length > MAX_SNAPSHOT_IDS_PER_PROJECT) {
52
+ const expiredId = snapshotIds.shift();
53
+ if (!expiredId) {
54
+ break;
55
+ }
56
+ snapshotsById.delete(expiredId);
57
+ }
58
+ }
59
+ function snapshotRef(projectKey, projectRoot, snapshot) {
41
60
  const snapshotId = nextSnapshotId();
42
- snapshotsById.set(snapshotId, snapshot);
61
+ snapshotsById.set(snapshotId, { projectKey, snapshot });
62
+ const snapshotIds = snapshotIdsByProject.get(projectKey) ?? [];
63
+ snapshotIds.push(snapshotId);
64
+ snapshotIdsByProject.set(projectKey, snapshotIds);
65
+ trimSnapshotIds(projectKey);
43
66
  return {
44
67
  snapshotId,
45
68
  projectRoot,
@@ -51,11 +74,14 @@ function previousSnapshot(projectKey, snapshotId) {
51
74
  if (!snapshotId) {
52
75
  return snapshots.get(projectKey) ?? null;
53
76
  }
54
- const snapshot = snapshotsById.get(snapshotId);
55
- if (!snapshot) {
56
- throw new Error(`Package file snapshot '${snapshotId}' does not exist.`);
77
+ const stored = snapshotsById.get(snapshotId);
78
+ if (!stored) {
79
+ throw new Error(`Package file snapshot '${snapshotId}' has expired or does not exist.`);
80
+ }
81
+ if (stored.projectKey !== projectKey) {
82
+ throw new Error(`Package file snapshot '${snapshotId}' belongs to a different project.`);
57
83
  }
58
- return snapshot;
84
+ return stored.snapshot;
59
85
  }
60
86
  function syncResult(options) {
61
87
  return {
@@ -68,14 +94,15 @@ function syncResult(options) {
68
94
  };
69
95
  }
70
96
  export async function createDesktopPackageFileSnapshot(projectRoot) {
97
+ invalidateDesktopProjectProjection(projectRoot);
71
98
  const projectKey = await snapshotKey(projectRoot);
72
- const displayProjectRoot = typeof projectRoot === "string" ? projectRoot : projectRoot.rootPath;
73
99
  const snapshot = await createRuntimePackageFileSnapshot(projectRoot);
74
100
  snapshots.set(projectKey, snapshot);
75
101
  dirtyRefsByProject.set(projectKey, []);
76
- return snapshotRef(displayProjectRoot, snapshot);
102
+ return snapshotRef(projectKey, displayProjectRoot(projectRoot), snapshot);
77
103
  }
78
104
  export async function detectDesktopPackageFileChanges(projectRoot, snapshotId) {
105
+ invalidateDesktopProjectProjection(projectRoot);
79
106
  const projectKey = await snapshotKey(projectRoot);
80
107
  const previous = previousSnapshot(projectKey, snapshotId);
81
108
  if (!previous) {
@@ -102,6 +129,7 @@ export async function detectDesktopPackageFileChanges(projectRoot, snapshotId) {
102
129
  return detected;
103
130
  }
104
131
  export async function refreshChangedDesktopPackagePrompts(projectRoot, snapshotId) {
132
+ invalidateDesktopProjectProjection(projectRoot);
105
133
  const projectKey = await snapshotKey(projectRoot);
106
134
  const previous = previousSnapshot(projectKey, snapshotId);
107
135
  if (!previous) {
@@ -129,7 +157,6 @@ export async function refreshChangedDesktopPackagePrompts(projectRoot, snapshotI
129
157
  return failed;
130
158
  }
131
159
  snapshots.set(projectKey, result.snapshot);
132
- snapshotRef(projectKey, result.snapshot);
133
160
  const refreshed = syncResult({
134
161
  previous,
135
162
  next: result.snapshot,
@@ -142,6 +169,7 @@ export async function refreshChangedDesktopPackagePrompts(projectRoot, snapshotI
142
169
  return refreshed;
143
170
  }
144
171
  export async function refreshPackageFileChanges(projectRoot) {
172
+ invalidateDesktopProjectProjection(projectRoot);
145
173
  const projectKey = await snapshotKey(projectRoot);
146
174
  const previous = snapshots.get(projectKey);
147
175
  if (!previous) {
@@ -168,7 +196,6 @@ export async function refreshPackageFileChanges(projectRoot) {
168
196
  };
169
197
  }
170
198
  snapshots.set(projectKey, result.snapshot);
171
- snapshotRef(projectKey, result.snapshot);
172
199
  const dirtyPromptRefsForResult = dirtyPromptRefs(previous, result.snapshot);
173
200
  dirtyRefsByProject.set(projectKey, dirtyPromptRefsForResult);
174
201
  return {
@@ -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,4 +1,4 @@
1
- import type { GraphEditResult, PackageWorkspaceRef } from "../../types.js";
1
+ import type { GraphEditResult, PackageWorkspaceRef, ReviewHookDefinition } from "../../types.js";
2
2
  import type { DesktopAddBlockInput, DesktopAddTaskInput, DesktopGraphEditValidationInput } from "../types.js";
3
3
  export declare function addTaskNode(projectRoot: PackageWorkspaceRef, input: DesktopAddTaskInput): Promise<GraphEditResult>;
4
4
  export declare function addBlock(projectRoot: PackageWorkspaceRef, input: DesktopAddBlockInput): Promise<GraphEditResult>;
@@ -10,7 +10,16 @@ export declare function updateTaskPrompt(projectRoot: PackageWorkspaceRef, taskI
10
10
  export declare function updateBlockTitle(projectRoot: PackageWorkspaceRef, ref: string, title: string): Promise<GraphEditResult>;
11
11
  export declare function updateBlockPrompt(projectRoot: PackageWorkspaceRef, ref: string, markdown: string): Promise<GraphEditResult>;
12
12
  export declare function updateTaskExecutor(projectRoot: PackageWorkspaceRef, taskId: string, executorName: string | null): Promise<GraphEditResult>;
13
+ export declare function updateTaskAcceptance(projectRoot: PackageWorkspaceRef, taskId: string, acceptance: string[]): Promise<GraphEditResult>;
13
14
  export declare function updateBlockExecutor(projectRoot: PackageWorkspaceRef, ref: string, executorName: string | null): Promise<GraphEditResult>;
15
+ export declare function updateBlockDependencies(projectRoot: PackageWorkspaceRef, ref: string, dependsOn: string[]): Promise<GraphEditResult>;
16
+ export declare function updateBlockPlanning(projectRoot: PackageWorkspaceRef, ref: string, input: {
17
+ parallelSafe?: boolean;
18
+ parallelLocks?: string[];
19
+ reviewRequired?: boolean;
20
+ maxFeedbackCycles?: number;
21
+ reviewHook?: ReviewHookDefinition | null;
22
+ }): Promise<GraphEditResult>;
14
23
  export declare function addDependencyEdge(projectRoot: PackageWorkspaceRef, fromTaskId: string, toTaskId: string): Promise<GraphEditResult>;
15
24
  export declare function removeDependencyEdge(projectRoot: PackageWorkspaceRef, fromTaskId: string, toTaskId: string): Promise<GraphEditResult>;
16
25
  //# sourceMappingURL=editModel.d.ts.map
@@ -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":"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"}