projscan 4.6.0 → 4.8.0

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 (415) hide show
  1. package/README.md +25 -12
  2. package/dist/cli/_shared.js +12 -44
  3. package/dist/cli/_shared.js.map +1 -1
  4. package/dist/cli/changedOnly.d.ts +16 -0
  5. package/dist/cli/changedOnly.js +28 -0
  6. package/dist/cli/changedOnly.js.map +1 -0
  7. package/dist/cli/commands/start.js +5 -28
  8. package/dist/cli/commands/start.js.map +1 -1
  9. package/dist/cli/commands/startOptionsRegistration.d.ts +2 -0
  10. package/dist/cli/commands/startOptionsRegistration.js +29 -0
  11. package/dist/cli/commands/startOptionsRegistration.js.map +1 -0
  12. package/dist/cli/formatOptions.d.ts +4 -0
  13. package/dist/cli/formatOptions.js +30 -0
  14. package/dist/cli/formatOptions.js.map +1 -0
  15. package/dist/core/agentBrief.js +6 -1
  16. package/dist/core/agentBrief.js.map +1 -1
  17. package/dist/core/ast.d.ts +2 -17
  18. package/dist/core/ast.js +4 -33
  19. package/dist/core/ast.js.map +1 -1
  20. package/dist/core/astBodySignals.js +2 -3
  21. package/dist/core/astBodySignals.js.map +1 -1
  22. package/dist/core/astMembers.d.ts +1 -0
  23. package/dist/core/astMembers.js +38 -9
  24. package/dist/core/astMembers.js.map +1 -1
  25. package/dist/core/astResult.d.ts +20 -0
  26. package/dist/core/astResult.js +39 -0
  27. package/dist/core/astResult.js.map +1 -0
  28. package/dist/core/bugHunt.js +2 -142
  29. package/dist/core/bugHunt.js.map +1 -1
  30. package/dist/core/bugHuntHotspotFindings.d.ts +2 -0
  31. package/dist/core/bugHuntHotspotFindings.js +68 -0
  32. package/dist/core/bugHuntHotspotFindings.js.map +1 -0
  33. package/dist/core/bugHuntPreflightFindings.d.ts +3 -0
  34. package/dist/core/bugHuntPreflightFindings.js +115 -0
  35. package/dist/core/bugHuntPreflightFindings.js.map +1 -0
  36. package/dist/core/codeGraph.d.ts +2 -24
  37. package/dist/core/codeGraph.js +8 -119
  38. package/dist/core/codeGraph.js.map +1 -1
  39. package/dist/core/codeGraphAdapterContexts.d.ts +8 -0
  40. package/dist/core/codeGraphAdapterContexts.js +14 -0
  41. package/dist/core/codeGraphAdapterContexts.js.map +1 -0
  42. package/dist/core/codeGraphFileSelection.d.ts +7 -0
  43. package/dist/core/codeGraphFileSelection.js +19 -0
  44. package/dist/core/codeGraphFileSelection.js.map +1 -0
  45. package/dist/core/codeGraphIncremental.d.ts +17 -0
  46. package/dist/core/codeGraphIncremental.js +64 -0
  47. package/dist/core/codeGraphIncremental.js.map +1 -0
  48. package/dist/core/codeGraphQueries.d.ts +9 -0
  49. package/dist/core/codeGraphQueries.js +25 -0
  50. package/dist/core/codeGraphQueries.js.map +1 -0
  51. package/dist/core/collisionDetector.d.ts +1 -0
  52. package/dist/core/collisionDetector.js +3 -0
  53. package/dist/core/collisionDetector.js.map +1 -1
  54. package/dist/core/coordination.js +23 -5
  55. package/dist/core/coordination.js.map +1 -1
  56. package/dist/core/coordinationEvidence.d.ts +1 -0
  57. package/dist/core/coordinationEvidence.js.map +1 -1
  58. package/dist/core/dataflow.js +3 -338
  59. package/dist/core/dataflow.js.map +1 -1
  60. package/dist/core/dataflowDatabaseSinks.d.ts +8 -0
  61. package/dist/core/dataflowDatabaseSinks.js +78 -0
  62. package/dist/core/dataflowDatabaseSinks.js.map +1 -0
  63. package/dist/core/dataflowRiskAssembly.d.ts +11 -0
  64. package/dist/core/dataflowRiskAssembly.js +117 -0
  65. package/dist/core/dataflowRiskAssembly.js.map +1 -0
  66. package/dist/core/dataflowTraversal.d.ts +25 -0
  67. package/dist/core/dataflowTraversal.js +200 -0
  68. package/dist/core/dataflowTraversal.js.map +1 -0
  69. package/dist/core/fileInspectionReport.d.ts +13 -0
  70. package/dist/core/fileInspectionReport.js +49 -0
  71. package/dist/core/fileInspectionReport.js.map +1 -0
  72. package/dist/core/fileInspector.d.ts +3 -11
  73. package/dist/core/fileInspector.js +2 -46
  74. package/dist/core/fileInspector.js.map +1 -1
  75. package/dist/core/fixSuggest.d.ts +1 -9
  76. package/dist/core/fixSuggest.js +2 -58
  77. package/dist/core/fixSuggest.js.map +1 -1
  78. package/dist/core/fixSuggestDependencyNames.d.ts +1 -0
  79. package/dist/core/fixSuggestDependencyNames.js +9 -0
  80. package/dist/core/fixSuggestDependencyNames.js.map +1 -0
  81. package/dist/core/fixSuggestPreview.d.ts +10 -0
  82. package/dist/core/fixSuggestPreview.js +87 -0
  83. package/dist/core/fixSuggestPreview.js.map +1 -0
  84. package/dist/core/frameworkExpressSources.js +6 -31
  85. package/dist/core/frameworkExpressSources.js.map +1 -1
  86. package/dist/core/frameworkFastifySources.js +5 -22
  87. package/dist/core/frameworkFastifySources.js.map +1 -1
  88. package/dist/core/frameworkHonoSources.js +12 -24
  89. package/dist/core/frameworkHonoSources.js.map +1 -1
  90. package/dist/core/frameworkKoaSources.js +5 -24
  91. package/dist/core/frameworkKoaSources.js.map +1 -1
  92. package/dist/core/frameworkNextRouteSources.d.ts +6 -1
  93. package/dist/core/frameworkNextRouteSources.js +31 -1
  94. package/dist/core/frameworkNextRouteSources.js.map +1 -1
  95. package/dist/core/frameworkRemixSources.d.ts +2 -0
  96. package/dist/core/frameworkRemixSources.js +63 -0
  97. package/dist/core/frameworkRemixSources.js.map +1 -0
  98. package/dist/core/frameworkSourceContext.d.ts +15 -0
  99. package/dist/core/frameworkSourceContext.js +2 -0
  100. package/dist/core/frameworkSourceContext.js.map +1 -0
  101. package/dist/core/frameworkSourceMatching.d.ts +6 -0
  102. package/dist/core/frameworkSourceMatching.js +29 -0
  103. package/dist/core/frameworkSourceMatching.js.map +1 -0
  104. package/dist/core/frameworkSourceResolvers.d.ts +2 -0
  105. package/dist/core/frameworkSourceResolvers.js +45 -0
  106. package/dist/core/frameworkSourceResolvers.js.map +1 -0
  107. package/dist/core/frameworkSources.d.ts +3 -3
  108. package/dist/core/frameworkSources.js +17 -15
  109. package/dist/core/frameworkSources.js.map +1 -1
  110. package/dist/core/frameworkSvelteKitSources.d.ts +2 -0
  111. package/dist/core/frameworkSvelteKitSources.js +118 -0
  112. package/dist/core/frameworkSvelteKitSources.js.map +1 -0
  113. package/dist/core/intentRouter.d.ts +4 -14
  114. package/dist/core/intentRouter.js +2 -33
  115. package/dist/core/intentRouter.js.map +1 -1
  116. package/dist/core/intentRouterCatalog.js +49 -0
  117. package/dist/core/intentRouterCatalog.js.map +1 -1
  118. package/dist/core/intentRouterKeywordToolGuards.js +5 -0
  119. package/dist/core/intentRouterKeywordToolGuards.js.map +1 -1
  120. package/dist/core/intentRouterKeywordWeights.js +36 -0
  121. package/dist/core/intentRouterKeywordWeights.js.map +1 -1
  122. package/dist/core/intentRouterReleaseSignals.js +104 -39
  123. package/dist/core/intentRouterReleaseSignals.js.map +1 -1
  124. package/dist/core/intentRouterResolution.d.ts +3 -0
  125. package/dist/core/intentRouterResolution.js +11 -0
  126. package/dist/core/intentRouterResolution.js.map +1 -0
  127. package/dist/core/intentRouterResult.d.ts +16 -0
  128. package/dist/core/intentRouterResult.js +34 -0
  129. package/dist/core/intentRouterResult.js.map +1 -0
  130. package/dist/core/intentRouterWorkSignals.js +18 -0
  131. package/dist/core/intentRouterWorkSignals.js.map +1 -1
  132. package/dist/core/languages/pythonLockfiles.d.ts +4 -0
  133. package/dist/core/languages/pythonLockfiles.js +6 -2
  134. package/dist/core/languages/pythonLockfiles.js.map +1 -1
  135. package/dist/core/languages/pythonManifests.js +11 -24
  136. package/dist/core/languages/pythonManifests.js.map +1 -1
  137. package/dist/core/languages/pythonPep508.js +1 -1
  138. package/dist/core/languages/pythonPep508.js.map +1 -1
  139. package/dist/core/languages/pythonProjectEvidence.js +4 -4
  140. package/dist/core/languages/pythonProjectEvidence.js.map +1 -1
  141. package/dist/core/languages/pythonPyproject.js +1 -1
  142. package/dist/core/languages/pythonPyproject.js.map +1 -1
  143. package/dist/core/languages/pythonPyprojectEvidence.d.ts +7 -0
  144. package/dist/core/languages/pythonPyprojectEvidence.js +23 -0
  145. package/dist/core/languages/pythonPyprojectEvidence.js.map +1 -0
  146. package/dist/core/languages/pythonRequirements.d.ts +2 -0
  147. package/dist/core/languages/pythonRequirements.js +215 -24
  148. package/dist/core/languages/pythonRequirements.js.map +1 -1
  149. package/dist/core/pluginAnalyzerLoading.d.ts +3 -0
  150. package/dist/core/pluginAnalyzerLoading.js +55 -0
  151. package/dist/core/pluginAnalyzerLoading.js.map +1 -0
  152. package/dist/core/pluginAnalyzerRunning.d.ts +10 -0
  153. package/dist/core/pluginAnalyzerRunning.js +32 -0
  154. package/dist/core/pluginAnalyzerRunning.js.map +1 -0
  155. package/dist/core/pluginIssueValidation.d.ts +2 -0
  156. package/dist/core/pluginIssueValidation.js +22 -0
  157. package/dist/core/pluginIssueValidation.js.map +1 -0
  158. package/dist/core/pluginManifestDiscovery.d.ts +25 -0
  159. package/dist/core/pluginManifestDiscovery.js +80 -0
  160. package/dist/core/pluginManifestDiscovery.js.map +1 -0
  161. package/dist/core/pluginManifestValidation.d.ts +41 -0
  162. package/dist/core/pluginManifestValidation.js +179 -0
  163. package/dist/core/pluginManifestValidation.js.map +1 -0
  164. package/dist/core/pluginModuleLoading.d.ts +8 -0
  165. package/dist/core/pluginModuleLoading.js +91 -0
  166. package/dist/core/pluginModuleLoading.js.map +1 -0
  167. package/dist/core/pluginReporterLoading.d.ts +41 -0
  168. package/dist/core/pluginReporterLoading.js +105 -0
  169. package/dist/core/pluginReporterLoading.js.map +1 -0
  170. package/dist/core/pluginRuntimeTypes.d.ts +20 -0
  171. package/dist/core/pluginRuntimeTypes.js +2 -0
  172. package/dist/core/pluginRuntimeTypes.js.map +1 -0
  173. package/dist/core/plugins.d.ts +11 -126
  174. package/dist/core/plugins.js +13 -478
  175. package/dist/core/plugins.js.map +1 -1
  176. package/dist/core/preflight.d.ts +1 -2
  177. package/dist/core/preflight.js +4 -91
  178. package/dist/core/preflight.js.map +1 -1
  179. package/dist/core/preflightEvidence.js +11 -0
  180. package/dist/core/preflightEvidence.js.map +1 -1
  181. package/dist/core/preflightInputs.d.ts +1 -0
  182. package/dist/core/preflightInputs.js.map +1 -1
  183. package/dist/core/preflightReasons.d.ts +21 -0
  184. package/dist/core/preflightReasons.js +28 -0
  185. package/dist/core/preflightReasons.js.map +1 -0
  186. package/dist/core/preflightReport.d.ts +9 -0
  187. package/dist/core/preflightReport.js +67 -0
  188. package/dist/core/preflightReport.js.map +1 -0
  189. package/dist/core/regressionPlan.d.ts +2 -1
  190. package/dist/core/regressionPlan.js +7 -1
  191. package/dist/core/regressionPlan.js.map +1 -1
  192. package/dist/core/releaseEvidence.js +6 -120
  193. package/dist/core/releaseEvidence.js.map +1 -1
  194. package/dist/core/releaseEvidenceArtifacts.d.ts +3 -0
  195. package/dist/core/releaseEvidenceArtifacts.js +65 -0
  196. package/dist/core/releaseEvidenceArtifacts.js.map +1 -0
  197. package/dist/core/releaseEvidenceVerdict.d.ts +6 -0
  198. package/dist/core/releaseEvidenceVerdict.js +54 -0
  199. package/dist/core/releaseEvidenceVerdict.js.map +1 -0
  200. package/dist/core/reportPathRedaction.d.ts +4 -0
  201. package/dist/core/reportPathRedaction.js +64 -0
  202. package/dist/core/reportPathRedaction.js.map +1 -0
  203. package/dist/core/reportScope.js +2 -163
  204. package/dist/core/reportScope.js.map +1 -1
  205. package/dist/core/reportScopeFiltering.d.ts +9 -0
  206. package/dist/core/reportScopeFiltering.js +102 -0
  207. package/dist/core/reportScopeFiltering.js.map +1 -0
  208. package/dist/core/review.js +2 -47
  209. package/dist/core/review.js.map +1 -1
  210. package/dist/core/reviewChangedReport.d.ts +13 -0
  211. package/dist/core/reviewChangedReport.js +38 -0
  212. package/dist/core/reviewChangedReport.js.map +1 -0
  213. package/dist/core/reviewComputation.d.ts +9 -0
  214. package/dist/core/reviewComputation.js +14 -0
  215. package/dist/core/reviewComputation.js.map +1 -0
  216. package/dist/core/reviewContractChanges.js +22 -8
  217. package/dist/core/reviewContractChanges.js.map +1 -1
  218. package/dist/core/reviewDataflow.js +18 -0
  219. package/dist/core/reviewDataflow.js.map +1 -1
  220. package/dist/core/roadmapCatalog.js +7 -203
  221. package/dist/core/roadmapCatalog.js.map +1 -1
  222. package/dist/core/roadmapCatalogPost44.d.ts +2 -0
  223. package/dist/core/roadmapCatalogPost44.js +205 -0
  224. package/dist/core/roadmapCatalogPost44.js.map +1 -0
  225. package/dist/core/roadmapCatalogTypes.d.ts +6 -0
  226. package/dist/core/roadmapCatalogTypes.js +2 -0
  227. package/dist/core/roadmapCatalogTypes.js.map +1 -0
  228. package/dist/core/searchIndex.d.ts +2 -14
  229. package/dist/core/searchIndex.js +4 -227
  230. package/dist/core/searchIndex.js.map +1 -1
  231. package/dist/core/searchIndexFiles.d.ts +1 -0
  232. package/dist/core/searchIndexFiles.js +26 -0
  233. package/dist/core/searchIndexFiles.js.map +1 -0
  234. package/dist/core/searchIndexText.d.ts +15 -0
  235. package/dist/core/searchIndexText.js +204 -0
  236. package/dist/core/searchIndexText.js.map +1 -0
  237. package/dist/core/start.js +5 -46
  238. package/dist/core/start.js.map +1 -1
  239. package/dist/core/startClaimRouteCriteria.d.ts +7 -0
  240. package/dist/core/startClaimRouteCriteria.js +16 -0
  241. package/dist/core/startClaimRouteCriteria.js.map +1 -0
  242. package/dist/core/startCouplingRouteCriteria.d.ts +2 -0
  243. package/dist/core/startCouplingRouteCriteria.js +13 -0
  244. package/dist/core/startCouplingRouteCriteria.js.map +1 -0
  245. package/dist/core/startDependencyRouteCriteria.d.ts +2 -0
  246. package/dist/core/startDependencyRouteCriteria.js +43 -0
  247. package/dist/core/startDependencyRouteCriteria.js.map +1 -0
  248. package/dist/core/startEvidence.d.ts +1 -1
  249. package/dist/core/startEvidence.js +16 -1
  250. package/dist/core/startEvidence.js.map +1 -1
  251. package/dist/core/startFileRouteCriteria.d.ts +2 -0
  252. package/dist/core/startFileRouteCriteria.js +56 -0
  253. package/dist/core/startFileRouteCriteria.js.map +1 -0
  254. package/dist/core/startFixedRouteCriteria.d.ts +1 -0
  255. package/dist/core/startFixedRouteCriteria.js +90 -0
  256. package/dist/core/startFixedRouteCriteria.js.map +1 -0
  257. package/dist/core/startImpactRouteCriteria.d.ts +7 -0
  258. package/dist/core/startImpactRouteCriteria.js +14 -0
  259. package/dist/core/startImpactRouteCriteria.js.map +1 -0
  260. package/dist/core/startInputs.d.ts +1 -0
  261. package/dist/core/startInputs.js +4 -1
  262. package/dist/core/startInputs.js.map +1 -1
  263. package/dist/core/startIntentTargets.d.ts +1 -0
  264. package/dist/core/startIntentTargets.js +28 -0
  265. package/dist/core/startIntentTargets.js.map +1 -1
  266. package/dist/core/startMissionControl.js +8 -2
  267. package/dist/core/startMissionControl.js.map +1 -1
  268. package/dist/core/startMissionPolicy.js +12 -0
  269. package/dist/core/startMissionPolicy.js.map +1 -1
  270. package/dist/core/startMode.d.ts +1 -0
  271. package/dist/core/startMode.js +10 -2
  272. package/dist/core/startMode.js.map +1 -1
  273. package/dist/core/startPreflightRouteCriteria.d.ts +11 -0
  274. package/dist/core/startPreflightRouteCriteria.js +29 -0
  275. package/dist/core/startPreflightRouteCriteria.js.map +1 -0
  276. package/dist/core/startProductPlanningRouteCriteria.d.ts +8 -0
  277. package/dist/core/startProductPlanningRouteCriteria.js +29 -0
  278. package/dist/core/startProductPlanningRouteCriteria.js.map +1 -0
  279. package/dist/core/startRegressionRouteCriteria.d.ts +3 -0
  280. package/dist/core/startRegressionRouteCriteria.js +62 -0
  281. package/dist/core/startRegressionRouteCriteria.js.map +1 -0
  282. package/dist/core/startReportBuilder.d.ts +1 -0
  283. package/dist/core/startReportBuilder.js +1 -0
  284. package/dist/core/startReportBuilder.js.map +1 -1
  285. package/dist/core/startReportContext.d.ts +23 -0
  286. package/dist/core/startReportContext.js +51 -0
  287. package/dist/core/startReportContext.js.map +1 -0
  288. package/dist/core/startRoadmapPreview.d.ts +2 -0
  289. package/dist/core/startRoadmapPreview.js +31 -0
  290. package/dist/core/startRoadmapPreview.js.map +1 -0
  291. package/dist/core/startRouteActions.js +39 -1
  292. package/dist/core/startRouteActions.js.map +1 -1
  293. package/dist/core/startSuccessCriteria.d.ts +2 -3
  294. package/dist/core/startSuccessCriteria.js +15 -419
  295. package/dist/core/startSuccessCriteria.js.map +1 -1
  296. package/dist/core/startUnderstandRouteCriteria.d.ts +3 -0
  297. package/dist/core/startUnderstandRouteCriteria.js +97 -0
  298. package/dist/core/startUnderstandRouteCriteria.js.map +1 -0
  299. package/dist/core/taint.d.ts +2 -67
  300. package/dist/core/taint.js +41 -164
  301. package/dist/core/taint.js.map +1 -1
  302. package/dist/core/taintIndex.d.ts +20 -0
  303. package/dist/core/taintIndex.js +81 -0
  304. package/dist/core/taintIndex.js.map +1 -0
  305. package/dist/core/taintTraversal.d.ts +8 -0
  306. package/dist/core/taintTraversal.js +113 -0
  307. package/dist/core/taintTraversal.js.map +1 -0
  308. package/dist/core/taintTypes.d.ts +67 -0
  309. package/dist/core/taintTypes.js +2 -0
  310. package/dist/core/taintTypes.js.map +1 -0
  311. package/dist/core/telemetry.d.ts +9 -89
  312. package/dist/core/telemetry.js +35 -387
  313. package/dist/core/telemetry.js.map +1 -1
  314. package/dist/core/telemetryConfig.d.ts +58 -0
  315. package/dist/core/telemetryConfig.js +171 -0
  316. package/dist/core/telemetryConfig.js.map +1 -0
  317. package/dist/core/telemetryEvents.d.ts +57 -0
  318. package/dist/core/telemetryEvents.js +143 -0
  319. package/dist/core/telemetryEvents.js.map +1 -0
  320. package/dist/core/telemetryFlushing.d.ts +10 -0
  321. package/dist/core/telemetryFlushing.js +42 -0
  322. package/dist/core/telemetryFlushing.js.map +1 -0
  323. package/dist/core/telemetryRecording.d.ts +26 -0
  324. package/dist/core/telemetryRecording.js +38 -0
  325. package/dist/core/telemetryRecording.js.map +1 -0
  326. package/dist/core/telemetrySender.d.ts +9 -0
  327. package/dist/core/telemetrySender.js +22 -0
  328. package/dist/core/telemetrySender.js.map +1 -0
  329. package/dist/core/upgradePreviewPython.js +1 -1
  330. package/dist/core/upgradePreviewPython.js.map +1 -1
  331. package/dist/index.d.ts +4 -60
  332. package/dist/index.js +4 -60
  333. package/dist/index.js.map +1 -1
  334. package/dist/mcp/server.js +2 -13
  335. package/dist/mcp/server.js.map +1 -1
  336. package/dist/mcp/serverMessageHandling.d.ts +3 -0
  337. package/dist/mcp/serverMessageHandling.js +16 -0
  338. package/dist/mcp/serverMessageHandling.js.map +1 -0
  339. package/dist/mcp/toolDefinitions.d.ts +3 -0
  340. package/dist/mcp/toolDefinitions.js +15 -0
  341. package/dist/mcp/toolDefinitions.js.map +1 -0
  342. package/dist/mcp/tools.js +2 -13
  343. package/dist/mcp/tools.js.map +1 -1
  344. package/dist/projscan-sbom.cdx.json +6 -6
  345. package/dist/publicAgent.d.ts +22 -0
  346. package/dist/publicAgent.js +23 -0
  347. package/dist/publicAgent.js.map +1 -0
  348. package/dist/publicCore.d.ts +29 -0
  349. package/dist/publicCore.js +30 -0
  350. package/dist/publicCore.js.map +1 -0
  351. package/dist/publicLanguages.d.ts +1 -0
  352. package/dist/publicLanguages.js +2 -0
  353. package/dist/publicLanguages.js.map +1 -0
  354. package/dist/publicMcp.d.ts +8 -0
  355. package/dist/publicMcp.js +9 -0
  356. package/dist/publicMcp.js.map +1 -0
  357. package/dist/reporters/consoleFixReporter.d.ts +3 -0
  358. package/dist/reporters/consoleFixReporter.js +41 -0
  359. package/dist/reporters/consoleFixReporter.js.map +1 -0
  360. package/dist/reporters/consoleReporter.d.ts +1 -3
  361. package/dist/reporters/consoleReporter.js +1 -42
  362. package/dist/reporters/consoleReporter.js.map +1 -1
  363. package/dist/reporters/htmlAnalysisReporter.d.ts +3 -0
  364. package/dist/reporters/htmlAnalysisReporter.js +98 -0
  365. package/dist/reporters/htmlAnalysisReporter.js.map +1 -0
  366. package/dist/reporters/htmlCoverageReporter.d.ts +2 -0
  367. package/dist/reporters/htmlCoverageReporter.js +52 -0
  368. package/dist/reporters/htmlCoverageReporter.js.map +1 -0
  369. package/dist/reporters/htmlImpactReporter.d.ts +2 -0
  370. package/dist/reporters/htmlImpactReporter.js +41 -0
  371. package/dist/reporters/htmlImpactReporter.js.map +1 -0
  372. package/dist/reporters/htmlPrDiffReporter.d.ts +2 -0
  373. package/dist/reporters/htmlPrDiffReporter.js +84 -0
  374. package/dist/reporters/htmlPrDiffReporter.js.map +1 -0
  375. package/dist/reporters/htmlReporter.d.ts +20 -9
  376. package/dist/reporters/htmlReporter.js +7 -365
  377. package/dist/reporters/htmlReporter.js.map +1 -1
  378. package/dist/reporters/htmlReviewReporter.d.ts +2 -0
  379. package/dist/reporters/htmlReviewReporter.js +94 -0
  380. package/dist/reporters/htmlReviewReporter.js.map +1 -0
  381. package/dist/reporters/htmlShared.d.ts +7 -0
  382. package/dist/reporters/htmlShared.js +106 -0
  383. package/dist/reporters/htmlShared.js.map +1 -0
  384. package/dist/tool-manifest.json +2 -2
  385. package/dist/types/preflight.d.ts +19 -0
  386. package/dist/types/start.d.ts +7 -437
  387. package/dist/types/startCommon.d.ts +79 -0
  388. package/dist/types/startCommon.js +2 -0
  389. package/dist/types/startCommon.js.map +1 -0
  390. package/dist/types/startExecution.d.ts +44 -0
  391. package/dist/types/startExecution.js +2 -0
  392. package/dist/types/startExecution.js.map +1 -0
  393. package/dist/types/startMissionControl.d.ts +91 -0
  394. package/dist/types/startMissionControl.js +2 -0
  395. package/dist/types/startMissionControl.js.map +1 -0
  396. package/dist/types/startMissionProof.d.ts +91 -0
  397. package/dist/types/startMissionProof.js +2 -0
  398. package/dist/types/startMissionProof.js.map +1 -0
  399. package/dist/types/startMissionResume.d.ts +100 -0
  400. package/dist/types/startMissionResume.js +2 -0
  401. package/dist/types/startMissionResume.js.map +1 -0
  402. package/dist/types/startMissionReview.d.ts +45 -0
  403. package/dist/types/startMissionReview.js +2 -0
  404. package/dist/types/startMissionReview.js.map +1 -0
  405. package/dist/types/startMissionTooling.d.ts +16 -0
  406. package/dist/types/startMissionTooling.js +2 -0
  407. package/dist/types/startMissionTooling.js.map +1 -0
  408. package/dist/utils/changedFiles.d.ts +1 -0
  409. package/dist/utils/changedFiles.js +7 -4
  410. package/dist/utils/changedFiles.js.map +1 -1
  411. package/docs/GUIDE.md +9 -7
  412. package/docs/ROADMAP.md +18 -7
  413. package/docs/examples/adoption-workflows.md +12 -1
  414. package/docs/examples/swarm-coordination.md +11 -2
  415. package/package.json +1 -1
