@wrongstack/plugins 0.293.0 → 0.295.1
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 +50 -33
- package/dist/agent-handoff/index.d.ts +1 -1
- package/dist/agent-handoff/index.d.ts.map +1 -1
- package/dist/agent-handoff.js +30 -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-doc.js +3 -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 +7 -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 +111 -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/changelog-writer.js +137 -3
- package/dist/checkpoint/index.d.ts +3 -1
- package/dist/checkpoint/index.d.ts.map +1 -1
- package/dist/checkpoint.js +41 -16
- package/dist/code-metrics/index.d.ts +1 -1
- package/dist/code-metrics/index.d.ts.map +1 -1
- package/dist/code-metrics.js +34 -29
- package/dist/commit-validator/index.d.ts +1 -1
- package/dist/commit-validator/index.d.ts.map +1 -1
- package/dist/commit-validator.js +17 -7
- 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/context-pins.js +6 -5
- package/dist/cost-tracker/index.d.ts +1 -1
- package/dist/cost-tracker/index.d.ts.map +1 -1
- package/dist/cost-tracker.js +109 -2
- package/dist/cron/index.d.ts +1 -1
- package/dist/cron/index.d.ts.map +1 -1
- package/dist/cron.js +1 -0
- 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 +31 -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 +67 -20
- package/dist/diff-summary/index.d.ts +1 -1
- package/dist/diff-summary/index.d.ts.map +1 -1
- package/dist/diff-summary.js +128 -30
- 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 +7 -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 +280 -69
- 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 +59 -33
- package/dist/file-watcher/index.d.ts +1 -1
- package/dist/file-watcher/index.d.ts.map +1 -1
- package/dist/file-watcher.js +6 -7
- package/dist/format-on-save/index.d.ts +3 -1
- package/dist/format-on-save/index.d.ts.map +1 -1
- package/dist/format-on-save.js +289 -59
- 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 +141 -20
- package/dist/index.d.ts +4 -183
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18298 -17279
- 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 +87 -53
- package/dist/knowledge-graph/index.d.ts +1 -1
- package/dist/knowledge-graph/index.d.ts.map +1 -1
- package/dist/knowledge-graph.js +7 -6
- 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 +112 -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 +25 -9
- 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 +5 -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/notify-hub.js +41 -4
- 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/prompt-firewall.js +140 -11
- package/dist/refactor-suggester/index.d.ts +1 -1
- package/dist/refactor-suggester/index.d.ts.map +1 -1
- package/dist/refactor-suggester.js +148 -33
- 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/bounded-map.d.ts +86 -0
- package/dist/runtime/bounded-map.d.ts.map +1 -0
- package/dist/runtime/credential-patterns.d.ts +42 -0
- package/dist/runtime/credential-patterns.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +18 -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/local-bin.d.ts +120 -0
- package/dist/runtime/local-bin.d.ts.map +1 -0
- package/dist/runtime/safe-json.d.ts +25 -0
- package/dist/runtime/safe-json.d.ts.map +1 -0
- package/dist/runtime.js +332 -22
- 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 +7 -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 +181 -48
- 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 +158 -20
- package/dist/semantic-search-indexer/index.d.ts +1 -1
- package/dist/semantic-search-indexer/index.d.ts.map +1 -1
- package/dist/semantic-search-indexer.js +7 -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 +97 -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 +34 -8
- 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 +34 -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 +132 -9
- package/dist/todo-listener/index.d.ts +1 -32
- package/dist/todo-listener/index.d.ts.map +1 -1
- package/dist/todo-listener.js +30 -1
- package/dist/todo-tracker/index.d.ts +1 -1
- package/dist/todo-tracker/index.d.ts.map +1 -1
- package/dist/todo-tracker.js +3 -4
- 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/token-throttle.js +17 -2
- package/dist/type-gate/index.d.ts +1 -1
- package/dist/type-gate/index.d.ts.map +1 -1
- package/dist/type-gate.js +106 -19
- package/package.json +80 -68
|
@@ -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;AAiXrD,QAAA,MAAM,MAAM,EAAE,MA8Nb,CAAC;eAEa,MAAM"}
|
package/dist/import-organizer.js
CHANGED
|
@@ -1,10 +1,72 @@
|
|
|
1
1
|
// src/import-organizer/index.ts
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
3
|
import { existsSync, statSync } from "node:fs";
|
|
4
|
-
import { basename as basename2, isAbsolute as
|
|
4
|
+
import { basename as basename2, isAbsolute as isAbsolute3 } from "node:path";
|
|
5
|
+
|
|
6
|
+
// src/runtime/index.ts
|
|
7
|
+
import { basename, extname as extname2, isAbsolute as isAbsolute2, relative as relative2, resolve as resolve2 } from "node:path";
|
|
8
|
+
|
|
9
|
+
// src/runtime/local-bin.ts
|
|
10
|
+
import { createRequire } from "node:module";
|
|
11
|
+
import { delimiter, dirname, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
12
|
+
import { accessSync, constants, readFileSync } from "node:fs";
|
|
13
|
+
import { buildWin32CmdShimInvocation, resolveWin32Command } from "@wrongstack/tools/win32";
|
|
14
|
+
function resolveExecInvocation(command, args = []) {
|
|
15
|
+
const resolved = resolveWin32Command(command);
|
|
16
|
+
const normalizedResolved = resolved.toLowerCase();
|
|
17
|
+
const needsShell = process.platform === "win32" && (normalizedResolved.endsWith(".cmd") || normalizedResolved.endsWith(".bat"));
|
|
18
|
+
if (needsShell) {
|
|
19
|
+
const shim = buildWin32CmdShimInvocation(resolved, args);
|
|
20
|
+
return { cmd: shim.command, args: shim.args, windowsVerbatimArguments: true };
|
|
21
|
+
}
|
|
22
|
+
return { cmd: resolved, args: [...args], windowsVerbatimArguments: false };
|
|
23
|
+
}
|
|
24
|
+
function isInside(parent, candidate) {
|
|
25
|
+
const rel = relative(parent, candidate);
|
|
26
|
+
return rel === "" || !rel.startsWith(`..${sep}`) && rel !== ".." && !isAbsolute(rel);
|
|
27
|
+
}
|
|
28
|
+
var binCache = /* @__PURE__ */ new Map();
|
|
29
|
+
var BIN_CACHE_MAX = 64;
|
|
30
|
+
var NEGATIVE_BIN_CACHE_TTL_MS = 5e3;
|
|
31
|
+
function cachePut(key, value) {
|
|
32
|
+
while (binCache.size >= BIN_CACHE_MAX) {
|
|
33
|
+
const oldest = binCache.keys().next().value;
|
|
34
|
+
if (oldest === void 0) break;
|
|
35
|
+
binCache.delete(oldest);
|
|
36
|
+
}
|
|
37
|
+
binCache.set(key, { value, cachedAt: Date.now() });
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
function resolveNodeBin(packageName, binName, cwd, extraArgs = []) {
|
|
41
|
+
const key = `${packageName}|${binName}|${cwd}`;
|
|
42
|
+
const cached = binCache.get(key);
|
|
43
|
+
if (cached !== void 0) {
|
|
44
|
+
if (cached.value !== null || Date.now() - cached.cachedAt < NEGATIVE_BIN_CACHE_TTL_MS) {
|
|
45
|
+
return cached.value === null ? null : { ...cached.value, args: [cached.value.entry, ...extraArgs] };
|
|
46
|
+
}
|
|
47
|
+
binCache.delete(key);
|
|
48
|
+
}
|
|
49
|
+
let resolved = null;
|
|
50
|
+
try {
|
|
51
|
+
const requireFromProject = createRequire(resolve(cwd, "package.json"));
|
|
52
|
+
const packagePath = requireFromProject.resolve(`${packageName}/package.json`);
|
|
53
|
+
const packageJson = JSON.parse(readFileSync(packagePath, "utf-8"));
|
|
54
|
+
const relativeBin = typeof packageJson.bin === "string" ? packageJson.bin : packageJson.bin?.[binName] ?? Object.values(packageJson.bin ?? {})[0];
|
|
55
|
+
if (relativeBin && !isAbsolute(relativeBin)) {
|
|
56
|
+
const packageDir = dirname(packagePath);
|
|
57
|
+
const entry = resolve(packageDir, relativeBin);
|
|
58
|
+
if (isInside(packageDir, entry)) {
|
|
59
|
+
resolved = { cmd: process.execPath, args: [entry], entry };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
} catch {
|
|
63
|
+
resolved = null;
|
|
64
|
+
}
|
|
65
|
+
cachePut(key, resolved);
|
|
66
|
+
return resolved === null ? null : { ...resolved, args: [resolved.entry, ...extraArgs] };
|
|
67
|
+
}
|
|
5
68
|
|
|
6
69
|
// src/runtime/index.ts
|
|
7
|
-
import { basename, extname, isAbsolute, relative, resolve } from "node:path";
|
|
8
70
|
var MAX_BUFFER_BYTES = 16 * 1024 * 1024;
|
|
9
71
|
function hasLeadingDash(arg) {
|
|
10
72
|
return arg.length > 0 && arg.startsWith("-");
|
|
@@ -12,12 +74,13 @@ function hasLeadingDash(arg) {
|
|
|
12
74
|
function withinProjectPath(projectRoot, candidate) {
|
|
13
75
|
if (candidate.length === 0 || candidate.length > 4096) return false;
|
|
14
76
|
if (hasLeadingDash(candidate)) return false;
|
|
15
|
-
const resolved =
|
|
16
|
-
const rel =
|
|
17
|
-
return rel === "" || !rel.startsWith("..") && !
|
|
77
|
+
const resolved = isAbsolute2(candidate) ? resolve2(candidate) : resolve2(projectRoot, candidate);
|
|
78
|
+
const rel = relative2(projectRoot, resolved);
|
|
79
|
+
return rel === "" || !rel.startsWith("..") && !isAbsolute2(rel);
|
|
18
80
|
}
|
|
19
81
|
function withinProject(p) {
|
|
20
|
-
|
|
82
|
+
const cwd = process.cwd();
|
|
83
|
+
return withinProjectPath(cwd, p) || relative2(cwd, p) === ".";
|
|
21
84
|
}
|
|
22
85
|
|
|
23
86
|
// src/import-organizer/index.ts
|
|
@@ -29,23 +92,51 @@ var ALLOWED_FIRST_TOKENS = /* @__PURE__ */ new Set([
|
|
|
29
92
|
"biome",
|
|
30
93
|
"@biomejs/biome",
|
|
31
94
|
"eslint",
|
|
95
|
+
"oxlint",
|
|
32
96
|
"node"
|
|
33
97
|
// Recognise a fully-qualified project-local path like
|
|
34
98
|
// "./node_modules/.bin/biome"; basename check kicks in below.
|
|
35
99
|
]);
|
|
100
|
+
var PACKAGE_RUNNERS = /* @__PURE__ */ new Set(["npx", "pnpm", "npm", "yarn"]);
|
|
101
|
+
var LOCAL_BIN_PACKAGES = {
|
|
102
|
+
biome: { packageName: "@biomejs/biome", binName: "biome" },
|
|
103
|
+
"@biomejs/biome": { packageName: "@biomejs/biome", binName: "biome" },
|
|
104
|
+
eslint: { packageName: "eslint", binName: "eslint" },
|
|
105
|
+
oxlint: { packageName: "oxlint", binName: "oxlint" }
|
|
106
|
+
};
|
|
107
|
+
function resolveLocalToolCommand(tokens) {
|
|
108
|
+
if (tokens.length === 0) return null;
|
|
109
|
+
let i = 0;
|
|
110
|
+
if (PACKAGE_RUNNERS.has(tokens[i])) {
|
|
111
|
+
i++;
|
|
112
|
+
while (i < tokens.length && (tokens[i] === "exec" || tokens[i] === "dlx" || tokens[i] === "run")) {
|
|
113
|
+
i++;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const toolToken = tokens[i];
|
|
117
|
+
if (!toolToken) return null;
|
|
118
|
+
const rest = tokens.slice(i + 1);
|
|
119
|
+
const pkg = LOCAL_BIN_PACKAGES[toolToken];
|
|
120
|
+
if (!pkg) return null;
|
|
121
|
+
const local = resolveNodeBin(pkg.packageName, pkg.binName, process.cwd(), rest);
|
|
122
|
+
if (!local) return null;
|
|
123
|
+
return { cmd: local.cmd, args: local.args };
|
|
124
|
+
}
|
|
36
125
|
function resolveAllowedCommand(command) {
|
|
37
126
|
const tokens = command.split(/\s+/).filter(Boolean);
|
|
38
127
|
if (tokens.length === 0) return null;
|
|
39
128
|
const head = tokens[0];
|
|
129
|
+
const local = ALLOWED_FIRST_TOKENS.has(head) ? resolveLocalToolCommand(tokens) : null;
|
|
130
|
+
if (local) return local;
|
|
40
131
|
if (ALLOWED_FIRST_TOKENS.has(head)) {
|
|
41
132
|
return { cmd: head, args: tokens.slice(1) };
|
|
42
133
|
}
|
|
43
|
-
if (
|
|
134
|
+
if (isAbsolute3(head)) {
|
|
44
135
|
if (!withinProject(head)) return null;
|
|
45
136
|
const base = basename2(head);
|
|
46
137
|
if (ALLOWED_FIRST_TOKENS.has(base)) return { cmd: head, args: tokens.slice(1) };
|
|
47
138
|
}
|
|
48
|
-
if (!
|
|
139
|
+
if (!isAbsolute3(head) && withinProject(head)) {
|
|
49
140
|
const base = basename2(head);
|
|
50
141
|
if (ALLOWED_FIRST_TOKENS.has(base)) return { cmd: head, args: tokens.slice(1) };
|
|
51
142
|
}
|
|
@@ -80,40 +171,70 @@ function readConfig(raw) {
|
|
|
80
171
|
notifyFormatOnSave: r["notifyFormatOnSave"] !== false
|
|
81
172
|
};
|
|
82
173
|
}
|
|
174
|
+
var MAX_CAPTURE_BYTES = 4 * 1024 * 1024;
|
|
83
175
|
function runCommand(command, args, timeoutMs, cwd) {
|
|
84
|
-
return new Promise((
|
|
176
|
+
return new Promise((resolve3) => {
|
|
85
177
|
let timedOut = false;
|
|
178
|
+
let settled = false;
|
|
179
|
+
const settle = (r) => {
|
|
180
|
+
if (settled) return;
|
|
181
|
+
settled = true;
|
|
182
|
+
resolve3(r);
|
|
183
|
+
};
|
|
86
184
|
const stdoutChunks = [];
|
|
87
185
|
const stderrChunks = [];
|
|
186
|
+
let stdoutBytes = 0;
|
|
187
|
+
let stderrBytes = 0;
|
|
188
|
+
const signal = AbortSignal.timeout(timeoutMs);
|
|
189
|
+
const onAbort = () => {
|
|
190
|
+
timedOut = true;
|
|
191
|
+
settle({ code: null, stdout: "", stderr: "", timedOut: true });
|
|
192
|
+
};
|
|
193
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
88
194
|
let child;
|
|
195
|
+
let invocation;
|
|
89
196
|
try {
|
|
90
|
-
|
|
197
|
+
invocation = resolveExecInvocation(command, args);
|
|
198
|
+
} catch {
|
|
199
|
+
signal.removeEventListener("abort", onAbort);
|
|
200
|
+
settle({ code: 127, stdout: "", stderr: "", timedOut: false });
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
child = spawn(invocation.cmd, invocation.args, {
|
|
91
205
|
cwd,
|
|
92
206
|
stdio: ["ignore", "pipe", "pipe"],
|
|
93
|
-
signal
|
|
207
|
+
signal,
|
|
208
|
+
windowsHide: true,
|
|
209
|
+
...invocation.windowsVerbatimArguments ? { windowsVerbatimArguments: true } : {}
|
|
94
210
|
});
|
|
95
211
|
} catch {
|
|
96
|
-
|
|
212
|
+
signal.removeEventListener("abort", onAbort);
|
|
213
|
+
settle({ code: 127, stdout: "", stderr: "", timedOut: false });
|
|
97
214
|
return;
|
|
98
215
|
}
|
|
99
|
-
child.stdout?.on("data", (c) =>
|
|
100
|
-
|
|
216
|
+
child.stdout?.on("data", (c) => {
|
|
217
|
+
stdoutBytes += c.length;
|
|
218
|
+
if (stdoutBytes <= MAX_CAPTURE_BYTES) stdoutChunks.push(c);
|
|
219
|
+
});
|
|
220
|
+
child.stderr?.on("data", (c) => {
|
|
221
|
+
stderrBytes += c.length;
|
|
222
|
+
if (stderrBytes <= MAX_CAPTURE_BYTES) stderrChunks.push(c);
|
|
223
|
+
});
|
|
101
224
|
child.on("error", () => {
|
|
102
|
-
|
|
225
|
+
signal.removeEventListener("abort", onAbort);
|
|
226
|
+
settle({ code: 127, stdout: "", stderr: "", timedOut: false });
|
|
103
227
|
});
|
|
104
228
|
child.on("close", (code) => {
|
|
229
|
+
signal.removeEventListener("abort", onAbort);
|
|
105
230
|
if (timedOut) return;
|
|
106
|
-
|
|
231
|
+
settle({
|
|
107
232
|
code,
|
|
108
233
|
stdout: Buffer.concat(stdoutChunks).toString("utf-8"),
|
|
109
234
|
stderr: Buffer.concat(stderrChunks).toString("utf-8"),
|
|
110
235
|
timedOut: false
|
|
111
236
|
});
|
|
112
237
|
});
|
|
113
|
-
child.on("abort", () => {
|
|
114
|
-
timedOut = true;
|
|
115
|
-
resolve2({ code: null, stdout: "", stderr: "", timedOut: true });
|
|
116
|
-
});
|
|
117
238
|
});
|
|
118
239
|
}
|
|
119
240
|
async function organizeImports(filePath, cfg, cwd) {
|
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"}
|