projscan 4.7.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 (278) hide show
  1. package/README.md +22 -22
  2. package/dist/cli/commands/start.js +5 -28
  3. package/dist/cli/commands/start.js.map +1 -1
  4. package/dist/cli/commands/startOptionsRegistration.d.ts +2 -0
  5. package/dist/cli/commands/startOptionsRegistration.js +29 -0
  6. package/dist/cli/commands/startOptionsRegistration.js.map +1 -0
  7. package/dist/core/ast.d.ts +2 -17
  8. package/dist/core/ast.js +4 -33
  9. package/dist/core/ast.js.map +1 -1
  10. package/dist/core/astResult.d.ts +20 -0
  11. package/dist/core/astResult.js +39 -0
  12. package/dist/core/astResult.js.map +1 -0
  13. package/dist/core/codeGraph.d.ts +1 -16
  14. package/dist/core/codeGraph.js +4 -89
  15. package/dist/core/codeGraph.js.map +1 -1
  16. package/dist/core/codeGraphAdapterContexts.d.ts +8 -0
  17. package/dist/core/codeGraphAdapterContexts.js +14 -0
  18. package/dist/core/codeGraphAdapterContexts.js.map +1 -0
  19. package/dist/core/codeGraphIncremental.d.ts +17 -0
  20. package/dist/core/codeGraphIncremental.js +64 -0
  21. package/dist/core/codeGraphIncremental.js.map +1 -0
  22. package/dist/core/collisionDetector.d.ts +1 -0
  23. package/dist/core/collisionDetector.js +3 -0
  24. package/dist/core/collisionDetector.js.map +1 -1
  25. package/dist/core/coordination.js +23 -5
  26. package/dist/core/coordination.js.map +1 -1
  27. package/dist/core/coordinationEvidence.d.ts +1 -0
  28. package/dist/core/coordinationEvidence.js.map +1 -1
  29. package/dist/core/frameworkExpressSources.js +6 -31
  30. package/dist/core/frameworkExpressSources.js.map +1 -1
  31. package/dist/core/frameworkFastifySources.js +5 -22
  32. package/dist/core/frameworkFastifySources.js.map +1 -1
  33. package/dist/core/frameworkHonoSources.js +5 -24
  34. package/dist/core/frameworkHonoSources.js.map +1 -1
  35. package/dist/core/frameworkKoaSources.js +5 -24
  36. package/dist/core/frameworkKoaSources.js.map +1 -1
  37. package/dist/core/frameworkSourceContext.d.ts +15 -0
  38. package/dist/core/frameworkSourceContext.js +2 -0
  39. package/dist/core/frameworkSourceContext.js.map +1 -0
  40. package/dist/core/frameworkSourceMatching.d.ts +6 -0
  41. package/dist/core/frameworkSourceMatching.js +29 -0
  42. package/dist/core/frameworkSourceMatching.js.map +1 -0
  43. package/dist/core/frameworkSourceResolvers.d.ts +2 -0
  44. package/dist/core/frameworkSourceResolvers.js +45 -0
  45. package/dist/core/frameworkSourceResolvers.js.map +1 -0
  46. package/dist/core/frameworkSources.d.ts +2 -14
  47. package/dist/core/frameworkSources.js +9 -38
  48. package/dist/core/frameworkSources.js.map +1 -1
  49. package/dist/core/frameworkSvelteKitSources.d.ts +2 -0
  50. package/dist/core/frameworkSvelteKitSources.js +118 -0
  51. package/dist/core/frameworkSvelteKitSources.js.map +1 -0
  52. package/dist/core/intentRouter.d.ts +1 -1
  53. package/dist/core/intentRouter.js +2 -8
  54. package/dist/core/intentRouter.js.map +1 -1
  55. package/dist/core/intentRouterCatalog.js +32 -0
  56. package/dist/core/intentRouterCatalog.js.map +1 -1
  57. package/dist/core/intentRouterKeywordToolGuards.js +5 -0
  58. package/dist/core/intentRouterKeywordToolGuards.js.map +1 -1
  59. package/dist/core/intentRouterKeywordWeights.js +23 -0
  60. package/dist/core/intentRouterKeywordWeights.js.map +1 -1
  61. package/dist/core/intentRouterReleaseSignals.js +3 -18
  62. package/dist/core/intentRouterReleaseSignals.js.map +1 -1
  63. package/dist/core/intentRouterResolution.d.ts +3 -0
  64. package/dist/core/intentRouterResolution.js +11 -0
  65. package/dist/core/intentRouterResolution.js.map +1 -0
  66. package/dist/core/languages/pythonManifests.js +6 -19
  67. package/dist/core/languages/pythonManifests.js.map +1 -1
  68. package/dist/core/languages/pythonPep508.js +1 -1
  69. package/dist/core/languages/pythonPep508.js.map +1 -1
  70. package/dist/core/languages/pythonProjectEvidence.js +4 -4
  71. package/dist/core/languages/pythonProjectEvidence.js.map +1 -1
  72. package/dist/core/languages/pythonPyproject.js +1 -1
  73. package/dist/core/languages/pythonPyproject.js.map +1 -1
  74. package/dist/core/languages/pythonPyprojectEvidence.d.ts +7 -0
  75. package/dist/core/languages/pythonPyprojectEvidence.js +23 -0
  76. package/dist/core/languages/pythonPyprojectEvidence.js.map +1 -0
  77. package/dist/core/languages/pythonRequirements.d.ts +2 -0
  78. package/dist/core/languages/pythonRequirements.js +74 -9
  79. package/dist/core/languages/pythonRequirements.js.map +1 -1
  80. package/dist/core/pluginAnalyzerLoading.d.ts +3 -0
  81. package/dist/core/pluginAnalyzerLoading.js +55 -0
  82. package/dist/core/pluginAnalyzerLoading.js.map +1 -0
  83. package/dist/core/pluginAnalyzerRunning.d.ts +10 -0
  84. package/dist/core/pluginAnalyzerRunning.js +32 -0
  85. package/dist/core/pluginAnalyzerRunning.js.map +1 -0
  86. package/dist/core/pluginIssueValidation.d.ts +2 -0
  87. package/dist/core/pluginIssueValidation.js +22 -0
  88. package/dist/core/pluginIssueValidation.js.map +1 -0
  89. package/dist/core/pluginManifestDiscovery.d.ts +25 -0
  90. package/dist/core/pluginManifestDiscovery.js +80 -0
  91. package/dist/core/pluginManifestDiscovery.js.map +1 -0
  92. package/dist/core/pluginModuleLoading.d.ts +8 -0
  93. package/dist/core/pluginModuleLoading.js +91 -0
  94. package/dist/core/pluginModuleLoading.js.map +1 -0
  95. package/dist/core/pluginReporterLoading.d.ts +41 -0
  96. package/dist/core/pluginReporterLoading.js +105 -0
  97. package/dist/core/pluginReporterLoading.js.map +1 -0
  98. package/dist/core/pluginRuntimeTypes.d.ts +20 -0
  99. package/dist/core/pluginRuntimeTypes.js +2 -0
  100. package/dist/core/pluginRuntimeTypes.js.map +1 -0
  101. package/dist/core/plugins.d.ts +9 -86
  102. package/dist/core/plugins.js +12 -350
  103. package/dist/core/plugins.js.map +1 -1
  104. package/dist/core/preflight.d.ts +1 -2
  105. package/dist/core/preflight.js +4 -91
  106. package/dist/core/preflight.js.map +1 -1
  107. package/dist/core/preflightEvidence.js +11 -0
  108. package/dist/core/preflightEvidence.js.map +1 -1
  109. package/dist/core/preflightInputs.d.ts +1 -0
  110. package/dist/core/preflightInputs.js.map +1 -1
  111. package/dist/core/preflightReasons.d.ts +21 -0
  112. package/dist/core/preflightReasons.js +28 -0
  113. package/dist/core/preflightReasons.js.map +1 -0
  114. package/dist/core/preflightReport.d.ts +9 -0
  115. package/dist/core/preflightReport.js +67 -0
  116. package/dist/core/preflightReport.js.map +1 -0
  117. package/dist/core/review.js +2 -47
  118. package/dist/core/review.js.map +1 -1
  119. package/dist/core/reviewChangedReport.d.ts +13 -0
  120. package/dist/core/reviewChangedReport.js +38 -0
  121. package/dist/core/reviewChangedReport.js.map +1 -0
  122. package/dist/core/reviewComputation.d.ts +9 -0
  123. package/dist/core/reviewComputation.js +14 -0
  124. package/dist/core/reviewComputation.js.map +1 -0
  125. package/dist/core/reviewContractChanges.js +22 -8
  126. package/dist/core/reviewContractChanges.js.map +1 -1
  127. package/dist/core/reviewDataflow.js +18 -0
  128. package/dist/core/reviewDataflow.js.map +1 -1
  129. package/dist/core/roadmapCatalog.js +7 -203
  130. package/dist/core/roadmapCatalog.js.map +1 -1
  131. package/dist/core/roadmapCatalogPost44.d.ts +2 -0
  132. package/dist/core/roadmapCatalogPost44.js +205 -0
  133. package/dist/core/roadmapCatalogPost44.js.map +1 -0
  134. package/dist/core/roadmapCatalogTypes.d.ts +6 -0
  135. package/dist/core/roadmapCatalogTypes.js +2 -0
  136. package/dist/core/roadmapCatalogTypes.js.map +1 -0
  137. package/dist/core/startClaimRouteCriteria.d.ts +7 -0
  138. package/dist/core/startClaimRouteCriteria.js +16 -0
  139. package/dist/core/startClaimRouteCriteria.js.map +1 -0
  140. package/dist/core/startCouplingRouteCriteria.d.ts +2 -0
  141. package/dist/core/startCouplingRouteCriteria.js +13 -0
  142. package/dist/core/startCouplingRouteCriteria.js.map +1 -0
  143. package/dist/core/startDependencyRouteCriteria.d.ts +2 -0
  144. package/dist/core/startDependencyRouteCriteria.js +43 -0
  145. package/dist/core/startDependencyRouteCriteria.js.map +1 -0
  146. package/dist/core/startFileRouteCriteria.d.ts +2 -0
  147. package/dist/core/startFileRouteCriteria.js +56 -0
  148. package/dist/core/startFileRouteCriteria.js.map +1 -0
  149. package/dist/core/startFixedRouteCriteria.d.ts +1 -0
  150. package/dist/core/startFixedRouteCriteria.js +90 -0
  151. package/dist/core/startFixedRouteCriteria.js.map +1 -0
  152. package/dist/core/startImpactRouteCriteria.d.ts +7 -0
  153. package/dist/core/startImpactRouteCriteria.js +14 -0
  154. package/dist/core/startImpactRouteCriteria.js.map +1 -0
  155. package/dist/core/startIntentTargets.d.ts +1 -0
  156. package/dist/core/startIntentTargets.js +28 -0
  157. package/dist/core/startIntentTargets.js.map +1 -1
  158. package/dist/core/startMissionControl.js +8 -2
  159. package/dist/core/startMissionControl.js.map +1 -1
  160. package/dist/core/startMissionPolicy.js +2 -0
  161. package/dist/core/startMissionPolicy.js.map +1 -1
  162. package/dist/core/startMode.d.ts +1 -0
  163. package/dist/core/startMode.js +10 -2
  164. package/dist/core/startMode.js.map +1 -1
  165. package/dist/core/startPreflightRouteCriteria.d.ts +11 -0
  166. package/dist/core/startPreflightRouteCriteria.js +29 -0
  167. package/dist/core/startPreflightRouteCriteria.js.map +1 -0
  168. package/dist/core/startProductPlanningRouteCriteria.d.ts +8 -0
  169. package/dist/core/startProductPlanningRouteCriteria.js +29 -0
  170. package/dist/core/startProductPlanningRouteCriteria.js.map +1 -0
  171. package/dist/core/startRegressionRouteCriteria.d.ts +3 -0
  172. package/dist/core/startRegressionRouteCriteria.js +62 -0
  173. package/dist/core/startRegressionRouteCriteria.js.map +1 -0
  174. package/dist/core/startRouteActions.js +39 -1
  175. package/dist/core/startRouteActions.js.map +1 -1
  176. package/dist/core/startSuccessCriteria.d.ts +2 -3
  177. package/dist/core/startSuccessCriteria.js +15 -419
  178. package/dist/core/startSuccessCriteria.js.map +1 -1
  179. package/dist/core/startUnderstandRouteCriteria.d.ts +3 -0
  180. package/dist/core/startUnderstandRouteCriteria.js +97 -0
  181. package/dist/core/startUnderstandRouteCriteria.js.map +1 -0
  182. package/dist/core/telemetry.d.ts +9 -89
  183. package/dist/core/telemetry.js +33 -391
  184. package/dist/core/telemetry.js.map +1 -1
  185. package/dist/core/telemetryConfig.d.ts +58 -0
  186. package/dist/core/telemetryConfig.js +171 -0
  187. package/dist/core/telemetryConfig.js.map +1 -0
  188. package/dist/core/telemetryEvents.d.ts +57 -0
  189. package/dist/core/telemetryEvents.js +143 -0
  190. package/dist/core/telemetryEvents.js.map +1 -0
  191. package/dist/core/telemetryFlushing.d.ts +10 -0
  192. package/dist/core/telemetryFlushing.js +42 -0
  193. package/dist/core/telemetryFlushing.js.map +1 -0
  194. package/dist/core/telemetryRecording.d.ts +26 -0
  195. package/dist/core/telemetryRecording.js +38 -0
  196. package/dist/core/telemetryRecording.js.map +1 -0
  197. package/dist/core/telemetrySender.d.ts +9 -0
  198. package/dist/core/telemetrySender.js +22 -0
  199. package/dist/core/telemetrySender.js.map +1 -0
  200. package/dist/index.d.ts +4 -60
  201. package/dist/index.js +4 -60
  202. package/dist/index.js.map +1 -1
  203. package/dist/mcp/server.js +2 -13
  204. package/dist/mcp/server.js.map +1 -1
  205. package/dist/mcp/serverMessageHandling.d.ts +3 -0
  206. package/dist/mcp/serverMessageHandling.js +16 -0
  207. package/dist/mcp/serverMessageHandling.js.map +1 -0
  208. package/dist/mcp/toolDefinitions.d.ts +3 -0
  209. package/dist/mcp/toolDefinitions.js +15 -0
  210. package/dist/mcp/toolDefinitions.js.map +1 -0
  211. package/dist/mcp/tools.js +2 -12
  212. package/dist/mcp/tools.js.map +1 -1
  213. package/dist/projscan-sbom.cdx.json +6 -6
  214. package/dist/publicAgent.d.ts +22 -0
  215. package/dist/publicAgent.js +23 -0
  216. package/dist/publicAgent.js.map +1 -0
  217. package/dist/publicCore.d.ts +29 -0
  218. package/dist/publicCore.js +30 -0
  219. package/dist/publicCore.js.map +1 -0
  220. package/dist/publicLanguages.d.ts +1 -0
  221. package/dist/publicLanguages.js +2 -0
  222. package/dist/publicLanguages.js.map +1 -0
  223. package/dist/publicMcp.d.ts +8 -0
  224. package/dist/publicMcp.js +9 -0
  225. package/dist/publicMcp.js.map +1 -0
  226. package/dist/reporters/htmlAnalysisReporter.d.ts +3 -0
  227. package/dist/reporters/htmlAnalysisReporter.js +98 -0
  228. package/dist/reporters/htmlAnalysisReporter.js.map +1 -0
  229. package/dist/reporters/htmlCoverageReporter.d.ts +2 -0
  230. package/dist/reporters/htmlCoverageReporter.js +52 -0
  231. package/dist/reporters/htmlCoverageReporter.js.map +1 -0
  232. package/dist/reporters/htmlImpactReporter.d.ts +2 -0
  233. package/dist/reporters/htmlImpactReporter.js +41 -0
  234. package/dist/reporters/htmlImpactReporter.js.map +1 -0
  235. package/dist/reporters/htmlPrDiffReporter.d.ts +2 -0
  236. package/dist/reporters/htmlPrDiffReporter.js +84 -0
  237. package/dist/reporters/htmlPrDiffReporter.js.map +1 -0
  238. package/dist/reporters/htmlReporter.d.ts +20 -9
  239. package/dist/reporters/htmlReporter.js +7 -365
  240. package/dist/reporters/htmlReporter.js.map +1 -1
  241. package/dist/reporters/htmlReviewReporter.d.ts +2 -0
  242. package/dist/reporters/htmlReviewReporter.js +94 -0
  243. package/dist/reporters/htmlReviewReporter.js.map +1 -0
  244. package/dist/reporters/htmlShared.d.ts +7 -0
  245. package/dist/reporters/htmlShared.js +106 -0
  246. package/dist/reporters/htmlShared.js.map +1 -0
  247. package/dist/tool-manifest.json +2 -2
  248. package/dist/types/preflight.d.ts +19 -0
  249. package/dist/types/start.d.ts +7 -451
  250. package/dist/types/startCommon.d.ts +79 -0
  251. package/dist/types/startCommon.js +2 -0
  252. package/dist/types/startCommon.js.map +1 -0
  253. package/dist/types/startExecution.d.ts +44 -0
  254. package/dist/types/startExecution.js +2 -0
  255. package/dist/types/startExecution.js.map +1 -0
  256. package/dist/types/startMissionControl.d.ts +91 -0
  257. package/dist/types/startMissionControl.js +2 -0
  258. package/dist/types/startMissionControl.js.map +1 -0
  259. package/dist/types/startMissionProof.d.ts +91 -0
  260. package/dist/types/startMissionProof.js +2 -0
  261. package/dist/types/startMissionProof.js.map +1 -0
  262. package/dist/types/startMissionResume.d.ts +100 -0
  263. package/dist/types/startMissionResume.js +2 -0
  264. package/dist/types/startMissionResume.js.map +1 -0
  265. package/dist/types/startMissionReview.d.ts +45 -0
  266. package/dist/types/startMissionReview.js +2 -0
  267. package/dist/types/startMissionReview.js.map +1 -0
  268. package/dist/types/startMissionTooling.d.ts +16 -0
  269. package/dist/types/startMissionTooling.js +2 -0
  270. package/dist/types/startMissionTooling.js.map +1 -0
  271. package/dist/utils/changedFiles.d.ts +1 -0
  272. package/dist/utils/changedFiles.js +7 -4
  273. package/dist/utils/changedFiles.js.map +1 -1
  274. package/docs/GUIDE.md +9 -7
  275. package/docs/ROADMAP.md +2 -2
  276. package/docs/examples/adoption-workflows.md +12 -1
  277. package/docs/examples/swarm-coordination.md +11 -2
  278. package/package.json +1 -1
