@specship/specship-win32-arm64 0.23.0 → 0.25.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 (143) hide show
  1. package/lib/dist/activation/steering.d.ts +4 -4
  2. package/lib/dist/activation/steering.d.ts.map +1 -1
  3. package/lib/dist/activation/steering.js +6 -6
  4. package/lib/dist/activation/steering.js.map +1 -1
  5. package/lib/dist/bin/specship.js +277 -40
  6. package/lib/dist/bin/specship.js.map +1 -1
  7. package/lib/dist/commands/specship/learn.md +5 -3
  8. package/lib/dist/commands/specship/spec.md +73 -15
  9. package/lib/dist/db/spec-queries.d.ts +73 -3
  10. package/lib/dist/db/spec-queries.d.ts.map +1 -1
  11. package/lib/dist/db/spec-queries.js +139 -5
  12. package/lib/dist/db/spec-queries.js.map +1 -1
  13. package/lib/dist/diagram/flow-diagram.d.ts +86 -0
  14. package/lib/dist/diagram/flow-diagram.d.ts.map +1 -0
  15. package/lib/dist/diagram/flow-diagram.js +0 -0
  16. package/lib/dist/diagram/flow-diagram.js.map +1 -0
  17. package/lib/dist/enforce/changed-files.d.ts +28 -0
  18. package/lib/dist/enforce/changed-files.d.ts.map +1 -0
  19. package/lib/dist/enforce/changed-files.js +72 -0
  20. package/lib/dist/enforce/changed-files.js.map +1 -0
  21. package/lib/dist/enforce/enforce.d.ts +28 -1
  22. package/lib/dist/enforce/enforce.d.ts.map +1 -1
  23. package/lib/dist/enforce/enforce.js +37 -5
  24. package/lib/dist/enforce/enforce.js.map +1 -1
  25. package/lib/dist/extraction/grammars.d.ts +10 -0
  26. package/lib/dist/extraction/grammars.d.ts.map +1 -1
  27. package/lib/dist/extraction/grammars.js +32 -3
  28. package/lib/dist/extraction/grammars.js.map +1 -1
  29. package/lib/dist/extraction/index.d.ts +7 -0
  30. package/lib/dist/extraction/index.d.ts.map +1 -1
  31. package/lib/dist/extraction/index.js.map +1 -1
  32. package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts +7 -0
  33. package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -1
  34. package/lib/dist/extraction/specs/markdown-spec-extractor.js +81 -8
  35. package/lib/dist/extraction/specs/markdown-spec-extractor.js.map +1 -1
  36. package/lib/dist/extraction/wasm/tree-sitter-pascal.wasm.gz +0 -0
  37. package/lib/dist/extraction/wasm/tree-sitter-scala.wasm.gz +0 -0
  38. package/lib/dist/graph/spec-coverage.d.ts +86 -0
  39. package/lib/dist/graph/spec-coverage.d.ts.map +1 -0
  40. package/lib/dist/graph/spec-coverage.js +152 -0
  41. package/lib/dist/graph/spec-coverage.js.map +1 -0
  42. package/lib/dist/index.d.ts +81 -6
  43. package/lib/dist/index.d.ts.map +1 -1
  44. package/lib/dist/index.js +178 -21
  45. package/lib/dist/index.js.map +1 -1
  46. package/lib/dist/installer/index.d.ts +33 -8
  47. package/lib/dist/installer/index.d.ts.map +1 -1
  48. package/lib/dist/installer/index.js +50 -50
  49. package/lib/dist/installer/index.js.map +1 -1
  50. package/lib/dist/installer/init-offer.d.ts +14 -9
  51. package/lib/dist/installer/init-offer.d.ts.map +1 -1
  52. package/lib/dist/installer/init-offer.js +13 -9
  53. package/lib/dist/installer/init-offer.js.map +1 -1
  54. package/lib/dist/installer/install-defaults.d.ts +62 -0
  55. package/lib/dist/installer/install-defaults.d.ts.map +1 -0
  56. package/lib/dist/installer/install-defaults.js +67 -0
  57. package/lib/dist/installer/install-defaults.js.map +1 -0
  58. package/lib/dist/installer/targets/claude.d.ts +14 -0
  59. package/lib/dist/installer/targets/claude.d.ts.map +1 -1
  60. package/lib/dist/installer/targets/claude.js +64 -0
  61. package/lib/dist/installer/targets/claude.js.map +1 -1
  62. package/lib/dist/installer/targets/shared.js +4 -4
  63. package/lib/dist/installer/targets/shared.js.map +1 -1
  64. package/lib/dist/mcp/fitness-tool.d.ts +5 -6
  65. package/lib/dist/mcp/fitness-tool.d.ts.map +1 -1
  66. package/lib/dist/mcp/fitness-tool.js +0 -16
  67. package/lib/dist/mcp/fitness-tool.js.map +1 -1
  68. package/lib/dist/mcp/health-tool.d.ts +26 -0
  69. package/lib/dist/mcp/health-tool.d.ts.map +1 -0
  70. package/lib/dist/mcp/health-tool.js +50 -0
  71. package/lib/dist/mcp/health-tool.js.map +1 -0
  72. package/lib/dist/mcp/maintainability-tool.d.ts +5 -7
  73. package/lib/dist/mcp/maintainability-tool.d.ts.map +1 -1
  74. package/lib/dist/mcp/maintainability-tool.js +0 -16
  75. package/lib/dist/mcp/maintainability-tool.js.map +1 -1
  76. package/lib/dist/mcp/model-context.d.ts +13 -2
  77. package/lib/dist/mcp/model-context.d.ts.map +1 -1
  78. package/lib/dist/mcp/model-context.js +39 -12
  79. package/lib/dist/mcp/model-context.js.map +1 -1
  80. package/lib/dist/mcp/proxy.d.ts.map +1 -1
  81. package/lib/dist/mcp/proxy.js +4 -1
  82. package/lib/dist/mcp/proxy.js.map +1 -1
  83. package/lib/dist/mcp/server-instructions.d.ts +1 -1
  84. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  85. package/lib/dist/mcp/server-instructions.js +5 -4
  86. package/lib/dist/mcp/server-instructions.js.map +1 -1
  87. package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
  88. package/lib/dist/mcp/spec-tools.js +213 -28
  89. package/lib/dist/mcp/spec-tools.js.map +1 -1
  90. package/lib/dist/mcp/tools.d.ts +12 -8
  91. package/lib/dist/mcp/tools.d.ts.map +1 -1
  92. package/lib/dist/mcp/tools.js +89 -48
  93. package/lib/dist/mcp/tools.js.map +1 -1
  94. package/lib/dist/resolution/spec-link-resolver.d.ts +44 -2
  95. package/lib/dist/resolution/spec-link-resolver.d.ts.map +1 -1
  96. package/lib/dist/resolution/spec-link-resolver.js +132 -0
  97. package/lib/dist/resolution/spec-link-resolver.js.map +1 -1
  98. package/lib/dist/resolution/test-title-links.d.ts +62 -0
  99. package/lib/dist/resolution/test-title-links.d.ts.map +1 -0
  100. package/lib/dist/resolution/test-title-links.js +108 -0
  101. package/lib/dist/resolution/test-title-links.js.map +1 -0
  102. package/lib/dist/search/query-parser.d.ts.map +1 -1
  103. package/lib/dist/search/query-parser.js +6 -1
  104. package/lib/dist/search/query-parser.js.map +1 -1
  105. package/lib/dist/server/project-registry.js +1 -1
  106. package/lib/dist/server/routes/claude.js +9 -36
  107. package/lib/dist/server/routes/graph.js +53 -7
  108. package/lib/dist/server/routes/mcp.js +4 -3
  109. package/lib/dist/server/routes/projects.js +4 -4
  110. package/lib/dist/server/routes/spec.js +49 -7
  111. package/lib/dist/server/server.js +29 -17
  112. package/lib/dist/skills/spec-author/SKILL.md +164 -0
  113. package/lib/dist/skills/spec-author/references/format.md +210 -0
  114. package/lib/dist/skills/spec-author/references/gap-questions.md +152 -0
  115. package/lib/dist/skills/spec-author/references/quality-rubric.md +125 -0
  116. package/lib/dist/skills/spec-author/references/review-checklist.md +175 -0
  117. package/lib/dist/spec-lint/lint.d.ts +82 -0
  118. package/lib/dist/spec-lint/lint.d.ts.map +1 -0
  119. package/lib/dist/spec-lint/lint.js +430 -0
  120. package/lib/dist/spec-lint/lint.js.map +1 -0
  121. package/lib/dist/statusline/index.js.map +1 -1
  122. package/lib/dist/statusline/render.d.ts +1 -1
  123. package/lib/dist/statusline/render.d.ts.map +1 -1
  124. package/lib/dist/statusline/render.js +3 -1
  125. package/lib/dist/statusline/render.js.map +1 -1
  126. package/lib/dist/ui/assets/index-BzuUWUAE.js +50 -0
  127. package/lib/dist/ui/index.html +1 -1
  128. package/lib/dist/verify/report-ingest.d.ts +88 -0
  129. package/lib/dist/verify/report-ingest.d.ts.map +1 -0
  130. package/lib/dist/verify/report-ingest.js +269 -0
  131. package/lib/dist/verify/report-ingest.js.map +1 -0
  132. package/lib/dist/workflows/defaults/spec-fix.yaml +103 -12
  133. package/lib/dist/workflows/defaults/spec-implement-mixed.yaml +264 -21
  134. package/lib/dist/workflows/defaults/spec-implement.yaml +260 -19
  135. package/lib/dist/workflows/defaults/spec-verify.yaml +60 -9
  136. package/lib/node_modules/.package-lock.json +1 -1
  137. package/lib/package.json +7 -3
  138. package/package.json +1 -1
  139. package/lib/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  140. package/lib/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  141. package/lib/dist/server/ingest/impact-query.js +0 -343
  142. package/lib/dist/server/routes/events.js +0 -152
  143. package/lib/dist/ui/assets/index-CjjaftDw.js +0 -50
