projscan 4.6.0 → 4.7.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 (176) hide show
  1. package/README.md +24 -11
  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/formatOptions.d.ts +4 -0
  8. package/dist/cli/formatOptions.js +30 -0
  9. package/dist/cli/formatOptions.js.map +1 -0
  10. package/dist/core/agentBrief.js +6 -1
  11. package/dist/core/agentBrief.js.map +1 -1
  12. package/dist/core/astBodySignals.js +2 -3
  13. package/dist/core/astBodySignals.js.map +1 -1
  14. package/dist/core/astMembers.d.ts +1 -0
  15. package/dist/core/astMembers.js +38 -9
  16. package/dist/core/astMembers.js.map +1 -1
  17. package/dist/core/bugHunt.js +2 -142
  18. package/dist/core/bugHunt.js.map +1 -1
  19. package/dist/core/bugHuntHotspotFindings.d.ts +2 -0
  20. package/dist/core/bugHuntHotspotFindings.js +68 -0
  21. package/dist/core/bugHuntHotspotFindings.js.map +1 -0
  22. package/dist/core/bugHuntPreflightFindings.d.ts +3 -0
  23. package/dist/core/bugHuntPreflightFindings.js +115 -0
  24. package/dist/core/bugHuntPreflightFindings.js.map +1 -0
  25. package/dist/core/codeGraph.d.ts +1 -8
  26. package/dist/core/codeGraph.js +4 -30
  27. package/dist/core/codeGraph.js.map +1 -1
  28. package/dist/core/codeGraphFileSelection.d.ts +7 -0
  29. package/dist/core/codeGraphFileSelection.js +19 -0
  30. package/dist/core/codeGraphFileSelection.js.map +1 -0
  31. package/dist/core/codeGraphQueries.d.ts +9 -0
  32. package/dist/core/codeGraphQueries.js +25 -0
  33. package/dist/core/codeGraphQueries.js.map +1 -0
  34. package/dist/core/dataflow.js +3 -338
  35. package/dist/core/dataflow.js.map +1 -1
  36. package/dist/core/dataflowDatabaseSinks.d.ts +8 -0
  37. package/dist/core/dataflowDatabaseSinks.js +78 -0
  38. package/dist/core/dataflowDatabaseSinks.js.map +1 -0
  39. package/dist/core/dataflowRiskAssembly.d.ts +11 -0
  40. package/dist/core/dataflowRiskAssembly.js +117 -0
  41. package/dist/core/dataflowRiskAssembly.js.map +1 -0
  42. package/dist/core/dataflowTraversal.d.ts +25 -0
  43. package/dist/core/dataflowTraversal.js +200 -0
  44. package/dist/core/dataflowTraversal.js.map +1 -0
  45. package/dist/core/fileInspectionReport.d.ts +13 -0
  46. package/dist/core/fileInspectionReport.js +49 -0
  47. package/dist/core/fileInspectionReport.js.map +1 -0
  48. package/dist/core/fileInspector.d.ts +3 -11
  49. package/dist/core/fileInspector.js +2 -46
  50. package/dist/core/fileInspector.js.map +1 -1
  51. package/dist/core/fixSuggest.d.ts +1 -9
  52. package/dist/core/fixSuggest.js +2 -58
  53. package/dist/core/fixSuggest.js.map +1 -1
  54. package/dist/core/fixSuggestDependencyNames.d.ts +1 -0
  55. package/dist/core/fixSuggestDependencyNames.js +9 -0
  56. package/dist/core/fixSuggestDependencyNames.js.map +1 -0
  57. package/dist/core/fixSuggestPreview.d.ts +10 -0
  58. package/dist/core/fixSuggestPreview.js +87 -0
  59. package/dist/core/fixSuggestPreview.js.map +1 -0
  60. package/dist/core/frameworkHonoSources.js +7 -0
  61. package/dist/core/frameworkHonoSources.js.map +1 -1
  62. package/dist/core/frameworkNextRouteSources.d.ts +6 -1
  63. package/dist/core/frameworkNextRouteSources.js +31 -1
  64. package/dist/core/frameworkNextRouteSources.js.map +1 -1
  65. package/dist/core/frameworkRemixSources.d.ts +2 -0
  66. package/dist/core/frameworkRemixSources.js +63 -0
  67. package/dist/core/frameworkRemixSources.js.map +1 -0
  68. package/dist/core/frameworkSources.d.ts +15 -3
  69. package/dist/core/frameworkSources.js +41 -10
  70. package/dist/core/frameworkSources.js.map +1 -1
  71. package/dist/core/intentRouter.d.ts +4 -14
  72. package/dist/core/intentRouter.js +4 -29
  73. package/dist/core/intentRouter.js.map +1 -1
  74. package/dist/core/intentRouterCatalog.js +17 -0
  75. package/dist/core/intentRouterCatalog.js.map +1 -1
  76. package/dist/core/intentRouterKeywordWeights.js +13 -0
  77. package/dist/core/intentRouterKeywordWeights.js.map +1 -1
  78. package/dist/core/intentRouterReleaseSignals.js +119 -39
  79. package/dist/core/intentRouterReleaseSignals.js.map +1 -1
  80. package/dist/core/intentRouterResult.d.ts +16 -0
  81. package/dist/core/intentRouterResult.js +34 -0
  82. package/dist/core/intentRouterResult.js.map +1 -0
  83. package/dist/core/intentRouterWorkSignals.js +18 -0
  84. package/dist/core/intentRouterWorkSignals.js.map +1 -1
  85. package/dist/core/languages/pythonLockfiles.d.ts +4 -0
  86. package/dist/core/languages/pythonLockfiles.js +6 -2
  87. package/dist/core/languages/pythonLockfiles.js.map +1 -1
  88. package/dist/core/languages/pythonManifests.js +5 -5
  89. package/dist/core/languages/pythonManifests.js.map +1 -1
  90. package/dist/core/languages/pythonProjectEvidence.js +1 -1
  91. package/dist/core/languages/pythonProjectEvidence.js.map +1 -1
  92. package/dist/core/languages/pythonRequirements.js +144 -18
  93. package/dist/core/languages/pythonRequirements.js.map +1 -1
  94. package/dist/core/pluginManifestValidation.d.ts +41 -0
  95. package/dist/core/pluginManifestValidation.js +179 -0
  96. package/dist/core/pluginManifestValidation.js.map +1 -0
  97. package/dist/core/plugins.d.ts +3 -41
  98. package/dist/core/plugins.js +2 -129
  99. package/dist/core/plugins.js.map +1 -1
  100. package/dist/core/regressionPlan.d.ts +2 -1
  101. package/dist/core/regressionPlan.js +7 -1
  102. package/dist/core/regressionPlan.js.map +1 -1
  103. package/dist/core/releaseEvidence.js +6 -120
  104. package/dist/core/releaseEvidence.js.map +1 -1
  105. package/dist/core/releaseEvidenceArtifacts.d.ts +3 -0
  106. package/dist/core/releaseEvidenceArtifacts.js +65 -0
  107. package/dist/core/releaseEvidenceArtifacts.js.map +1 -0
  108. package/dist/core/releaseEvidenceVerdict.d.ts +6 -0
  109. package/dist/core/releaseEvidenceVerdict.js +54 -0
  110. package/dist/core/releaseEvidenceVerdict.js.map +1 -0
  111. package/dist/core/reportPathRedaction.d.ts +4 -0
  112. package/dist/core/reportPathRedaction.js +64 -0
  113. package/dist/core/reportPathRedaction.js.map +1 -0
  114. package/dist/core/reportScope.js +2 -163
  115. package/dist/core/reportScope.js.map +1 -1
  116. package/dist/core/reportScopeFiltering.d.ts +9 -0
  117. package/dist/core/reportScopeFiltering.js +102 -0
  118. package/dist/core/reportScopeFiltering.js.map +1 -0
  119. package/dist/core/searchIndex.d.ts +2 -14
  120. package/dist/core/searchIndex.js +4 -227
  121. package/dist/core/searchIndex.js.map +1 -1
  122. package/dist/core/searchIndexFiles.d.ts +1 -0
  123. package/dist/core/searchIndexFiles.js +26 -0
  124. package/dist/core/searchIndexFiles.js.map +1 -0
  125. package/dist/core/searchIndexText.d.ts +15 -0
  126. package/dist/core/searchIndexText.js +204 -0
  127. package/dist/core/searchIndexText.js.map +1 -0
  128. package/dist/core/start.js +5 -46
  129. package/dist/core/start.js.map +1 -1
  130. package/dist/core/startEvidence.d.ts +1 -1
  131. package/dist/core/startEvidence.js +16 -1
  132. package/dist/core/startEvidence.js.map +1 -1
  133. package/dist/core/startInputs.d.ts +1 -0
  134. package/dist/core/startInputs.js +4 -1
  135. package/dist/core/startInputs.js.map +1 -1
  136. package/dist/core/startMissionPolicy.js +10 -0
  137. package/dist/core/startMissionPolicy.js.map +1 -1
  138. package/dist/core/startReportBuilder.d.ts +1 -0
  139. package/dist/core/startReportBuilder.js +1 -0
  140. package/dist/core/startReportBuilder.js.map +1 -1
  141. package/dist/core/startReportContext.d.ts +23 -0
  142. package/dist/core/startReportContext.js +51 -0
  143. package/dist/core/startReportContext.js.map +1 -0
  144. package/dist/core/startRoadmapPreview.d.ts +2 -0
  145. package/dist/core/startRoadmapPreview.js +31 -0
  146. package/dist/core/startRoadmapPreview.js.map +1 -0
  147. package/dist/core/taint.d.ts +2 -67
  148. package/dist/core/taint.js +41 -164
  149. package/dist/core/taint.js.map +1 -1
  150. package/dist/core/taintIndex.d.ts +20 -0
  151. package/dist/core/taintIndex.js +81 -0
  152. package/dist/core/taintIndex.js.map +1 -0
  153. package/dist/core/taintTraversal.d.ts +8 -0
  154. package/dist/core/taintTraversal.js +113 -0
  155. package/dist/core/taintTraversal.js.map +1 -0
  156. package/dist/core/taintTypes.d.ts +67 -0
  157. package/dist/core/taintTypes.js +2 -0
  158. package/dist/core/taintTypes.js.map +1 -0
  159. package/dist/core/telemetry.js +36 -30
  160. package/dist/core/telemetry.js.map +1 -1
  161. package/dist/core/upgradePreviewPython.js +1 -1
  162. package/dist/core/upgradePreviewPython.js.map +1 -1
  163. package/dist/mcp/tools.js +11 -12
  164. package/dist/mcp/tools.js.map +1 -1
  165. package/dist/projscan-sbom.cdx.json +6 -6
  166. package/dist/reporters/consoleFixReporter.d.ts +3 -0
  167. package/dist/reporters/consoleFixReporter.js +41 -0
  168. package/dist/reporters/consoleFixReporter.js.map +1 -0
  169. package/dist/reporters/consoleReporter.d.ts +1 -3
  170. package/dist/reporters/consoleReporter.js +1 -42
  171. package/dist/reporters/consoleReporter.js.map +1 -1
  172. package/dist/tool-manifest.json +2 -2
  173. package/dist/types/start.d.ts +14 -0
  174. package/docs/GUIDE.md +1 -1
  175. package/docs/ROADMAP.md +16 -5
  176. package/package.json +1 -1