@@ -0,0 +1,106 @@
1
+ const STYLE = `
2
+ :root {
3
+ color-scheme: light dark;
4
+ }
5
+ * { box-sizing: border-box; }
6
+ body {
7
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
8
+ margin: 0;
9
+ padding: 2rem;
10
+ max-width: 1100px;
11
+ margin-inline: auto;
12
+ line-height: 1.5;
13
+ color: #222;
14
+ background: #fafafa;
15
+ }
16
+ @media (prefers-color-scheme: dark) {
17
+ body { color: #ddd; background: #181818; }
18
+ .card { background: #222; border-color: #333; }
19
+ table { background: #222; }
20
+ th { background: #2a2a2a; }
21
+ tr:nth-child(even) td { background: #1f1f1f; }
22
+ code { background: #2a2a2a; }
23
+ a { color: #6cb6ff; }
24
+ }
25
+ h1 { margin-top: 0; font-size: 1.6rem; }
26
+ h2 { margin-top: 2rem; font-size: 1.2rem; border-bottom: 1px solid #ccc; padding-bottom: 0.3rem; }
27
+ .card {
28
+ background: #fff;
29
+ border: 1px solid #ddd;
30
+ border-radius: 8px;
31
+ padding: 1rem 1.2rem;
32
+ margin-bottom: 1rem;
33
+ }
34
+ .score { font-size: 2.5rem; font-weight: 700; }
35
+ .grade-A, .grade-A\\+ { color: #1a8a4a; }
36
+ .grade-B { color: #4a8a1a; }
37
+ .grade-C { color: #c79100; }
38
+ .grade-D { color: #d6582d; }
39
+ .grade-F { color: #d63333; }
40
+ table { width: 100%; border-collapse: collapse; margin: 0.5rem 0; background: #fff; }
41
+ th, td { padding: 0.4rem 0.6rem; text-align: left; border-bottom: 1px solid #eee; }
42
+ th { background: #f3f3f3; font-weight: 600; }
43
+ tr:nth-child(even) td { background: #f9f9f9; }
44
+ code { background: #f0f0f0; padding: 0.05em 0.4em; border-radius: 3px; font-size: 0.95em; }
45
+ .severity-error { color: #d63333; }
46
+ .severity-warning { color: #c79100; }
47
+ .severity-info { color: #4a6a8a; }
48
+ .muted { color: #888; font-size: 0.9rem; }
49
+ .verdict-ok { color: #1a8a4a; font-weight: 700; }
50
+ .verdict-review { color: #c79100; font-weight: 700; }
51
+ .verdict-block { color: #d63333; font-weight: 700; }
52
+ .right { text-align: right; }
53
+ .tag { display: inline-block; padding: 0.05em 0.5em; border-radius: 3px; background: #e8e8e8; font-size: 0.85em; }
54
+ .tag-new { background: #ffd6d6; color: #8a0000; }
55
+ .tag-expanded { background: #fff3c4; color: #6a4a00; }
56
+ `.trim();
57
+ /** Wrap inner HTML in a complete document. Title is required for accessibility. */
58
+ export function htmlShell(title, bodyHtml) {
59
+ return `<!DOCTYPE html>
60
+ <html lang="en">
61
+ <head>
62
+ <meta charset="UTF-8">
63
+ <meta name="viewport" content="width=device-width, initial-scale=1">
64
+ <title>${escapeHtml(title)}</title>
65
+ <style>${STYLE}</style>
66
+ </head>
67
+ <body>
68
+ ${bodyHtml}
69
+ <footer class="muted" style="margin-top: 3rem; padding-top: 1rem; border-top: 1px solid #ccc;">
70
+ Generated by <a href="https://github.com/abhiyoheswaran1/projscan">projscan</a> at ${new Date().toISOString()}
71
+ </footer>
72
+ </body>
73
+ </html>`;
74
+ }
75
+ export function escapeHtml(s) {
76
+ return s
77
+ .replace(/&/g, '&amp;')
78
+ .replace(/</g, '&lt;')
79
+ .replace(/>/g, '&gt;')
80
+ .replace(/"/g, '&quot;')
81
+ .replace(/'/g, '&#39;');
82
+ }
83
+ export function severityIcon(s) {
84
+ switch (s) {
85
+ case 'error':
86
+ return '✕';
87
+ case 'warning':
88
+ return '!';
89
+ default:
90
+ return 'i';
91
+ }
92
+ }
93
+ export function signed(n) {
94
+ return n >= 0 ? `+${n}` : String(n);
95
+ }
96
+ export function reportControlsHtml(reportControls) {
97
+ if (!reportControls)
98
+ return '';
99
+ const redaction = reportControls.redactPaths
100
+ ? (reportControls.pathLabelFormat ?? 'enabled')
101
+ : 'disabled';
102
+ return `<div class="card">
103
+ <strong>Report controls:</strong> active; scopes: ${reportControls.scopeCount}; path redaction: ${escapeHtml(redaction)}.
104
+ </div>`;
105
+ }
106
+ //# sourceMappingURL=htmlShared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlShared.js","sourceRoot":"","sources":["../../src/reporters/htmlShared.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDb,CAAC,IAAI,EAAE,CAAC;AAET,mFAAmF;AACnF,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,QAAgB;IACvD,OAAO;;;;;SAKA,UAAU,CAAC,KAAK,CAAC;SACjB,KAAK;;;EAGZ,QAAQ;;qFAE2E,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;QAGrG,CAAC;AACT,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAA+B;IAC1D,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,OAAO;YACV,OAAO,GAAG,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC;QACb;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,cAAkD;IACnF,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW;QAC1C,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,IAAI,SAAS,CAAC;QAC/C,CAAC,CAAC,UAAU,CAAC;IACf,OAAO;oDAC2C,cAAc,CAAC,UAAU,qBAAqB,UAAU,CAAC,SAAS,CAAC;OAChH,CAAC;AACR,CAAC"}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "projscan",
3
- "version": "4.6.0",
3
+ "version": "4.8.0",
4
4
  "mcpProtocolVersion": null,
5
- "generatedAt": "2026-06-17T15:59:22.201Z",
5
+ "generatedAt": "2026-06-18T04:20:35.546Z",
6
6
  "toolCount": 45,
7
7
  "tools": [
8
8
  {
@@ -105,6 +105,25 @@ export interface PreflightEvidence {
105
105
  medium: number;
106
106
  };
107
107
  contendedClaims: number;
108
+ commandPath?: string;
109
+ command?: string;
110
+ localOnly?: true;
111
+ currentWorktree?: {
112
+ path: string;
113
+ branch: string | null;
114
+ changedFileCount: number;
115
+ uncommittedChangedFileCount: number;
116
+ baseRef: string | null;
117
+ } | null;
118
+ validationWorkflow?: Array<{
119
+ command: string;
120
+ purpose: string;
121
+ }>;
122
+ sessionSeparation?: {
123
+ currentEvidence: string;
124
+ rememberedContext: string;
125
+ command: string;
126
+ };
108
127
  };
109
128
  }
110
129
  export interface PreflightReport {
@@ -1,437 +1,7 @@
1
- import type { PreflightSuggestedAction, PreflightVerdict } from './preflight.js';
2
- import type { FixFirstRecommendation, WorkplanMode, WorkplanPriority } from './workplan.js';
3
- import type { WorkplanHandoffPayload } from './workplanHandoff.js';
4
- import type { QualityScorecardVerdict } from './qualityScorecard.js';
5
- import type { SessionCoordinationHint } from './session.js';
6
- export interface StartWorkflowRecommendation {
7
- id: string;
8
- name: string;
9
- why: string;
10
- commands: string[];
11
- mcpTools: string[];
12
- }
13
- export interface StartRisk {
14
- id: string;
15
- priority: WorkplanPriority;
16
- title: string;
17
- source: string;
18
- files: string[];
19
- command: string;
20
- }
21
- export interface StartAdoptionGap {
22
- id: string;
23
- status: 'info' | 'warn' | 'fail';
24
- title: string;
25
- summary: string;
26
- command?: string;
27
- }
28
- export interface StartAdoptionLoopMetric {
29
- id: string;
30
- label: string;
31
- target: string;
32
- command?: string;
33
- }
34
- export interface StartAdoptionLoop {
35
- cadence: 'every_pr';
36
- why: string;
37
- metrics: StartAdoptionLoopMetric[];
38
- nextCommands: string[];
39
- }
40
- export interface StartFirstTenMinutesStep {
41
- id: string;
42
- label: string;
43
- why: string;
44
- command: string;
45
- }
46
- export interface StartFirstTenMinutes {
47
- title: string;
48
- outcome: string;
49
- commands: StartFirstTenMinutesStep[];
50
- }
51
- export type StartModeSource = 'explicit' | 'intent' | 'default';
52
- export type StartMissionControlStatus = 'ready' | 'needs_setup' | 'needs_attention' | 'blocked';
53
- export interface StartRoutedIntent {
54
- intent: string;
55
- category: string;
56
- tool: string;
57
- cli: string;
58
- why: string;
59
- example: string;
60
- confidence: 'high' | 'medium' | 'low';
61
- rank: number;
62
- score: number;
63
- matchedKeywords: string[];
64
- }
65
- export interface StartUnresolvedInput {
66
- name: string;
67
- placeholder: string;
68
- sourceAction: string;
69
- instruction: string;
70
- }
71
- export interface StartMissionResumeReference {
72
- id: string;
73
- phaseId: StartExecutionPhaseId;
74
- kind: StartExecutionStepKind;
75
- status: StartExecutionStatus;
76
- label: string;
77
- instruction?: string;
78
- command?: string;
79
- placeholder?: string;
80
- }
81
- export interface StartMissionToolCall {
82
- tool: string;
83
- args?: Record<string, unknown>;
84
- }
85
- export interface StartMissionProofToolCall extends StartMissionToolCall {
86
- stepId: string;
87
- command: string;
88
- }
89
- export interface StartMissionProofItem {
90
- stepId: string;
91
- status: StartExecutionStatus;
92
- label: string;
93
- command: string;
94
- toolCall?: StartMissionToolCall;
95
- }
96
- export interface StartMissionInputBinding {
97
- inputId: string;
98
- label: string;
99
- placeholder: string;
100
- instruction: string;
101
- followUpIds: string[];
102
- }
103
- export type StartMissionResumeChecklistItemKind = 'run_current' | 'resolve_input' | 'run_follow_up' | 'run_proof' | 'confirm_done';
104
- export interface StartMissionResumeChecklistItem {
105
- id: string;
106
- kind: StartMissionResumeChecklistItemKind;
107
- phaseId: StartExecutionPhaseId;
108
- stepId: string;
109
- status: StartExecutionStatus;
110
- label: string;
111
- command?: string;
112
- tool?: string;
113
- args?: Record<string, unknown>;
114
- placeholder?: string;
115
- instruction?: string;
116
- blockedBy?: string[];
117
- dependsOn?: string[];
118
- unlocks?: string[];
119
- followUpIds?: string[];
120
- }
121
- export interface StartMissionResumeFollowUp {
122
- id: string;
123
- phaseId: StartExecutionPhaseId;
124
- kind: StartExecutionStepKind;
125
- status: StartExecutionStatus;
126
- label: string;
127
- command?: string;
128
- tool?: string;
129
- args?: Record<string, unknown>;
130
- blockedBy?: string[];
131
- dependsOn?: string[];
132
- }
133
- export interface StartMissionResume {
134
- currentStep: StartExecutionCursor;
135
- status: StartExecutionStatus;
136
- instruction: string;
137
- prompt: string;
138
- commandBlock?: string;
139
- toolCall?: StartMissionToolCall;
140
- followUps?: StartMissionResumeFollowUp[];
141
- inputBindings?: StartMissionInputBinding[];
142
- checklist?: StartMissionResumeChecklistItem[];
143
- remainingProofItems?: StartMissionProofItem[];
144
- remainingProofCommands?: string[];
145
- remainingProofToolCalls?: StartMissionProofToolCall[];
146
- unlocks?: StartMissionResumeReference[];
147
- blockedBy?: StartMissionResumeReference[];
148
- }
149
- export interface StartMissionHandoff {
150
- currentStep: StartExecutionCursor;
151
- resume: StartMissionResume;
152
- reviewGate: StartMissionReviewGate;
153
- nextAction: PreflightSuggestedAction;
154
- readyActions: PreflightSuggestedAction[];
155
- needsInput: StartUnresolvedInput[];
156
- doneWhen: string[];
157
- readyProof: {
158
- summary: string;
159
- commands: string[];
160
- toolCalls?: StartMissionProofToolCall[];
161
- items?: StartMissionProofItem[];
162
- };
163
- }
164
- export type StartExecutionPhaseId = 'next_action' | 'ready_now' | 'resolve_inputs' | 'follow_up' | 'proof' | 'done_when';
165
- export type StartExecutionStatus = 'ready' | 'blocked' | 'pending';
166
- export type StartExecutionStepKind = 'tool' | 'input' | 'proof' | 'criterion' | 'handoff';
167
- export interface StartExecutionStep {
168
- id: string;
169
- kind: StartExecutionStepKind;
170
- status: StartExecutionStatus;
171
- label: string;
172
- command?: string;
173
- tool?: string;
174
- args?: Record<string, unknown>;
175
- instruction?: string;
176
- placeholder?: string;
177
- dependsOn?: string[];
178
- blockedBy?: string[];
179
- unlocks?: string[];
180
- }
181
- export interface StartExecutionPhase {
182
- id: StartExecutionPhaseId;
183
- title: string;
184
- status: StartExecutionStatus;
185
- steps: StartExecutionStep[];
186
- }
187
- export interface StartExecutionCursor {
188
- phaseId: StartExecutionPhaseId;
189
- stepId: string;
190
- status: StartExecutionStatus;
191
- kind: StartExecutionStepKind;
192
- label: string;
193
- command?: string;
194
- tool?: string;
195
- args?: Record<string, unknown>;
196
- instruction?: string;
197
- placeholder?: string;
198
- blockedBy?: string[];
199
- unlocks?: string[];
200
- reason: string;
201
- }
202
- export interface StartExecutionPlan {
203
- summary: string;
204
- currentPhase: StartExecutionPhaseId;
205
- cursor: StartExecutionCursor;
206
- phases: StartExecutionPhase[];
207
- }
208
- export interface StartMissionRunbook {
209
- title: string;
210
- status: StartMissionControlStatus;
211
- currentPhase: StartExecutionPhaseId;
212
- currentStep: StartExecutionCursor;
213
- resume: StartMissionResume;
214
- readyCommandBlock: string;
215
- blockedInputSummary?: string;
216
- markdown: string;
217
- }
218
- export interface StartMissionReviewWorktree {
219
- available: boolean;
220
- clean: boolean;
221
- changedFileCount: number;
222
- files: string[];
223
- baseRef: string | null;
224
- summary: string;
225
- reason?: string;
226
- }
227
- export interface StartMissionReviewProof {
228
- summary: string;
229
- commands: string[];
230
- toolCalls?: StartMissionProofToolCall[];
231
- items?: StartMissionProofItem[];
232
- }
233
- export type StartMissionReviewBlockedAction = 'next_slice' | 'release' | 'publish' | 'deploy' | 'push' | 'merge' | 'version_bump';
234
- export interface StartMissionReviewPolicy {
235
- approvalRequired: true;
236
- blockedActions: StartMissionReviewBlockedAction[];
237
- summary: string;
238
- }
239
- export interface StartMissionReviewDecision {
240
- id: 'approve_next_slice' | 'request_changes' | 'review_version_candidate';
241
- label: string;
242
- description: string;
243
- consequence: string;
244
- reply: string;
245
- }
246
- export interface StartMissionReviewGate {
247
- title: string;
248
- required: true;
249
- status: StartMissionControlStatus;
250
- stopCondition: string;
251
- reviewPrompt: string;
252
- checklist: string[];
253
- doneWhen: string[];
254
- policy: StartMissionReviewPolicy;
255
- decisions: StartMissionReviewDecision[];
256
- commands: string[];
257
- worktree: StartMissionReviewWorktree;
258
- proof: StartMissionReviewProof;
259
- markdown: string;
260
- }
261
- export type MissionRunStatus = 'not_run' | 'running' | 'passed' | 'failed' | 'unknown';
262
- export interface MissionProofStatusRow {
263
- id: string;
264
- label?: string;
265
- log?: string;
266
- command?: string;
267
- exitCode?: number;
268
- }
269
- export interface MissionReviewDecisionRecord {
270
- decision: 'approve_next_slice' | 'request_changes' | 'review_version_candidate' | string;
271
- reviewer?: string;
272
- at?: string;
273
- note?: string;
274
- }
275
- export interface MissionOutcome {
276
- schemaVersion: 1;
277
- available: boolean;
278
- missionDir: string;
279
- status: MissionRunStatus;
280
- reason?: string;
281
- nextAction?: string;
282
- proof: {
283
- completedCommands: number;
284
- failedCommands: number;
285
- reruns: number;
286
- totalCommands?: number;
287
- failedStep?: string;
288
- failedLog?: string;
289
- exitCode?: number;
290
- rows: MissionProofStatusRow[];
291
- };
292
- review: {
293
- decisions: MissionReviewDecisionRecord[];
294
- approvals: number;
295
- changeRequests: number;
296
- versionCandidateReviews: number;
297
- };
298
- whatChanged: string[];
299
- whatRemains: string[];
300
- versionCandidate: {
301
- recommendation: 'run_proof' | 'wait' | 'review_candidate' | 'do_not_cut';
302
- summary: string;
303
- };
304
- resumePrompt: string;
305
- }
306
- export interface MissionProofBaselineRun {
307
- id: string;
308
- status: MissionRunStatus;
309
- failedGates?: number;
310
- reruns?: number;
311
- minutesSpent?: number;
312
- reviewerApprovals?: number;
313
- }
314
- export interface MissionProofTotals {
315
- missions: number;
316
- passed: number;
317
- failed: number;
318
- running: number;
319
- notRun: number;
320
- unavailable: number;
321
- proofCompletionRate: number;
322
- reruns: number;
323
- failedGates: number;
324
- reviewerApprovals: number;
325
- }
326
- export interface MissionProofReport {
327
- schemaVersion: 1;
328
- readOnly: true;
329
- rootPath: string;
330
- summary: string;
331
- missionControl: {
332
- missions: MissionOutcome[];
333
- totals: MissionProofTotals;
334
- };
335
- baseline?: {
336
- path: string;
337
- runs: MissionProofBaselineRun[];
338
- totals: MissionProofTotals & {
339
- minutesSpent: number;
340
- };
341
- };
342
- comparison?: {
343
- completionRateDelta: number;
344
- rerunsAvoided: number;
345
- failedGatesAvoided: number;
346
- minutesSaved: number;
347
- };
348
- riskAvoided: string[];
349
- nextActions: PreflightSuggestedAction[];
350
- }
351
- export interface StartMissionTaskCard {
352
- title: string;
353
- status: StartMissionControlStatus;
354
- currentPhase: StartExecutionPhaseId;
355
- currentStep: StartExecutionCursor;
356
- markdown: string;
357
- }
358
- export interface StartMissionControl {
359
- intent?: string;
360
- status: StartMissionControlStatus;
361
- headline: string;
362
- whyNow: string;
363
- primaryAction: PreflightSuggestedAction;
364
- actionPlan: PreflightSuggestedAction[];
365
- readyActions: PreflightSuggestedAction[];
366
- routedIntent?: StartRoutedIntent;
367
- alternatives?: StartRoutedIntent[];
368
- unresolvedInputs: StartUnresolvedInput[];
369
- guardrails: PreflightSuggestedAction[];
370
- successCriteria: string[];
371
- proofSummary: string;
372
- proofCommands: string[];
373
- resume: StartMissionResume;
374
- handoff: StartMissionHandoff;
375
- executionPlan: StartExecutionPlan;
376
- runbook: StartMissionRunbook;
377
- reviewGate: StartMissionReviewGate;
378
- taskCard: StartMissionTaskCard;
379
- outcome?: MissionOutcome;
380
- handoffPrompt: string;
381
- }
382
- export interface StartReport {
383
- schemaVersion: 1;
384
- readOnly: true;
385
- rootPath: string;
386
- mode: WorkplanMode;
387
- modeSource: StartModeSource;
388
- modeReason: string;
389
- summary: string;
390
- setup: {
391
- overall: 'pass' | 'warn' | 'fail' | 'info';
392
- diagnostics: Array<{
393
- id: string;
394
- label: string;
395
- status: 'pass' | 'warn' | 'fail' | 'info';
396
- summary: string;
397
- detail?: string;
398
- command?: string;
399
- }>;
400
- };
401
- recommendedWorkflow: StartWorkflowRecommendation;
402
- firstTenMinutes: StartFirstTenMinutes;
403
- missionControl: StartMissionControl;
404
- coordinationHints: SessionCoordinationHint[];
405
- evidence: {
406
- workplanVerdict: PreflightVerdict;
407
- workplanSummary: string;
408
- qualityVerdict: QualityScorecardVerdict;
409
- qualitySummary: string;
410
- healthScore: number;
411
- mcpReady: boolean;
412
- riskSources: {
413
- currentWorktree: {
414
- kind: 'current-worktree';
415
- available: boolean;
416
- count: number;
417
- files: string[];
418
- baseRef: string | null;
419
- reason?: string;
420
- };
421
- sessionMemory: {
422
- kind: 'remembered-session';
423
- touchedFiles: string[];
424
- totalTouchedFiles: number;
425
- note: string;
426
- truncated?: boolean;
427
- };
428
- };
429
- };
430
- topRisks: StartRisk[];
431
- fixFirst?: FixFirstRecommendation;
432
- adoptionGaps: StartAdoptionGap[];
433
- adoptionLoop?: StartAdoptionLoop;
434
- nextActions: PreflightSuggestedAction[];
435
- handoff?: WorkplanHandoffPayload;
436
- truncated?: boolean;
437
- }
1
+ export type * from './startCommon.js';
2
+ export type * from './startExecution.js';
3
+ export type * from './startMissionControl.js';
4
+ export type * from './startMissionProof.js';
5
+ export type * from './startMissionResume.js';
6
+ export type * from './startMissionReview.js';
7
+ export type * from './startMissionTooling.js';
@@ -0,0 +1,79 @@
1
+ import type { WorkplanPriority } from './workplan.js';
2
+ export interface StartWorkflowRecommendation {
3
+ id: string;
4
+ name: string;
5
+ why: string;
6
+ commands: string[];
7
+ mcpTools: string[];
8
+ }
9
+ export interface StartRisk {
10
+ id: string;
11
+ priority: WorkplanPriority;
12
+ title: string;
13
+ source: string;
14
+ files: string[];
15
+ command: string;
16
+ }
17
+ export interface StartAdoptionGap {
18
+ id: string;
19
+ status: 'info' | 'warn' | 'fail';
20
+ title: string;
21
+ summary: string;
22
+ command?: string;
23
+ }
24
+ export interface StartAdoptionLoopMetric {
25
+ id: string;
26
+ label: string;
27
+ target: string;
28
+ command?: string;
29
+ }
30
+ export interface StartAdoptionLoop {
31
+ cadence: 'every_pr';
32
+ why: string;
33
+ metrics: StartAdoptionLoopMetric[];
34
+ nextCommands: string[];
35
+ }
36
+ export interface StartRoadmapWorkstream {
37
+ id: string;
38
+ title: string;
39
+ priority: WorkplanPriority;
40
+ track: string;
41
+ verificationCommand?: string;
42
+ }
43
+ export interface StartRoadmapPreview {
44
+ policy: 'product-readiness-plan';
45
+ readOnly: true;
46
+ lines: string[];
47
+ workstreams: StartRoadmapWorkstream[];
48
+ }
49
+ export interface StartFirstTenMinutesStep {
50
+ id: string;
51
+ label: string;
52
+ why: string;
53
+ command: string;
54
+ }
55
+ export interface StartFirstTenMinutes {
56
+ title: string;
57
+ outcome: string;
58
+ commands: StartFirstTenMinutesStep[];
59
+ }
60
+ export type StartModeSource = 'explicit' | 'intent' | 'default';
61
+ export type StartMissionControlStatus = 'ready' | 'needs_setup' | 'needs_attention' | 'blocked';
62
+ export interface StartRoutedIntent {
63
+ intent: string;
64
+ category: string;
65
+ tool: string;
66
+ cli: string;
67
+ why: string;
68
+ example: string;
69
+ confidence: 'high' | 'medium' | 'low';
70
+ rank: number;
71
+ score: number;
72
+ matchedKeywords: string[];
73
+ }
74
+ export interface StartUnresolvedInput {
75
+ name: string;
76
+ placeholder: string;
77
+ sourceAction: string;
78
+ instruction: string;
79
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=startCommon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startCommon.js","sourceRoot":"","sources":["../../src/types/startCommon.ts"],"names":[],"mappings":""}