package/lib/dist/index.js CHANGED
@@ -42,8 +42,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
42
42
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.ConfigError = exports.VectorError = exports.SearchError = exports.DatabaseError = exports.ParseError = exports.FileError = exports.SpecShipError = exports.isUiNode = exports.renderBehaviourSurface = exports.computeBehaviourSurface = exports.ENFORCE_CONFIG_FILE = exports.loadEnforceConfig = exports.evaluateEnforcement = exports.FITNESS_CONFIG_FILE = exports.loadFitnessRules = exports.evaluateFitness = exports.highPrecisionClean = exports.LOW_CONFIDENCE_CLASSES = exports.HIGH_PRECISION_CLASSES = exports.CONFIG_FILE_NAME = exports.DEFAULT_EXCLUDE = exports.DEFAULT_THRESHOLDS = exports.resolveExclude = exports.resolveThresholds = exports.computeMaintainability = exports.undoProposal = exports.applyProposal = exports.previewProposal = exports.ReflectStore = exports.reflectSweep = exports.reflectAnalyze = exports.computeDomainGapSeed = exports.findBriefsForSpec = exports.summarizeBriefFunnel = exports.resolveBriefLink = exports.computeSpecFunnel = exports.loadAllGrammars = exports.loadGrammarsForLanguages = exports.initGrammars = exports.getSupportedLanguages = exports.isGrammarLoaded = exports.isLanguageSupported = exports.detectLanguage = exports.SPECSHIP_DIR = exports.findNearestSpecShipRoot = exports.isInitialized = exports.getSpecShipDir = exports.QueryBuilder = exports.DatabaseConnection = exports.getDatabasePath = void 0;
46
- exports.SpecShip = exports.MCPServer = exports.LockUnavailableError = exports.FileWatcher = exports.MemoryMonitor = exports.throttle = exports.debounce = exports.processInBatches = exports.FileLock = exports.Mutex = exports.defaultLogger = exports.silentLogger = exports.getLogger = exports.setLogger = void 0;
45
+ exports.DEFAULT_DIAGRAM_OPTIONS = exports.resolveDiagramConfig = exports.shouldAutoRefreshDiagram = exports.writeFlowDiagramIfChanged = exports.renderMermaidFlowchart = exports.collectFlows = exports.highPrecisionClean = exports.LOW_CONFIDENCE_CLASSES = exports.HIGH_PRECISION_CLASSES = exports.CONFIG_FILE_NAME = exports.DEFAULT_EXCLUDE = exports.DEFAULT_THRESHOLDS = exports.resolveExclude = exports.resolveThresholds = exports.computeMaintainability = exports.undoProposal = exports.applyProposal = exports.previewProposal = exports.ReflectStore = exports.reflectSweep = exports.reflectAnalyze = exports.scanTestTitleRefs = exports.isNonTestEvidence = exports.isRecognizedTestFile = exports.TestReportParseError = exports.caseMatchesLink = exports.parseVitestJsonReport = exports.ingestTestReport = exports.verdictFor = exports.formatCoverageLine = exports.computeSpecCoverage = exports.computeDomainGapSeed = exports.findBriefsForSpec = exports.summarizeBriefFunnel = exports.resolveBriefLink = exports.computeSpecFunnel = exports.loadAllGrammars = exports.loadGrammarsForLanguages = exports.initGrammars = exports.getSupportedLanguages = exports.isGrammarLoaded = exports.isLanguageSupported = exports.detectLanguage = exports.SPECSHIP_DIR = exports.findNearestSpecShipRoot = exports.isInitialized = exports.getSpecShipDir = exports.QueryBuilder = exports.DatabaseConnection = exports.getDatabasePath = void 0;
46
+ exports.SpecShip = exports.MCPServer = exports.LockUnavailableError = exports.FileWatcher = exports.MemoryMonitor = exports.throttle = exports.debounce = exports.processInBatches = exports.FileLock = exports.Mutex = exports.defaultLogger = exports.silentLogger = exports.getLogger = exports.setLogger = exports.ConfigError = exports.VectorError = exports.SearchError = exports.DatabaseError = exports.ParseError = exports.FileError = exports.SpecShipError = exports.isUiNode = exports.renderBehaviourSurface = exports.computeBehaviourSurface = exports.InvalidRefError = exports.changedFilesSince = exports.normalizePath = exports.ENFORCE_CONFIG_FILE = exports.loadEnforceConfig = exports.evaluateEnforcement = exports.FITNESS_CONFIG_FILE = exports.loadFitnessRules = exports.evaluateFitness = void 0;
47
47
  const path = __importStar(require("path"));
