@specship/specship-win32-arm64 0.24.0 → 0.28.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.
- package/bin/specship.cmd +31 -1
- package/lib/dist/activation/cheatsheet.d.ts +17 -1
- package/lib/dist/activation/cheatsheet.d.ts.map +1 -1
- package/lib/dist/activation/cheatsheet.js +47 -3
- package/lib/dist/activation/cheatsheet.js.map +1 -1
- package/lib/dist/activation/hook-output.d.ts +80 -0
- package/lib/dist/activation/hook-output.d.ts.map +1 -0
- package/lib/dist/activation/hook-output.js +103 -0
- package/lib/dist/activation/hook-output.js.map +1 -0
- package/lib/dist/activation/search-intercept.d.ts +60 -29
- package/lib/dist/activation/search-intercept.d.ts.map +1 -1
- package/lib/dist/activation/search-intercept.js +159 -55
- package/lib/dist/activation/search-intercept.js.map +1 -1
- package/lib/dist/activation/steering.d.ts +11 -13
- package/lib/dist/activation/steering.d.ts.map +1 -1
- package/lib/dist/activation/steering.js +25 -10
- package/lib/dist/activation/steering.js.map +1 -1
- package/lib/dist/behaviour/behaviour-surface.d.ts +47 -0
- package/lib/dist/behaviour/behaviour-surface.d.ts.map +1 -1
- package/lib/dist/behaviour/behaviour-surface.js +108 -2
- package/lib/dist/behaviour/behaviour-surface.js.map +1 -1
- package/lib/dist/bin/node-version-check.d.ts +22 -7
- package/lib/dist/bin/node-version-check.d.ts.map +1 -1
- package/lib/dist/bin/node-version-check.js +39 -9
- package/lib/dist/bin/node-version-check.js.map +1 -1
- package/lib/dist/bin/specship.js +989 -116
- package/lib/dist/bin/specship.js.map +1 -1
- package/lib/dist/commands/specship/learn.md +27 -3
- package/lib/dist/commands/specship/spec.md +85 -15
- package/lib/dist/db/spec-queries.d.ts +73 -3
- package/lib/dist/db/spec-queries.d.ts.map +1 -1
- package/lib/dist/db/spec-queries.js +139 -5
- package/lib/dist/db/spec-queries.js.map +1 -1
- package/lib/dist/db/sqlite-adapter.d.ts +7 -5
- package/lib/dist/db/sqlite-adapter.d.ts.map +1 -1
- package/lib/dist/db/sqlite-adapter.js +11 -9
- package/lib/dist/db/sqlite-adapter.js.map +1 -1
- package/lib/dist/enforce/changed-files.d.ts +39 -0
- package/lib/dist/enforce/changed-files.d.ts.map +1 -0
- package/lib/dist/enforce/changed-files.js +114 -0
- package/lib/dist/enforce/changed-files.js.map +1 -0
- package/lib/dist/enforce/enforce.d.ts +53 -2
- package/lib/dist/enforce/enforce.d.ts.map +1 -1
- package/lib/dist/enforce/enforce.js +95 -8
- package/lib/dist/enforce/enforce.js.map +1 -1
- package/lib/dist/enforce/mutation.d.ts +46 -0
- package/lib/dist/enforce/mutation.d.ts.map +1 -0
- package/lib/dist/enforce/mutation.js +104 -0
- package/lib/dist/enforce/mutation.js.map +1 -0
- package/lib/dist/enforce/suppressions.d.ts +33 -0
- package/lib/dist/enforce/suppressions.d.ts.map +1 -0
- package/lib/dist/enforce/suppressions.js +159 -0
- package/lib/dist/enforce/suppressions.js.map +1 -0
- package/lib/dist/extraction/grammars.d.ts +10 -0
- package/lib/dist/extraction/grammars.d.ts.map +1 -1
- package/lib/dist/extraction/grammars.js +32 -3
- package/lib/dist/extraction/grammars.js.map +1 -1
- package/lib/dist/extraction/index.d.ts +7 -0
- package/lib/dist/extraction/index.d.ts.map +1 -1
- package/lib/dist/extraction/index.js.map +1 -1
- package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts +7 -0
- package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/specs/markdown-spec-extractor.js +97 -10
- package/lib/dist/extraction/specs/markdown-spec-extractor.js.map +1 -1
- package/lib/dist/extraction/wasm/tree-sitter-pascal.wasm.gz +0 -0
- package/lib/dist/extraction/wasm/tree-sitter-scala.wasm.gz +0 -0
- package/lib/dist/graph/spec-coverage.d.ts +142 -0
- package/lib/dist/graph/spec-coverage.d.ts.map +1 -0
- package/lib/dist/graph/spec-coverage.js +276 -0
- package/lib/dist/graph/spec-coverage.js.map +1 -0
- package/lib/dist/health/smoke-check.js +2 -2
- package/lib/dist/health/smoke-check.js.map +1 -1
- package/lib/dist/index.d.ts +75 -7
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +191 -23
- package/lib/dist/index.js.map +1 -1
- package/lib/dist/installer/gemini-commands.d.ts +107 -0
- package/lib/dist/installer/gemini-commands.d.ts.map +1 -0
- package/lib/dist/installer/gemini-commands.js +264 -0
- package/lib/dist/installer/gemini-commands.js.map +1 -0
- package/lib/dist/installer/index.d.ts +55 -8
- package/lib/dist/installer/index.d.ts.map +1 -1
- package/lib/dist/installer/index.js +72 -53
- package/lib/dist/installer/index.js.map +1 -1
- package/lib/dist/installer/init-offer.d.ts +14 -9
- package/lib/dist/installer/init-offer.d.ts.map +1 -1
- package/lib/dist/installer/init-offer.js +13 -9
- package/lib/dist/installer/init-offer.js.map +1 -1
- package/lib/dist/installer/install-defaults.d.ts +81 -0
- package/lib/dist/installer/install-defaults.d.ts.map +1 -0
- package/lib/dist/installer/install-defaults.js +95 -0
- package/lib/dist/installer/install-defaults.js.map +1 -0
- package/lib/dist/installer/instructions-template.d.ts +22 -0
- package/lib/dist/installer/instructions-template.d.ts.map +1 -1
- package/lib/dist/installer/instructions-template.js +37 -1
- package/lib/dist/installer/instructions-template.js.map +1 -1
- package/lib/dist/installer/targets/claude.d.ts +18 -0
- package/lib/dist/installer/targets/claude.d.ts.map +1 -1
- package/lib/dist/installer/targets/claude.js +70 -23
- package/lib/dist/installer/targets/claude.js.map +1 -1
- package/lib/dist/installer/targets/gemini.d.ts +85 -12
- package/lib/dist/installer/targets/gemini.d.ts.map +1 -1
- package/lib/dist/installer/targets/gemini.js +527 -30
- package/lib/dist/installer/targets/gemini.js.map +1 -1
- package/lib/dist/installer/targets/shared.d.ts +13 -0
- package/lib/dist/installer/targets/shared.d.ts.map +1 -1
- package/lib/dist/installer/targets/shared.js +22 -4
- package/lib/dist/installer/targets/shared.js.map +1 -1
- package/lib/dist/installer/targets/types.d.ts +12 -0
- package/lib/dist/installer/targets/types.d.ts.map +1 -1
- package/lib/dist/jira/auto-publish.d.ts +71 -4
- package/lib/dist/jira/auto-publish.d.ts.map +1 -1
- package/lib/dist/jira/auto-publish.js +186 -17
- package/lib/dist/jira/auto-publish.js.map +1 -1
- package/lib/dist/jira/reconcile.d.ts +24 -1
- package/lib/dist/jira/reconcile.d.ts.map +1 -1
- package/lib/dist/jira/reconcile.js +46 -2
- package/lib/dist/jira/reconcile.js.map +1 -1
- package/lib/dist/jira/repo-config.d.ts +9 -0
- package/lib/dist/jira/repo-config.d.ts.map +1 -1
- package/lib/dist/jira/repo-config.js +11 -0
- package/lib/dist/jira/repo-config.js.map +1 -1
- package/lib/dist/jira/types.d.ts +7 -0
- package/lib/dist/jira/types.d.ts.map +1 -1
- package/lib/dist/jira/types.js.map +1 -1
- package/lib/dist/knowledge/enforce.d.ts +75 -0
- package/lib/dist/knowledge/enforce.d.ts.map +1 -0
- package/lib/dist/knowledge/enforce.js +250 -0
- package/lib/dist/knowledge/enforce.js.map +1 -0
- package/lib/dist/knowledge/facts.d.ts +33 -0
- package/lib/dist/knowledge/facts.d.ts.map +1 -0
- package/lib/dist/knowledge/facts.js +117 -0
- package/lib/dist/knowledge/facts.js.map +1 -0
- package/lib/dist/knowledge/proposals.d.ts +88 -0
- package/lib/dist/knowledge/proposals.d.ts.map +1 -0
- package/lib/dist/knowledge/proposals.js +360 -0
- package/lib/dist/knowledge/proposals.js.map +1 -0
- package/lib/dist/knowledge/stale.d.ts +64 -0
- package/lib/dist/knowledge/stale.d.ts.map +1 -0
- package/lib/dist/knowledge/stale.js +174 -0
- package/lib/dist/knowledge/stale.js.map +1 -0
- package/lib/dist/mcp/fitness-tool.d.ts +5 -6
- package/lib/dist/mcp/fitness-tool.d.ts.map +1 -1
- package/lib/dist/mcp/fitness-tool.js +0 -16
- package/lib/dist/mcp/fitness-tool.js.map +1 -1
- package/lib/dist/mcp/gemini-session.d.ts +50 -0
- package/lib/dist/mcp/gemini-session.d.ts.map +1 -0
- package/lib/dist/mcp/gemini-session.js +159 -0
- package/lib/dist/mcp/gemini-session.js.map +1 -0
- package/lib/dist/mcp/health-tool.d.ts +26 -0
- package/lib/dist/mcp/health-tool.d.ts.map +1 -0
- package/lib/dist/mcp/health-tool.js +50 -0
- package/lib/dist/mcp/health-tool.js.map +1 -0
- package/lib/dist/mcp/jira-tools.d.ts.map +1 -1
- package/lib/dist/mcp/jira-tools.js +25 -0
- package/lib/dist/mcp/jira-tools.js.map +1 -1
- package/lib/dist/mcp/maintainability-tool.d.ts +5 -7
- package/lib/dist/mcp/maintainability-tool.d.ts.map +1 -1
- package/lib/dist/mcp/maintainability-tool.js +0 -16
- package/lib/dist/mcp/maintainability-tool.js.map +1 -1
- package/lib/dist/mcp/model-context.d.ts +31 -7
- package/lib/dist/mcp/model-context.d.ts.map +1 -1
- package/lib/dist/mcp/model-context.js +70 -21
- package/lib/dist/mcp/model-context.js.map +1 -1
- package/lib/dist/mcp/proxy.d.ts.map +1 -1
- package/lib/dist/mcp/proxy.js +5 -2
- package/lib/dist/mcp/proxy.js.map +1 -1
- package/lib/dist/mcp/server-instructions.d.ts +16 -15
- package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
- package/lib/dist/mcp/server-instructions.js +72 -5
- package/lib/dist/mcp/server-instructions.js.map +1 -1
- package/lib/dist/mcp/session.js +1 -1
- package/lib/dist/mcp/session.js.map +1 -1
- package/lib/dist/mcp/spec-tools.d.ts +9 -1
- package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
- package/lib/dist/mcp/spec-tools.js +282 -49
- package/lib/dist/mcp/spec-tools.js.map +1 -1
- package/lib/dist/mcp/tools.d.ts +49 -9
- package/lib/dist/mcp/tools.d.ts.map +1 -1
- package/lib/dist/mcp/tools.js +210 -58
- package/lib/dist/mcp/tools.js.map +1 -1
- package/lib/dist/pulse/pulse.d.ts +93 -0
- package/lib/dist/pulse/pulse.d.ts.map +1 -0
- package/lib/dist/pulse/pulse.js +401 -0
- package/lib/dist/pulse/pulse.js.map +1 -0
- package/lib/dist/reflect/apply.d.ts.map +1 -1
- package/lib/dist/reflect/apply.js +38 -3
- package/lib/dist/reflect/apply.js.map +1 -1
- package/lib/dist/reflect/auto-sweep.d.ts +26 -0
- package/lib/dist/reflect/auto-sweep.d.ts.map +1 -0
- package/lib/dist/reflect/auto-sweep.js +90 -0
- package/lib/dist/reflect/auto-sweep.js.map +1 -0
- package/lib/dist/reflect/cli.d.ts +62 -0
- package/lib/dist/reflect/cli.d.ts.map +1 -0
- package/lib/dist/reflect/cli.js +163 -0
- package/lib/dist/reflect/cli.js.map +1 -0
- package/lib/dist/reflect/miner.d.ts.map +1 -1
- package/lib/dist/reflect/miner.js +119 -0
- package/lib/dist/reflect/miner.js.map +1 -1
- package/lib/dist/reflect/sweep.d.ts +1 -0
- package/lib/dist/reflect/sweep.d.ts.map +1 -1
- package/lib/dist/reflect/sweep.js +62 -13
- package/lib/dist/reflect/sweep.js.map +1 -1
- package/lib/dist/reflect/targets.d.ts +2 -0
- package/lib/dist/reflect/targets.d.ts.map +1 -1
- package/lib/dist/reflect/targets.js +33 -0
- package/lib/dist/reflect/targets.js.map +1 -1
- package/lib/dist/reflect/types.d.ts +19 -2
- package/lib/dist/reflect/types.d.ts.map +1 -1
- package/lib/dist/resolution/spec-link-resolver.d.ts +44 -2
- package/lib/dist/resolution/spec-link-resolver.d.ts.map +1 -1
- package/lib/dist/resolution/spec-link-resolver.js +132 -0
- package/lib/dist/resolution/spec-link-resolver.js.map +1 -1
- package/lib/dist/resolution/test-title-links.d.ts +62 -0
- package/lib/dist/resolution/test-title-links.d.ts.map +1 -0
- package/lib/dist/resolution/test-title-links.js +97 -0
- package/lib/dist/resolution/test-title-links.js.map +1 -0
- package/lib/dist/search/query-parser.d.ts.map +1 -1
- package/lib/dist/search/query-parser.js +6 -1
- package/lib/dist/search/query-parser.js.map +1 -1
- package/lib/dist/server/project-registry.js +1 -1
- package/lib/dist/server/routes/claude.js +24 -43
- package/lib/dist/server/routes/graph.js +53 -7
- package/lib/dist/server/routes/knowledge.js +118 -0
- package/lib/dist/server/routes/mcp.js +4 -3
- package/lib/dist/server/routes/projects.js +4 -4
- package/lib/dist/server/routes/spec.js +49 -7
- package/lib/dist/server/server.js +31 -17
- package/lib/dist/skills/spec-author/SKILL.md +164 -0
- package/lib/dist/skills/spec-author/references/format.md +210 -0
- package/lib/dist/skills/spec-author/references/gap-questions.md +152 -0
- package/lib/dist/skills/spec-author/references/quality-rubric.md +125 -0
- package/lib/dist/skills/spec-author/references/review-checklist.md +175 -0
- package/lib/dist/spec-lint/lint.d.ts +82 -0
- package/lib/dist/spec-lint/lint.d.ts.map +1 -0
- package/lib/dist/spec-lint/lint.js +491 -0
- package/lib/dist/spec-lint/lint.js.map +1 -0
- package/lib/dist/spec-quality/criterion-ids.d.ts +13 -0
- package/lib/dist/spec-quality/criterion-ids.d.ts.map +1 -0
- package/lib/dist/spec-quality/criterion-ids.js +38 -0
- package/lib/dist/spec-quality/criterion-ids.js.map +1 -0
- package/lib/dist/spec-quality/evidence-kind.d.ts +54 -0
- package/lib/dist/spec-quality/evidence-kind.d.ts.map +1 -0
- package/lib/dist/spec-quality/evidence-kind.js +183 -0
- package/lib/dist/spec-quality/evidence-kind.js.map +1 -0
- package/lib/dist/spec-quality/link-persist.d.ts +65 -0
- package/lib/dist/spec-quality/link-persist.d.ts.map +1 -0
- package/lib/dist/spec-quality/link-persist.js +249 -0
- package/lib/dist/spec-quality/link-persist.js.map +1 -0
- package/lib/dist/spec-quality/plan-scope.d.ts +38 -0
- package/lib/dist/spec-quality/plan-scope.d.ts.map +1 -0
- package/lib/dist/spec-quality/plan-scope.js +129 -0
- package/lib/dist/spec-quality/plan-scope.js.map +1 -0
- package/lib/dist/spec-quality/postcheck.d.ts +85 -0
- package/lib/dist/spec-quality/postcheck.d.ts.map +1 -0
- package/lib/dist/spec-quality/postcheck.js +390 -0
- package/lib/dist/spec-quality/postcheck.js.map +1 -0
- package/lib/dist/spec-quality/readiness.d.ts +72 -0
- package/lib/dist/spec-quality/readiness.d.ts.map +1 -0
- package/lib/dist/spec-quality/readiness.js +226 -0
- package/lib/dist/spec-quality/readiness.js.map +1 -0
- package/lib/dist/statusline/index.js.map +1 -1
- package/lib/dist/statusline/render.d.ts +1 -1
- package/lib/dist/statusline/render.d.ts.map +1 -1
- package/lib/dist/statusline/render.js +3 -1
- package/lib/dist/statusline/render.js.map +1 -1
- package/lib/dist/ui/assets/index-BzuUWUAE.js +50 -0
- package/lib/dist/ui/index.html +1 -1
- package/lib/dist/verify/report-ingest.d.ts +88 -0
- package/lib/dist/verify/report-ingest.d.ts.map +1 -0
- package/lib/dist/verify/report-ingest.js +269 -0
- package/lib/dist/verify/report-ingest.js.map +1 -0
- package/lib/dist/workflows/agents/claude.d.ts +16 -0
- package/lib/dist/workflows/agents/claude.d.ts.map +1 -0
- package/lib/dist/workflows/agents/claude.js +82 -0
- package/lib/dist/workflows/agents/claude.js.map +1 -0
- package/lib/dist/workflows/agents/gemini.d.ts +21 -0
- package/lib/dist/workflows/agents/gemini.d.ts.map +1 -0
- package/lib/dist/workflows/agents/gemini.js +124 -0
- package/lib/dist/workflows/agents/gemini.js.map +1 -0
- package/lib/dist/workflows/agents/index.d.ts +28 -0
- package/lib/dist/workflows/agents/index.d.ts.map +1 -0
- package/lib/dist/workflows/agents/index.js +104 -0
- package/lib/dist/workflows/agents/index.js.map +1 -0
- package/lib/dist/workflows/agents/types.d.ts +55 -0
- package/lib/dist/workflows/agents/types.d.ts.map +1 -0
- package/lib/dist/workflows/agents/types.js +46 -0
- package/lib/dist/workflows/agents/types.js.map +1 -0
- package/lib/dist/workflows/batch.d.ts +63 -0
- package/lib/dist/workflows/batch.d.ts.map +1 -0
- package/lib/dist/workflows/batch.js +151 -0
- package/lib/dist/workflows/batch.js.map +1 -0
- package/lib/dist/workflows/defaults/claude-design-implement.yaml +3 -4
- package/lib/dist/workflows/defaults/spec-author.yaml +11 -9
- package/lib/dist/workflows/defaults/spec-fix.yaml +103 -12
- package/lib/dist/workflows/defaults/spec-implement-mixed.yaml +21 -193
- package/lib/dist/workflows/defaults/spec-implement.yaml +701 -41
- package/lib/dist/workflows/defaults/spec-verify.yaml +60 -9
- package/lib/dist/workflows/discovery.d.ts +13 -0
- package/lib/dist/workflows/discovery.d.ts.map +1 -1
- package/lib/dist/workflows/discovery.js +79 -17
- package/lib/dist/workflows/discovery.js.map +1 -1
- package/lib/dist/workflows/executor.d.ts +18 -0
- package/lib/dist/workflows/executor.d.ts.map +1 -1
- package/lib/dist/workflows/executor.js +130 -33
- package/lib/dist/workflows/executor.js.map +1 -1
- package/lib/dist/workflows/gc.d.ts +50 -0
- package/lib/dist/workflows/gc.d.ts.map +1 -0
- package/lib/dist/workflows/gc.js +120 -0
- package/lib/dist/workflows/gc.js.map +1 -0
- package/lib/dist/workflows/merge-queue.d.ts +64 -0
- package/lib/dist/workflows/merge-queue.d.ts.map +1 -0
- package/lib/dist/workflows/merge-queue.js +162 -0
- package/lib/dist/workflows/merge-queue.js.map +1 -0
- package/lib/dist/workflows/runners/approval.d.ts +1 -1
- package/lib/dist/workflows/runners/approval.d.ts.map +1 -1
- package/lib/dist/workflows/runners/approval.js +11 -2
- package/lib/dist/workflows/runners/approval.js.map +1 -1
- package/lib/dist/workflows/runners/bash.d.ts +15 -0
- package/lib/dist/workflows/runners/bash.d.ts.map +1 -1
- package/lib/dist/workflows/runners/bash.js +50 -1
- package/lib/dist/workflows/runners/bash.js.map +1 -1
- package/lib/dist/workflows/runners/prompt.d.ts +16 -41
- package/lib/dist/workflows/runners/prompt.d.ts.map +1 -1
- package/lib/dist/workflows/runners/prompt.js +55 -120
- package/lib/dist/workflows/runners/prompt.js.map +1 -1
- package/lib/dist/workflows/runners/types.d.ts +12 -0
- package/lib/dist/workflows/runners/types.d.ts.map +1 -1
- package/lib/dist/workflows/schemas/workflow.d.ts +17 -0
- package/lib/dist/workflows/schemas/workflow.d.ts.map +1 -1
- package/lib/dist/workflows/schemas/workflow.js +27 -0
- package/lib/dist/workflows/schemas/workflow.js.map +1 -1
- package/lib/node_modules/.package-lock.json +1 -1
- package/lib/package.json +8 -4
- package/package.json +5 -3
- package/lib/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/lib/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/lib/dist/server/ingest/impact-query.js +0 -343
- package/lib/dist/server/routes/events.js +0 -152
- package/lib/dist/ui/assets/index-CjjaftDw.js +0 -50
- package/node.exe +0 -4
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Mutation-score gate (REQ-QGATE-002).
|
|
4
|
+
*
|
|
5
|
+
* A `tests` link proves a test exists and passed — not that it would notice
|
|
6
|
+
* the implementation breaking (agent-written suites average high coverage but
|
|
7
|
+
* low mutant kill rates). This gate closes that: per spec, the kill rate of
|
|
8
|
+
* mutants in its linked implementation files must clear a threshold for the
|
|
9
|
+
* test evidence to count as strong.
|
|
10
|
+
*
|
|
11
|
+
* SpecShip does NOT run the mutation tool. It consumes a checked-in/CI-produced
|
|
12
|
+
* report in the cross-tool mutation-testing-report-schema JSON (StrykerJS and
|
|
13
|
+
* friends emit it natively; mutmut ecosystems convert). That keeps
|
|
14
|
+
* `specship check` deterministic and fast, and keeps the tool choice with the
|
|
15
|
+
* project. Opt-in via `specship.config.json` → `enforce.mutation`; with no
|
|
16
|
+
* config the check does not exist and the gate's output is unchanged (A1).
|
|
17
|
+
*/
|
|
18
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
21
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
22
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
23
|
+
}
|
|
24
|
+
Object.defineProperty(o, k2, desc);
|
|
25
|
+
}) : (function(o, m, k, k2) {
|
|
26
|
+
if (k2 === undefined) k2 = k;
|
|
27
|
+
o[k2] = m[k];
|
|
28
|
+
}));
|
|
29
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
30
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
31
|
+
}) : function(o, v) {
|
|
32
|
+
o["default"] = v;
|
|
33
|
+
});
|
|
34
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
35
|
+
var ownKeys = function(o) {
|
|
36
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
37
|
+
var ar = [];
|
|
38
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
39
|
+
return ar;
|
|
40
|
+
};
|
|
41
|
+
return ownKeys(o);
|
|
42
|
+
};
|
|
43
|
+
return function (mod) {
|
|
44
|
+
if (mod && mod.__esModule) return mod;
|
|
45
|
+
var result = {};
|
|
46
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
47
|
+
__setModuleDefault(result, mod);
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
50
|
+
})();
|
|
51
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
|
+
exports.DEFAULT_MUTATION_REPORT = exports.DEFAULT_MUTATION_THRESHOLD = void 0;
|
|
53
|
+
exports.parseMutationReport = parseMutationReport;
|
|
54
|
+
exports.loadMutationDeps = loadMutationDeps;
|
|
55
|
+
const fs = __importStar(require("fs"));
|
|
56
|
+
const path = __importStar(require("path"));
|
|
57
|
+
const enforce_1 = require("./enforce");
|
|
58
|
+
exports.DEFAULT_MUTATION_THRESHOLD = 0.8;
|
|
59
|
+
exports.DEFAULT_MUTATION_REPORT = 'reports/mutation/mutation.json';
|
|
60
|
+
/** Mutant statuses that count as caught by the suite. */
|
|
61
|
+
const CAUGHT = new Set(['Killed', 'Timeout']);
|
|
62
|
+
/** Statuses that count toward the denominator (detectable-in-principle). */
|
|
63
|
+
const COUNTED = new Set(['Killed', 'Timeout', 'Survived', 'NoCoverage']);
|
|
64
|
+
/**
|
|
65
|
+
* Parse a mutation-testing-report-schema JSON into per-file kill stats.
|
|
66
|
+
* File keys are normalized to project-relative forward-slash paths so they
|
|
67
|
+
* compare against link target paths.
|
|
68
|
+
*/
|
|
69
|
+
function parseMutationReport(json) {
|
|
70
|
+
const parsed = JSON.parse(json);
|
|
71
|
+
const out = new Map();
|
|
72
|
+
for (const [file, data] of Object.entries(parsed.files ?? {})) {
|
|
73
|
+
let killed = 0;
|
|
74
|
+
let total = 0;
|
|
75
|
+
for (const m of data.mutants ?? []) {
|
|
76
|
+
const status = m.status ?? '';
|
|
77
|
+
if (!COUNTED.has(status))
|
|
78
|
+
continue;
|
|
79
|
+
total++;
|
|
80
|
+
if (CAUGHT.has(status))
|
|
81
|
+
killed++;
|
|
82
|
+
}
|
|
83
|
+
out.set((0, enforce_1.normalizePath)(file), { killed, total });
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
/** Assemble the deps snapshot from disk — missing/unreadable report → skipped. */
|
|
88
|
+
function loadMutationDeps(projectRoot, cfg = {}) {
|
|
89
|
+
const reportPath = cfg.report ?? exports.DEFAULT_MUTATION_REPORT;
|
|
90
|
+
const threshold = cfg.threshold ?? exports.DEFAULT_MUTATION_THRESHOLD;
|
|
91
|
+
try {
|
|
92
|
+
const json = fs.readFileSync(path.join(projectRoot, reportPath), 'utf-8');
|
|
93
|
+
return { stats: parseMutationReport(json), threshold, reportPath };
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
return {
|
|
97
|
+
stats: null,
|
|
98
|
+
reason: `mutation report not readable: ${reportPath} (${err instanceof Error ? err.message.split('\n')[0] : String(err)})`,
|
|
99
|
+
threshold,
|
|
100
|
+
reportPath,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/enforce/mutation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCH,kDAeC;AAGD,4CAcC;AAvED,uCAAyB;AACzB,2CAA6B;AAC7B,uCAA0C;AAE7B,QAAA,0BAA0B,GAAG,GAAG,CAAC;AACjC,QAAA,uBAAuB,GAAG,gCAAgC,CAAC;AAwBxE,yDAAyD;AACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9C,4EAA4E;AAC5E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAEzE;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyE,CAAC;IACxG,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACnC,KAAK,EAAE,CAAC;YACR,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kFAAkF;AAClF,SAAgB,gBAAgB,CAAC,WAAmB,EAAE,MAAsB,EAAE;IAC5E,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,IAAI,+BAAuB,CAAC;IACzD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,kCAA0B,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,iCAAiC,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YAC1H,SAAS;YACT,UAAU;SACX,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Suppression-comment scan (REQ-QGATE-004).
|
|
3
|
+
*
|
|
4
|
+
* Agents under pressure silence lint/type rules instead of fixing code — the
|
|
5
|
+
* implement workflows forbid it in prose, but prose isn't enforcement. This
|
|
6
|
+
* module detects suppression markers INTRODUCED by a change: a pure function
|
|
7
|
+
* over unified diff text (A2), so the workflows' gate, `specship check`, and
|
|
8
|
+
* tests all share one implementation.
|
|
9
|
+
*
|
|
10
|
+
* Ratchet semantics (A1): only added lines count, and an added line whose
|
|
11
|
+
* exact content also appears among the diff's removed lines is a move, not an
|
|
12
|
+
* introduction. Pre-existing suppressions are out of scope.
|
|
13
|
+
*/
|
|
14
|
+
export interface SuppressionFinding {
|
|
15
|
+
/** Project-relative path of the file the suppression was added to. */
|
|
16
|
+
file: string;
|
|
17
|
+
/** 1-indexed line number in the new file. */
|
|
18
|
+
line: number;
|
|
19
|
+
/** Which marker family matched (e.g. `noqa`, `eslint-disable`). */
|
|
20
|
+
marker: string;
|
|
21
|
+
/** True when the suppression carries an inline justification. */
|
|
22
|
+
justified: boolean;
|
|
23
|
+
/** The added line, trimmed. */
|
|
24
|
+
text: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Scan unified diff text for suppression markers on added lines (A1, A2).
|
|
28
|
+
* Pure: input diff text, output findings — no git, no filesystem.
|
|
29
|
+
*/
|
|
30
|
+
export declare function scanDisableComments(diffText: string): SuppressionFinding[];
|
|
31
|
+
/** Render a finding as one gate-report line. */
|
|
32
|
+
export declare function formatSuppressionFinding(f: SuppressionFinding): string;
|
|
33
|
+
//# sourceMappingURL=suppressions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suppressions.d.ts","sourceRoot":"","sources":["../../src/enforce/suppressions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAsFD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA4C1E;AAED,gDAAgD;AAChD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAEtE"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Suppression-comment scan (REQ-QGATE-004).
|
|
4
|
+
*
|
|
5
|
+
* Agents under pressure silence lint/type rules instead of fixing code — the
|
|
6
|
+
* implement workflows forbid it in prose, but prose isn't enforcement. This
|
|
7
|
+
* module detects suppression markers INTRODUCED by a change: a pure function
|
|
8
|
+
* over unified diff text (A2), so the workflows' gate, `specship check`, and
|
|
9
|
+
* tests all share one implementation.
|
|
10
|
+
*
|
|
11
|
+
* Ratchet semantics (A1): only added lines count, and an added line whose
|
|
12
|
+
* exact content also appears among the diff's removed lines is a move, not an
|
|
13
|
+
* introduction. Pre-existing suppressions are out of scope.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.scanDisableComments = scanDisableComments;
|
|
17
|
+
exports.formatSuppressionFinding = formatSuppressionFinding;
|
|
18
|
+
/** File families a linter actually honors each marker in (precision guard). */
|
|
19
|
+
const JS_EXT = new Set(['ts', 'tsx', 'mts', 'cts', 'js', 'jsx', 'mjs', 'cjs', 'svelte', 'vue', 'astro']);
|
|
20
|
+
const PY_EXT = new Set(['py', 'pyi']);
|
|
21
|
+
/**
|
|
22
|
+
* Marker families. Precision rules (A2): a marker only counts in a file type
|
|
23
|
+
* its linter reads (`exts`) AND in comment position (`pos` must match the
|
|
24
|
+
* line up to and including the marker) — a mention in prose, a YAML/markdown
|
|
25
|
+
* doc, or a string literal is not a suppression. The first dogfood run of
|
|
26
|
+
* this scanner flagged its own documentation; that false-positive class is
|
|
27
|
+
* what these guards remove.
|
|
28
|
+
*/
|
|
29
|
+
// A directive is only honored at the START of its comment (eslint, tsc and
|
|
30
|
+
// biome all require this), so the regexes anchor there — a prose mention
|
|
31
|
+
// later in a comment is not a suppression.
|
|
32
|
+
const MARKERS = [
|
|
33
|
+
{ marker: 'eslint-disable', re: /^\s*eslint-disable(?:-next-line|-line)?\b/, exts: JS_EXT },
|
|
34
|
+
{ marker: '@ts-expect-error', re: /^\s*@ts-expect-error\b/, exts: JS_EXT },
|
|
35
|
+
{ marker: '@ts-ignore', re: /^\s*@ts-ignore\b/, exts: JS_EXT },
|
|
36
|
+
{ marker: 'biome-ignore', re: /^\s*biome-ignore\b/, exts: JS_EXT },
|
|
37
|
+
{ marker: 'type: ignore', re: /#\s*type:\s*ignore\b/, exts: PY_EXT },
|
|
38
|
+
{ marker: 'noqa', re: /#\s*noqa\b/, exts: PY_EXT },
|
|
39
|
+
];
|
|
40
|
+
function fileExt(file) {
|
|
41
|
+
const dot = file.lastIndexOf('.');
|
|
42
|
+
return dot === -1 ? '' : file.slice(dot + 1).toLowerCase();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The comment part of a line, or null when the line has none. Line-local
|
|
46
|
+
* heuristic: a `//`, `/*` (JS families) or `#` (Python) opener counts only
|
|
47
|
+
* when every quote character before it is balanced — an opener inside a
|
|
48
|
+
* string literal is content, not a comment. Multi-line strings/comments are
|
|
49
|
+
* out of reach for a diff-line scanner; linters need the marker on its own
|
|
50
|
+
* statement line anyway, so line-local is where the real suppressions are.
|
|
51
|
+
*/
|
|
52
|
+
function commentPart(line, js) {
|
|
53
|
+
const openerAt = (idx) => {
|
|
54
|
+
const before = line.slice(0, idx);
|
|
55
|
+
for (const q of ["'", '"', '`']) {
|
|
56
|
+
if ((before.split(q).length - 1) % 2 === 1)
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
};
|
|
61
|
+
const openers = js ? ['//', '/*'] : ['#'];
|
|
62
|
+
let best = -1;
|
|
63
|
+
for (const o of openers) {
|
|
64
|
+
let i = line.indexOf(o);
|
|
65
|
+
while (i !== -1) {
|
|
66
|
+
if (openerAt(i)) {
|
|
67
|
+
best = best === -1 ? i : Math.min(best, i);
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
i = line.indexOf(o, i + 1);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return best === -1 ? null : line.slice(best);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* A suppression is "justified" when it carries an inline explanation in the
|
|
77
|
+
* family's own syntax: eslint's ` -- reason`, biome-ignore's `: reason`.
|
|
78
|
+
* Justified suppressions are still findings — the label exists so a reviewer
|
|
79
|
+
* can triage, not so the gate waves them through.
|
|
80
|
+
*/
|
|
81
|
+
function isJustified(marker, line) {
|
|
82
|
+
if (marker === 'eslint-disable')
|
|
83
|
+
return /--\s*\S/.test(line.slice(line.indexOf('eslint-disable')));
|
|
84
|
+
if (marker === 'biome-ignore')
|
|
85
|
+
return /biome-ignore\s+\S+\s*:\s*\S/.test(line);
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
function matchMarker(line, file) {
|
|
89
|
+
const ext = fileExt(file);
|
|
90
|
+
for (const { marker, re, exts } of MARKERS) {
|
|
91
|
+
if (!exts.has(ext))
|
|
92
|
+
continue;
|
|
93
|
+
const comment = commentPart(line, exts === JS_EXT);
|
|
94
|
+
if (comment === null)
|
|
95
|
+
continue;
|
|
96
|
+
// Strip the opener so the start-anchored directive regexes see the
|
|
97
|
+
// comment TEXT (`// @ts-ignore` → ` @ts-ignore`); Python regexes carry
|
|
98
|
+
// their own `#` anchor and test the raw comment.
|
|
99
|
+
const text = exts === JS_EXT ? comment.replace(/^(?:\/\/+|\/\*+)/, '') : comment;
|
|
100
|
+
if (re.test(text))
|
|
101
|
+
return marker;
|
|
102
|
+
}
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Scan unified diff text for suppression markers on added lines (A1, A2).
|
|
107
|
+
* Pure: input diff text, output findings — no git, no filesystem.
|
|
108
|
+
*/
|
|
109
|
+
function scanDisableComments(diffText) {
|
|
110
|
+
const lines = diffText.split('\n');
|
|
111
|
+
// First pass: collect removed-line content so moves don't count (A1).
|
|
112
|
+
const removed = new Set();
|
|
113
|
+
for (const l of lines) {
|
|
114
|
+
if (l.startsWith('-') && !l.startsWith('---'))
|
|
115
|
+
removed.add(l.slice(1).trim());
|
|
116
|
+
}
|
|
117
|
+
const findings = [];
|
|
118
|
+
let file = null;
|
|
119
|
+
let newLine = 0; // 1-indexed line number in the new file for the NEXT line
|
|
120
|
+
for (const l of lines) {
|
|
121
|
+
if (l.startsWith('+++ ')) {
|
|
122
|
+
const p = l.slice(4).trim();
|
|
123
|
+
file = p === '/dev/null' ? null : p.replace(/^b\//, '');
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const hunk = /^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(l);
|
|
127
|
+
if (hunk) {
|
|
128
|
+
newLine = parseInt(hunk[1] ?? '0', 10);
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (l.startsWith('-') && !l.startsWith('---'))
|
|
132
|
+
continue; // old-file only
|
|
133
|
+
if (l.startsWith('+')) {
|
|
134
|
+
const content = l.slice(1);
|
|
135
|
+
const marker = file ? matchMarker(content, file) : null;
|
|
136
|
+
if (marker && file && !removed.has(content.trim())) {
|
|
137
|
+
findings.push({
|
|
138
|
+
file,
|
|
139
|
+
line: newLine,
|
|
140
|
+
marker,
|
|
141
|
+
justified: isJustified(marker, content),
|
|
142
|
+
text: content.trim(),
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
newLine++;
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
// Context line (or anything else inside a hunk body) advances the counter
|
|
149
|
+
// only when we're inside a hunk; headers between hunks reset it anyway.
|
|
150
|
+
if (newLine > 0 && !l.startsWith('diff ') && !l.startsWith('--- '))
|
|
151
|
+
newLine++;
|
|
152
|
+
}
|
|
153
|
+
return findings;
|
|
154
|
+
}
|
|
155
|
+
/** Render a finding as one gate-report line. */
|
|
156
|
+
function formatSuppressionFinding(f) {
|
|
157
|
+
return `${f.file}:${f.line} introduces ${f.marker}${f.justified ? ' (justified)' : ''} — ${f.text}`;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=suppressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suppressions.js","sourceRoot":"","sources":["../../src/enforce/suppressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,16 @@ export declare function isSourceFile(filePath: string): boolean;
|
|
|
24
24
|
* resolver, so it's processed through the no-grammar (`yaml`-style) path.
|
|
25
25
|
*/
|
|
26
26
|
export declare function isPlayRoutesFile(filePath: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve a vendored grammar to something `Language.load` accepts.
|
|
29
|
+
*
|
|
30
|
+
* The build ships grammars above a size threshold gzipped (see
|
|
31
|
+
* scripts/copy-assets.mjs) so the npm package stays small; the raw `.wasm`
|
|
32
|
+
* still sits next to the source in git, so both shapes must load. Returns the
|
|
33
|
+
* file path when the plain `.wasm` is there (nothing to do), otherwise the
|
|
34
|
+
* decompressed bytes of the sibling `.wasm.gz`.
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveVendoredGrammar(wasmDir: string, wasmFile: string): string | Uint8Array;
|
|
27
37
|
/**
|
|
28
38
|
* Initialize the tree-sitter WASM runtime. Must be called before loading grammars.
|
|
29
39
|
* Does NOT load any grammar WASM files — use loadGrammarsForLanguages() for that.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,MAAM,EAA4B,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;AA8BlI;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAiElD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAe7F;AAWD;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAMlD;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCnF;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAc3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAc1E;AAmBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAU/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAK3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAMpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAM/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAiCjE"}
|
|
@@ -43,6 +43,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
43
43
|
exports.EXTENSION_MAP = void 0;
|
|
44
44
|
exports.isSourceFile = isSourceFile;
|
|
45
45
|
exports.isPlayRoutesFile = isPlayRoutesFile;
|
|
46
|
+
exports.resolveVendoredGrammar = resolveVendoredGrammar;
|
|
46
47
|
exports.initGrammars = initGrammars;
|
|
47
48
|
exports.loadGrammarsForLanguages = loadGrammarsForLanguages;
|
|
48
49
|
exports.loadAllGrammars = loadAllGrammars;
|
|
@@ -57,7 +58,9 @@ exports.resetParser = resetParser;
|
|
|
57
58
|
exports.clearParserCache = clearParserCache;
|
|
58
59
|
exports.getUnavailableGrammarErrors = getUnavailableGrammarErrors;
|
|
59
60
|
exports.getLanguageDisplayName = getLanguageDisplayName;
|
|
61
|
+
const fs = __importStar(require("fs"));
|
|
60
62
|
const path = __importStar(require("path"));
|
|
63
|
+
const zlib = __importStar(require("zlib"));
|
|
61
64
|
const web_tree_sitter_1 = require("web-tree-sitter");
|
|
62
65
|
/**
|
|
63
66
|
* WASM filename map — maps each language to its .wasm grammar file
|
|
@@ -178,6 +181,32 @@ function isPlayRoutesFile(filePath) {
|
|
|
178
181
|
filePath.endsWith('/conf/routes') ||
|
|
179
182
|
filePath.endsWith('.routes'));
|
|
180
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Resolve a vendored grammar to something `Language.load` accepts.
|
|
186
|
+
*
|
|
187
|
+
* The build ships grammars above a size threshold gzipped (see
|
|
188
|
+
* scripts/copy-assets.mjs) so the npm package stays small; the raw `.wasm`
|
|
189
|
+
* still sits next to the source in git, so both shapes must load. Returns the
|
|
190
|
+
* file path when the plain `.wasm` is there (nothing to do), otherwise the
|
|
191
|
+
* decompressed bytes of the sibling `.wasm.gz`.
|
|
192
|
+
*/
|
|
193
|
+
function resolveVendoredGrammar(wasmDir, wasmFile) {
|
|
194
|
+
const wasmPath = path.join(wasmDir, wasmFile);
|
|
195
|
+
if (fs.existsSync(wasmPath))
|
|
196
|
+
return wasmPath;
|
|
197
|
+
const gzPath = `${wasmPath}.gz`;
|
|
198
|
+
// Not there either — hand back the plain path so the failure reads as a
|
|
199
|
+
// missing grammar rather than a missing archive.
|
|
200
|
+
if (!fs.existsSync(gzPath))
|
|
201
|
+
return wasmPath;
|
|
202
|
+
try {
|
|
203
|
+
return zlib.gunzipSync(fs.readFileSync(gzPath));
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
207
|
+
throw new Error(`Corrupt compressed grammar ${gzPath}: ${message}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
181
210
|
/**
|
|
182
211
|
* Caches for loaded grammars and parsers
|
|
183
212
|
*/
|
|
@@ -219,10 +248,10 @@ async function loadGrammarsForLanguages(languages) {
|
|
|
219
248
|
// ABI-13 build that corrupts the shared WASM heap under web-tree-sitter
|
|
220
249
|
// 0.25 (drops nested calls/imports on every file after the first); we
|
|
221
250
|
// vendor the upstream ABI-15 wasm instead.
|
|
222
|
-
const
|
|
223
|
-
? path.join(__dirname, 'wasm', wasmFile)
|
|
251
|
+
const wasmSource = (lang === 'pascal' || lang === 'scala' || lang === 'lua' || lang === 'luau')
|
|
252
|
+
? resolveVendoredGrammar(path.join(__dirname, 'wasm'), wasmFile)
|
|
224
253
|
: require.resolve(`tree-sitter-wasms/out/${wasmFile}`);
|
|
225
|
-
const language = await web_tree_sitter_1.Language.load(
|
|
254
|
+
const language = await web_tree_sitter_1.Language.load(wasmSource);
|
|
226
255
|
languageCache.set(lang, language);
|
|
227
256
|
}
|
|
228
257
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,13 @@ export interface SyncResult {
|
|
|
46
46
|
* files changed or the spec pass didn't run.
|
|
47
47
|
*/
|
|
48
48
|
driftedTransitions?: import('../resolution/spec-link-resolver').DriftTransition[];
|
|
49
|
+
/**
|
|
50
|
+
* Spec-extraction error/warning counts from this sync's spec pass
|
|
51
|
+
* (REQ-REVINT-002.A2). Absent when the spec pass didn't run; zeroed when it
|
|
52
|
+
* ran and every changed spec parsed cleanly.
|
|
53
|
+
*/
|
|
54
|
+
specErrors?: number;
|
|
55
|
+
specWarnings?: number;
|
|
49
56
|
/**
|
|
50
57
|
* Report of the JIRA auto-publish pass (REQ-JIRATEAM-002). Absent when no
|
|
51
58
|
* binding is present (the pass returns `{ skipped: 'unbound' }` in that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"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"}
|