package/README.md CHANGED
@@ -35,16 +35,29 @@ npx projscan
35
35
 
36
36
  <img src="docs/projscan-mission-control.gif" alt="projscan Mission Control turning a plain-language goal into shortcut commands, proof commands, and review gates" width="760">
37
37
 
38
- ## What's New in 4.6.0
39
-
40
- 4.6.0 hardens the agent workflow loop: broader framework dataflow precision, coordination evidence for multi-agent work, public code graph types, and a smaller, easier-to-review routing test surface.
41
-
42
- - **More framework dataflow coverage.** Next `nextUrl`, Hono URL reads, Express URL reads, Koa URL reads, and Fastify URL reads are now framework-gated request sources.
43
- - **Coordination evidence.** Agent hints include concrete local coordination evidence so teams can see which command answered the collision or handoff question.
44
- - **Public code graph types.** Code graph result types are exported for package consumers that build on projscan results.
45
- - **Routing hardening.** Mission Control start, intent router, review, CLI, and MCP coverage has been split into focused suites while preserving public behavior.
46
- - **Release cleanup.** The high-churn `tests/core/start.test.ts` matrix has been reduced to a small default/workspace/ownership/coupling suite with focused companion files.
47
- - **Bug fixes.** MCP watch IDs, request notifications, no-release continuation routing, agent harness proof routing, Python upgrade evidence, scoped dependency redaction, path-safe file links, unresolved review refs, and inspector purpose detection were tightened.
38
+ ## What's New in 4.7.0
39
+
40
+ 4.7.0 turns the post-4.6 validation train into release-ready evidence: broader
41
+ framework dataflow precision, offline Python requirement include support,
42
+ release-train roadmap routing, and lower-risk internal hotspots.
43
+
44
+ - **Remix dataflow coverage.** Remix route actions and loaders now classify
45
+ request body readers, headers, URL, signal, and params through
46
+ framework-gated source patterns.
47
+ - **Python requirements includes.** Upgrade previews follow local `-r`
48
+ requirements and `-c` constraints without reading outside the scan or adding
49
+ network access.
50
+ - **Roadmap routing.** Build-next product-planning prompts now route to
51
+ release-train roadmap evidence with a read-only roadmap preview.
52
+ - **Hotspot cleanup.** Dataflow risk assembly, plugin manifest validation,
53
+ telemetry flushing, search index helpers, release evidence, and bug-hunt
54
+ findings have been split into focused modules.
55
+ - **Focused coverage.** Python lockfile, framework dataflow, intent router,
56
+ preflight, MCP, and start suites now carry smaller regression tests plus
57
+ architecture guards for high-risk entrypoints.
58
+ - **Release readiness.** Large-train preflight warnings are now separated from
59
+ concrete taint, dataflow, health, plugin, and supply-chain defects so release
60
+ review can focus on scale sign-off.
48
61
 
