@wispbit/local 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/build.d.ts +3 -0
  2. package/dist/build.d.ts.map +1 -0
  3. package/dist/cli.js +3668 -0
  4. package/dist/cli.js.map +7 -0
  5. package/dist/index.js +3868 -0
  6. package/dist/index.js.map +7 -0
  7. package/dist/package.json +72 -0
  8. package/dist/src/cli.d.ts +16 -0
  9. package/dist/src/cli.d.ts.map +1 -0
  10. package/dist/src/config.d.ts +6 -0
  11. package/dist/src/config.d.ts.map +1 -0
  12. package/dist/src/environment/Config.d.ts +69 -0
  13. package/dist/src/environment/Config.d.ts.map +1 -0
  14. package/dist/src/environment/Environment.d.ts +23 -0
  15. package/dist/src/environment/Environment.d.ts.map +1 -0
  16. package/dist/src/environment/Sandbox.d.ts +48 -0
  17. package/dist/src/environment/Sandbox.d.ts.map +1 -0
  18. package/dist/src/environment/Storage.d.ts +84 -0
  19. package/dist/src/environment/Storage.d.ts.map +1 -0
  20. package/dist/src/index.d.ts +16 -0
  21. package/dist/src/index.d.ts.map +1 -0
  22. package/dist/src/languages.d.ts +36 -0
  23. package/dist/src/languages.d.ts.map +1 -0
  24. package/dist/src/providers/AstGrepAstProvider.d.ts +44 -0
  25. package/dist/src/providers/AstGrepAstProvider.d.ts.map +1 -0
  26. package/dist/src/providers/LanguageBackend.d.ts +74 -0
  27. package/dist/src/providers/LanguageBackend.d.ts.map +1 -0
  28. package/dist/src/providers/RuleProvider.d.ts +46 -0
  29. package/dist/src/providers/RuleProvider.d.ts.map +1 -0
  30. package/dist/src/providers/ScipIntelligenceProvider.d.ts +84 -0
  31. package/dist/src/providers/ScipIntelligenceProvider.d.ts.map +1 -0
  32. package/dist/src/providers/ViolationValidationProvider.d.ts +42 -0
  33. package/dist/src/providers/ViolationValidationProvider.d.ts.map +1 -0
  34. package/dist/src/providers/WispbitRuleProvider.d.ts +45 -0
  35. package/dist/src/providers/WispbitRuleProvider.d.ts.map +1 -0
  36. package/dist/src/providers/WispbitViolationValidationProvider.d.ts +15 -0
  37. package/dist/src/providers/WispbitViolationValidationProvider.d.ts.map +1 -0
  38. package/dist/src/schemas.d.ts +1771 -0
  39. package/dist/src/schemas.d.ts.map +1 -0
  40. package/dist/src/steps/ExecutionEventEmitter.d.ts +156 -0
  41. package/dist/src/steps/ExecutionEventEmitter.d.ts.map +1 -0
  42. package/dist/src/steps/FileExecutionContext.d.ts +85 -0
  43. package/dist/src/steps/FileExecutionContext.d.ts.map +1 -0
  44. package/dist/src/steps/FileFilterStep.d.ts +35 -0
  45. package/dist/src/steps/FileFilterStep.d.ts.map +1 -0
  46. package/dist/src/steps/FileFilterStep.test.d.ts +2 -0
  47. package/dist/src/steps/FileFilterStep.test.d.ts.map +1 -0
  48. package/dist/src/steps/FindMatchesStep.d.ts +41 -0
  49. package/dist/src/steps/FindMatchesStep.d.ts.map +1 -0
  50. package/dist/src/steps/FindMatchesStep.test.d.ts +2 -0
  51. package/dist/src/steps/FindMatchesStep.test.d.ts.map +1 -0
  52. package/dist/src/steps/GotoDefinitionStep.d.ts +86 -0
  53. package/dist/src/steps/GotoDefinitionStep.d.ts.map +1 -0
  54. package/dist/src/steps/LLMStep.d.ts +50 -0
  55. package/dist/src/steps/LLMStep.d.ts.map +1 -0
  56. package/dist/src/steps/RuleExecutor.d.ts +35 -0
  57. package/dist/src/steps/RuleExecutor.d.ts.map +1 -0
  58. package/dist/src/steps/RuleExecutor.test.d.ts +2 -0
  59. package/dist/src/steps/RuleExecutor.test.d.ts.map +1 -0
  60. package/dist/src/test/TestExecutor.d.ts +33 -0
  61. package/dist/src/test/TestExecutor.d.ts.map +1 -0
  62. package/dist/src/test/rules.test.d.ts +2 -0
  63. package/dist/src/test/rules.test.d.ts.map +1 -0
  64. package/dist/src/types.d.ts +200 -0
  65. package/dist/src/types.d.ts.map +1 -0
  66. package/dist/src/utils/asciiFrames.d.ts +5 -0
  67. package/dist/src/utils/asciiFrames.d.ts.map +1 -0
  68. package/dist/src/utils/formatters.d.ts +55 -0
  69. package/dist/src/utils/formatters.d.ts.map +1 -0
  70. package/dist/src/utils/generateTreeDump.d.ts +19 -0
  71. package/dist/src/utils/generateTreeDump.d.ts.map +1 -0
  72. package/dist/src/utils/git.d.ts +39 -0
  73. package/dist/src/utils/git.d.ts.map +1 -0
  74. package/dist/src/utils/hashString.d.ts +2 -0
  75. package/dist/src/utils/hashString.d.ts.map +1 -0
  76. package/dist/src/utils/readTextAtRange.d.ts +10 -0
  77. package/dist/src/utils/readTextAtRange.d.ts.map +1 -0
  78. package/dist/src/utils/snapshotComparison.d.ts +16 -0
  79. package/dist/src/utils/snapshotComparison.d.ts.map +1 -0
  80. package/dist/src/utils/startupScreen.d.ts +5 -0
  81. package/dist/src/utils/startupScreen.d.ts.map +1 -0
  82. package/dist/src/utils/validateRule.d.ts +16 -0
  83. package/dist/src/utils/validateRule.d.ts.map +1 -0
  84. package/dist/src/version.d.ts +3 -0
  85. package/dist/src/version.d.ts.map +1 -0
  86. package/dist/tsconfig.tsbuildinfo +1 -0
  87. package/dist/vitest.config.d.mts +3 -0
  88. package/dist/vitest.config.d.mts.map +1 -0
  89. package/package.json +90 -0