48
48
  const db_1 = require("./db");
49
49
  const queries_1 = require("./db/queries");
@@ -55,6 +55,8 @@ const resolution_1 = require("./resolution");
55
55
  const spec_link_resolver_1 = require("./resolution/spec-link-resolver");
56
56
  const brief_link_resolver_1 = require("./resolution/brief-link-resolver");
57
57
  const domain_gap_seed_1 = require("./resolution/domain-gap-seed");
58
+ const spec_coverage_1 = require("./graph/spec-coverage");
59
+ const report_ingest_1 = require("./verify/report-ingest");
58
60
  const spec_queries_1 = require("./db/spec-queries");
59
61
  const reflect_1 = require("./reflect");
60
62
  const eta_1 = require("./workflows/eta");
@@ -66,6 +68,7 @@ const maintainability_1 = require("./graph/maintainability");
66
68
  const fitness_1 = require("./fitness/fitness");
67
69
  const enforce_1 = require("./enforce/enforce");
68
70
  const behaviour_surface_1 = require("./behaviour/behaviour-surface");
71
+ const flow_diagram_1 = require("./diagram/flow-diagram");
69
72
  const context_1 = require("./context");
70
73
  const utils_1 = require("./utils");
71
74
  const sync_1 = require("./sync");
@@ -100,6 +103,20 @@ Object.defineProperty(exports, "summarizeBriefFunnel", { enumerable: true, get:
100
103
  Object.defineProperty(exports, "findBriefsForSpec", { enumerable: true, get: function () { return brief_link_resolver_2.findBriefsForSpec; } });
101
104
  var domain_gap_seed_2 = require("./resolution/domain-gap-seed");
102
105
  Object.defineProperty(exports, "computeDomainGapSeed", { enumerable: true, get: function () { return domain_gap_seed_2.computeDomainGapSeed; } });
106
+ // Spec coverage rollup + test-report ingestion (VSTATE-DOC).
107
+ var spec_coverage_2 = require("./graph/spec-coverage");
108
+ Object.defineProperty(exports, "computeSpecCoverage", { enumerable: true, get: function () { return spec_coverage_2.computeSpecCoverage; } });
109
+ Object.defineProperty(exports, "formatCoverageLine", { enumerable: true, get: function () { return spec_coverage_2.formatCoverageLine; } });
110
+ Object.defineProperty(exports, "verdictFor", { enumerable: true, get: function () { return spec_coverage_2.verdictFor; } });
111
+ var report_ingest_2 = require("./verify/report-ingest");
112
+ Object.defineProperty(exports, "ingestTestReport", { enumerable: true, get: function () { return report_ingest_2.ingestTestReport; } });
113
+ Object.defineProperty(exports, "parseVitestJsonReport", { enumerable: true, get: function () { return report_ingest_2.parseVitestJsonReport; } });
114
+ Object.defineProperty(exports, "caseMatchesLink", { enumerable: true, get: function () { return report_ingest_2.caseMatchesLink; } });
115
+ Object.defineProperty(exports, "TestReportParseError", { enumerable: true, get: function () { return report_ingest_2.TestReportParseError; } });
116
+ var test_title_links_1 = require("./resolution/test-title-links");
117
+ Object.defineProperty(exports, "isRecognizedTestFile", { enumerable: true, get: function () { return test_title_links_1.isRecognizedTestFile; } });
118
+ Object.defineProperty(exports, "isNonTestEvidence", { enumerable: true, get: function () { return test_title_links_1.isNonTestEvidence; } });
119
+ Object.defineProperty(exports, "scanTestTitleRefs", { enumerable: true, get: function () { return test_title_links_1.scanTestTitleRefs; } });
103
120
  // Reflection engine (REFLECT-DOC) — proposals mined from transcripts.
104
121
  var reflect_2 = require("./reflect");
105
122
  Object.defineProperty(exports, "reflectAnalyze", { enumerable: true, get: function () { return reflect_2.analyze; } });
@@ -119,6 +136,13 @@ Object.defineProperty(exports, "CONFIG_FILE_NAME", { enumerable: true, get: func
119
136
  Object.defineProperty(exports, "HIGH_PRECISION_CLASSES", { enumerable: true, get: function () { return maintainability_2.HIGH_PRECISION_CLASSES; } });
120
137
  Object.defineProperty(exports, "LOW_CONFIDENCE_CLASSES", { enumerable: true, get: function () { return maintainability_2.LOW_CONFIDENCE_CLASSES; } });
121
138
  Object.defineProperty(exports, "highPrecisionClean", { enumerable: true, get: function () { return maintainability_2.highPrecisionClean; } });
139
+ var flow_diagram_2 = require("./diagram/flow-diagram");
140
+ Object.defineProperty(exports, "collectFlows", { enumerable: true, get: function () { return flow_diagram_2.collectFlows; } });
141
+ Object.defineProperty(exports, "renderMermaidFlowchart", { enumerable: true, get: function () { return flow_diagram_2.renderMermaidFlowchart; } });
142
+ Object.defineProperty(exports, "writeFlowDiagramIfChanged", { enumerable: true, get: function () { return flow_diagram_2.writeFlowDiagramIfChanged; } });
143
+ Object.defineProperty(exports, "shouldAutoRefreshDiagram", { enumerable: true, get: function () { return flow_diagram_2.shouldAutoRefreshDiagram; } });
144
+ Object.defineProperty(exports, "resolveDiagramConfig", { enumerable: true, get: function () { return flow_diagram_2.resolveDiagramConfig; } });
145
+ Object.defineProperty(exports, "DEFAULT_DIAGRAM_OPTIONS", { enumerable: true, get: function () { return flow_diagram_2.DEFAULT_DIAGRAM_OPTIONS; } });
122
146
  // Architecture-fitness harness (FITNESS-DOC / REQ-FITNESS-001…003).
123
147
  var fitness_2 = require("./fitness/fitness");
124
148
  Object.defineProperty(exports, "evaluateFitness", { enumerable: true, get: function () { return fitness_2.evaluateFitness; } });
@@ -129,6 +153,11 @@ var enforce_2 = require("./enforce/enforce");
129
153
  Object.defineProperty(exports, "evaluateEnforcement", { enumerable: true, get: function () { return enforce_2.evaluateEnforcement; } });
130
154
  Object.defineProperty(exports, "loadEnforceConfig", { enumerable: true, get: function () { return enforce_2.loadEnforceConfig; } });
131
155
  Object.defineProperty(exports, "ENFORCE_CONFIG_FILE", { enumerable: true, get: function () { return enforce_2.ENFORCE_CONFIG_FILE; } });
156
+ Object.defineProperty(exports, "normalizePath", { enumerable: true, get: function () { return enforce_2.normalizePath; } });
157
+ // Change-scoped gating (REQ-AUTHG-006) — `specship check --since <ref>`.
158
+ var changed_files_1 = require("./enforce/changed-files");
159
+ Object.defineProperty(exports, "changedFilesSince", { enumerable: true, get: function () { return changed_files_1.changedFilesSince; } });
160
+ Object.defineProperty(exports, "InvalidRefError", { enumerable: true, get: function () { return changed_files_1.InvalidRefError; } });
132
161
  // Behaviour surface (BEHAVIOUR-DOC / REQ-BEHAVIOUR-001).
133
162
  var behaviour_surface_2 = require("./behaviour/behaviour-surface");
134
163
  Object.defineProperty(exports, "computeBehaviourSurface", { enumerable: true, get: function () { return behaviour_surface_2.computeBehaviourSurface; } });
@@ -188,7 +217,10 @@ class SpecShip {
188
217
  this.fileLock = new utils_1.FileLock(path.join((0, directory_1.getSpecShipDir)(projectRoot), 'specship.lock'));
189
218
  this.orchestrator = new extraction_1.ExtractionOrchestrator(projectRoot, queries);
190
219
  this.resolver = (0, resolution_1.createResolver)(projectRoot, queries);
191
- this.specLinkResolver = new spec_link_resolver_1.SpecLinkResolver(queries, this.specQueries);
220
+ this.specLinkResolver = new spec_link_resolver_1.SpecLinkResolver(queries, this.specQueries, {
221
+ // The test-title evidence pass reads test files from disk (REQ-VSTATE-002).
222
+ projectRoot,
223
+ });
192
224
  this.graphManager = new graph_1.GraphQueryManager(queries);
193
225
  this.traverser = new graph_1.GraphTraverser(queries);
194
226
  this.contextBuilder = (0, context_1.createContextBuilder)(projectRoot, queries, this.traverser);
@@ -210,6 +242,28 @@ class SpecShip {
210
242
  getSpecFunnel() {
211
243
  return (0, brief_link_resolver_1.computeSpecFunnel)(this.specQueries);
212
244
  }
245
+ /**
246
+ * The spec coverage rollup (REQ-VSTATE-006): per requirement AND per
247
+ * acceptance criterion, the implements/tests link counts and states plus a
248
+ * verdict derived from `tests` links alone. Scoped to one spec id (a document
249
+ * expands to its requirements) or the whole project when omitted.
250
+ *
251
+ * Exposed on the instance so the MCP tool, the CLI and the desktop server all
252
+ * read the SAME numbers — the coverage line a human approves in the implement
253
+ * workflow is this function's output, not an LLM's count (REQ-VSTATE-005.A2).
254
+ */
255
+ getSpecCoverage(specId) {
256
+ return (0, spec_coverage_1.computeSpecCoverage)(this.specQueries, specId);
257
+ }
258
+ /**
259
+ * Ingest a test report (vitest JSON) and move `tests` links accordingly
260
+ * (REQ-VSTATE-004): a case that passed promotes its link to `verified` with
261
+ * the run recorded as evidence; a failure demotes it to `broken`. A malformed
262
+ * report throws {@link TestReportParseError} having changed nothing.
263
+ */
264
+ verifyFromReport(reportPath, options = {}) {
265
+ return (0, report_ingest_1.ingestTestReport)(this.specQueries, this.projectRoot, reportPath, options);
266
+ }
213
267
  /**
214
268
  * The domain gap-seed (REQ-DOMAIN-003): the structural code entities and
215
269
  * non-domain specs that no domain fact yet covers, plus a coverage tally.
@@ -240,6 +294,17 @@ class SpecShip {
240
294
  getFitness(rules) {
241
295
  return (0, fitness_1.evaluateFitness)(this.queries, rules ?? (0, fitness_1.loadFitnessRules)(this.projectRoot));
242
296
  }
297
+ /**
298
+ * The application flow diagram (FLOWDIAG-DOC, REQ-FLOWDIAG-001): render the
299
+ * graph's entry points and call chains as a Mermaid flowchart and write it
300
+ * to the project's docs/ folder (`diagram.output`, default
301
+ * docs/flow-diagram.md). Deterministic, derived from the graph, and only
302
+ * touches the file when its bytes changed. Exposed on the instance so the
303
+ * CLI and the sync/index tails drive the same pass.
304
+ */
305
+ generateFlowDiagram(options) {
306
+ return (0, flow_diagram_1.generateFlowDiagram)(this.queries, this.projectRoot, options);
307
+ }
243
308
  /**
244
309
  * Enforcement mode (REQ-ENFORCE-001/002/003): compose drift + fitness +
245
310
  * maintainability + the spec→test→verify behaviour chain into one gate. Which
@@ -247,21 +312,31 @@ class SpecShip {
247
312
  * explicit override); with no config every check is advisory and the run
248
313
  * passes. The behaviour chain reads `tests`-kind spec-links on each requirement
249
314
  * and its acceptance criteria (verified = passing, broken = ran-and-failed).
315
+ *
316
+ * `scope` narrows the link-scoped checks to a set of changed files
317
+ * (REQ-AUTHG-006) — `specship check --since <ref>` supplies it. Omitted, the
318
+ * gate evaluates the whole repository exactly as before.
250
319
  */
251
- getEnforce(config) {
320
+ getEnforce(config, scope) {
252
321
  const cfg = config ?? (0, enforce_1.loadEnforceConfig)(this.projectRoot);
253
322
  const sq = this.specQueries;
254
323
  const drift = sq.getLinksByState(['drifted', 'broken', 'orphaned']);
255
324
  const requirements = sq.getSpecsByKind('requirement').map((req) => {
256
- const testsLinks = sq.getLinksBySpec(req.id).filter((l) => l.kind === 'tests');
325
+ const ownLinks = sq.getLinksBySpec(req.id);
326
+ const testsLinks = ownLinks.filter((l) => l.kind === 'tests');
327
+ // Every link target, any kind — a change to implementation code brings
328
+ // its requirement into a scoped run, not just a change to its tests.
329
+ const linkedFiles = ownLinks.map((l) => l.targetFilePath);
257
330
  for (const child of sq.getSpecsByParent(req.id)) {
258
331
  if (child.kind === 'acceptance') {
259
- testsLinks.push(...sq.getLinksBySpec(child.id).filter((l) => l.kind === 'tests'));
332
+ const childLinks = sq.getLinksBySpec(child.id);
333
+ testsLinks.push(...childLinks.filter((l) => l.kind === 'tests'));
334
+ linkedFiles.push(...childLinks.map((l) => l.targetFilePath));
260
335
  }
261
336
  }
262
- return { id: req.id, title: req.title, testsLinks };
337
+ return { id: req.id, title: req.title, testsLinks, sourcePath: req.sourcePath, linkedFiles };
263
338
  });
264
- return (0, enforce_1.evaluateEnforcement)({ drift, fitness: this.getFitness(), maintainability: this.getMaintainability(), requirements }, cfg);
339
+ return (0, enforce_1.evaluateEnforcement)({ drift, fitness: this.getFitness(), maintainability: this.getMaintainability(), requirements }, cfg, scope);
265
340
  }
266
341
  /**
267
342
  * The behaviour surface for a requirement (REQ-BEHAVIOUR-001): its linked code
@@ -626,6 +701,18 @@ class SpecShip {
626
701
  result.nodesCreated = after.nodes - before.nodes;
627
702
  result.edgesCreated = after.edges - before.edges;
628
703
  }
704
+ // Flow-diagram refresh (FLOWDIAG-DOC, REQ-FLOWDIAG-002): same gate as
705
+ // the sync tail. Best-effort — a diagram fault never fails an index.
706
+ try {
707
+ if (result.success) {
708
+ const { shouldAutoRefreshDiagram } = await Promise.resolve().then(() => __importStar(require('./diagram/flow-diagram')));
709
+ if (shouldAutoRefreshDiagram(this.projectRoot))
710
+ this.generateFlowDiagram();
711
+ }
712
+ }
713
+ catch {
714
+ /* a diagram fault must never fail an index */
715
+ }
629
716
  this.refreshStatuslineCache();
630
717
  return result;
631
718
  }
@@ -665,11 +752,57 @@ class SpecShip {
665
752
  /* best-effort — never let a cache refresh affect indexing */
666
753
  }
667
754
  }
755
+ /**
756
+ * Re-extract ONE spec file without ever deleting the specs it still declares
757
+ * (REQ-VSTATE-001).
758
+ *
759
+ * `spec_links.spec_id` is `ON DELETE CASCADE`, so the delete-then-reinsert
760
+ * shape that spec indexing used to have destroyed every link the file did not
761
+ * re-declare — every agent-asserted `tests` link, every verification record —
762
+ * on any edit to any part of the file. Which also meant the sticky-state and
763
+ * spec-axis-drift machinery never ran on the real edit path: there was
764
+ * nothing left to transition.
765
+ *
766
+ * The fix is to make the destructive window not exist rather than to repair
767
+ * it afterwards: `insertSpec` upserts, so a surviving spec's row (and every
768
+ * link hanging off it) is never deleted, and `sweepRemovedSpecs` deletes only
769
+ * the ids the author actually removed (A3). Nothing is snapshotted, so
770
+ * nothing can be lost in a round-trip.
771
+ *
772
+ * Surviving specs keep their links, which makes the file's OWN declarations
773
+ * the other half of the contract: a `verifies:` / `implementations:` bullet
774
+ * the author deleted must take its link with it, or removing a declaration
775
+ * would silently mean nothing. `reconcileDeclaredLinks` drops exactly those —
776
+ * `spec-declaration` provenance only, never a link the file cannot re-create.
777
+ *
778
+ * The caller then applies the file's own declarations and runs the spec-axis
779
+ * drift rule over the surviving rows.
780
+ */
781
+ replaceSpecsForFile(rel, source, stats) {
782
+ const result = new markdown_spec_extractor_1.MarkdownSpecExtractor(rel, source).extract();
783
+ this.specQueries.insertSpecsBatch(result.specs);
784
+ this.specQueries.sweepRemovedSpecs(rel, result.specs.map((s) => s.id));
785
+ // Canonicalized exactly as applyDeclarationCandidates canonicalizes before
786
+ // upserting, so a surviving declaration matches its own row instead of
787
+ // being dropped and re-created every pass.
788
+ const reconciled = this.specQueries.reconcileDeclaredLinks(rel, result.linkCandidates.map((c) => ({
789
+ specId: c.specId,
790
+ targetFilePath: c.targetFilePath,
791
+ targetQualifiedName: (0, spec_link_resolver_1.canonicalQualifiedName)(c.targetQualifiedName),
792
+ kind: c.kind,
793
+ })));
794
+ if (stats && reconciled > 0) {
795
+ stats.declarationsReconciled = (stats.declarationsReconciled ?? 0) + reconciled;
796
+ }
797
+ return result;
798
+ }
668
799
  /**
669
800
  * Internal spec indexing — does NOT take the indexMutex (caller already holds it)
670
801
  * and does NOT take the fileLock. Used by indexAll and sync, which manage locks
671
802
  * themselves. Returns the links that transitioned into `drifted` during the
672
- * pass (spec-side and code-side) so sync can push them (REQ-DRIFT-PUSH-001).
803
+ * pass (spec-side and code-side) so sync can push them (REQ-DRIFT-PUSH-001),
804
+ * plus the extraction error/warning counts over the files it reparsed so the
805
+ * caller can surface them the way `indexSpecs` does (REQ-REVINT-002.A2).
673
806
  *
674
807
  * The per-file content-hash guard makes re-runs cheap; the comment-link scan
675
808
  * + full link re-resolution at the end runs only when a spec file actually
@@ -679,6 +812,8 @@ class SpecShip {
679
812
  */
680
813
  async indexSpecsInternal(forceResolve = true) {
681
814
  const transitions = [];
815
+ let totalErrors = 0;
816
+ let totalWarnings = 0;
682
817
  const specStats = {
683
818
  scanned: 0, reresolved: 0, orphaned: 0, driftedCode: 0,
684
819
  candidatesApplied: 0, commentLinksApplied: 0, reattached: 0, transitions,
@@ -686,7 +821,7 @@ class SpecShip {
686
821
  let specFilesChanged = 0;
687
822
  const specRoots = this.defaultSpecRoots();
688
823
  if (specRoots.length === 0)
689
- return transitions;
824
+ return { transitions, errors: totalErrors, warnings: totalWarnings };
690
825
  const specFiles = [];
691
826
  for (const root of specRoots) {
692
827
  this.collectSpecFiles(root, specFiles);
@@ -707,9 +842,9 @@ class SpecShip {
707
842
  if (existing && existing.contentHash === hashHex)
708
843
  continue;
709
844
  specFilesChanged++;
710
- this.specQueries.deleteSpecsByFile(rel);
711
- const result = new markdown_spec_extractor_1.MarkdownSpecExtractor(rel, source).extract();
712
- this.specQueries.insertSpecsBatch(result.specs);
845
+ const result = this.replaceSpecsForFile(rel, source, specStats);
846
+ totalErrors += result.errors.filter((e) => e.severity === 'error').length;
847
+ totalWarnings += result.errors.filter((e) => e.severity === 'warning').length;
713
848
  this.specQueries.upsertSpecFile({
714
849
  path: rel,
715
850
  contentHash: hashHex,
@@ -729,10 +864,11 @@ class SpecShip {
729
864
  if (specFilesChanged > 0 || forceResolve) {
730
865
  const allFiles = this.queries.getAllFiles().map((f) => f.path);
731
866
  this.specLinkResolver.applyCodeCommentLinks(allFiles);
867
+ this.specLinkResolver.applyTestTitleLinks(allFiles, specStats);
732
868
  const resolveStats = this.specLinkResolver.resolveAll();
733
869
  transitions.push(...resolveStats.transitions);
734
870
  }
735
- return transitions;
871
+ return { transitions, errors: totalErrors, warnings: totalWarnings };
736
872
  }
737
873
  /**
738
874
  * Index spec files (Markdown only in v1).
@@ -742,7 +878,9 @@ class SpecShip {
742
878
  *
743
879
  * Pipeline per file:
744
880
  * 1. Hash file content; skip if `spec_files.content_hash` matches.
745
- * 2. Delete prior specs for this file (cascade-deletes children, links).
881
+ * 2. Replace prior specs for this file, restoring their links afterwards
882
+ * (REQ-VSTATE-001) — only links of spec ids the file no longer declares
883
+ * are swept.
746
884
  * 3. Run MarkdownSpecExtractor → insert specs + virtual node projections.
747
885
  * 4. Apply `spec-declaration` link candidates from `implementations:`.
748
886
  * 5. Mark previously-linked specs as drifted (drift_axis='spec') when
@@ -814,11 +952,10 @@ class SpecShip {
814
952
  skipped++;
815
953
  continue;
816
954
  }
817
- // Replace prior specs for this file. CASCADE removes children +
818
- // spec_links FK'd on spec_id.
819
- this.specQueries.deleteSpecsByFile(rel);
820
- const result = new markdown_spec_extractor_1.MarkdownSpecExtractor(rel, source).extract();
821
- this.specQueries.insertSpecsBatch(result.specs);
955
+ // Replace prior specs for this file, preserving their links
956
+ // (REQ-VSTATE-001) — the CASCADE would otherwise take every link the
957
+ // file doesn't re-declare with it.
958
+ const result = this.replaceSpecsForFile(rel, source, stats);
822
959
  this.specQueries.upsertSpecFile({
823
960
  path: rel,
824
961
  contentHash: hashHex,
@@ -848,6 +985,9 @@ class SpecShip {
848
985
  // node count is bounded and the scan is O(N) regex over docstrings).
849
986
  const allFiles = this.queries.getAllFiles().map((f) => f.path);
850
987
  this.specLinkResolver.applyCodeCommentLinks(allFiles, stats);
988
+ // Spec ids inside `it()` titles in test files → `tests` links
989
+ // (REQ-VSTATE-002).
990
+ this.specLinkResolver.applyTestTitleLinks(allFiles, stats);
851
991
  // Re-resolve all links (post-extraction).
852
992
  const resolveStats = this.specLinkResolver.resolveAll();
853
993
  stats.scanned += resolveStats.scanned;
@@ -1006,7 +1146,10 @@ class SpecShip {
1006
1146
  const codeChanged = result.filesAdded > 0 || result.filesModified > 0 || result.filesRemoved > 0;
1007
1147
  this.fileLock.release();
1008
1148
  try {
1009
- result.driftedTransitions = await this.indexSpecsInternal(codeChanged);
1149
+ const specPass = await this.indexSpecsInternal(codeChanged);
1150
+ result.driftedTransitions = specPass.transitions;
1151
+ result.specErrors = specPass.errors;
1152
+ result.specWarnings = specPass.warnings;
1010
1153
  }
1011
1154
  catch {
1012
1155
  // Non-fatal; the next full index catches up.
@@ -1038,6 +1181,20 @@ class SpecShip {
1038
1181
  catch {
1039
1182
  /* a JIRA fault must never fail a sync */
1040
1183
  }
1184
+ // Flow-diagram refresh (FLOWDIAG-DOC, REQ-FLOWDIAG-002): gated on the
1185
+ // diagram already existing (or diagram.enabled) and on code having
1186
+ // changed. Best-effort — a diagram fault never fails a sync.
1187
+ try {
1188
+ const codeChanged = result.filesAdded > 0 || result.filesModified > 0 || result.filesRemoved > 0;
1189
+ if (codeChanged) {
1190
+ const { shouldAutoRefreshDiagram } = await Promise.resolve().then(() => __importStar(require('./diagram/flow-diagram')));
1191
+ if (shouldAutoRefreshDiagram(this.projectRoot))
1192
+ this.generateFlowDiagram();
1193
+ }
1194
+ }
1195
+ catch {
1196
+ /* a diagram fault must never fail a sync */
1197
+ }
1041
1198
  this.refreshStatuslineCache();
1042
1199
  return result;
1043
1200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * and/or `gemini`, GEMINI-TARGET-DOC); the legacy `auto` / `all` / `none`
10
10
  * spellings keep their old Claude-only meanings.
11
11
  */
12
+ import { type StatusLineOutcome } from './install-defaults';
12
13
  import type { AgentTarget, Location, TargetId } from './targets/types';
13
14
  import { type PurgeEnv } from './purge';
14
15
  export { writeMcpConfig, writePermissions, hasMcpConfig, hasPermissions, } from './config-writer';
@@ -25,12 +26,18 @@ export interface RunInstallerOptions {
25
26
  target?: string;
26
27
  /** Skip the location prompt; use this value directly. */
27
28
  location?: Location;
28
- /** Skip the auto-allow prompt; use this value directly. */
29
+ /**
30
+ * Auto-allow permission list. Undefined ⇒ the default (on for Claude) —
31
+ * `--no-permissions` is the opt-out (REQ-SLIM-003.A1); never prompted.
32
+ */
29
33
  autoAllow?: boolean;
30
34
  /**
31
35
  * Governance tier — spec/authoring/review/design commands + the SDD steering
32
- * (CLAUDE.md rule + nudge hook). Opt-in (INSTALL-WEDGE-DOC): pass `true` (the
33
- * `--sdd` flag) to install it. Undefined/false ⇒ retrieval-only.
36
+ * (CLAUDE.md rule + nudge hook). Default-ON (INSTALL-WEDGE-DOC v2): the CLI
37
+ * passes `true` unless `--no-sdd` was given, so only an explicit `false`
38
+ * yields a retrieval-only install. Undefined is treated as off here — the
39
+ * caller decides the default (see the `install` command in
40
+ * `src/bin/specship.ts`).
34
41
  */
35
42
  sdd?: boolean;
36
43
  /**
@@ -42,9 +49,9 @@ export interface RunInstallerOptions {
42
49
  withDesigner?: boolean;
43
50
  /**
44
51
  * Wire SpecShip's status-line segment into Claude's status line
45
- * (SHIP-STATUSLINE-DOC). Opt-in: undefined ⇒ ask interactively (default no);
46
- * `true` (the `--statusline` flag) installs without asking; `false` skips.
47
- * Never overwrites a status line the user already configured.
52
+ * (SHIP-STATUSLINE-DOC). Default-ON and never prompted (REQ-SLIM-003.A1):
53
+ * undefined ⇒ install it, `false` (`--skip-statusline`) ⇒ skip. Never
54
+ * overwrites a status line the user already configured (REQ-SLIM-003.A4).
48
55
  */
49
56
  statusLine?: boolean;
50
57
  /**
@@ -63,11 +70,29 @@ export interface RunInstallerOptions {
63
70
  * never asked. Gemini is reachable only by naming it.
64
71
  */
65
72
  export declare function resolveInstallTargets(target?: string): AgentTarget[];
73
+ /**
74
+ * What the run decided about the questions it no longer asks, so the caller
75
+ * can fold them into one closing summary (REQ-SLIM-003.A2). The CLI owns the
76
+ * indexing step, which happens after this function returns.
77
+ */
78
+ export interface InstallRunOutcome {
79
+ statusLine: StatusLineOutcome;
80
+ /** False when a flag decided it — the summary only echoes defaults. */
81
+ statusLineDefaulted: boolean;
82
+ autoAllow: boolean;
83
+ autoAllowDefaulted: boolean;
84
+ /**
85
+ * True when a local install already built this project's index (and already
86
+ * named it in the summary), so the CLI's indexing step neither repeats the
87
+ * work nor repeats the line.
88
+ */
89
+ indexed: boolean;
90
+ }
66
91
  /**
67
92
  * Interactive entry — `specship install` with no args runs this.
68
93
  */
69
- export declare function runInstaller(): Promise<void>;
70
- export declare function runInstallerWithOptions(opts: RunInstallerOptions): Promise<void>;
94
+ export declare function runInstaller(): Promise<InstallRunOutcome | undefined>;
95
+ export declare function runInstallerWithOptions(opts: RunInstallerOptions): Promise<InstallRunOutcome | undefined>;
71
96
  export interface RunUninstallerOptions {
72
97
  /**
73
98
  * Vestigial — preserved for backwards compatibility. Accepts `claude`
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAA+C,KAAK,QAAQ,EAAsB,MAAM,SAAS,CAAC;AAazG,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsBvD,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAmBpE;AAWD;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMtF;AA0CD,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qDAAqD;IACrD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,eAAe,EAAE,CAwBnB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E;AAkOD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,gBAAgB,CAAC,EACtC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwDf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAA+C,KAAK,QAAQ,EAAsB,MAAM,SAAS,CAAC;AAazG,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsBvD,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAmBpE;AAWD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,uEAAuE;IACvE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAE3E;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAmMxC;AA0CD,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qDAAqD;IACrD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,eAAe,EAAE,CAwBnB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E;AAoOD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,gBAAgB,CAAC,EACtC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwDf"}