@mrpatronz/nexusflow 2.7.0 → 2.8.1

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 (268) hide show
  1. package/README.md +16 -14
  2. package/dist/agent/ClaudeSdkAdapter.d.ts.map +1 -1
  3. package/dist/agent/ClaudeSdkAdapter.js +31 -8
  4. package/dist/agent/ClaudeSdkAdapter.js.map +1 -1
  5. package/dist/agent/ClaudeSdkAdapter.test.js +18 -6
  6. package/dist/agent/ClaudeSdkAdapter.test.js.map +1 -1
  7. package/dist/agent/CodexCliAdapter.d.ts +1 -1
  8. package/dist/agent/CodexCliAdapter.d.ts.map +1 -1
  9. package/dist/agent/CodexCliAdapter.js +5 -4
  10. package/dist/agent/CodexCliAdapter.js.map +1 -1
  11. package/dist/agent/CodexCliAdapter.test.js +16 -1
  12. package/dist/agent/CodexCliAdapter.test.js.map +1 -1
  13. package/dist/agent/CodexSdkAdapter.d.ts.map +1 -1
  14. package/dist/agent/CodexSdkAdapter.js +6 -0
  15. package/dist/agent/CodexSdkAdapter.js.map +1 -1
  16. package/dist/agent/ProviderRegistry.d.ts +5 -0
  17. package/dist/agent/ProviderRegistry.d.ts.map +1 -1
  18. package/dist/agent/ProviderRegistry.js +15 -0
  19. package/dist/agent/ProviderRegistry.js.map +1 -1
  20. package/dist/agent/ProviderRegistry.test.js +19 -0
  21. package/dist/agent/ProviderRegistry.test.js.map +1 -1
  22. package/dist/agent/adapters.d.ts.map +1 -1
  23. package/dist/agent/adapters.js +5 -0
  24. package/dist/agent/adapters.js.map +1 -1
  25. package/dist/agent/mcp-config.d.ts +16 -0
  26. package/dist/agent/mcp-config.d.ts.map +1 -0
  27. package/dist/agent/mcp-config.js +28 -0
  28. package/dist/agent/mcp-config.js.map +1 -0
  29. package/dist/agent/mcp-config.test.d.ts +2 -0
  30. package/dist/agent/mcp-config.test.d.ts.map +1 -0
  31. package/dist/agent/mcp-config.test.js +22 -0
  32. package/dist/agent/mcp-config.test.js.map +1 -0
  33. package/dist/agent/models.d.ts +10 -0
  34. package/dist/agent/models.d.ts.map +1 -0
  35. package/dist/agent/models.js +35 -0
  36. package/dist/agent/models.js.map +1 -0
  37. package/dist/agent/models.test.d.ts +2 -0
  38. package/dist/agent/models.test.d.ts.map +1 -0
  39. package/dist/agent/models.test.js +40 -0
  40. package/dist/agent/models.test.js.map +1 -0
  41. package/dist/agent/orchestrator.d.ts +65 -0
  42. package/dist/agent/orchestrator.d.ts.map +1 -0
  43. package/dist/agent/orchestrator.js +260 -0
  44. package/dist/agent/orchestrator.js.map +1 -0
  45. package/dist/agent/orchestrator.test.d.ts +2 -0
  46. package/dist/agent/orchestrator.test.d.ts.map +1 -0
  47. package/dist/agent/orchestrator.test.js +284 -0
  48. package/dist/agent/orchestrator.test.js.map +1 -0
  49. package/dist/agent/session.d.ts +1 -0
  50. package/dist/agent/session.d.ts.map +1 -1
  51. package/dist/agent/session.js +3 -2
  52. package/dist/agent/session.js.map +1 -1
  53. package/dist/agent/session.test.js +9 -0
  54. package/dist/agent/session.test.js.map +1 -1
  55. package/dist/agent/smoke-chat.test.d.ts +2 -0
  56. package/dist/agent/smoke-chat.test.d.ts.map +1 -0
  57. package/dist/agent/smoke-chat.test.js +166 -0
  58. package/dist/agent/smoke-chat.test.js.map +1 -0
  59. package/dist/commands/commands.test.js +3 -0
  60. package/dist/commands/commands.test.js.map +1 -1
  61. package/dist/commands/doctor.d.ts.map +1 -1
  62. package/dist/commands/doctor.js +2 -0
  63. package/dist/commands/doctor.js.map +1 -1
  64. package/dist/commands/init.d.ts +3 -1
  65. package/dist/commands/init.d.ts.map +1 -1
  66. package/dist/commands/init.js +9 -1
  67. package/dist/commands/init.js.map +1 -1
  68. package/dist/commands/knowledge.d.ts +9 -0
  69. package/dist/commands/knowledge.d.ts.map +1 -1
  70. package/dist/commands/knowledge.js +59 -2
  71. package/dist/commands/knowledge.js.map +1 -1
  72. package/dist/commands/knowledge.test.js +14 -1
  73. package/dist/commands/knowledge.test.js.map +1 -1
  74. package/dist/commands/mcp.d.ts +7 -1
  75. package/dist/commands/mcp.d.ts.map +1 -1
  76. package/dist/commands/mcp.js +7 -2
  77. package/dist/commands/mcp.js.map +1 -1
  78. package/dist/commands/progress.d.ts +4 -0
  79. package/dist/commands/progress.d.ts.map +1 -0
  80. package/dist/commands/progress.js +33 -0
  81. package/dist/commands/progress.js.map +1 -0
  82. package/dist/commands/refresh.d.ts +1 -0
  83. package/dist/commands/refresh.d.ts.map +1 -1
  84. package/dist/commands/refresh.js +17 -2
  85. package/dist/commands/refresh.js.map +1 -1
  86. package/dist/commands/remote.d.ts +4 -0
  87. package/dist/commands/remote.d.ts.map +1 -0
  88. package/dist/commands/remote.js +28 -0
  89. package/dist/commands/remote.js.map +1 -0
  90. package/dist/commands/status.d.ts.map +1 -1
  91. package/dist/commands/status.js +14 -1
  92. package/dist/commands/status.js.map +1 -1
  93. package/dist/commands/status.test.d.ts +2 -0
  94. package/dist/commands/status.test.d.ts.map +1 -0
  95. package/dist/commands/status.test.js +31 -0
  96. package/dist/commands/status.test.js.map +1 -0
  97. package/dist/core/analysis-cache.d.ts +13 -3
  98. package/dist/core/analysis-cache.d.ts.map +1 -1
  99. package/dist/core/analysis-cache.js +41 -31
  100. package/dist/core/analysis-cache.js.map +1 -1
  101. package/dist/core/analysis-cache.test.js +50 -8
  102. package/dist/core/analysis-cache.test.js.map +1 -1
  103. package/dist/core/doctor.d.ts.map +1 -1
  104. package/dist/core/doctor.js +61 -0
  105. package/dist/core/doctor.js.map +1 -1
  106. package/dist/core/generation-lock.d.ts +58 -0
  107. package/dist/core/generation-lock.d.ts.map +1 -0
  108. package/dist/core/generation-lock.js +233 -0
  109. package/dist/core/generation-lock.js.map +1 -0
  110. package/dist/core/generation-lock.test.d.ts +2 -0
  111. package/dist/core/generation-lock.test.d.ts.map +1 -0
  112. package/dist/core/generation-lock.test.js +134 -0
  113. package/dist/core/generation-lock.test.js.map +1 -0
  114. package/dist/core/isolate.test.js +30 -0
  115. package/dist/core/isolate.test.js.map +1 -1
  116. package/dist/core/knowledge.d.ts +20 -0
  117. package/dist/core/knowledge.d.ts.map +1 -1
  118. package/dist/core/knowledge.js +184 -36
  119. package/dist/core/knowledge.js.map +1 -1
  120. package/dist/core/knowledge.test.js +93 -15
  121. package/dist/core/knowledge.test.js.map +1 -1
  122. package/dist/core/locks.d.ts +4 -2
  123. package/dist/core/locks.d.ts.map +1 -1
  124. package/dist/core/locks.js +55 -7
  125. package/dist/core/locks.js.map +1 -1
  126. package/dist/core/locks.test.js +48 -0
  127. package/dist/core/locks.test.js.map +1 -1
  128. package/dist/core/progress.d.ts +21 -0
  129. package/dist/core/progress.d.ts.map +1 -0
  130. package/dist/core/progress.js +40 -0
  131. package/dist/core/progress.js.map +1 -0
  132. package/dist/core/progress.test.d.ts +2 -0
  133. package/dist/core/progress.test.d.ts.map +1 -0
  134. package/dist/core/progress.test.js +52 -0
  135. package/dist/core/progress.test.js.map +1 -0
  136. package/dist/core/refresh.d.ts +5 -0
  137. package/dist/core/refresh.d.ts.map +1 -1
  138. package/dist/core/refresh.js +25 -0
  139. package/dist/core/refresh.js.map +1 -1
  140. package/dist/core/refresh.test.js +20 -0
  141. package/dist/core/refresh.test.js.map +1 -1
  142. package/dist/core/status.d.ts +2 -0
  143. package/dist/core/status.d.ts.map +1 -1
  144. package/dist/core/status.js +6 -1
  145. package/dist/core/status.js.map +1 -1
  146. package/dist/core/sync.d.ts.map +1 -1
  147. package/dist/core/sync.js +22 -1
  148. package/dist/core/sync.js.map +1 -1
  149. package/dist/core/sync.test.js +27 -0
  150. package/dist/core/sync.test.js.map +1 -1
  151. package/dist/core/workspace-git.d.ts +15 -0
  152. package/dist/core/workspace-git.d.ts.map +1 -0
  153. package/dist/core/workspace-git.js +131 -0
  154. package/dist/core/workspace-git.js.map +1 -0
  155. package/dist/core/workspace-git.test.d.ts +2 -0
  156. package/dist/core/workspace-git.test.d.ts.map +1 -0
  157. package/dist/core/workspace-git.test.js +52 -0
  158. package/dist/core/workspace-git.test.js.map +1 -0
  159. package/dist/core/workspace-skills-workflow.integration.test.js +15 -0
  160. package/dist/core/workspace-skills-workflow.integration.test.js.map +1 -1
  161. package/dist/core/workspace.create.test.js +5 -2
  162. package/dist/core/workspace.create.test.js.map +1 -1
  163. package/dist/core/workspace.d.ts.map +1 -1
  164. package/dist/core/workspace.js +11 -6
  165. package/dist/core/workspace.js.map +1 -1
  166. package/dist/generators/antigravity.d.ts.map +1 -1
  167. package/dist/generators/antigravity.js +2 -1
  168. package/dist/generators/antigravity.js.map +1 -1
  169. package/dist/generators/base.d.ts.map +1 -1
  170. package/dist/generators/base.js +5 -3
  171. package/dist/generators/base.js.map +1 -1
  172. package/dist/generators/claude.d.ts.map +1 -1
  173. package/dist/generators/claude.js +4 -1
  174. package/dist/generators/claude.js.map +1 -1
  175. package/dist/generators/codex.d.ts.map +1 -1
  176. package/dist/generators/codex.js +2 -1
  177. package/dist/generators/codex.js.map +1 -1
  178. package/dist/generators/copilot.d.ts.map +1 -1
  179. package/dist/generators/copilot.js +4 -3
  180. package/dist/generators/copilot.js.map +1 -1
  181. package/dist/generators/cursor.d.ts.map +1 -1
  182. package/dist/generators/cursor.js +6 -3
  183. package/dist/generators/cursor.js.map +1 -1
  184. package/dist/generators/index.d.ts +2 -0
  185. package/dist/generators/index.d.ts.map +1 -1
  186. package/dist/generators/index.js +79 -45
  187. package/dist/generators/index.js.map +1 -1
  188. package/dist/generators/knowledge-migration.test.d.ts +2 -0
  189. package/dist/generators/knowledge-migration.test.d.ts.map +1 -0
  190. package/dist/generators/knowledge-migration.test.js +22 -0
  191. package/dist/generators/knowledge-migration.test.js.map +1 -0
  192. package/dist/generators/plan-generator.d.ts.map +1 -1
  193. package/dist/generators/plan-generator.js +18 -9
  194. package/dist/generators/plan-generator.js.map +1 -1
  195. package/dist/generators/plan-generator.test.js +4 -1
  196. package/dist/generators/plan-generator.test.js.map +1 -1
  197. package/dist/gui/assets/AgentsPage-B4fx43rd.js +3 -0
  198. package/dist/gui/assets/{CSPContext-BG7no5S_.js → CSPContext-DBUu9tE0.js} +1 -1
  199. package/dist/gui/assets/{DashboardPage-ByGTwAQa.js → DashboardPage-DH52G8IG.js} +1 -1
  200. package/dist/gui/assets/{GettingStartedPage-Xjx3M3RH.js → GettingStartedPage-BlTrQhvi.js} +1 -1
  201. package/dist/gui/assets/ProjectsPage-BPVSLPXv.js +1 -0
  202. package/dist/gui/assets/ScaffoldRepoInline-ywcpq9PX.js +1 -0
  203. package/dist/gui/assets/{SettingsPage-B9iN6hsv.js → SettingsPage-RQr8SalV.js} +1 -1
  204. package/dist/gui/assets/SkillsPage-CYoSRrwx.js +6 -0
  205. package/dist/gui/assets/StartWorkPage-DBKK4lFi.js +1 -0
  206. package/dist/gui/assets/{StrategiesPage-DDu3jwJx.js → StrategiesPage-C36TZgDX.js} +1 -1
  207. package/dist/gui/assets/WorkspacesPage-DxEONvSq.js +6 -0
  208. package/dist/gui/assets/{alert-dialog-CdqVrvZl.js → alert-dialog-CQAX2yRx.js} +1 -1
  209. package/dist/gui/assets/index-BF6pre6G.css +2 -0
  210. package/dist/gui/assets/index-C_rwnBzF.js +52 -0
  211. package/dist/gui/assets/isElementDisabled-uy_EOitH.js +1 -0
  212. package/dist/gui/assets/textarea-ByfoCb54.js +1 -0
  213. package/dist/gui/assets/{useAriaLabelledBy-DfRdwH8a.js → useAriaLabelledBy-ClesgjMe.js} +1 -1
  214. package/dist/gui/assets/useValueChanged-DeYvGnKs.js +1 -0
  215. package/dist/gui/assets/{vsc-D6UPv2ii.js → vsc-DFh0-53h.js} +1 -1
  216. package/dist/gui/index.html +5 -7
  217. package/dist/harness/claude.d.ts +3 -1
  218. package/dist/harness/claude.d.ts.map +1 -1
  219. package/dist/harness/claude.js +4 -2
  220. package/dist/harness/claude.js.map +1 -1
  221. package/dist/harness/codex.d.ts +3 -1
  222. package/dist/harness/codex.d.ts.map +1 -1
  223. package/dist/harness/codex.js +64 -12
  224. package/dist/harness/codex.js.map +1 -1
  225. package/dist/harness/contract.test.d.ts +2 -0
  226. package/dist/harness/contract.test.d.ts.map +1 -0
  227. package/dist/harness/contract.test.js +426 -0
  228. package/dist/harness/contract.test.js.map +1 -0
  229. package/dist/harness/harness.test.js +16 -1
  230. package/dist/harness/harness.test.js.map +1 -1
  231. package/dist/harness/types.d.ts +7 -1
  232. package/dist/harness/types.d.ts.map +1 -1
  233. package/dist/index.js +52 -5
  234. package/dist/index.js.map +1 -1
  235. package/dist/mcp/server.d.ts +8 -1
  236. package/dist/mcp/server.d.ts.map +1 -1
  237. package/dist/mcp/server.js +11 -6
  238. package/dist/mcp/server.js.map +1 -1
  239. package/dist/mcp/tools.d.ts +6 -2
  240. package/dist/mcp/tools.d.ts.map +1 -1
  241. package/dist/mcp/tools.js +232 -14
  242. package/dist/mcp/tools.js.map +1 -1
  243. package/dist/mcp/tools.test.js +130 -6
  244. package/dist/mcp/tools.test.js.map +1 -1
  245. package/dist/resources/materializer.d.ts.map +1 -1
  246. package/dist/resources/materializer.js +11 -3
  247. package/dist/resources/materializer.js.map +1 -1
  248. package/dist/server.d.ts.map +1 -1
  249. package/dist/server.js +37 -6
  250. package/dist/server.js.map +1 -1
  251. package/dist/server.test.js +37 -1
  252. package/dist/server.test.js.map +1 -1
  253. package/dist/types.d.ts +17 -0
  254. package/dist/types.d.ts.map +1 -1
  255. package/package.json +2 -1
  256. package/dist/gui/assets/AgentsPage-YyYRodOR.js +0 -3
  257. package/dist/gui/assets/ProjectsPage-BMdhqAGs.js +0 -1
  258. package/dist/gui/assets/ScaffoldRepoInline-gXyYSIz5.js +0 -1
  259. package/dist/gui/assets/SkillsPage-CxcsbIsQ.js +0 -6
  260. package/dist/gui/assets/StartWorkPage-DPVHcdy4.js +0 -1
  261. package/dist/gui/assets/WorkspacesPage-BWRmP0mY.js +0 -2
  262. package/dist/gui/assets/index-CZoZQkeC.css +0 -2
  263. package/dist/gui/assets/index-wy68EqfB.js +0 -50
  264. package/dist/gui/assets/isElementDisabled-D_fu2zfc.js +0 -1
  265. package/dist/gui/assets/store-D5DUHbxn.js +0 -3
  266. package/dist/gui/assets/styles-CVwNuFCx.js +0 -1
  267. package/dist/gui/assets/textarea-BNRuIXNs.js +0 -1
  268. package/dist/gui/assets/useValueChanged-CStSGSsD.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-cache.test.js","sourceRoot":"","sources":["../../src/core/analysis-cache.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis-cache.test.js","sourceRoot":"","sources":["../../src/core/analysis-cache.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAElE,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA0R5E"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAElE,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiV5E"}