49
62
  <img src="docs/projscan-proof-router.png" alt="projscan intent router and proof workflow showing impact routing, setup discovery, dependency intelligence, and stable-surface guardrails" width="760">
50
63
 
@@ -487,7 +500,7 @@ projscan start --intent "what should an intern work on?" # Routes to bug-hunt pr
487
500
  projscan start --intent "what is a low risk improvement?" # Routes to bug-hunt prioritization
488
501
  projscan start --intent "pick a small safe task" # Routes to bug-hunt prioritization
489
502
  projscan start --intent "what should I do next?" # Routes to an ordered before-edit workplan
490
- projscan start --intent "what should we build next?" # Routes to a bug-hunt product-planning workplan
503
+ projscan start --intent "what should we build next?" # Routes to release-train roadmap planning
491
504
  projscan start --intent "explain issue missing-test-framework" # Routes to deep issue context
492
505
  projscan start --intent "fix issue missing-test-framework" # Routes to a concrete fix suggestion
493
506
  projscan start --intent "is user input reaching SQL sinks?" # Routes to hardening dataflow analysis
@@ -1,5 +1,4 @@
1
1
  import { Command } from 'commander';
2
- import chalk from 'chalk';
3
2
  import path from 'node:path';
4
3
  import readline from 'node:readline';
5
4
  import { readFileSync } from 'node:fs';
@@ -9,13 +8,13 @@ import { setLogLevel } from '../utils/logger.js';
9
8
  import { showBanner, showCompactBanner } from '../utils/banner.js';
10
9
  import { recordCommandTelemetry } from '../core/telemetry.js';
11
10
  import { enableOfflineMode } from '../core/privacy.js';
12
- import { getChangedFiles } from '../utils/changedFiles.js';
13
- import { OUTPUT_FORMATS, formatList, getCommandFormatSupport } from '../utils/formatSupport.js';
14
- import { changedFilesAvailableMessage, changedFilesUnavailableMessage, changedIssueFilterMessage, filterIssuesToChangedFiles, } from './changedIssueFilter.js';
11
+ import { formatList } from '../utils/formatSupport.js';
12
+ import { filterIssuesByChangedFilesForCli } from './changedOnly.js';
15
13
  import { loadCliProjectConfig } from './projectConfig.js';
