@wrongstack/plugins 0.293.0 → 0.295.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/README.md +7 -71
- package/dist/accessibility-auditor/index.d.ts +1 -1
- package/dist/accessibility-auditor/index.d.ts.map +1 -1
- package/dist/accessibility-auditor.js +31 -31
- package/dist/agent-handoff/index.d.ts +1 -1
- package/dist/agent-handoff/index.d.ts.map +1 -1
- package/dist/api-compatibility-gate/index.d.ts +1 -1
- package/dist/api-compatibility-gate/index.d.ts.map +1 -1
- package/dist/api-compatibility-gate.js +21 -16
- package/dist/audit/index.d.ts +386 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit.d.ts +1 -0
- package/dist/audit.js +454 -0
- package/dist/auto-doc/index.d.ts +1 -1
- package/dist/auto-doc/index.d.ts.map +1 -1
- package/dist/auto-escalate/index.d.ts +1 -1
- package/dist/auto-escalate/index.d.ts.map +1 -1
- package/dist/auto-i18n-extractor/index.d.ts +1 -1
- package/dist/auto-i18n-extractor/index.d.ts.map +1 -1
- package/dist/auto-i18n-extractor.js +2 -1
- package/dist/branch-guard/index.d.ts +1 -1
- package/dist/branch-guard/index.d.ts.map +1 -1
- package/dist/branch-guard.js +9 -1
- package/dist/catalog.d.ts +5 -30
- package/dist/catalog.d.ts.map +1 -1
- package/dist/changelog-writer/index.d.ts +1 -1
- package/dist/changelog-writer/index.d.ts.map +1 -1
- package/dist/checkpoint/index.d.ts +1 -1
- package/dist/checkpoint/index.d.ts.map +1 -1
- package/dist/checkpoint.js +7 -8
- package/dist/code-metrics/index.d.ts +1 -1
- package/dist/code-metrics/index.d.ts.map +1 -1
- package/dist/code-metrics.js +29 -29
- package/dist/commit-validator/index.d.ts +1 -1
- package/dist/commit-validator/index.d.ts.map +1 -1
- package/dist/config-validator/index.d.ts +1 -1
- package/dist/config-validator/index.d.ts.map +1 -1
- package/dist/context-pins/index.d.ts +1 -1
- package/dist/context-pins/index.d.ts.map +1 -1
- package/dist/cost-tracker/index.d.ts +1 -1
- package/dist/cost-tracker/index.d.ts.map +1 -1
- package/dist/cost-tracker.js +9 -2
- package/dist/cron/index.d.ts +1 -1
- package/dist/cron/index.d.ts.map +1 -1
- package/dist/dead-code-detector/index.d.ts +1 -1
- package/dist/dead-code-detector/index.d.ts.map +1 -1
- package/dist/dead-code-detector.js +26 -18
- package/dist/dep-guard/index.d.ts +1 -1
- package/dist/dep-guard/index.d.ts.map +1 -1
- package/dist/dependency-vulnerability-gate/index.d.ts +1 -1
- package/dist/dependency-vulnerability-gate/index.d.ts.map +1 -1
- package/dist/dependency-vulnerability-gate.js +34 -22
- package/dist/diff-summary/index.d.ts +1 -1
- package/dist/diff-summary/index.d.ts.map +1 -1
- package/dist/diff-summary.js +28 -29
- package/dist/doc-sync-guard/index.d.ts +1 -1
- package/dist/doc-sync-guard/index.d.ts.map +1 -1
- package/dist/doc-sync-guard.js +2 -1
- package/dist/duplicate-code-detector/index.d.ts +26 -1
- package/dist/duplicate-code-detector/index.d.ts.map +1 -1
- package/dist/duplicate-code-detector.js +178 -67
- package/dist/error-lens/index.d.ts +1 -1
- package/dist/error-lens/index.d.ts.map +1 -1
- package/dist/factories/index.d.ts +4 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories.d.ts +1 -0
- package/dist/factories.js +74 -0
- package/dist/feature-flag-tracker/index.d.ts +1 -1
- package/dist/feature-flag-tracker/index.d.ts.map +1 -1
- package/dist/feature-flag-tracker.js +29 -29
- package/dist/file-watcher/index.d.ts +1 -1
- package/dist/file-watcher/index.d.ts.map +1 -1
- package/dist/format-on-save/index.d.ts +1 -1
- package/dist/format-on-save/index.d.ts.map +1 -1
- package/dist/format-on-save.js +2 -1
- package/dist/generated-plugin-exports.d.ts +65 -0
- package/dist/generated-plugin-exports.d.ts.map +1 -0
- package/dist/git-autocommit/index.d.ts +1 -1
- package/dist/git-autocommit/index.d.ts.map +1 -1
- package/dist/import-organizer/index.d.ts +1 -1
- package/dist/import-organizer/index.d.ts.map +1 -1
- package/dist/import-organizer.js +2 -1
- package/dist/index.d.ts +4 -183
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17675 -17377
- package/dist/injection-shield/index.d.ts +1 -1
- package/dist/injection-shield/index.d.ts.map +1 -1
- package/dist/interface-contract-guard/index.d.ts +1 -1
- package/dist/interface-contract-guard/index.d.ts.map +1 -1
- package/dist/interface-contract-guard.js +29 -29
- package/dist/knowledge-graph/index.d.ts +1 -1
- package/dist/knowledge-graph/index.d.ts.map +1 -1
- package/dist/license-audit-gate/index.d.ts +1 -1
- package/dist/license-audit-gate/index.d.ts.map +1 -1
- package/dist/lint-gate/index.d.ts +1 -1
- package/dist/lint-gate/index.d.ts.map +1 -1
- package/dist/lint-gate.js +10 -1
- package/dist/llm-cache/index.d.ts +5 -1
- package/dist/llm-cache/index.d.ts.map +1 -1
- package/dist/llm-cache.js +16 -8
- package/dist/loop-breaker/index.d.ts +1 -1
- package/dist/loop-breaker/index.d.ts.map +1 -1
- package/dist/loop-breaker.js +10 -4
- package/dist/manifest/index.d.ts +16 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest.d.ts +1 -0
- package/dist/manifest.js +152 -0
- package/dist/migration-planner/index.d.ts +1 -1
- package/dist/migration-planner/index.d.ts.map +1 -1
- package/dist/migration-planner.js +2 -1
- package/dist/model-router/index.d.ts +1 -1
- package/dist/model-router/index.d.ts.map +1 -1
- package/dist/notify-hub/index.d.ts +1 -1
- package/dist/notify-hub/index.d.ts.map +1 -1
- package/dist/notify-hub/webhook-channel.d.ts +1 -1
- package/dist/notify-hub/webhook-channel.d.ts.map +1 -1
- package/dist/path-guard/index.d.ts +1 -1
- package/dist/path-guard/index.d.ts.map +1 -1
- package/dist/performance-regression-gate/index.d.ts +1 -1
- package/dist/performance-regression-gate/index.d.ts.map +1 -1
- package/dist/plugin-stack-observer/index.d.ts +1 -1
- package/dist/plugin-stack-observer/index.d.ts.map +1 -1
- package/dist/pr-drafter/index.d.ts +1 -1
- package/dist/pr-drafter/index.d.ts.map +1 -1
- package/dist/pr-drafter.js +28 -29
- package/dist/process-guard/index.d.ts +1 -1
- package/dist/process-guard/index.d.ts.map +1 -1
- package/dist/prompt-firewall/index.d.ts +1 -1
- package/dist/prompt-firewall/index.d.ts.map +1 -1
- package/dist/refactor-suggester/index.d.ts +1 -1
- package/dist/refactor-suggester/index.d.ts.map +1 -1
- package/dist/refactor-suggester.js +29 -29
- package/dist/release-notes-generator/index.d.ts +1 -1
- package/dist/release-notes-generator/index.d.ts.map +1 -1
- package/dist/release-notes-generator.js +29 -22
- package/dist/runtime/index.d.ts +15 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/llm.d.ts +1 -1
- package/dist/runtime/llm.d.ts.map +1 -1
- package/dist/runtime.js +43 -2
- package/dist/schema-evolution-guard/index.d.ts +1 -1
- package/dist/schema-evolution-guard/index.d.ts.map +1 -1
- package/dist/schema-evolution-guard.js +2 -1
- package/dist/secret-scanner/index.d.ts +1 -1
- package/dist/secret-scanner/index.d.ts.map +1 -1
- package/dist/secret-scanner.js +7 -1
- package/dist/security-hotspot-scanner/index.d.ts +1 -1
- package/dist/security-hotspot-scanner/index.d.ts.map +1 -1
- package/dist/security-hotspot-scanner.js +26 -19
- package/dist/semantic-search-indexer/index.d.ts +1 -1
- package/dist/semantic-search-indexer/index.d.ts.map +1 -1
- package/dist/semver-bump/index.d.ts +1 -1
- package/dist/semver-bump/index.d.ts.map +1 -1
- package/dist/semver-bump.js +78 -43
- package/dist/session-recap/index.d.ts +1 -1
- package/dist/session-recap/index.d.ts.map +1 -1
- package/dist/shell-check/index.d.ts +1 -1
- package/dist/shell-check/index.d.ts.map +1 -1
- package/dist/smart-rename/index.d.ts +1 -1
- package/dist/smart-rename/index.d.ts.map +1 -1
- package/dist/spec-linker/index.d.ts +1 -1
- package/dist/spec-linker/index.d.ts.map +1 -1
- package/dist/spec-linker.js +222 -20772
- package/dist/template-engine/index.d.ts +1 -1
- package/dist/template-engine/index.d.ts.map +1 -1
- package/dist/template-engine.js +4 -6
- package/dist/test-coverage-gate/index.d.ts +1 -1
- package/dist/test-coverage-gate/index.d.ts.map +1 -1
- package/dist/test-coverage-gate.js +29 -14
- package/dist/test-flake-detector/index.d.ts +1 -1
- package/dist/test-flake-detector/index.d.ts.map +1 -1
- package/dist/test-flake-detector.js +31 -20
- package/dist/test-generator/index.d.ts +1 -1
- package/dist/test-generator/index.d.ts.map +1 -1
- package/dist/test-runner-gate/index.d.ts +1 -1
- package/dist/test-runner-gate/index.d.ts.map +1 -1
- package/dist/test-runner-gate.js +2 -1
- package/dist/todo-listener/index.d.ts +1 -32
- package/dist/todo-listener/index.d.ts.map +1 -1
- package/dist/todo-tracker/index.d.ts +1 -1
- package/dist/todo-tracker/index.d.ts.map +1 -1
- package/dist/token-budget/index.d.ts +1 -1
- package/dist/token-budget/index.d.ts.map +1 -1
- package/dist/token-throttle/index.d.ts +1 -1
- package/dist/token-throttle/index.d.ts.map +1 -1
- package/dist/type-gate/index.d.ts +1 -1
- package/dist/type-gate/index.d.ts.map +1 -1
- package/dist/type-gate.js +11 -4
- package/package.json +80 -68
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// src/factories/index.ts
|
|
2
|
+
var OFFICIAL_PLUGIN_SPECIFIERS = [
|
|
3
|
+
"@wrongstack/plugins/agent-handoff",
|
|
4
|
+
"@wrongstack/plugins/cost-tracker",
|
|
5
|
+
"@wrongstack/plugins/file-watcher",
|
|
6
|
+
"@wrongstack/plugins/git-autocommit",
|
|
7
|
+
"@wrongstack/plugins/auto-doc",
|
|
8
|
+
"@wrongstack/plugins/shell-check",
|
|
9
|
+
"@wrongstack/plugins/cron",
|
|
10
|
+
"@wrongstack/plugins/template-engine",
|
|
11
|
+
"@wrongstack/plugins/semver-bump",
|
|
12
|
+
"@wrongstack/plugins/secret-scanner",
|
|
13
|
+
"@wrongstack/plugins/todo-tracker",
|
|
14
|
+
"@wrongstack/plugins/token-budget",
|
|
15
|
+
"@wrongstack/plugins/lint-gate",
|
|
16
|
+
"@wrongstack/plugins/branch-guard",
|
|
17
|
+
"@wrongstack/plugins/diff-summary",
|
|
18
|
+
"@wrongstack/plugins/commit-validator",
|
|
19
|
+
"@wrongstack/plugins/format-on-save",
|
|
20
|
+
"@wrongstack/plugins/test-runner-gate",
|
|
21
|
+
"@wrongstack/plugins/import-organizer",
|
|
22
|
+
"@wrongstack/plugins/knowledge-graph",
|
|
23
|
+
"@wrongstack/plugins/todo-listener",
|
|
24
|
+
"@wrongstack/plugins/session-recap",
|
|
25
|
+
"@wrongstack/plugins/spec-linker",
|
|
26
|
+
"@wrongstack/plugins/loop-breaker",
|
|
27
|
+
"@wrongstack/plugins/path-guard",
|
|
28
|
+
"@wrongstack/plugins/process-guard",
|
|
29
|
+
"@wrongstack/plugins/context-pins",
|
|
30
|
+
"@wrongstack/plugins/checkpoint",
|
|
31
|
+
"@wrongstack/plugins/error-lens",
|
|
32
|
+
"@wrongstack/plugins/dep-guard",
|
|
33
|
+
"@wrongstack/plugins/config-validator",
|
|
34
|
+
"@wrongstack/plugins/notify-hub",
|
|
35
|
+
"@wrongstack/plugins/changelog-writer",
|
|
36
|
+
"@wrongstack/plugins/injection-shield",
|
|
37
|
+
"@wrongstack/plugins/llm-cache",
|
|
38
|
+
"@wrongstack/plugins/model-router",
|
|
39
|
+
"@wrongstack/plugins/pr-drafter",
|
|
40
|
+
"@wrongstack/plugins/prompt-firewall",
|
|
41
|
+
"@wrongstack/plugins/auto-escalate",
|
|
42
|
+
"@wrongstack/plugins/test-coverage-gate",
|
|
43
|
+
"@wrongstack/plugins/type-gate",
|
|
44
|
+
"@wrongstack/plugins/token-throttle",
|
|
45
|
+
"@wrongstack/plugins/plugin-stack-observer",
|
|
46
|
+
"@wrongstack/plugins/dead-code-detector",
|
|
47
|
+
"@wrongstack/plugins/dependency-vulnerability-gate",
|
|
48
|
+
"@wrongstack/plugins/migration-planner",
|
|
49
|
+
"@wrongstack/plugins/semantic-search-indexer",
|
|
50
|
+
"@wrongstack/plugins/auto-i18n-extractor",
|
|
51
|
+
"@wrongstack/plugins/doc-sync-guard",
|
|
52
|
+
"@wrongstack/plugins/api-compatibility-gate",
|
|
53
|
+
"@wrongstack/plugins/performance-regression-gate",
|
|
54
|
+
"@wrongstack/plugins/test-flake-detector",
|
|
55
|
+
"@wrongstack/plugins/schema-evolution-guard",
|
|
56
|
+
"@wrongstack/plugins/license-audit-gate",
|
|
57
|
+
"@wrongstack/plugins/accessibility-auditor",
|
|
58
|
+
"@wrongstack/plugins/security-hotspot-scanner",
|
|
59
|
+
"@wrongstack/plugins/duplicate-code-detector",
|
|
60
|
+
"@wrongstack/plugins/code-metrics",
|
|
61
|
+
"@wrongstack/plugins/refactor-suggester",
|
|
62
|
+
"@wrongstack/plugins/test-generator",
|
|
63
|
+
"@wrongstack/plugins/release-notes-generator",
|
|
64
|
+
"@wrongstack/plugins/smart-rename",
|
|
65
|
+
"@wrongstack/plugins/feature-flag-tracker",
|
|
66
|
+
"@wrongstack/plugins/interface-contract-guard"
|
|
67
|
+
];
|
|
68
|
+
var OFFICIAL_PLUGIN_FACTORIES = OFFICIAL_PLUGIN_SPECIFIERS.map(
|
|
69
|
+
(specifier) => async () => (await import(specifier)).default
|
|
70
|
+
);
|
|
71
|
+
export {
|
|
72
|
+
OFFICIAL_PLUGIN_FACTORIES,
|
|
73
|
+
OFFICIAL_PLUGIN_SPECIFIERS
|
|
74
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/feature-flag-tracker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/feature-flag-tracker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AASrD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AA6ID,QAAA,MAAM,MAAM,EAAE,MA+Mb,CAAC;eAEa,MAAM"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
// src/feature-flag-tracker/index.ts
|
|
2
|
-
import {
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { isAbsolute as isAbsolute2, relative as relative2, resolve as resolve2 } from "node:path";
|
|
4
4
|
|
|
5
5
|
// src/runtime/index.ts
|
|
6
|
-
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
7
6
|
import { basename, extname, isAbsolute, relative, resolve } from "node:path";
|
|
8
7
|
var MAX_BUFFER_BYTES = 16 * 1024 * 1024;
|
|
9
8
|
function hasLeadingDash(arg) {
|
|
@@ -17,44 +16,45 @@ function withinProjectPath(projectRoot, candidate) {
|
|
|
17
16
|
return rel === "" || !rel.startsWith("..") && !isAbsolute(rel);
|
|
18
17
|
}
|
|
19
18
|
function withinProject(p) {
|
|
20
|
-
|
|
19
|
+
const cwd = process.cwd();
|
|
20
|
+
return withinProjectPath(cwd, p) || relative(cwd, p) === ".";
|
|
21
21
|
}
|
|
22
22
|
var DEFAULT_EXCLUDE_DIRS = ["node_modules", "dist", ".git", "coverage"];
|
|
23
|
-
function
|
|
23
|
+
async function collectSourceFilesAsync(root, opts) {
|
|
24
|
+
const { readdir, stat } = await import("node:fs/promises");
|
|
24
25
|
const files = [];
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
try {
|
|
27
|
+
const s = await stat(root);
|
|
28
|
+
if (s.isFile()) {
|
|
29
|
+
if (matchesExtension(root, opts.extensions)) files.push(root);
|
|
30
|
+
return files;
|
|
31
|
+
}
|
|
32
|
+
if (!s.isDirectory()) return files;
|
|
33
|
+
} catch {
|
|
29
34
|
return files;
|
|
30
35
|
}
|
|
31
|
-
if (!s.isDirectory()) return files;
|
|
32
36
|
const exclude = opts.excludeDirs ?? DEFAULT_EXCLUDE_DIRS;
|
|
33
|
-
|
|
37
|
+
const excludeSet = new Set(exclude);
|
|
38
|
+
async function walk(dir, depth) {
|
|
34
39
|
if (opts.maxDepth !== void 0 && depth > opts.maxDepth) return;
|
|
35
40
|
let entries;
|
|
36
41
|
try {
|
|
37
|
-
entries =
|
|
42
|
+
entries = await readdir(dir, { withFileTypes: true });
|
|
38
43
|
} catch {
|
|
39
44
|
return;
|
|
40
45
|
}
|
|
46
|
+
entries.sort((a, b) => a.name.localeCompare(b.name));
|
|
41
47
|
for (const entry of entries) {
|
|
42
|
-
if (
|
|
43
|
-
const full = resolve(dir, entry);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
} catch {
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
if (st.isDirectory()) {
|
|
51
|
-
walk(full, depth + 1);
|
|
52
|
-
} else if (st.isFile() && matchesExtension(full, opts.extensions)) {
|
|
48
|
+
if (excludeSet.has(entry.name)) continue;
|
|
49
|
+
const full = resolve(dir, entry.name);
|
|
50
|
+
if (entry.isDirectory()) {
|
|
51
|
+
await walk(full, depth + 1);
|
|
52
|
+
} else if (entry.isFile() && matchesExtension(full, opts.extensions)) {
|
|
53
53
|
files.push(full);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
walk(root, 0);
|
|
57
|
+
await walk(root, 0);
|
|
58
58
|
return files;
|
|
59
59
|
}
|
|
60
60
|
function matchesExtension(p, exts) {
|
|
@@ -128,16 +128,16 @@ function scanFile(filePath, content, patterns, maxFindings) {
|
|
|
128
128
|
}
|
|
129
129
|
return usages.slice(0, maxFindings);
|
|
130
130
|
}
|
|
131
|
-
function scanPath(rawPath, cfg) {
|
|
131
|
+
async function scanPath(rawPath, cfg) {
|
|
132
132
|
const root = process.cwd();
|
|
133
133
|
const resolved = isAbsolute2(rawPath) ? resolve2(rawPath) : resolve2(root, rawPath);
|
|
134
134
|
const exts = normalizeExtensions(cfg.extensions);
|
|
135
|
-
const files =
|
|
135
|
+
const files = await collectSourceFilesAsync(resolved, { extensions: exts });
|
|
136
136
|
const patterns = compilePatterns(cfg.patterns);
|
|
137
137
|
const usages = [];
|
|
138
138
|
for (const p of files) {
|
|
139
139
|
try {
|
|
140
|
-
const content =
|
|
140
|
+
const content = await readFile(p, "utf-8");
|
|
141
141
|
usages.push(...scanFile(p, content, patterns, cfg.maxFindings));
|
|
142
142
|
if (usages.length >= cfg.maxFindings) break;
|
|
143
143
|
} catch {
|
|
@@ -191,7 +191,7 @@ var plugin = {
|
|
|
191
191
|
state.hookUnregister = null;
|
|
192
192
|
}
|
|
193
193
|
const cfg = readConfig(api.config.extensions?.["feature-flag-tracker"]);
|
|
194
|
-
const hook = (input) => {
|
|
194
|
+
const hook = async (input) => {
|
|
195
195
|
if (!cfg.enabled) return;
|
|
196
196
|
if (input.toolResult?.isError) return;
|
|
197
197
|
const inp = input.toolInput ?? {};
|
|
@@ -204,7 +204,7 @@ var plugin = {
|
|
|
204
204
|
const resolved = resolve2(process.cwd(), sourcePath);
|
|
205
205
|
let content;
|
|
206
206
|
try {
|
|
207
|
-
content =
|
|
207
|
+
content = await readFile(resolved, "utf-8");
|
|
208
208
|
} catch {
|
|
209
209
|
state.errorCount += 1;
|
|
210
210
|
return;
|
|
@@ -242,7 +242,7 @@ Make sure flag behavior is intentional and consider updating flag inventory/docs
|
|
|
242
242
|
state.scanCount += 1;
|
|
243
243
|
let result;
|
|
244
244
|
try {
|
|
245
|
-
result = scanPath(rawPath, cfg);
|
|
245
|
+
result = await scanPath(rawPath, cfg);
|
|
246
246
|
} catch (err) {
|
|
247
247
|
state.errorCount += 1;
|
|
248
248
|
return { ok: false, error: String(err) };
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - watch_stop: Stop a watch by ID
|
|
7
7
|
* - watch_list: List all active watches
|
|
8
8
|
*/
|
|
9
|
-
import type { Plugin } from '@wrongstack/core';
|
|
9
|
+
import type { Plugin } from '@wrongstack/core/types';
|
|
10
10
|
declare const plugin: Plugin;
|
|
11
11
|
export default plugin;
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file-watcher/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file-watcher/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAqErD,QAAA,MAAM,MAAM,EAAE,MA8Yb,CAAC;eAEa,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format-on-save/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format-on-save/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA0PrD,QAAA,MAAM,MAAM,EAAE,MAuPb,CAAC;eAEa,MAAM"}
|
package/dist/format-on-save.js
CHANGED
|
@@ -16,7 +16,8 @@ function withinProjectPath(projectRoot, candidate) {
|
|
|
16
16
|
return rel === "" || !rel.startsWith("..") && !isAbsolute(rel);
|
|
17
17
|
}
|
|
18
18
|
function withinProject(p) {
|
|
19
|
-
|
|
19
|
+
const cwd = process.cwd();
|
|
20
|
+
return withinProjectPath(cwd, p) || relative(cwd, p) === ".";
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
// src/format-on-save/index.ts
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export { default as accessibilityAuditorPlugin } from './accessibility-auditor/index.js';
|
|
2
|
+
export { default as agentHandoffPlugin } from './agent-handoff/index.js';
|
|
3
|
+
export { default as apiCompatibilityGatePlugin } from './api-compatibility-gate/index.js';
|
|
4
|
+
export { default as autoDocPlugin } from './auto-doc/index.js';
|
|
5
|
+
export { default as autoEscalatePlugin } from './auto-escalate/index.js';
|
|
6
|
+
export { default as autoI18nExtractorPlugin } from './auto-i18n-extractor/index.js';
|
|
7
|
+
export { default as branchGuardPlugin } from './branch-guard/index.js';
|
|
8
|
+
export { default as changelogWriterPlugin } from './changelog-writer/index.js';
|
|
9
|
+
export { default as checkpointPlugin } from './checkpoint/index.js';
|
|
10
|
+
export { default as codeMetricsPlugin } from './code-metrics/index.js';
|
|
11
|
+
export { default as commitValidatorPlugin } from './commit-validator/index.js';
|
|
12
|
+
export { default as configValidatorPlugin } from './config-validator/index.js';
|
|
13
|
+
export { default as contextPinsPlugin } from './context-pins/index.js';
|
|
14
|
+
export { default as costTrackerPlugin } from './cost-tracker/index.js';
|
|
15
|
+
export { default as cronPlugin } from './cron/index.js';
|
|
16
|
+
export { default as deadCodeDetectorPlugin } from './dead-code-detector/index.js';
|
|
17
|
+
export { default as depGuardPlugin } from './dep-guard/index.js';
|
|
18
|
+
export { default as dependencyVulnerabilityGatePlugin } from './dependency-vulnerability-gate/index.js';
|
|
19
|
+
export { default as diffSummaryPlugin } from './diff-summary/index.js';
|
|
20
|
+
export { default as docSyncGuardPlugin } from './doc-sync-guard/index.js';
|
|
21
|
+
export { default as duplicateCodeDetectorPlugin } from './duplicate-code-detector/index.js';
|
|
22
|
+
export { default as errorLensPlugin } from './error-lens/index.js';
|
|
23
|
+
export { default as featureFlagTrackerPlugin } from './feature-flag-tracker/index.js';
|
|
24
|
+
export { default as fileWatcherPlugin } from './file-watcher/index.js';
|
|
25
|
+
export { default as formatOnSavePlugin } from './format-on-save/index.js';
|
|
26
|
+
export { default as gitAutocommitPlugin } from './git-autocommit/index.js';
|
|
27
|
+
export { default as importOrganizerPlugin } from './import-organizer/index.js';
|
|
28
|
+
export { default as injectionShieldPlugin } from './injection-shield/index.js';
|
|
29
|
+
export { default as interfaceContractGuardPlugin } from './interface-contract-guard/index.js';
|
|
30
|
+
export { default as knowledgeGraphPlugin } from './knowledge-graph/index.js';
|
|
31
|
+
export { default as licenseAuditGatePlugin } from './license-audit-gate/index.js';
|
|
32
|
+
export { default as lintGatePlugin } from './lint-gate/index.js';
|
|
33
|
+
export { default as llmCachePlugin } from './llm-cache/index.js';
|
|
34
|
+
export { default as loopBreakerPlugin } from './loop-breaker/index.js';
|
|
35
|
+
export { default as migrationPlannerPlugin } from './migration-planner/index.js';
|
|
36
|
+
export { default as modelRouterPlugin } from './model-router/index.js';
|
|
37
|
+
export { default as notifyHubPlugin } from './notify-hub/index.js';
|
|
38
|
+
export { default as pathGuardPlugin } from './path-guard/index.js';
|
|
39
|
+
export { default as performanceRegressionGatePlugin } from './performance-regression-gate/index.js';
|
|
40
|
+
export { default as pluginStackObserverPlugin } from './plugin-stack-observer/index.js';
|
|
41
|
+
export { default as prDrafterPlugin } from './pr-drafter/index.js';
|
|
42
|
+
export { default as processGuardPlugin } from './process-guard/index.js';
|
|
43
|
+
export { default as promptFirewallPlugin } from './prompt-firewall/index.js';
|
|
44
|
+
export { default as refactorSuggesterPlugin } from './refactor-suggester/index.js';
|
|
45
|
+
export { default as releaseNotesGeneratorPlugin } from './release-notes-generator/index.js';
|
|
46
|
+
export { default as schemaEvolutionGuardPlugin } from './schema-evolution-guard/index.js';
|
|
47
|
+
export { default as secretScannerPlugin } from './secret-scanner/index.js';
|
|
48
|
+
export { default as securityHotspotScannerPlugin } from './security-hotspot-scanner/index.js';
|
|
49
|
+
export { default as semanticSearchIndexerPlugin } from './semantic-search-indexer/index.js';
|
|
50
|
+
export { default as semverBumpPlugin } from './semver-bump/index.js';
|
|
51
|
+
export { default as sessionRecapPlugin } from './session-recap/index.js';
|
|
52
|
+
export { default as shellCheckPlugin } from './shell-check/index.js';
|
|
53
|
+
export { default as smartRenamePlugin } from './smart-rename/index.js';
|
|
54
|
+
export { default as specLinkerPlugin } from './spec-linker/index.js';
|
|
55
|
+
export { default as templateEnginePlugin } from './template-engine/index.js';
|
|
56
|
+
export { default as testCoverageGatePlugin } from './test-coverage-gate/index.js';
|
|
57
|
+
export { default as testFlakeDetectorPlugin } from './test-flake-detector/index.js';
|
|
58
|
+
export { default as testGeneratorPlugin } from './test-generator/index.js';
|
|
59
|
+
export { default as testRunnerGatePlugin } from './test-runner-gate/index.js';
|
|
60
|
+
export { default as todoListenerPlugin } from './todo-listener/index.js';
|
|
61
|
+
export { default as todoTrackerPlugin } from './todo-tracker/index.js';
|
|
62
|
+
export { default as tokenBudgetPlugin } from './token-budget/index.js';
|
|
63
|
+
export { default as tokenThrottlePlugin } from './token-throttle/index.js';
|
|
64
|
+
export { default as typeGatePlugin } from './type-gate/index.js';
|
|
65
|
+
//# sourceMappingURL=generated-plugin-exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-plugin-exports.d.ts","sourceRoot":"","sources":["../src/generated-plugin-exports.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - For staging: use `git_autocommit` with `files` (it stages automatically), or `bash` with `git add`.
|
|
10
10
|
* - For status: use the built-in `git` tool with `command: "status"` or `command: "diff"`.
|
|
11
11
|
*/
|
|
12
|
-
import type { Plugin } from '@wrongstack/core';
|
|
12
|
+
import type { Plugin } from '@wrongstack/core/types';
|
|
13
13
|
declare const plugin: Plugin;
|
|
14
14
|
export default plugin;
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/git-autocommit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/git-autocommit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAoTrD,QAAA,MAAM,MAAM,EAAE,MAsXb,CAAC;eAEa,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/import-organizer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/import-organizer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAoRrD,QAAA,MAAM,MAAM,EAAE,MA8Nb,CAAC;eAEa,MAAM"}
|
package/dist/import-organizer.js
CHANGED
|
@@ -17,7 +17,8 @@ function withinProjectPath(projectRoot, candidate) {
|
|
|
17
17
|
return rel === "" || !rel.startsWith("..") && !isAbsolute(rel);
|
|
18
18
|
}
|
|
19
19
|
function withinProject(p) {
|
|
20
|
-
|
|
20
|
+
const cwd = process.cwd();
|
|
21
|
+
return withinProjectPath(cwd, p) || relative(cwd, p) === ".";
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
// src/import-organizer/index.ts
|
package/dist/index.d.ts
CHANGED
|
@@ -1,187 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @wrongstack/plugins —
|
|
2
|
+
* @wrongstack/plugins — official plugin suite.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* — wrapProviderRunner / onError — wrapping the provider call itself):
|
|
7
|
-
* 1. auto-doc — Auto-generates JSDoc/TSDoc (dryRun for preview)
|
|
8
|
-
* 2. git-autocommit — AI-powered commit messages (git_autocommit/status_summary removed)
|
|
9
|
-
* 3. shell-check — Runs shellcheck on files or directories (merged)
|
|
10
|
-
* 4. cost-tracker — Tracks LLM token usage and estimated cost per session
|
|
11
|
-
* 5. file-watcher — Watches project files and emits events on changes
|
|
12
|
-
* 6. cron — Schedules recurring tasks via extension hooks
|
|
13
|
-
* 7. template-engine — Expands file templates with variable substitution
|
|
14
|
-
* 8. semver-bump — Conventional-commit-driven semver version bumps
|
|
15
|
-
* 9. secret-scanner — Pre+post-tool hooks that block, redact, or warn
|
|
16
|
-
* about plaintext credentials flowing into/out of tools
|
|
17
|
-
* 10. todo-tracker — Persistent, project-scoped todo backlog that
|
|
18
|
-
* survives across sessions
|
|
19
|
-
* 11. token-budget — Enforces a per-session token budget — warns at a
|
|
20
|
-
* threshold and stops the agent loop when the limit is hit
|
|
21
|
-
* 12. lint-gate — Pre-tool hook that runs biome/eslint on would-be
|
|
22
|
-
* file content before write or edit commits it
|
|
23
|
-
* 13. branch-guard — Pre-tool hook that blocks commits, pushes, and
|
|
24
|
-
* merges to protected branches (default: main, master)
|
|
25
|
-
* 14. diff-summary — Post-tool hook that injects a compact git diff
|
|
26
|
-
* into the LLM context after every write or edit
|
|
27
|
-
* 15. commit-validator — Pre-tool hook that validates conventional-commit
|
|
28
|
-
* format before git_autocommit or bash git commit runs
|
|
29
|
-
* 16. format-on-save — Post-tool hook that runs biome format --write
|
|
30
|
-
* on the file after every write or edit
|
|
31
|
-
* 17. test-runner-gate — Post-tool hook that runs the relevant test
|
|
32
|
-
* file after every write or edit to a source file
|
|
33
|
-
* 18. import-organizer — Post-tool hook that runs biome check --write --unsafe
|
|
34
|
-
* on the file after write or edit, re-sorting imports
|
|
35
|
-
* and applying safe fixes (falls back to eslint --fix)
|
|
36
|
-
* 19. todo-listener — Post-tool hook on `todo` that broadcasts the new list
|
|
37
|
-
* to the project mailbox (api.mailbox.send) so other
|
|
38
|
-
* agents can see what this one is working on
|
|
39
|
-
* 20. session-recap — Stop hook that posts a one-page session summary
|
|
40
|
-
* (tokens, tool calls, commits, transcript tail) to
|
|
41
|
-
* the project mailbox when the agent loop ends
|
|
42
|
-
* 21. spec-linker — Post-tool hook on write/edit that scans markdown
|
|
43
|
-
* files for unlinked plugin references and surfaces
|
|
44
|
-
* them to the LLM via additionalContext
|
|
45
|
-
* 22. loop-breaker — Pre-tool hook that detects runaway tool-call loops
|
|
46
|
-
* (identical repeats + A-B-A-B oscillation), warns
|
|
47
|
-
* the model, then blocks
|
|
48
|
-
* 23. path-guard — Pre-tool hook that blocks writes/edits/destructive
|
|
49
|
-
* shell commands touching protected paths (lockfiles,
|
|
50
|
-
* .env, .git, migrations)
|
|
51
|
-
* 24. context-pins — pin_add/pin_remove/pin_list tools + system prompt
|
|
52
|
-
* contributor: pinned facts survive compaction and
|
|
53
|
-
* persist across sessions
|
|
54
|
-
* 25. checkpoint — In-session file snapshots: auto-captures content
|
|
55
|
-
* before write/edit; checkpoint_restore rolls any
|
|
56
|
-
* file back to a pre-edit state
|
|
57
|
-
* 26. error-lens — Post-tool hook that distills failed command output
|
|
58
|
-
* into a compact digest (error line + project stack
|
|
59
|
-
* frames) and flags repeated failures
|
|
60
|
-
* 27. dep-guard — Pre-tool hook that supervises dependency installs:
|
|
61
|
-
* deny list, typosquat lookalike warnings, unpinned
|
|
62
|
-
* version warnings
|
|
63
|
-
* 28. config-validator — Post-tool hook that validates JSON/JSONC/YAML/TOML
|
|
64
|
-
* files right after write/edit and reports syntax
|
|
65
|
-
* problems in the same turn
|
|
66
|
-
* 29. notify-hub — POSTs session events (stop, tool errors, budget
|
|
67
|
-
* thresholds) and ad-hoc notify_send messages to a
|
|
68
|
-
* configurable webhook
|
|
69
|
-
* 30. changelog-writer — Collects session work (commits, edits, manual
|
|
70
|
-
* notes) and writes Keep-a-Changelog entries under
|
|
71
|
-
* [Unreleased] on demand
|
|
72
|
-
* 31. injection-shield — Post-tool hook that scans tool output for
|
|
73
|
-
* prompt-injection patterns and warns the model that
|
|
74
|
-
* content is data, not instructions
|
|
75
|
-
* 32. llm-cache — wrapProviderRunner: caches identical deterministic
|
|
76
|
-
* provider requests and short-circuits the call on a hit
|
|
77
|
-
* 33. model-router — wrapProviderRunner: routes each call to a different
|
|
78
|
-
* model by declarative size/tool rules (within the provider)
|
|
79
|
-
* 34. prompt-firewall — wrapProviderRunner: detects/redacts/blocks credential
|
|
80
|
-
* leaks on the provider wire (warn/redact/block)
|
|
81
|
-
* 35. auto-escalate — onError: retries with the next model in an escalation
|
|
82
|
-
* ladder on transient provider errors
|
|
83
|
-
* 36. token-throttle — wrapProviderRunner: rolling-window tokens/min budget
|
|
84
|
-
* that delays provider calls to stay under a rate limit
|
|
85
|
-
*
|
|
86
|
-
* New plugins (2026-07 follow-up batch):
|
|
87
|
-
* 37. duplicate-code-detector — Detects duplicate/similar code blocks across
|
|
88
|
-
* source files using normalized-line fingerprints
|
|
89
|
-
* 38. code-metrics — Computes lines-of-code, comment ratio, function
|
|
90
|
-
* count, and approximate cyclomatic complexity
|
|
91
|
-
* 39. refactor-suggester — Flags long functions, deep nesting, many
|
|
92
|
-
* parameters, magic numbers, and console.log usage
|
|
93
|
-
* 40. test-generator — Generates framework-correct test files with an
|
|
94
|
-
* optional behavior-focused api.llm pass
|
|
95
|
-
* 41. release-notes-generator — Produces traceable notes with optional,
|
|
96
|
-
* hash-preserving api.llm polish
|
|
97
|
-
* 42. smart-rename — Whole-word symbol rename with preview and
|
|
98
|
-
* optional apply
|
|
99
|
-
* 43. feature-flag-tracker — Scans source files for feature-flag usage and
|
|
100
|
-
* reports flag inventory
|
|
101
|
-
* 44. interface-contract-guard — Warns when TypeScript interfaces change or
|
|
102
|
-
* lack implementers
|
|
103
|
-
*
|
|
104
|
-
* Plugins 32–36 are OPT-IN (enabled:false by default) because they change
|
|
105
|
-
* provider-call semantics.
|
|
106
|
-
*
|
|
107
|
-
* Removed (use the equivalent built-in tools instead — see
|
|
108
|
-
* `DEPRECATED_PLUGIN_NAMES` in `packages/cli/src/wiring/plugins.ts`
|
|
109
|
-
* for the loader-level migration warning):
|
|
110
|
-
* - web-search → built-in `search` + `fetch`
|
|
111
|
-
* - json-path → built-in `json` tool (action: query|validate|transform|merge)
|
|
112
|
-
*
|
|
113
|
-
* Usage in WrongStack config:
|
|
114
|
-
* ```json
|
|
115
|
-
* {
|
|
116
|
-
* "plugins": {
|
|
117
|
-
* "auto-doc": { "enabled": true },
|
|
118
|
-
* "git-autocommit": { "conventionalCommits": true }
|
|
119
|
-
* }
|
|
120
|
-
* }
|
|
121
|
-
* ```
|
|
4
|
+
* Public exports are generated from the typed manifest. Add or remove plugin
|
|
5
|
+
* identity in `src/manifest/index.ts`, then run `pnpm plugins:manifest:write`.
|
|
122
6
|
*/
|
|
123
|
-
export
|
|
124
|
-
export { default as autoDocPlugin } from './auto-doc/index.js';
|
|
125
|
-
export { default as autoEscalatePlugin } from './auto-escalate/index.js';
|
|
126
|
-
export { default as branchGuardPlugin } from './branch-guard/index.js';
|
|
127
|
-
export { default as changelogWriterPlugin } from './changelog-writer/index.js';
|
|
128
|
-
export { default as checkpointPlugin } from './checkpoint/index.js';
|
|
129
|
-
export { default as commitValidatorPlugin } from './commit-validator/index.js';
|
|
130
|
-
export { default as configValidatorPlugin } from './config-validator/index.js';
|
|
131
|
-
export { default as contextPinsPlugin } from './context-pins/index.js';
|
|
132
|
-
export { default as costTrackerPlugin } from './cost-tracker/index.js';
|
|
133
|
-
export { default as cronPlugin } from './cron/index.js';
|
|
134
|
-
export { default as depGuardPlugin } from './dep-guard/index.js';
|
|
135
|
-
export { default as diffSummaryPlugin } from './diff-summary/index.js';
|
|
136
|
-
export { default as errorLensPlugin } from './error-lens/index.js';
|
|
137
|
-
export { default as fileWatcherPlugin } from './file-watcher/index.js';
|
|
138
|
-
export { default as formatOnSavePlugin } from './format-on-save/index.js';
|
|
139
|
-
export { default as gitAutocommitPlugin } from './git-autocommit/index.js';
|
|
140
|
-
export { default as importOrganizerPlugin } from './import-organizer/index.js';
|
|
141
|
-
export { default as injectionShieldPlugin } from './injection-shield/index.js';
|
|
142
|
-
export { default as knowledgeGraphPlugin } from './knowledge-graph/index.js';
|
|
143
|
-
export { default as lintGatePlugin } from './lint-gate/index.js';
|
|
144
|
-
export { default as llmCachePlugin } from './llm-cache/index.js';
|
|
145
|
-
export { default as loopBreakerPlugin } from './loop-breaker/index.js';
|
|
146
|
-
export { default as modelRouterPlugin } from './model-router/index.js';
|
|
147
|
-
export { default as notifyHubPlugin } from './notify-hub/index.js';
|
|
148
|
-
export { default as pathGuardPlugin } from './path-guard/index.js';
|
|
149
|
-
export { default as processGuardPlugin } from './process-guard/index.js';
|
|
150
|
-
export { default as pluginStackObserverPlugin } from './plugin-stack-observer/index.js';
|
|
151
|
-
export { default as prDrafterPlugin } from './pr-drafter/index.js';
|
|
152
|
-
export { default as promptFirewallPlugin } from './prompt-firewall/index.js';
|
|
153
|
-
export { default as secretScannerPlugin } from './secret-scanner/index.js';
|
|
154
|
-
export { default as semverBumpPlugin } from './semver-bump/index.js';
|
|
155
|
-
export { default as sessionRecapPlugin } from './session-recap/index.js';
|
|
156
|
-
export { default as shellCheckPlugin } from './shell-check/index.js';
|
|
157
|
-
export { default as specLinkerPlugin } from './spec-linker/index.js';
|
|
158
|
-
export { default as templateEnginePlugin } from './template-engine/index.js';
|
|
159
|
-
export { default as testCoverageGatePlugin } from './test-coverage-gate/index.js';
|
|
160
|
-
export { default as testRunnerGatePlugin } from './test-runner-gate/index.js';
|
|
161
|
-
export { default as typeGatePlugin } from './type-gate/index.js';
|
|
162
|
-
export { default as accessibilityAuditorPlugin } from './accessibility-auditor/index.js';
|
|
163
|
-
export { default as apiCompatibilityGatePlugin } from './api-compatibility-gate/index.js';
|
|
164
|
-
export { default as autoI18nExtractorPlugin } from './auto-i18n-extractor/index.js';
|
|
165
|
-
export { default as codeMetricsPlugin } from './code-metrics/index.js';
|
|
166
|
-
export { default as deadCodeDetectorPlugin } from './dead-code-detector/index.js';
|
|
167
|
-
export { default as dependencyVulnerabilityGatePlugin } from './dependency-vulnerability-gate/index.js';
|
|
168
|
-
export { default as docSyncGuardPlugin } from './doc-sync-guard/index.js';
|
|
169
|
-
export { default as duplicateCodeDetectorPlugin } from './duplicate-code-detector/index.js';
|
|
170
|
-
export { default as featureFlagTrackerPlugin } from './feature-flag-tracker/index.js';
|
|
171
|
-
export { default as interfaceContractGuardPlugin } from './interface-contract-guard/index.js';
|
|
172
|
-
export { default as licenseAuditGatePlugin } from './license-audit-gate/index.js';
|
|
173
|
-
export { default as migrationPlannerPlugin } from './migration-planner/index.js';
|
|
174
|
-
export { default as performanceRegressionGatePlugin } from './performance-regression-gate/index.js';
|
|
175
|
-
export { default as refactorSuggesterPlugin } from './refactor-suggester/index.js';
|
|
176
|
-
export { default as releaseNotesGeneratorPlugin } from './release-notes-generator/index.js';
|
|
177
|
-
export { default as schemaEvolutionGuardPlugin } from './schema-evolution-guard/index.js';
|
|
178
|
-
export { default as securityHotspotScannerPlugin } from './security-hotspot-scanner/index.js';
|
|
179
|
-
export { default as semanticSearchIndexerPlugin } from './semantic-search-indexer/index.js';
|
|
180
|
-
export { default as smartRenamePlugin } from './smart-rename/index.js';
|
|
181
|
-
export { default as testFlakeDetectorPlugin } from './test-flake-detector/index.js';
|
|
182
|
-
export { default as testGeneratorPlugin } from './test-generator/index.js';
|
|
183
|
-
export { default as todoListenerPlugin } from './todo-listener/index.js';
|
|
184
|
-
export { default as todoTrackerPlugin } from './todo-tracker/index.js';
|
|
185
|
-
export { default as tokenBudgetPlugin } from './token-budget/index.js';
|
|
186
|
-
export { default as tokenThrottlePlugin } from './token-throttle/index.js';
|
|
7
|
+
export * from './generated-plugin-exports.js';
|
|
187
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,+BAA+B,CAAC"}
|