@@ -1,451 +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 StartRoadmapWorkstream {
41
- id: string;
42
- title: string;
43
- priority: WorkplanPriority;
44
- track: string;
45
- verificationCommand?: string;
46
- }
47
- export interface StartRoadmapPreview {
48
- policy: 'product-readiness-plan';
49
- readOnly: true;
50
- lines: string[];
51
- workstreams: StartRoadmapWorkstream[];
52
- }
53
- export interface StartFirstTenMinutesStep {
54
- id: string;
55
- label: string;
56
- why: string;
57
- command: string;
58
- }
59
- export interface StartFirstTenMinutes {
60
- title: string;
61
- outcome: string;
62
- commands: StartFirstTenMinutesStep[];
63
- }
64
- export type StartModeSource = 'explicit' | 'intent' | 'default';
65
- export type StartMissionControlStatus = 'ready' | 'needs_setup' | 'needs_attention' | 'blocked';
66
- export interface StartRoutedIntent {
67
- intent: string;
68
- category: string;
69
- tool: string;
70
- cli: string;
71
- why: string;
72
- example: string;
73
- confidence: 'high' | 'medium' | 'low';
74
- rank: number;
75
- score: number;
76
- matchedKeywords: string[];
77
- }
78
- export interface StartUnresolvedInput {
79
- name: string;
80
- placeholder: string;
81
- sourceAction: string;
82
- instruction: string;
83
- }
84
- export interface StartMissionResumeReference {
85
- id: string;
86
- phaseId: StartExecutionPhaseId;
87
- kind: StartExecutionStepKind;
88
- status: StartExecutionStatus;
89
- label: string;
90
- instruction?: string;
91
- command?: string;
92
- placeholder?: string;
93
- }
94
- export interface StartMissionToolCall {
95
- tool: string;
96
- args?: Record<string, unknown>;
97
- }
98
- export interface StartMissionProofToolCall extends StartMissionToolCall {
99
- stepId: string;
100
- command: string;
101
- }
102
- export interface StartMissionProofItem {
103
- stepId: string;
104
- status: StartExecutionStatus;
105
- label: string;
106
- command: string;
107
- toolCall?: StartMissionToolCall;
108
- }
109
- export interface StartMissionInputBinding {
110
- inputId: string;
111
- label: string;
112
- placeholder: string;
113
- instruction: string;
114
- followUpIds: string[];
115
- }
116
- export type StartMissionResumeChecklistItemKind = 'run_current' | 'resolve_input' | 'run_follow_up' | 'run_proof' | 'confirm_done';
117
- export interface StartMissionResumeChecklistItem {
118
- id: string;
119
- kind: StartMissionResumeChecklistItemKind;
120
- phaseId: StartExecutionPhaseId;
121
- stepId: string;
122
- status: StartExecutionStatus;
123
- label: string;
124
- command?: string;
125
- tool?: string;
126
- args?: Record<string, unknown>;
127
- placeholder?: string;
128
- instruction?: string;
129
- blockedBy?: string[];
130
- dependsOn?: string[];
131
- unlocks?: string[];
132
- followUpIds?: string[];
133
- }
134
- export interface StartMissionResumeFollowUp {
135
- id: string;
136
- phaseId: StartExecutionPhaseId;
137
- kind: StartExecutionStepKind;
138
- status: StartExecutionStatus;
139
- label: string;
140
- command?: string;
141
- tool?: string;
142
- args?: Record<string, unknown>;
143
- blockedBy?: string[];
144
- dependsOn?: string[];
145
- }
146
- export interface StartMissionResume {
147
- currentStep: StartExecutionCursor;
148
- status: StartExecutionStatus;
149
- instruction: string;
150
- prompt: string;
151
- commandBlock?: string;
152
- toolCall?: StartMissionToolCall;
153
- followUps?: StartMissionResumeFollowUp[];
154
- inputBindings?: StartMissionInputBinding[];
155
- checklist?: StartMissionResumeChecklistItem[];
156
- remainingProofItems?: StartMissionProofItem[];
157
- remainingProofCommands?: string[];
158
- remainingProofToolCalls?: StartMissionProofToolCall[];
159
- unlocks?: StartMissionResumeReference[];
160
- blockedBy?: StartMissionResumeReference[];
161
- }
162
- export interface StartMissionHandoff {
163
- currentStep: StartExecutionCursor;
164
- resume: StartMissionResume;
165
- reviewGate: StartMissionReviewGate;
166
- nextAction: PreflightSuggestedAction;
167
- readyActions: PreflightSuggestedAction[];
168
- needsInput: StartUnresolvedInput[];
169
- doneWhen: string[];
170
- readyProof: {
171
- summary: string;
172
- commands: string[];
173
- toolCalls?: StartMissionProofToolCall[];
174
- items?: StartMissionProofItem[];
175
- };
176
- }
177
- export type StartExecutionPhaseId = 'next_action' | 'ready_now' | 'resolve_inputs' | 'follow_up' | 'proof' | 'done_when';
178
- export type StartExecutionStatus = 'ready' | 'blocked' | 'pending';
179
- export type StartExecutionStepKind = 'tool' | 'input' | 'proof' | 'criterion' | 'handoff';
180
- export interface StartExecutionStep {
181
- id: string;
182
- kind: StartExecutionStepKind;
183
- status: StartExecutionStatus;
184
- label: string;
185
- command?: string;
186
- tool?: string;
187
- args?: Record<string, unknown>;
188
- instruction?: string;
189
- placeholder?: string;
190
- dependsOn?: string[];
191
- blockedBy?: string[];
192
- unlocks?: string[];
193
- }
194
- export interface StartExecutionPhase {
195
- id: StartExecutionPhaseId;
196
- title: string;
197
- status: StartExecutionStatus;
198
- steps: StartExecutionStep[];
199
- }
200
- export interface StartExecutionCursor {
201
- phaseId: StartExecutionPhaseId;
202
- stepId: string;
203
- status: StartExecutionStatus;
204
- kind: StartExecutionStepKind;
205
- label: string;
206
- command?: string;
207
- tool?: string;
208
- args?: Record<string, unknown>;
209
- instruction?: string;
210
- placeholder?: string;
211
- blockedBy?: string[];
212
- unlocks?: string[];
213
- reason: string;
214
- }
215
- export interface StartExecutionPlan {
216
- summary: string;
217
- currentPhase: StartExecutionPhaseId;
218
- cursor: StartExecutionCursor;
219
- phases: StartExecutionPhase[];
220
- }
221
- export interface StartMissionRunbook {
222
- title: string;
223
- status: StartMissionControlStatus;
224
- currentPhase: StartExecutionPhaseId;
225
- currentStep: StartExecutionCursor;
226
- resume: StartMissionResume;
227
- readyCommandBlock: string;
228
- blockedInputSummary?: string;
229
- markdown: string;
230
- }
231
- export interface StartMissionReviewWorktree {
232
- available: boolean;
233
- clean: boolean;
234
- changedFileCount: number;
235
- files: string[];
236
- baseRef: string | null;
237
- summary: string;
238
- reason?: string;
239
- }
240
- export interface StartMissionReviewProof {
241
- summary: string;
242
- commands: string[];
243
- toolCalls?: StartMissionProofToolCall[];
244
- items?: StartMissionProofItem[];
245
- }
246
- export type StartMissionReviewBlockedAction = 'next_slice' | 'release' | 'publish' | 'deploy' | 'push' | 'merge' | 'version_bump';
247
- export interface StartMissionReviewPolicy {
248
- approvalRequired: true;
249
- blockedActions: StartMissionReviewBlockedAction[];
250
- summary: string;
251
- }
252
- export interface StartMissionReviewDecision {
253
- id: 'approve_next_slice' | 'request_changes' | 'review_version_candidate';
254
- label: string;
255
- description: string;
256
- consequence: string;
257
- reply: string;
258
- }
259
- export interface StartMissionReviewGate {
260
- title: string;
261
- required: true;
262
- status: StartMissionControlStatus;
263
- stopCondition: string;
264
- reviewPrompt: string;
265
- checklist: string[];
266
- doneWhen: string[];
267
- policy: StartMissionReviewPolicy;
268
- decisions: StartMissionReviewDecision[];
269
- commands: string[];
270
- worktree: StartMissionReviewWorktree;
271
- proof: StartMissionReviewProof;
272
- markdown: string;
273
- }
274
- export type MissionRunStatus = 'not_run' | 'running' | 'passed' | 'failed' | 'unknown';
275
- export interface MissionProofStatusRow {
276
- id: string;
277
- label?: string;
278
- log?: string;
279
- command?: string;
280
- exitCode?: number;
281
- }
282
- export interface MissionReviewDecisionRecord {
283
- decision: 'approve_next_slice' | 'request_changes' | 'review_version_candidate' | string;
284
- reviewer?: string;
285
- at?: string;
286
- note?: string;
287
- }
288
- export interface MissionOutcome {
289
- schemaVersion: 1;
290
- available: boolean;
291
- missionDir: string;
292
- status: MissionRunStatus;
293
- reason?: string;
294
- nextAction?: string;
295
- proof: {
296
- completedCommands: number;
297
- failedCommands: number;
298
- reruns: number;
299
- totalCommands?: number;
300
- failedStep?: string;
301
- failedLog?: string;
302
- exitCode?: number;
303
- rows: MissionProofStatusRow[];
304
- };
305
- review: {
306
- decisions: MissionReviewDecisionRecord[];
307
- approvals: number;
308
- changeRequests: number;
309
- versionCandidateReviews: number;
310
- };
311
- whatChanged: string[];
312
- whatRemains: string[];
313
- versionCandidate: {
314
- recommendation: 'run_proof' | 'wait' | 'review_candidate' | 'do_not_cut';
315
- summary: string;
316
- };
317
- resumePrompt: string;
318
- }
319
- export interface MissionProofBaselineRun {
320
- id: string;
321
- status: MissionRunStatus;
322
- failedGates?: number;
323
- reruns?: number;
324
- minutesSpent?: number;
325
- reviewerApprovals?: number;
326
- }
327
- export interface MissionProofTotals {
328
- missions: number;
329
- passed: number;
330
- failed: number;
331
- running: number;
332
- notRun: number;
333
- unavailable: number;
334
- proofCompletionRate: number;
335
- reruns: number;
336
- failedGates: number;
337
- reviewerApprovals: number;
338
- }
339
- export interface MissionProofReport {
340
- schemaVersion: 1;
341
- readOnly: true;
342
- rootPath: string;
343
- summary: string;
344
- missionControl: {
345
- missions: MissionOutcome[];
346
- totals: MissionProofTotals;
347
- };
348
- baseline?: {
349
- path: string;
350
- runs: MissionProofBaselineRun[];
351
- totals: MissionProofTotals & {
352
- minutesSpent: number;
353
- };
354
- };
355
- comparison?: {
356
- completionRateDelta: number;
357
- rerunsAvoided: number;
358
- failedGatesAvoided: number;
359
- minutesSaved: number;
360
- };
361
- riskAvoided: string[];
362
- nextActions: PreflightSuggestedAction[];
363
- }
364
- export interface StartMissionTaskCard {
365
- title: string;
366
- status: StartMissionControlStatus;
367
- currentPhase: StartExecutionPhaseId;
368
- currentStep: StartExecutionCursor;
369
- markdown: string;
370
- }
371
- export interface StartMissionControl {
372
- intent?: string;
373
- status: StartMissionControlStatus;
374
- headline: string;
375
- whyNow: string;
376
- primaryAction: PreflightSuggestedAction;
377
- actionPlan: PreflightSuggestedAction[];
378
- readyActions: PreflightSuggestedAction[];
379
- routedIntent?: StartRoutedIntent;
380
- alternatives?: StartRoutedIntent[];
381
- unresolvedInputs: StartUnresolvedInput[];
382
- guardrails: PreflightSuggestedAction[];
383
- successCriteria: string[];
384
- proofSummary: string;
385
- proofCommands: string[];
386
- resume: StartMissionResume;
387
- handoff: StartMissionHandoff;
388
- executionPlan: StartExecutionPlan;
389
- runbook: StartMissionRunbook;
390
- reviewGate: StartMissionReviewGate;
391
- taskCard: StartMissionTaskCard;
392
- outcome?: MissionOutcome;
393
- handoffPrompt: string;
394
- }
395
- export interface StartReport {
396
- schemaVersion: 1;
397
- readOnly: true;
398
- rootPath: string;
399
- mode: WorkplanMode;
400
- modeSource: StartModeSource;
401
- modeReason: string;
402
- summary: string;
403
- setup: {
404
- overall: 'pass' | 'warn' | 'fail' | 'info';
405
- diagnostics: Array<{
406
- id: string;
407
- label: string;
408
- status: 'pass' | 'warn' | 'fail' | 'info';
409
- summary: string;
410
- detail?: string;
411
- command?: string;
412
- }>;
413
- };
414
- recommendedWorkflow: StartWorkflowRecommendation;
415
- firstTenMinutes: StartFirstTenMinutes;
416
- missionControl: StartMissionControl;
417
- coordinationHints: SessionCoordinationHint[];
418
- evidence: {
419
- workplanVerdict: PreflightVerdict;
420
- workplanSummary: string;
421
- qualityVerdict: QualityScorecardVerdict;
422
- qualitySummary: string;
423
- healthScore: number;
424
- mcpReady: boolean;
425
- riskSources: {
426
- currentWorktree: {
427
- kind: 'current-worktree';
428
- available: boolean;
429
- count: number;
430
- files: string[];
431
- baseRef: string | null;
432
- reason?: string;
433
- };
434
- sessionMemory: {
435
- kind: 'remembered-session';
436
- touchedFiles: string[];
437
- totalTouchedFiles: number;
438
- note: string;
439
- truncated?: boolean;
440
- };
441
- };
442
- roadmapPreview?: StartRoadmapPreview;
443
- };
444
- topRisks: StartRisk[];
445
- fixFirst?: FixFirstRecommendation;
446
- adoptionGaps: StartAdoptionGap[];
447
- adoptionLoop?: StartAdoptionLoop;
448
- nextActions: PreflightSuggestedAction[];
449
- handoff?: WorkplanHandoffPayload;
450
- truncated?: boolean;
451
- }
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":""}
@@ -0,0 +1,44 @@
1
+ export type StartExecutionPhaseId = 'next_action' | 'ready_now' | 'resolve_inputs' | 'follow_up' | 'proof' | 'done_when';
2
+ export type StartExecutionStatus = 'ready' | 'blocked' | 'pending';
3
+ export type StartExecutionStepKind = 'tool' | 'input' | 'proof' | 'criterion' | 'handoff';
4
+ export interface StartExecutionStep {
5
+ id: string;
6
+ kind: StartExecutionStepKind;
7
+ status: StartExecutionStatus;
8
+ label: string;
9
+ command?: string;
10
+ tool?: string;
11
+ args?: Record<string, unknown>;
12
+ instruction?: string;
13
+ placeholder?: string;
14
+ dependsOn?: string[];
15
+ blockedBy?: string[];
16
+ unlocks?: string[];
17
+ }
18
+ export interface StartExecutionPhase {
19
+ id: StartExecutionPhaseId;
20
+ title: string;
21
+ status: StartExecutionStatus;
22
+ steps: StartExecutionStep[];
23
+ }
24
+ export interface StartExecutionCursor {
25
+ phaseId: StartExecutionPhaseId;
26
+ stepId: string;
27
+ status: StartExecutionStatus;
28
+ kind: StartExecutionStepKind;
29
+ label: string;
30
+ command?: string;
31
+ tool?: string;
32
+ args?: Record<string, unknown>;
33
+ instruction?: string;
34
+ placeholder?: string;
35
+ blockedBy?: string[];
36
+ unlocks?: string[];
37
+ reason: string;
38
+ }
39
+ export interface StartExecutionPlan {
40
+ summary: string;
41
+ currentPhase: StartExecutionPhaseId;
42
+ cursor: StartExecutionCursor;
43
+ phases: StartExecutionPhase[];
44
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=startExecution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startExecution.js","sourceRoot":"","sources":["../../src/types/startExecution.ts"],"names":[],"mappings":""}
@@ -0,0 +1,91 @@
1
+ import type { PreflightSuggestedAction, PreflightVerdict } from './preflight.js';
2
+ import type { QualityScorecardVerdict } from './qualityScorecard.js';
3
+ import type { SessionCoordinationHint } from './session.js';
4
+ import type { StartAdoptionGap, StartAdoptionLoop, StartFirstTenMinutes, StartModeSource, StartMissionControlStatus, StartRisk, StartRoadmapPreview, StartRoutedIntent, StartUnresolvedInput, StartWorkflowRecommendation } from './startCommon.js';
5
+ import type { StartExecutionPlan } from './startExecution.js';
6
+ import type { MissionOutcome } from './startMissionProof.js';
7
+ import type { StartMissionHandoff, StartMissionResume, StartMissionRunbook, StartMissionTaskCard } from './startMissionResume.js';
8
+ import type { StartMissionReviewGate } from './startMissionReview.js';
9
+ import type { FixFirstRecommendation, WorkplanMode } from './workplan.js';
10
+ import type { WorkplanHandoffPayload } from './workplanHandoff.js';
11
+ export interface StartMissionControl {
12
+ intent?: string;
13
+ status: StartMissionControlStatus;
14
+ headline: string;
15
+ whyNow: string;
16
+ primaryAction: PreflightSuggestedAction;
17
+ actionPlan: PreflightSuggestedAction[];
18
+ readyActions: PreflightSuggestedAction[];
19
+ routedIntent?: StartRoutedIntent;
20
+ alternatives?: StartRoutedIntent[];
21
+ unresolvedInputs: StartUnresolvedInput[];
22
+ guardrails: PreflightSuggestedAction[];
23
+ successCriteria: string[];
24
+ proofSummary: string;
25
+ proofCommands: string[];
26
+ resume: StartMissionResume;
27
+ handoff: StartMissionHandoff;
28
+ executionPlan: StartExecutionPlan;
29
+ runbook: StartMissionRunbook;
30
+ reviewGate: StartMissionReviewGate;
31
+ taskCard: StartMissionTaskCard;
32
+ outcome?: MissionOutcome;
33
+ handoffPrompt: string;
34
+ }
35
+ export interface StartReport {
36
+ schemaVersion: 1;
37
+ readOnly: true;
38
+ rootPath: string;
39
+ mode: WorkplanMode;
40
+ modeSource: StartModeSource;
41
+ modeReason: string;
42
+ summary: string;
43
+ setup: {
44
+ overall: 'pass' | 'warn' | 'fail' | 'info';
45
+ diagnostics: Array<{
46
+ id: string;
47
+ label: string;
48
+ status: 'pass' | 'warn' | 'fail' | 'info';
49
+ summary: string;
50
+ detail?: string;
51
+ command?: string;
52
+ }>;
53
+ };
54
+ recommendedWorkflow: StartWorkflowRecommendation;
55
+ firstTenMinutes: StartFirstTenMinutes;
56
+ missionControl: StartMissionControl;
57
+ coordinationHints: SessionCoordinationHint[];
58
+ evidence: {
59
+ workplanVerdict: PreflightVerdict;
60
+ workplanSummary: string;
61
+ qualityVerdict: QualityScorecardVerdict;
62
+ qualitySummary: string;
63
+ healthScore: number;
64
+ mcpReady: boolean;
65
+ riskSources: {
66
+ currentWorktree: {
67
+ kind: 'current-worktree';
68
+ available: boolean;
69
+ count: number;
70
+ files: string[];
71
+ baseRef: string | null;
72
+ reason?: string;
73
+ };
74
+ sessionMemory: {
75
+ kind: 'remembered-session';
76
+ touchedFiles: string[];
77
+ totalTouchedFiles: number;
78
+ note: string;
79
+ truncated?: boolean;
80
+ };
81
+ };
82
+ roadmapPreview?: StartRoadmapPreview;
83
+ };
84
+ topRisks: StartRisk[];
85
+ fixFirst?: FixFirstRecommendation;
86
+ adoptionGaps: StartAdoptionGap[];
87
+ adoptionLoop?: StartAdoptionLoop;
88
+ nextActions: PreflightSuggestedAction[];
89
+ handoff?: WorkplanHandoffPayload;
90
+ truncated?: boolean;
91
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=startMissionControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startMissionControl.js","sourceRoot":"","sources":["../../src/types/startMissionControl.ts"],"names":[],"mappings":""}