16
14
  import { renderCliPluginReporterIfRequested } from './pluginReporter.js';
17
15
  import { cliCommandPath } from './commandPath.js';
18
16
  import { renderCliBanner } from './bannerDisplay.js';
17
+ import { assertCliFormatSupported, resolveCliFormat } from './formatOptions.js';
19
18
  export { buildArchitectureLayers } from './architectureLayers.js';
20
19
  export { sliceCliTree } from './treeSlice.js';
21
20
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -58,26 +57,10 @@ program.hook('postAction', async (_thisCommand, actionCommand) => {
58
57
  }).catch(() => undefined);
59
58
  });
60
59
  export function getFormat() {
61
- const opts = program.opts();
62
- const f = opts.format;
63
- if (OUTPUT_FORMATS.includes(f))
64
- return f;
65
- console.error(chalk.red(`Unsupported --format ${f}.`));
66
- console.error(chalk.dim(`Supported formats: ${formatList()}`));
67
- process.exit(1);
60
+ return resolveCliFormat(program.opts().format);
68
61
  }
69
62
  export function assertFormatSupported(commandName) {
70
- const format = getFormat();
71
- const supported = getCommandFormatSupport(commandName);
72
- if (!supported) {
73
- console.error(chalk.red(`Internal error: no --format support metadata for projscan ${commandName}.`));
74
- process.exit(1);
75
- }
76
- if (supported.includes(format))
77
- return format;
78
- console.error(chalk.red(`projscan ${commandName} does not support --format ${format}.`));
79
- console.error(chalk.dim(`Supported formats: ${formatList(supported)}`));
80
- process.exit(1);
63
+ return assertCliFormatSupported(commandName, program.opts().format);
81
64
  }
82
65
  export function getRootPath() {
83
66
  return process.cwd();
@@ -92,28 +75,13 @@ export async function loadProjectConfig() {
92
75
  });
93
76
  }
94
77
  export async function filterIssuesByChangedFiles(issues, rootPath, baseRef) {
95
- const result = await getChangedFiles(rootPath, baseRef);
96
- const format = getFormat();
97
- const quiet = Boolean(program.opts().quiet);
98
- if (!result.available) {
99
- writeChangedOnlyNotice(changedFilesUnavailableMessage(result.reason), format, quiet, 'warning');
100
- return issues;
101
- }
102
- writeChangedOnlyNotice(changedFilesAvailableMessage(result.baseRef, result.files.length), format, quiet, 'dim');
103
- const filtered = filterIssuesToChangedFiles(issues, result.files);
104
- const filterMessage = changedIssueFilterMessage(filtered);
105
- if (filterMessage)
106
- writeChangedOnlyNotice(filterMessage, format, quiet, 'dim');
107
- return filtered.issues;
108
- }
109
- function writeChangedOnlyNotice(message, format, quiet, style) {
110
- if (quiet)
111
- return;
112
- if (format !== 'console') {
113
- console.error(message.trim());
114
- return;
115
- }
116
- console.error(style === 'warning' ? chalk.yellow(message) : chalk.dim(message));
78
+ return await filterIssuesByChangedFilesForCli({
79
+ issues,
80
+ rootPath,
81
+ baseRef,
82
+ format: getFormat(),
83
+ quiet: Boolean(program.opts().quiet),
84
+ });
117
85
  }