@@ -0,0 +1,200 @@
1
+ import { Language } from "powerlint/languages";
2
+ export type LLMProvider = "wispbit";
3
+ export declare class InvalidRuleFormatError extends Error {
4
+ validationErrors?: string[] | undefined;
5
+ constructor(ruleId: string, message: string, validationErrors?: string[] | undefined);
6
+ }
7
+ export interface RuleTestCaseFile {
8
+ path: string;
9
+ content: string;
10
+ }
11
+ export interface RuleTestCase {
12
+ it: string;
13
+ files: RuleTestCaseFile[];
14
+ snapshot?: any[];
15
+ }
16
+ export interface RangePosition {
17
+ line: number;
18
+ column?: number;
19
+ }
20
+ export interface RangeObject {
21
+ start: RangePosition;
22
+ end: RangePosition;
23
+ }
24
+ export interface PatternObject {
25
+ selector?: string;
26
+ context?: string;
27
+ strictness?: "cst" | "smart" | "ast" | "relaxed" | "signature";
28
+ }
29
+ export type NthChild = number | string | {
30
+ position: number | string;
31
+ reverse?: boolean;
32
+ ofRule?: AstGrepRule;
33
+ };
34
+ export interface AstGrepRule {
35
+ pattern?: string | PatternObject;
36
+ kind?: string;
37
+ regex?: string;
38
+ nthChild?: NthChild;
39
+ range?: RangeObject;
40
+ inside?: {
41
+ stopBy?: "neighbor" | "end" | AstGrepRule;
42
+ field?: string;
43
+ } & AstGrepRule;
44
+ has?: {
45
+ stopBy?: "neighbor" | "end" | AstGrepRule;
46
+ field?: string;
47
+ } & AstGrepRule;
48
+ precedes?: {
49
+ stopBy?: "neighbor" | "end" | AstGrepRule;
50
+ } & AstGrepRule;
51
+ follows?: {
52
+ stopBy?: "neighbor" | "end" | AstGrepRule;
53
+ } & AstGrepRule;
54
+ all?: AstGrepRule[];
55
+ any?: AstGrepRule[];
56
+ not?: AstGrepRule;
57
+ matches?: string;
58
+ }
59
+ export interface FactPredicate {
60
+ fact: "fs.siblingAny" | "fs.siblingExists" | "fs.pathMatches" | "fs.ancestorHas";
61
+ args?: null | string | boolean | number | (string | number | boolean | object | any[] | null)[] | object;
62
+ equals?: boolean;
63
+ }
64
+ export interface WhereExpr {
65
+ all?: FactPredicate[];
66
+ any?: FactPredicate[];
67
+ not?: FactPredicate[];
68
+ }
69
+ export type FileFilterCondition = {
70
+ "fs.siblingExists": {
71
+ filename: string;
72
+ };
73
+ } | {
74
+ "fs.pathMatches": {
75
+ pattern: string;
76
+ };
77
+ } | {
78
+ "fs.ancestorHas": {
79
+ filename: string;
80
+ };
81
+ } | {
82
+ "fs.siblingAny": {
83
+ pattern: string;
84
+ };
85
+ };
86
+ export interface FileFilterConditions {
87
+ all?: FileFilterCondition[];
88
+ any?: FileFilterCondition[];
89
+ not?: FileFilterCondition[];
90
+ }
91
+ export interface AstGrepStep {
92
+ type: "ast-grep";
93
+ language: Language;
94
+ rule: AstGrepRule;
95
+ constraints?: Record<string, AstGrepRule>;
96
+ }
97
+ export interface FileFilterStep {
98
+ type: "file-filter";
99
+ include?: string[];
100
+ ignore?: string[];
101
+ conditions?: FileFilterConditions;
102
+ }
103
+ export interface LLMStep {
104
+ type: "llm";
105
+ }
106
+ interface NameSpec {
107
+ equals?: string;
108
+ anyOf?: string[];
109
+ regex?: string;
110
+ }
111
+ interface FileMatch {
112
+ path?: string;
113
+ glob?: string;
114
+ regex?: string;
115
+ }
116
+ interface MethodSelector {
117
+ file?: FileMatch;
118
+ name: NameSpec;
119
+ }
120
+ interface ClassSelector {
121
+ file?: FileMatch;
122
+ name: NameSpec;
123
+ method?: MethodSelector;
124
+ }
125
+ interface FunctionSelector {
126
+ file?: FileMatch;
127
+ name: NameSpec;
128
+ }
129
+ interface DefinitionPredicateBase {
130
+ file?: FileMatch;
131
+ class?: ClassSelector;
132
+ method?: MethodSelector;
133
+ function?: FunctionSelector;
134
+ }
135
+ interface DefinitionFilter {
136
+ all?: DefinitionPredicateBase[];
137
+ any?: DefinitionPredicateBase[];
138
+ not?: DefinitionPredicateBase;
139
+ }
140
+ export interface GotoDefinitionStep {
141
+ type: "goto-definition";
142
+ language: Language;
143
+ where?: DefinitionFilter;
144
+ }
145
+ export interface StepGroupStep {
146
+ type: "step-group";
147
+ steps: (AstGrepStep | FileFilterStep | LLMStep | GotoDefinitionStep)[];
148
+ }
149
+ export type RuleStep = AstGrepStep | FileFilterStep | LLMStep | GotoDefinitionStep | StepGroupStep;
150
+ export interface MatchRange {
151
+ start: {
152
+ line: number;
153
+ column: number;
154
+ };
155
+ end: {
156
+ line: number;
157
+ column: number;
158
+ };
159
+ }
160
+ export interface MatchSource {
161
+ filePath: string;
162
+ text?: string;
163
+ range: MatchRange;
164
+ symbol?: string;
165
+ language: Language;
166
+ }
167
+ export interface Match {
168
+ filePath: string;
169
+ text?: string;
170
+ range: MatchRange;
171
+ symbol?: string;
172
+ language: Language;
173
+ source?: MatchSource[];
174
+ metadata?: {
175
+ fromCache?: boolean;
176
+ llmValidation?: {
177
+ isViolation: boolean;
178
+ confidence: number;
179
+ reason: string;
180
+ };
181
+ };
182
+ }
183
+ export interface RuleStepWithId {
184
+ id: string;
185
+ step: RuleStep;
186
+ }
187
+ export interface RuleConfig {
188
+ message: string;
189
+ severity: "suggestion" | "violation";
190
+ steps: RuleStepWithId[];
191
+ }
192
+ export interface Rule {
193
+ id: string;
194
+ internalId: string;
195
+ config: RuleConfig;
196
+ prompt: string;
197
+ testCases: RuleTestCase[];
198
+ }
199
+ export {};
200
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ASCII art frames for animated WISPBIT text with waving effect
3
+ */
4
+ export declare const WISPBIT_FRAMES: string[];
5
+ //# sourceMappingURL=asciiFrames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asciiFrames.d.ts","sourceRoot":"","sources":["../../../src/utils/asciiFrames.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,eAAO,MAAM,cAAc,UAkD1B,CAAA"}
@@ -0,0 +1,55 @@
1
+ import { ScanResult } from "powerlint/cli";
2
+ import { ExecutionEventEmitter } from "powerlint/steps/ExecutionEventEmitter";
3
+ export declare const VIOLATION_COLOR = "#ff6b35";
4
+ export declare const SUGGESTION_COLOR = "#4a90e2";
5
+ export declare const SKIPPED_COLOR = "#9b59b6";
6
+ export declare const BRAND_COLOR = "#fbbf24";
7
+ export declare const LINE_NUMBER_BG_COLOR = "#f8f8f8";
8
+ export declare const LINE_NUMBER_TEXT_COLOR = "#888888";
9
+ export interface LintSummary {
10
+ totalRules: number;
11
+ violationCount: number;
12
+ suggestionCount: number;
13
+ totalMatches: number;
14
+ totalLLMCost: string;
15
+ totalLLMTokens: number;
16
+ executionMode?: {
17
+ mode: "check" | "diff";
18
+ filePath?: string;
19
+ baseCommit?: string;
20
+ headCommit?: string;
21
+ };
22
+ executionTime?: number;
23
+ totalFiles?: number;
24
+ }
25
+ /**
26
+ * Text table utility function based on ESLint's implementation
27
+ * @param {string[][]} rows Array of rows, each row is an array of strings
28
+ * @param {object} opts Options object with align and stringLength properties
29
+ * @returns {string} Formatted table as string
30
+ */
31
+ export declare function textTable(rows: string[][], opts?: {
32
+ align?: string[];
33
+ stringLength?: (str: string) => number;
34
+ }): string;
35
+ export declare function printSummary(results: ScanResult[], summary: LintSummary): void;
36
+ /**
37
+ * Print a formatted list of rules with their ID, severity, and message
38
+ */
39
+ export declare function printRulesList(rules: Array<{
40
+ id: string;
41
+ internalId?: string;
42
+ config: {
43
+ severity: "violation" | "suggestion";
44
+ message: string;
45
+ };
46
+ }>): void;
47
+ /**
48
+ * Output results in JSON format compatible with ast-grep
49
+ */
50
+ export declare function outputJSON(results: ScanResult[], format?: "pretty" | "stream" | "compact"): void;
51
+ /**
52
+ * Set up terminal reporting for the event emitter
53
+ */
54
+ export declare function setupTerminalReporter(eventEmitter: ExecutionEventEmitter, debugMode?: boolean): () => void;
55
+ //# sourceMappingURL=formatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAG7E,eAAO,MAAM,eAAe,YAAY,CAAA;AACxC,eAAO,MAAM,gBAAgB,YAAY,CAAA;AACzC,eAAO,MAAM,aAAa,YAAY,CAAA;AAGtC,eAAO,MAAM,WAAW,YAAY,CAAA;AAiBpC,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAC7C,eAAO,MAAM,sBAAsB,YAAY,CAAA;AA6B/C,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAgBD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,IAAI,GAAE;IACJ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CAClC,GACL,MAAM,CAiCR;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CA6K9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,CAAC;IACX,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE;QAAE,QAAQ,EAAE,WAAW,GAAG,YAAY,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAClE,CAAC,GACD,IAAI,CAmDN;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,UAAU,EAAE,EACrB,MAAM,GAAE,QAAQ,GAAG,QAAQ,GAAG,SAAoB,GACjD,IAAI,CAgCN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,qBAAqB,EACnC,SAAS,GAAE,OAAe,GACzB,MAAM,IAAI,CAwQZ"}
@@ -0,0 +1,19 @@
1
+ import { Language } from "powerlint/languages";
2
+ export declare enum DebugFormat {
3
+ /** Print the AST format, only named nodes are shown */
4
+ AST = "ast",
5
+ /** Print the CST format, both named and unnamed nodes are shown */
6
+ CST = "cst",
7
+ /** Print the S-expression format */
8
+ SEXP = "sexp"
9
+ }
10
+ /**
11
+ * Generate a tree dump similar to ast-grep's Rust implementation
12
+ * @param language - The language to parse the code as
13
+ * @param code - The source code to analyze
14
+ * @param format - The debug format to use (AST, CST, or SEXP)
15
+ * @param colored - Whether to use colored output (default: false)
16
+ * @returns Formatted tree representation
17
+ */
18
+ export declare function generateTreeDump(language: Language, code: string, format?: DebugFormat, colored?: boolean): string;
19
+ //# sourceMappingURL=generateTreeDump.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateTreeDump.d.ts","sourceRoot":"","sources":["../../../src/utils/generateTreeDump.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,oBAAY,WAAW;IACrB,uDAAuD;IACvD,GAAG,QAAQ;IACX,mEAAmE;IACnE,GAAG,QAAQ;IACX,oCAAoC;IACpC,IAAI,SAAS;CACd;AAsKD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,WAA6B,EACrC,OAAO,GAAE,OAAe,GACvB,MAAM,CAkCR"}
@@ -0,0 +1,39 @@
1
+ export interface FileChange {
2
+ filename: string;
3
+ status: "added" | "modified" | "removed";
4
+ patch: string;
5
+ additions: number;
6
+ deletions: number;
7
+ sha: string;
8
+ }
9
+ export interface GitChanges {
10
+ files: FileChange[];
11
+ currentBranch: string;
12
+ currentCommit: string;
13
+ diffBranch: string;
14
+ diffCommit: string;
15
+ }
16
+ /**
17
+ * Find the Git repository root directory by looking for .git
18
+ */
19
+ export declare function findGitRoot(): string;
20
+ /**
21
+ * Get the remote repository URL from Git config
22
+ * @param repoRoot Path to the Git repository root
23
+ * @param remoteName Name of the remote (default: origin)
24
+ * @returns The remote repository URL or null if not found
25
+ */
26
+ export declare function getRepositoryUrl(repoRoot: string, remoteName?: string): Promise<string | null>;
27
+ /**
28
+ * Get the default branch from remote (typically main or master)
29
+ * @param repoRoot Path to the Git repository root
30
+ * @param remoteName Name of the remote (default: origin)
31
+ */
32
+ export declare function getDefaultBranch(repoRoot: string, remoteName?: string): Promise<string | null>;
33
+ /**
34
+ * Get list of changed files in the current Git repository with their changes
35
+ * @param repoRoot Path to the Git repository root
36
+ * @param base Optional base commit/branch to compare against
37
+ */
38
+ export declare function getChangedFiles(repoRoot: string, base?: string): Promise<GitChanges>;
39
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/utils/git.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAiB,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAiB,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA6N1F"}
@@ -0,0 +1,2 @@
1
+ export declare function hashString(str: string): string;
2
+ //# sourceMappingURL=hashString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashString.d.ts","sourceRoot":"","sources":["../../../src/utils/hashString.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,UAErC"}
@@ -0,0 +1,10 @@
1
+ import type { MatchRange } from "powerlint/types";
2
+ /**
3
+ * Read text from a file at the given range
4
+ * @param workspaceRoot - The workspace root directory
5
+ * @param filePath - The relative file path from workspace root
6
+ * @param range - The range object with start and end positions
7
+ * @returns The text content at the specified range
8
+ */
9
+ export declare function readTextAtRange(workspaceRoot: string, filePath: string, range: MatchRange): Promise<string>;
10
+ //# sourceMappingURL=readTextAtRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readTextAtRange.d.ts","sourceRoot":"","sources":["../../../src/utils/readTextAtRange.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
@@ -0,0 +1,16 @@
1
+ import { Match } from "powerlint/types";
2
+ export interface SnapshotComparisonResult {
3
+ matches: boolean;
4
+ error?: string;
5
+ expected?: any[];
6
+ actual?: any[];
7
+ }
8
+ /**
9
+ * Compare actual matches against expected snapshot data
10
+ */
11
+ export declare function compareSnapshots(actualMatches: Match[], expectedSnapshot: any[] | undefined, testName: string): SnapshotComparisonResult;
12
+ /**
13
+ * Format snapshot comparison error for display
14
+ */
15
+ export declare function formatSnapshotError(result: SnapshotComparisonResult): string;
16
+ //# sourceMappingURL=snapshotComparison.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshotComparison.d.ts","sourceRoot":"","sources":["../../../src/utils/snapshotComparison.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,KAAK,EAAE,EACtB,gBAAgB,EAAE,GAAG,EAAE,GAAG,SAAS,EACnC,QAAQ,EAAE,MAAM,GACf,wBAAwB,CAyB1B;AAoCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAa5E"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shows the PowerLint startup screen and prompts for API key
3
+ */
4
+ export declare function showStartupScreen(): Promise<string | null>;
5
+ //# sourceMappingURL=startupScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startupScreen.d.ts","sourceRoot":"","sources":["../../../src/utils/startupScreen.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BhE"}
@@ -0,0 +1,16 @@
1
+ export declare function validateRuleSteps(steps: {
2
+ id: string;
3
+ step: any;
4
+ }[], include?: string[], ignore?: string[]): Promise<{
5
+ isValid: boolean;
6
+ feedback: string;
7
+ data?: undefined;
8
+ } | {
9
+ isValid: boolean;
10
+ feedback: string;
11
+ data: {
12
+ id: string;
13
+ step: any;
14
+ }[];
15
+ }>;
16
+ //# sourceMappingURL=validateRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateRule.d.ts","sourceRoot":"","sources":["../../../src/utils/validateRule.ts"],"names":[],"mappings":"AAIA,wBAAsB,iBAAiB,CACrC,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,EAAE,EAClC,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,EAAE;;;;;;;;YAEW,MAAM;cAAQ,GAAG;;GA2C9C"}
@@ -0,0 +1,3 @@
1
+ export declare function getCurrentVersion(): string;
2
+ export declare function getLatestVersion(): Promise<string>;
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,IAAI,MAAM,CAa1C;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAOxD"}