@@ -14,6 +14,8 @@ import { getRepoStatus } from '../utils/multi-git.js';
14
14
  import { workspaceFileExists } from './storage.js';
15
15
  import { analyzeAllReposCached } from '../analyzers/index.js';
16
16
  import { findExecutable } from '../agent/cliAvailability.js';
17
+ import { checkGenerationLock } from './generation-lock.js';
18
+ import { readWorkspaceKnowledge } from './knowledge.js';
17
19
  /**
18
20
  * Runs all workspace diagnostics and returns a structured report.
19
21
  *
@@ -64,6 +66,54 @@ export async function runDoctor(workspacePath) {
64
66
  }
65
67
  // ── 2. Analysis (feeds later checks) ───────────────────────────────────
66
68
  const { analysis } = await analyzeAllReposCached(allRepos, workspacePath);
69
+ // Explicit runtime seams complement the package graph. Validate them here so
70
+ // a typo cannot leave a contract pointing at nonexistent evidence.
71
+ if (feature.contracts?.length) {
72
+ const knowledge = await readWorkspaceKnowledge(workspacePath) ?? '';
73
+ const endpointExists = async (value) => {
74
+ if (allRepos.some((repo) => repo.name === value || repo.path === value || path.basename(repo.path) === value)) {
75
+ return true;
76
+ }
77
+ for (const repo of allRepos) {
78
+ try {
79
+ const candidate = path.resolve(repo.path, value);
80
+ const relative = path.relative(repo.path, candidate);
81
+ if (relative.startsWith('..') || path.isAbsolute(relative))
82
+ continue;
83
+ await fs.access(candidate);
84
+ return true;
85
+ }
86
+ catch {
87
+ // Try the next repository root.
88
+ }
89
+ }
90
+ return false;
91
+ };
92
+ for (const contract of feature.contracts) {
93
+ const values = [contract.from, contract.to];
94
+ const invalidPath = values.some((value) => !value || value.includes('..') || path.isAbsolute(value));
95
+ const validEntry = /^\d{4}-\d{2}-\d{2}-[a-z0-9]+(?:-[a-z0-9]+)*$/.test(contract.entry);
96
+ const heading = contract.entry.replace(/^(\d{4}-\d{2}-\d{2})-/, '$1 — ');
97
+ if (invalidPath || !contract.kind || !validEntry) {
98
+ const message = `Invalid explicit contract ${contract.from || '?'} -> ${contract.to || '?'}.`;
99
+ errors.push(message);
100
+ checks.push({ category: 'Explicit Contracts', name: contract.kind || 'contract', status: 'fail', message });
101
+ }
102
+ else if (!(await endpointExists(contract.from)) || !(await endpointExists(contract.to))) {
103
+ const message = `Contract ${contract.from} -> ${contract.to} references a repository or path that does not exist.`;
104
+ errors.push(message);
105
+ checks.push({ category: 'Explicit Contracts', name: contract.kind, status: 'fail', message });
106
+ }
107
+ else if (!knowledge.includes(`### ${heading}`)) {
108
+ const message = `Contract ${contract.from} -> ${contract.to} references missing knowledge entry ${contract.entry}.`;
109
+ warnings.push(message);
110
+ checks.push({ category: 'Explicit Contracts', name: contract.kind, status: 'warn', message });
111
+ }
112
+ else {
113
+ checks.push({ category: 'Explicit Contracts', name: contract.kind, status: 'pass', message: `${contract.from} -> ${contract.to} is backed by ${contract.entry}` });
114
+ }
115
+ }
116
+ }
67
117
  // ── 3. Branch Alignment & Git Status ───────────────────────────────────
68
118
  for (const repo of allRepos) {
69
119
  let branch = 'unknown';
@@ -201,6 +251,7 @@ export async function runDoctor(workspacePath) {
201
251
  { name: 'WORKSPACE.md', exists: () => workspaceFileExists(workspacePath, featureId, 'WORKSPACE.md') },
202
252
  { name: 'nexusflow-knowledge.md', exists: () => workspaceFileExists(workspacePath, featureId, 'nexusflow-knowledge.md') },
203
253
  { name: 'nexusflow-plan.md', exists: () => workspaceFileExists(workspacePath, featureId, 'nexusflow-plan.md') },
254
+ { name: 'nexusflow.lock', exists: async () => fs.access(path.join(workspacePath, 'nexusflow.lock')).then(() => true).catch(() => false) },
204
255
  ];
205
256
  // Per-repo architecture maps are no longer generated — everything they held
206
257
  // came from the repo's package.json — so their absence is not a fault.
@@ -213,6 +264,16 @@ export async function runDoctor(workspacePath) {
213
264
  checks.push({ category: 'Core Artifacts', name: file.name, status: 'warn', message: 'is missing' });
214
265
  }
215
266
  }
267
+ const generation = await checkGenerationLock(workspacePath, { markDocuments: true });
268
+ if (generation.fresh) {
269
+ checks.push({ category: 'Generated Context', name: 'provenance', status: 'pass', message: 'repo snapshot and generated-view hashes match nexusflow.lock' });
270
+ }
271
+ else {
272
+ for (const item of generation.drift) {
273
+ warnings.push(item.message);
274
+ checks.push({ category: 'Generated Context', name: item.name, status: 'warn', message: item.message });
275
+ }
276
+ }
216
277
  const workspaceName = path.basename(workspacePath);
217
278
  const codeWorkspacePath = path.join(workspacePath, `${workspaceName}.code-workspace`);
218
279
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @module core/generation-lock
3
+ * Provenance and drift detection for NexusFlow-generated workspace artifacts.
4
+ *
5
+ * The lock is written last, after a complete generation pass. It therefore
6
+ * describes one immutable input/output snapshot rather than whichever files
7
+ * happened to be written before a partial failure.
8
+ */
9
+ import type { RepoInfo } from '../types.js';
10
+ export declare const GENERATION_LOCK_FILE = "nexusflow.lock";
11
+ export declare const GENERATED_VIEW_HEADER = "<!-- AUTO-GENERATED from AGENTS.md \u2014 do not edit -->";
12
+ export declare const GENERATED_SNAPSHOT_HEADER = "<!-- AUTO-GENERATED by NexusFlow from live workspace state \u2014 do not edit -->";
13
+ export interface GenerationRepoState {
14
+ sha: string;
15
+ fingerprint: string;
16
+ }
17
+ export interface GenerationSnapshot {
18
+ generatedAt: string;
19
+ toolVersion: string;
20
+ repos: Record<string, GenerationRepoState>;
21
+ }
22
+ export interface GenerationOutputState {
23
+ hash: string;
24
+ source: string;
25
+ /** Workspace documents use the active storage adapter; resources are local artifacts. */
26
+ location?: 'workspace' | 'local';
27
+ }
28
+ export interface GenerationLock extends GenerationSnapshot {
29
+ schemaVersion: 1;
30
+ outputs: Record<string, GenerationOutputState>;
31
+ }
32
+ export interface GenerationDrift {
33
+ kind: 'missing-lock' | 'tool' | 'repo' | 'output';
34
+ name: string;
35
+ generated?: string;
36
+ current?: string;
37
+ message: string;
38
+ }
39
+ export interface GenerationCheck {
40
+ fresh: boolean;
41
+ lock: GenerationLock | null;
42
+ drift: GenerationDrift[];
43
+ }
44
+ /** Banner text is mutable diagnostic state and is excluded from content hashes. */
45
+ export declare function normalizeGeneratedContent(content: string): string;
46
+ export declare function hashGeneratedContent(content: string | Uint8Array): string;
47
+ export declare function renderFreshnessBanner(snapshot: GenerationSnapshot, drift?: GenerationDrift[]): string;
48
+ export declare function captureGenerationSnapshot(repos: RepoInfo[]): Promise<GenerationSnapshot>;
49
+ export declare function writeGenerationLock(workspacePath: string, snapshot: GenerationSnapshot, outputs: Array<{
50
+ path: string;
51
+ source: string;
52
+ location?: 'workspace' | 'local';
53
+ }>): Promise<GenerationLock>;
54
+ export declare function readGenerationLock(workspacePath: string): Promise<GenerationLock | null>;
55
+ export declare function checkGenerationLock(workspacePath: string, options?: {
56
+ markDocuments?: boolean;
57
+ }): Promise<GenerationCheck>;
58
+ //# sourceMappingURL=generation-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-lock.d.ts","sourceRoot":"","sources":["../../src/core/generation-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,qBAAqB,8DAAyD,CAAC;AAC5F,eAAO,MAAM,yBAAyB,sFAAiF,CAAC;AAMxH,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAUD,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAGzE;AAuBD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,GAAE,eAAe,EAAO,GAC5B,MAAM,CAuBR;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkB9F;AAED,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;CAAE,CAAC,GACjF,OAAO,CAAC,cAAc,CAAC,CAyBzB;AAED,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQ9F;AAQD,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,OAAO,CAAC,eAAe,CAAC,CAkE1B"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * @module core/generation-lock
3
+ * Provenance and drift detection for NexusFlow-generated workspace artifacts.
4
+ *
5
+ * The lock is written last, after a complete generation pass. It therefore
6
+ * describes one immutable input/output snapshot rather than whichever files
7
+ * happened to be written before a partial failure.
8
+ */
9
+ import { createHash, randomUUID } from 'node:crypto';
10
+ import * as fs from 'node:fs/promises';
11
+ import * as path from 'node:path';
12
+ import { execa } from 'execa';
13
+ import { getGeneratorVersion, getRepoFingerprint } from './analysis-cache.js';
14
+ import { loadFeatureConfig, resolveRepoInfos } from './workspace.js';
15
+ import { readWorkspaceFile, writeWorkspaceFile } from './storage.js';
16
+ import { resolveFeatureRepoPath } from '../utils/feature.js';
17
+ export const GENERATION_LOCK_FILE = 'nexusflow.lock';
18
+ export const GENERATED_VIEW_HEADER = '<!-- AUTO-GENERATED from AGENTS.md — do not edit -->';
19
+ export const GENERATED_SNAPSHOT_HEADER = '<!-- AUTO-GENERATED by NexusFlow from live workspace state — do not edit -->';
20
+ const BANNER_START = '<!-- NEXUSFLOW:FRESHNESS:START -->';
21
+ const BANNER_END = '<!-- NEXUSFLOW:FRESHNESS:END -->';
22
+ const UNCACHEABLE_FINGERPRINT_PREFIX = 'uncacheable:';
23
+ function assertRelativeOutput(relativePath) {
24
+ const normalized = relativePath.replace(/\\/g, '/');
25
+ if (!normalized || path.isAbsolute(normalized) || normalized.split('/').includes('..')) {
26
+ throw new Error(`Invalid generated output path: ${relativePath}`);
27
+ }
28
+ return normalized;
29
+ }
30
+ /** Banner text is mutable diagnostic state and is excluded from content hashes. */
31
+ export function normalizeGeneratedContent(content) {
32
+ const start = content.indexOf(BANNER_START);
33
+ const end = content.indexOf(BANNER_END);
34
+ if (start < 0 || end < start)
35
+ return content;
36
+ return `${content.slice(0, start)}${BANNER_START}\n${BANNER_END}${content.slice(end + BANNER_END.length)}`;
37
+ }
38
+ export function hashGeneratedContent(content) {
39
+ const retained = typeof content === 'string' ? normalizeGeneratedContent(content) : content;
40
+ return createHash('sha256').update(retained).digest('hex');
41
+ }
42
+ function inferOutputLocation(relativePath) {
43
+ const normalized = relativePath.replace(/\\/g, '/');
44
+ return normalized === '.nexusflow/resources.lock.json' ||
45
+ normalized.startsWith('.agents/skills/') ||
46
+ normalized.startsWith('.claude/skills/') ||
47
+ normalized.startsWith('.codex/agents/')
48
+ ? 'local'
49
+ : 'workspace';
50
+ }
51
+ async function readOutput(workspacePath, featureId, relativePath, location) {
52
+ return location === 'workspace'
53
+ ? readWorkspaceFile(workspacePath, featureId, relativePath)
54
+ : fs.readFile(path.join(workspacePath, relativePath));
55
+ }
56
+ export function renderFreshnessBanner(snapshot, drift = []) {
57
+ const repoSummary = Object.entries(snapshot.repos)
58
+ .map(([name, state]) => `${name}@${state.sha.slice(0, 12)}`)
59
+ .join(', ');
60
+ const unverifiable = Object.entries(snapshot.repos)
61
+ .filter(([, state]) => state.fingerprint.startsWith(UNCACHEABLE_FINGERPRINT_PREFIX))
62
+ .map(([name]) => name);
63
+ const lines = drift.length === 0 && unverifiable.length > 0
64
+ ? [
65
+ '> **⚠ NEXUSFLOW CONTEXT FRESHNESS CANNOT BE VERIFIED.**',
66
+ `> Regenerated from ${unverifiable.join(', ')} with uncommitted files that cannot be safely fingerprinted on this platform.`,
67
+ '> Treat generated facts as provisional; commit the files or verify live state with `nexusflow status`.',
68
+ ]
69
+ : drift.length === 0
70
+ ? [
71
+ '> **NexusFlow snapshot:** ' + (repoSummary || 'no repositories') + `. Verify live state with \`nexusflow refresh --check\`.`,
72
+ ]
73
+ : [
74
+ '> **⚠ STALE NEXUSFLOW CONTEXT — GENERATED FACTS MAY BE WRONG.**',
75
+ ...drift.map((item) => `> ${item.message}`),
76
+ '> Run `nexusflow refresh` before relying on generated facts.',
77
+ ];
78
+ return [BANNER_START, ...lines, BANNER_END].join('\n');
79
+ }
80
+ export async function captureGenerationSnapshot(repos) {
81
+ const states = await Promise.all(repos.map(async (repo) => {
82
+ const [{ stdout }, fingerprint] = await Promise.all([
83
+ execa('git', ['rev-parse', 'HEAD'], { cwd: repo.path }),
84
+ getRepoFingerprint(repo.path),
85
+ ]);
86
+ // A null fingerprint means cache reuse is unsafe, not that generation is
87
+ // impossible. Preserve the generated output with an explicit unverifiable
88
+ // snapshot that always trips the next freshness check.
89
+ const recordedFingerprint = fingerprint ?? `${UNCACHEABLE_FINGERPRINT_PREFIX}${randomUUID()}`;
90
+ return [repo.name, { sha: stdout.trim(), fingerprint: recordedFingerprint }];
91
+ }));
92
+ return {
93
+ generatedAt: new Date().toISOString(),
94
+ toolVersion: getGeneratorVersion(),
95
+ repos: Object.fromEntries(states),
96
+ };
97
+ }
98
+ export async function writeGenerationLock(workspacePath, snapshot, outputs) {
99
+ const feature = await loadFeatureConfig(workspacePath);
100
+ const featureId = feature?.id ?? path.basename(workspacePath);
101
+ const outputEntries = await Promise.all(outputs.map(async (output) => {
102
+ const relativePath = assertRelativeOutput(output.path);
103
+ const location = output.location ?? inferOutputLocation(relativePath);
104
+ const content = await readOutput(workspacePath, featureId, relativePath, location);
105
+ return [relativePath, { hash: hashGeneratedContent(content), source: output.source, location }];
106
+ }));
107
+ const outputState = Object.fromEntries(outputEntries);
108
+ const previous = await readGenerationLock(workspacePath);
109
+ const unchanged = previous?.toolVersion === snapshot.toolVersion &&
110
+ JSON.stringify(previous.repos) === JSON.stringify(snapshot.repos) &&
111
+ JSON.stringify(previous.outputs) === JSON.stringify(outputState);
112
+ const lock = {
113
+ schemaVersion: 1,
114
+ ...snapshot,
115
+ generatedAt: unchanged ? previous.generatedAt : snapshot.generatedAt,
116
+ outputs: outputState,
117
+ };
118
+ const target = path.join(workspacePath, GENERATION_LOCK_FILE);
119
+ const temp = `${target}.tmp-${process.pid}-${randomUUID()}`;
120
+ await fs.writeFile(temp, JSON.stringify(lock, null, 2) + '\n', 'utf-8');
121
+ await fs.rename(temp, target);
122
+ return lock;
123
+ }
124
+ export async function readGenerationLock(workspacePath) {
125
+ try {
126
+ const parsed = JSON.parse(await fs.readFile(path.join(workspacePath, GENERATION_LOCK_FILE), 'utf-8'));
127
+ if (parsed.schemaVersion !== 1 || !parsed.repos || !parsed.outputs)
128
+ return null;
129
+ return parsed;
130
+ }
131
+ catch {
132
+ return null;
133
+ }
134
+ }
135
+ async function currentWorkspaceRepos(workspacePath) {
136
+ const feature = await loadFeatureConfig(workspacePath);
137
+ if (!feature)
138
+ throw new Error(`Workspace manifest not found at ${workspacePath}.`);
139
+ return resolveRepoInfos(feature.repos.map((repo) => resolveFeatureRepoPath(feature, workspacePath, repo)));
140
+ }
141
+ export async function checkGenerationLock(workspacePath, options = {}) {
142
+ const lock = await readGenerationLock(workspacePath);
143
+ if (!lock) {
144
+ return {
145
+ fresh: false,
146
+ lock: null,
147
+ drift: [{ kind: 'missing-lock', name: GENERATION_LOCK_FILE, message: 'nexusflow.lock is missing or invalid.' }],
148
+ };
149
+ }
150
+ const drift = [];
151
+ const currentToolVersion = getGeneratorVersion();
152
+ if (lock.toolVersion !== currentToolVersion) {
153
+ drift.push({
154
+ kind: 'tool',
155
+ name: 'NexusFlow',
156
+ generated: lock.toolVersion,
157
+ current: currentToolVersion,
158
+ message: `Generated with NexusFlow ${lock.toolVersion}; current tool is ${currentToolVersion}.`,
159
+ });
160
+ }
161
+ const repos = await currentWorkspaceRepos(workspacePath);
162
+ const repoDrift = await Promise.all(repos.map(async (repo) => {
163
+ const recorded = lock.repos[repo.name];
164
+ const current = await getRepoFingerprint(repo.path);
165
+ if (!recorded || !current || recorded.fingerprint !== current) {
166
+ const sha = await execa('git', ['rev-parse', 'HEAD'], { cwd: repo.path })
167
+ .then((result) => result.stdout.trim())
168
+ .catch(() => 'unavailable');
169
+ const wasUncacheable = recorded?.fingerprint.startsWith(UNCACHEABLE_FINGERPRINT_PREFIX);
170
+ return {
171
+ kind: 'repo',
172
+ name: repo.name,
173
+ generated: recorded?.sha,
174
+ current: sha,
175
+ message: wasUncacheable
176
+ ? `Generated from ${repo.name}@${recorded?.sha.slice(0, 12) ?? 'unknown'} while dirty-file freshness could not be safely verified on this platform.`
177
+ : `Generated at ${repo.name}@${recorded?.sha.slice(0, 12) ?? 'unknown'}; repo now at ${sha.slice(0, 12)}${current?.includes('+') ? ' with uncommitted changes' : ''}.`,
178
+ };
179
+ }
180
+ return null;
181
+ }));
182
+ drift.push(...repoDrift.filter((item) => item !== null));
183
+ const feature = await loadFeatureConfig(workspacePath);
184
+ const featureId = feature?.id ?? path.basename(workspacePath);
185
+ const outputDrift = await Promise.all(Object.entries(lock.outputs).map(async ([relativePath, output]) => {
186
+ try {
187
+ const safePath = assertRelativeOutput(relativePath);
188
+ const location = output.location ?? inferOutputLocation(safePath);
189
+ const content = await readOutput(workspacePath, featureId, safePath, location);
190
+ const current = hashGeneratedContent(content);
191
+ if (current !== output.hash) {
192
+ return { kind: 'output', name: relativePath, generated: output.hash, current, message: `Generated view ${relativePath} has drifted from its recorded hash.` };
193
+ }
194
+ }
195
+ catch {
196
+ return { kind: 'output', name: relativePath, generated: output.hash, message: `Generated view ${relativePath} is missing.` };
197
+ }
198
+ return null;
199
+ }));
200
+ drift.push(...outputDrift.filter((item) => item !== null));
201
+ if (options.markDocuments && drift.some((item) => item.kind === 'repo' || item.kind === 'tool')) {
202
+ await markFreshnessBanners(workspacePath, lock, drift);
203
+ }
204
+ return { fresh: drift.length === 0, lock, drift };
205
+ }
206
+ async function markFreshnessBanners(workspacePath, snapshot, drift) {
207
+ const banner = renderFreshnessBanner(snapshot, drift.filter((item) => item.kind === 'repo' || item.kind === 'tool'));
208
+ const feature = await loadFeatureConfig(workspacePath);
209
+ const featureId = feature?.id ?? path.basename(workspacePath);
210
+ for (const [relativePath, output] of Object.entries(snapshot.outputs ?? {})) {
211
+ const safePath = assertRelativeOutput(relativePath);
212
+ const location = output.location ?? inferOutputLocation(safePath);
213
+ try {
214
+ const raw = await readOutput(workspacePath, featureId, safePath, location);
215
+ if (typeof raw !== 'string')
216
+ continue;
217
+ const content = raw;
218
+ const start = content.indexOf(BANNER_START);
219
+ const end = content.indexOf(BANNER_END);
220
+ if (start < 0 || end < start)
221
+ continue;
222
+ const updated = `${content.slice(0, start)}${banner}${content.slice(end + BANNER_END.length)}`;
223
+ if (location === 'workspace')
224
+ await writeWorkspaceFile(workspacePath, featureId, safePath, updated);
225
+ else
226
+ await fs.writeFile(path.join(workspacePath, safePath), updated, 'utf-8');
227
+ }
228
+ catch {
229
+ // Missing files are already reported as output drift.
230
+ }
231
+ }
232
+ }
233
+ //# sourceMappingURL=generation-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-lock.js","sourceRoot":"","sources":["../../src/core/generation-lock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generation-lock.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-lock.test.d.ts","sourceRoot":"","sources":["../../src/core/generation-lock.test.ts"],"names":[],"mappings":""}