118
86
  export function setupLogLevel() {
119
87
  const opts = program.opts();
@@ -1 +1 @@
1
- {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../src/cli/_shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../src/cli/_shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type ChangedFilesResult } from '../utils/changedFiles.js';
2
+ import type { ReportFormat } from '../types/config.js';
3
+ import type { Issue } from '../types.js';
4
+ type ChangedFilesLoader = (rootPath: string, explicitBaseRef?: string) => Promise<ChangedFilesResult>;
5
+ type NoticeWriter = (message: string) => void;
6
+ export interface ChangedOnlyFilterOptions {
7
+ issues: Issue[];
8
+ rootPath: string;
9
+ baseRef?: string;
10
+ format: ReportFormat;
11
+ quiet: boolean;
12
+ getChangedFiles?: ChangedFilesLoader;
13
+ write?: NoticeWriter;
14
+ }
15
+ export declare function filterIssuesByChangedFilesForCli(options: ChangedOnlyFilterOptions): Promise<Issue[]>;
16
+ export {};
@@ -0,0 +1,28 @@
1
+ import chalk from 'chalk';
2
+ import { getChangedFiles } from '../utils/changedFiles.js';
3
+ import { changedFilesAvailableMessage, changedFilesUnavailableMessage, changedIssueFilterMessage, filterIssuesToChangedFiles, } from './changedIssueFilter.js';
4
+ export async function filterIssuesByChangedFilesForCli(options) {
5
+ const loadChangedFiles = options.getChangedFiles ?? getChangedFiles;
6
+ const result = await loadChangedFiles(options.rootPath, options.baseRef);
7
+ if (!result.available) {
8
+ writeChangedOnlyNotice(changedFilesUnavailableMessage(result.reason), options.format, options.quiet, 'warning', options.write);
9
+ return options.issues;
10
+ }
11
+ writeChangedOnlyNotice(changedFilesAvailableMessage(result.baseRef, result.files.length), options.format, options.quiet, 'dim', options.write);
12
+ const filtered = filterIssuesToChangedFiles(options.issues, result.files);
13
+ const filterMessage = changedIssueFilterMessage(filtered);
14
+ if (filterMessage) {
15
+ writeChangedOnlyNotice(filterMessage, options.format, options.quiet, 'dim', options.write);
16
+ }
17
+ return filtered.issues;
18
+ }
19
+ function writeChangedOnlyNotice(message, format, quiet, style, write = console.error) {
20
+ if (quiet)
21
+ return;
22
+ if (format !== 'console') {
23
+ write(message.trim());
24
+ return;
25
+ }
26
+ write(style === 'warning' ? chalk.yellow(message) : chalk.dim(message));
27
+ }
28
+ //# sourceMappingURL=changedOnly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changedOnly.js","sourceRoot":"","sources":["../../src/cli/changedOnly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAA2B,MAAM,0BAA0B,CAAC;AAGpF,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAkBjC,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,OAAiC;IAEjC,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,IAAI,eAAe,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,sBAAsB,CACpB,8BAA8B,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7C,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb,SAAS,EACT,OAAO,CAAC,KAAK,CACd,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,sBAAsB,CACpB,4BAA4B,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACjE,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb,KAAK,EACL,OAAO,CAAC,KAAK,CACd,CAAC;IACF,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,aAAa,EAAE,CAAC;QAClB,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAe,EACf,MAAoB,EACpB,KAAc,EACd,KAAwB,EACxB,QAAsB,OAAO,CAAC,KAAK;IAEnC,IAAI,KAAK;QAAE,OAAO;IAClB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IACD,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ReportFormat } from '../types/config.js';
2
+ export type CliFormatFailure = (messages: string[]) => never;
3
+ export declare function resolveCliFormat(formatOption: unknown, fail?: CliFormatFailure): ReportFormat;
4
+ export declare function assertCliFormatSupported(commandName: string, formatOption: unknown, fail?: CliFormatFailure): ReportFormat;
@@ -0,0 +1,30 @@
1
+ import chalk from 'chalk';
2
+ import { OUTPUT_FORMATS, formatList, getCommandFormatSupport } from '../utils/formatSupport.js';
3
+ export function resolveCliFormat(formatOption, fail = exitWithFormatMessages) {
4
+ const format = String(formatOption);
5
+ if (OUTPUT_FORMATS.includes(format))
6
+ return format;
7
+ fail([
8
+ chalk.red(`Unsupported --format ${format}.`),
9
+ chalk.dim(`Supported formats: ${formatList()}`),
10
+ ]);
11
+ }
12
+ export function assertCliFormatSupported(commandName, formatOption, fail = exitWithFormatMessages) {
13
+ const format = resolveCliFormat(formatOption, fail);
14
+ const supported = getCommandFormatSupport(commandName);
15
+ if (!supported) {
16
+ fail([chalk.red(`Internal error: no --format support metadata for projscan ${commandName}.`)]);
17
+ }
18
+ if (supported.includes(format))
19
+ return format;
20
+ fail([
21
+ chalk.red(`projscan ${commandName} does not support --format ${format}.`),
22
+ chalk.dim(`Supported formats: ${formatList(supported)}`),
23
+ ]);
24
+ }
25
+ function exitWithFormatMessages(messages) {
26
+ for (const message of messages)
27
+ console.error(message);
28
+ process.exit(1);
29
+ }
30
+ //# sourceMappingURL=formatOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatOptions.js","sourceRoot":"","sources":["../../src/cli/formatOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAKhG,MAAM,UAAU,gBAAgB,CAC9B,YAAqB,EACrB,OAAyB,sBAAsB;IAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,IAAK,cAAoC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAsB,CAAC;IAC1F,IAAI,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,wBAAwB,MAAM,GAAG,CAAC;QAC5C,KAAK,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,EAAE,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,WAAmB,EACnB,YAAqB,EACrB,OAAyB,sBAAsB;IAE/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,6DAA6D,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,YAAY,WAAW,8BAA8B,MAAM,GAAG,CAAC;QACzE,KAAK,CAAC,GAAG,CAAC,sBAAsB,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;KACzD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAkB;IAChD,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -95,11 +95,16 @@ function swarmCoordinationHints(summary) {
95
95
  const hints = toCoordinationHints(summary);
96
96
  if (hints.length === 0)
97
97
  return [];
98
+ const hintMessage = hints.join(' ');
99
+ const sessionBoundary = summary.evidence?.sessionSeparation.rememberedContext;
100
+ const message = sessionBoundary && !hintMessage.includes(sessionBoundary)
101
+ ? `${hintMessage} ${sessionBoundary}`
102
+ : hintMessage;
98
103
  return [
99
104
  {
100
105
  id: 'swarm-coordination',
101
106
  label: 'Swarm coordination',
102
- message: hints.join(' '),
107
+ message,
103
108
  command: 'projscan coordinate --format json',
104
109
  },
105
110
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"agentBrief.js","sourceRoot":"","sources":["../../src/core/agentBrief.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,IAAI,mBAAmB,GAEzC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAqB7D,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,UAAoC,EAAE;IAEtC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,mBAAmB,CAChC,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EACzC,YAAY,CAAC,MAAM,CACpB,CAAC;IACF,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxE,WAAW,CAAC,QAAQ,CAAC;QACrB,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;QACpD,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;QACtC,gBAAgB,CAAC,QAAQ,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,SAAS,CAAC;QACzB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;QAClD,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;QACzC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3C,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,MAAM;QACN,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QACzC,MAAM;QACN,OAAO,EAAE;YACP,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1C,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;YACnC,iBAAiB,EAAE,CAAC,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC1F,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD;QACD,KAAK;QACL,UAAU;QACV,oBAAoB,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;QACzD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE;YACpE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;YACrB,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,KAAkB;IAElB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc;YAC/C,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa;YAC7C,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM;YAC7E,aAAa,EAAE,QAAQ,CAAC,SAAS;YACjC,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC;SAC3C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAgB;IAC9C,OAAO,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACjE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,OAAmC;IAMjE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO;QACL;YACE,EAAE,EAAE,oBAAoB;YACxB,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YACxB,OAAO,EAAE,mCAAmC;SAC7C;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,QAAgB;IAIhB,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,iBAAiB,EAAE;gBACjB;oBACE,EAAE,EAAE,wBAAwB;oBAC5B,KAAK,EAAE,wDAAwD;oBAC/D,OAAO,EACL,6GAA6G;oBAC/G,OAAO,EAAE,qDAAqD;iBAC/D;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,QAAgB,EAChB,KAA4C,EAC5C,MAAe,EACf,KAAa;IAEb,IAAI,CAAC;QACH,OAAO,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACxD,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;YAC1C,QAAQ,EAAE,EAAE;YACZ,gBAAgB,EAAE,CAAC;SACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO;QACL,EAAE,EAAE,YAAY,KAAK,CAAC,EAAE,EAAE;QAC1B,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,EAAE,KAAK,CAAC,WAAW;QACtB,KAAK;QACL,QAAQ,EAAE,CAAC,+BAA+B,EAAE,0BAA0B,KAAK,CAAC,EAAE,gBAAgB,CAAC;KAChG,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAyB,EAAE,KAAa;IAC/D,OAAO;QACL,EAAE,EAAE,eAAe,KAAK,GAAG,CAAC,EAAE;QAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACrD,KAAK,EAAE,+BAA+B;QACtC,GAAG,EAAE,QAAQ,CAAC,OAAO;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,CAAC,wCAAwC,EAAE,oCAAoC,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAoB;IAC1C,OAAO;QACL,EAAE,EAAE,cAAc,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC9C,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAChF,KAAK,EAAE,mBAAmB,OAAO,CAAC,YAAY,EAAE;QAChD,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACxE,KAAK,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,QAAQ,EAAE;YACR,iBAAiB,OAAO,CAAC,YAAY,gBAAgB;YACrD,iCAAiC;SAClC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAwB;IAC7C,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,sCAAsC;QAC7C,GAAG,EAAE,6CAA6C,MAAM,gEAAgE;QACxH,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE;YACR,+BAA+B;YAC/B,qDAAqD;SACtD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAAwB;IAC/C,OAAO;QACL;YACE,EAAE,EAAE,qBAAqB;YACzB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,yDAAyD;YACjE,OAAO,EAAE,+BAA+B;SACzC;QACD;YACE,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,8DAA8D;YACtE,OAAO,EACL,MAAM,KAAK,SAAS;gBAClB,CAAC,CAAC,sDAAsD;gBACxD,CAAC,CAAC,qDAAqD;SAC5D;QACD;YACE,EAAE,EAAE,oBAAoB;YACxB,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,iDAAiD;YACzD,OAAO,EACL,MAAM,KAAK,SAAS;gBAClB,CAAC,CAAC,wDAAwD;gBAC1D,CAAC,CAAC,UAAU;SACjB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAuB;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1F,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAuB,EACvB,UAAiC;IAEjC,OAAO;QACL,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;KAC3F,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAChB,MAAwB,EACxB,KAAuB,EACvB,MAAyC;IAEzC,OAAO,gBAAgB,MAAM,QAAQ,KAAK,CAAC,MAAM,0BAA0B,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC;AAC9G,CAAC;AAED,SAAS,cAAc,CACrB,KAAmC;IAEnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAC1D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC3E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,KAAY;IAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,eAAe,CAAC,KAAmC;IAC1D,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,WAAW;QAC9F,OAAO,KAAK,CAAC;IACf,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACnF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA2B;IACnD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,QAA0B;IAC9C,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,CACL,KAAK;SACF,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,WAAW,EAAE,IAAI,MAAM,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agentBrief.js","sourceRoot":"","sources":["../../src/core/agentBrief.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { babelCalleeName, babelQualifiedMemberName, bindingIdentifierName, collectMemberAliases, collectMemberReadIdents, isMemberExpressionNode, } from './astMembers.js';
1
+ import { babelCalleeName, babelQualifiedMemberName, bindingIdentifierNames, collectMemberAliases, collectMemberReadIdents, isMemberExpressionNode, } from './astMembers.js';
2
2
  import { isFunctionNode } from './astFunctionNodes.js';
3
3
  import { childAstNodes, isDecisionPoint } from './astProgramSignals.js';
4
4
  /**
@@ -34,8 +34,7 @@ export function functionParamNames(fnNode) {
34
34
  const params = fnNode.params ?? [];
35
35
  const out = new Set();
36
36
  for (const param of params) {
37
- const name = bindingIdentifierName(param);
38
- if (name)
37
+ for (const name of bindingIdentifierNames(param))
39
38
  out.add(name);
40
39
  }
41
40
  return [...out];
@@ -1 +1 @@
1
- {"version":3,"file":"astBodySignals.js","sourceRoot":"","sources":["../../src/core/astBodySignals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astBodySignals.js","sourceRoot":"","sources":["../../src/core/astBodySignals.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Node } from '@babel/types';
2
2
  export declare function bindingIdentifierName(node: Node | null | undefined): string | null;
3
+ export declare function bindingIdentifierNames(node: Node | null | undefined): string[];
3
4
  export declare function isMemberExpressionNode(node: Node): boolean;
4
5
  /**
5
6
  * Walk a member-expression chain (`a.b.c`, `req.body.x`, `process.env.SECRET`)
@@ -1,15 +1,44 @@
1
1
  export function bindingIdentifierName(node) {
2
+ return bindingIdentifierNames(node)[0] ?? null;
3
+ }
4
+ const BINDING_NAME_READERS = {
5
+ Identifier: identifierBindingNames,
6
+ AssignmentPattern: assignmentPatternBindingNames,
7
+ RestElement: restElementBindingNames,
8
+ ObjectPattern: objectPatternBindingNames,
9
+ ArrayPattern: arrayPatternBindingNames,
10
+ };
11
+ export function bindingIdentifierNames(node) {
2
12
  if (!node)
3
- return null;
4
- if (node.type === 'Identifier')
5
- return node.name ?? null;
6
- if (node.type === 'AssignmentPattern') {
7
- return bindingIdentifierName(node.left);
8
- }
9
- if (node.type === 'RestElement') {
10
- return bindingIdentifierName(node.argument);
13
+ return [];
14
+ return BINDING_NAME_READERS[node.type]?.(node) ?? [];
15
+ }
16
+ function identifierBindingNames(node) {
17
+ const name = node.name;
18
+ return name ? [name] : [];
19
+ }
20
+ function assignmentPatternBindingNames(node) {
21
+ return bindingIdentifierNames(node.left);
22
+ }
23
+ function restElementBindingNames(node) {
24
+ return bindingIdentifierNames(node.argument);
25
+ }
26
+ function objectPatternBindingNames(node) {
27
+ return (node.properties ?? []).flatMap(bindingNamesFromObjectPatternProperty);
28
+ }
29
+ function arrayPatternBindingNames(node) {
30
+ return (node.elements ?? []).flatMap(bindingIdentifierNames);
31
+ }
32
+ function bindingNamesFromObjectPatternProperty(property) {
33
+ if (!property)
34
+ return [];
35
+ if (property.type === 'RestElement') {
36
+ return bindingIdentifierNames(property.argument);
11
37
  }
12
- return null;
38
+ if (property.type !== 'ObjectProperty')
39
+ return [];
40
+ const value = property.value;
41
+ return bindingIdentifierNames(value);
13
42
  }
14
43
  export function isMemberExpressionNode(node) {
15
44
  return node.type === 'MemberExpression' || node.type === 'OptionalMemberExpression';
@@ -1 +1 @@
1
- {"version":3,"file":"astMembers.js","sourceRoot":"","sources":["../../src/core/astMembers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astMembers.js","sourceRoot":"","sources":["../../src/core/astMembers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { analyzeHotspots } from './hotspotAnalyzer.js';
2
2
  import { collectIssues } from './issueEngine.js';
3
3
  import { fixFirstFromBugHuntFinding } from './fixFirst.js';
4
+ import { hotspotToFinding } from './bugHuntHotspotFindings.js';
5
+ import { filesFromPreflightEvidence, preflightReasonToFinding, } from './bugHuntPreflightFindings.js';
4
6
  import { computePreflight } from './preflight.js';
5
7
  import { scanRepository } from './repositoryScanner.js';
6
8
  import { buildRiskNow } from './sessionResources.js';
@@ -84,40 +86,6 @@ function issueToFinding(issue) {
84
86
  },
85
87
  };
86
88
  }
87
- function preflightReasonToFinding(reason, index, changedFiles = []) {
88
- const files = reason.file ? [reason.file] : changedFiles;
89
- return {
90
- id: `bh-preflight-${index + 1}`,
91
- priority: severityPriority(reason.severity),
92
- source: 'preflight',
93
- title: preflightReasonTitle(reason),
94
- why: reason.message,
95
- files,
96
- evidence: [
97
- {
98
- source: reason.source,
99
- severity: reason.severity,
100
- message: reason.message,
101
- ...(files[0] ? { file: files[0] } : {}),
102
- ...(reason.issueId ? { issueId: reason.issueId } : {}),
103
- ...(reason.tool ? { tool: reason.tool } : {}),
104
- },
105
- ],
106
- suggestedTools: ['projscan_preflight', reason.tool ?? 'projscan_doctor'],
107
- verification: {
108
- commands: [
109
- 'projscan preflight --mode before_commit --format json',
110
- 'projscan doctor --format json',
111
- ],
112
- expected: 'The preflight reason is gone or intentionally documented as accepted risk.',
113
- },
114
- };
115
- }
116
- function preflightReasonTitle(reason) {
117
- if (reason.source === 'release')
118
- return 'Review preflight release sign-off';
119
- return `Resolve preflight ${reason.source} signal`;
120
- }
121
89
  function conflictToFinding(conflict, index) {
122
90
  return {
123
91
  id: `bh-session-${index + 1}`,
@@ -141,35 +109,6 @@ function conflictToFinding(conflict, index) {
141
109
  },
142
110
  };
143
111
  }
144
- function hotspotToFinding(hotspot) {
145
- return {
146
- id: `bh-hotspot-${slug(hotspot.relativePath)}`,
147
- priority: hotspot.issueIds.length > 0 ? (hotspot.riskScore >= 70 ? 'p1' : 'p2') : 'p2',
148
- source: 'hotspot',
149
- title: `${hotspot.issueIds.length > 0 ? 'Inspect' : 'Watch'} risky hotspot ${hotspot.relativePath}`,
150
- why: hotspot.reasons[0] ??
151
- `Risk score ${Math.round(hotspot.riskScore)} combines churn, complexity, and issue density.`,
152
- files: [hotspot.relativePath],
153
- evidence: [
154
- {
155
- source: 'hotspots',
156
- message: `risk score ${Math.round(hotspot.riskScore)}`,
157
- file: hotspot.relativePath,
158
- },
159
- ...hotspot.issueIds.slice(0, 3).map((issueId) => ({
160
- source: 'doctor',
161
- message: `linked issue ${issueId}`,
162
- issueId,
163
- file: hotspot.relativePath,
164
- })),
165
- ],
166
- suggestedTools: ['projscan_file', 'projscan_hotspots', 'projscan_impact'],
167
- verification: {
168
- commands: [`projscan file ${hotspot.relativePath} --format json`, 'npm test'],
169
- expected: 'The hotspot has either lower risk, added regression coverage, or an explicit owner for remaining risk.',
170
- },
171
- };
172
- }
173
112
  function cleanVerificationFinding() {
174
113
  return {
175
114
  id: 'bh-verify-clean',
@@ -280,79 +219,6 @@ function isReleaseSignoffFinding(finding) {
280
219
  function filesFromIssue(issue) {
281
220
  return [...new Set((issue.locations ?? []).map((location) => location.file).filter(Boolean))];
282
221
  }
283
- function filesFromPreflightEvidence(files) {
284
- const contextFiles = files.filter((file) => !isProjscanRuntimePath(file));
285
- if (contextFiles.length === 0)
286
- return files;
287
- const reviewableFiles = sortReviewContextFiles(contextFiles.filter((file) => !isAgentRuntimePath(file)));
288
- if (reviewableFiles.length === 0)
289
- return contextFiles;
290
- const runtimeFiles = contextFiles.filter(isAgentRuntimePath);
291
- return [...reviewableFiles, ...runtimeFiles];
292
- }
293
- function sortReviewContextFiles(files) {
294
- return files
295
- .map((file, index) => ({ file, index }))
296
- .sort((left, right) => {
297
- const byKind = compareRanks(reviewContextRank(left.file), reviewContextRank(right.file));
298
- if (byKind)
299
- return byKind;
300
- const byPackage = compareRanks(packageMetadataRank(left.file), packageMetadataRank(right.file));
301
- if (byPackage)
302
- return byPackage;
303
- return left.index - right.index;
304
- })
305
- .map((entry) => entry.file);
306
- }
307
- const PACKAGE_METADATA_RANKS = [
308
- { rank: 0, pattern: /^package\.json$/ },
309
- {
310
- rank: 1,
311
- pattern: /^(package-lock\.json|npm-shrinkwrap\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lock|bun\.lockb)$/,
312
- },
313
- { rank: 2, pattern: /(^|\/)package\.json$/ },
314
- {
315
- rank: 3,
316
- pattern: /(^|\/)(package-lock\.json|npm-shrinkwrap\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lock|bun\.lockb)$/,
317
- },
318
- ];
319
- const REVIEW_CONTEXT_RANKS = [
320
- {
321
- rank: 0,
322
- pattern: /(^|\/)(package\.json|package-lock\.json|npm-shrinkwrap\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lock|bun\.lockb)$/,
323
- },
324
- { rank: 1, pattern: /^src\//, exclude: /(^|[/.-])(test|spec)\.[cm]?[jt]sx?$/ },
325
- { rank: 2, pattern: /(^tests?\/|(^|[/.-])(test|spec)\.[cm]?[jt]sx?$)/ },
326
- { rank: 3, pattern: /(^docs\/|(^|\/)(README|CHANGELOG)\.md$|\.md$)/ },
327
- ];
328
- function reviewContextRank(file) {
329
- return rankedPatternMatch(normalizeReviewPath(file), REVIEW_CONTEXT_RANKS) ?? 4;
330
- }
331
- function packageMetadataRank(file) {
332
- return rankedPatternMatch(normalizeReviewPath(file), PACKAGE_METADATA_RANKS) ?? 4;
333
- }
334
- function rankedPatternMatch(path, ranks) {
335
- const match = ranks.find((rank) => rank.pattern.test(path) && !rank.exclude?.test(path));
336
- return match?.rank ?? null;
337
- }
338
- function compareRanks(left, right) {
339
- return left === right ? 0 : left - right;
340
- }
341
- function normalizeReviewPath(file) {
342
- return file.replace(/\\/g, '/');
343
- }
344
- function isProjscanRuntimePath(file) {
345
- return (file === '.projscan-cache' ||
346
- file.startsWith('.projscan-cache/') ||
347
- file === '.projscan-memory' ||
348
- file.startsWith('.projscan-memory/'));
349
- }
350
- function isAgentRuntimePath(file) {
351
- return (file === '.agentflight' ||
352
- file.startsWith('.agentflight/') ||
353
- file === '.agentloop' ||
354
- file.startsWith('.agentloop/'));
355
- }
356
222
  function severityPriority(severity) {
357
223
  if (severity === 'error')
358
224
  return 'p0';
@@ -383,10 +249,4 @@ function normalizeMax(value) {
383
249
  return DEFAULT_MAX_FINDINGS;
384
250
  return Math.max(1, Math.min(25, Math.floor(value)));
385
251
  }
386
- function slug(value) {
387
- return (value
388
- .replace(/[^a-zA-Z0-9]+/g, '-')
389
- .replace(/^-+|-+$/g, '')
390
- .toLowerCase() || 'root');
391
- }
392
252
  //# sourceMappingURL=bugHunt.js.map