@mrclrchtr/supi-code-intelligence 0.1.0 → 0.2.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-core",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "SuPi core — shared infrastructure for SuPi extensions (XML context tags, config system)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -23,8 +23,8 @@
23
23
  "@earendil-works/pi-tui": "*"
24
24
  },
25
25
  "devDependencies": {
26
- "@types/node": "^25.6.0",
27
- "vitest": "^4.1.4"
26
+ "@types/node": "25.6.2",
27
+ "vitest": "4.1.5"
28
28
  },
29
29
  "main": "src/index.ts"
30
30
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-core",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "SuPi core — shared infrastructure for SuPi extensions (XML context tags, config system)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -23,8 +23,8 @@
23
23
  "@earendil-works/pi-tui": "*"
24
24
  },
25
25
  "devDependencies": {
26
- "@types/node": "^25.6.0",
27
- "vitest": "^4.1.4"
26
+ "@types/node": "25.6.2",
27
+ "vitest": "4.1.5"
28
28
  },
29
29
  "main": "src/index.ts"
30
30
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-lsp",
3
- "version": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "description": "SuPi LSP extension — Language Server Protocol integration for pi",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,7 +33,7 @@
33
33
  "typebox": "*"
34
34
  },
35
35
  "devDependencies": {
36
- "vitest": "^4.1.4",
36
+ "vitest": "4.1.5",
37
37
  "@mrclrchtr/supi-test-utils": "workspace:*"
38
38
  },
39
39
  "pi": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-tree-sitter",
3
- "version": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "description": "SuPi Tree-sitter extension — structural AST analysis for pi",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -39,23 +39,23 @@
39
39
  "typebox": "*"
40
40
  },
41
41
  "devDependencies": {
42
- "@davisvaughan/tree-sitter-r": "^1.2.0",
43
- "@derekstride/tree-sitter-sql": "^0.3.11",
44
- "@types/node": "^25.6.0",
45
- "tree-sitter-bash": "^0.23.0",
46
- "tree-sitter-c": "^0.23.0",
47
- "tree-sitter-cli": "0.22.6",
48
- "tree-sitter-cpp": "^0.23.0",
49
- "tree-sitter-go": "^0.23.0",
50
- "tree-sitter-html": "^0.23.0",
51
- "tree-sitter-java": "^0.23.0",
52
- "tree-sitter-javascript": "^0.23.0",
53
- "tree-sitter-kotlin": "^0.3.8",
54
- "tree-sitter-python": "^0.23.0",
55
- "tree-sitter-ruby": "^0.23.0",
56
- "tree-sitter-rust": "^0.23.0",
57
- "tree-sitter-typescript": "^0.23.0",
58
- "vitest": "^4.1.4",
42
+ "@davisvaughan/tree-sitter-r": "1.2.0",
43
+ "@derekstride/tree-sitter-sql": "0.3.11",
44
+ "@types/node": "25.6.2",
45
+ "tree-sitter-bash": "0.25.1",
46
+ "tree-sitter-c": "0.24.1",
47
+ "tree-sitter-cli": "0.26.8",
48
+ "tree-sitter-cpp": "0.23.4",
49
+ "tree-sitter-go": "0.25.0",
50
+ "tree-sitter-html": "0.23.2",
51
+ "tree-sitter-java": "0.23.5",
52
+ "tree-sitter-javascript": "0.25.0",
53
+ "tree-sitter-kotlin": "0.3.8",
54
+ "tree-sitter-python": "0.25.0",
55
+ "tree-sitter-ruby": "0.23.1",
56
+ "tree-sitter-rust": "0.24.0",
57
+ "tree-sitter-typescript": "0.23.2",
58
+ "vitest": "4.1.5",
59
59
  "@mrclrchtr/supi-test-utils": "workspace:*"
60
60
  },
61
61
  "pi": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-code-intelligence",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "SuPi Code Intelligence extension — architecture briefs, caller/callee analysis, impact assessment, and pattern search for pi",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -34,8 +34,8 @@
34
34
  "typebox": "*"
35
35
  },
36
36
  "devDependencies": {
37
- "@types/node": "^25.6.0",
38
- "vitest": "^4.1.4",
37
+ "@types/node": "25.6.2",
38
+ "vitest": "4.1.5",
39
39
  "@mrclrchtr/supi-test-utils": "workspace:*"
40
40
  },
41
41
  "pi": {
@@ -136,6 +136,15 @@ function buildRipgrepArgs(
136
136
  }
137
137
 
138
138
  function handleRipgrepError(err: unknown, filterLowSignal: boolean): RipgrepRunResult {
139
+ // ENOENT means rg is not installed — surface a clear error instead of silent empty results
140
+ if (isCodeError(err, "ENOENT")) {
141
+ return {
142
+ matches: [],
143
+ error:
144
+ "ripgrep (rg) is not available. Install it (e.g., `apt install ripgrep` or `brew install ripgrep`).",
145
+ };
146
+ }
147
+
139
148
  if (!isExecError(err)) {
140
149
  return { matches: [] };
141
150
  }
@@ -158,6 +167,15 @@ function isExecError(err: unknown): err is { status: number; stdout?: unknown; s
158
167
  return typeof err === "object" && err !== null && "status" in err;
159
168
  }
160
169
 
170
+ function isCodeError(err: unknown, code: string): boolean {
171
+ return (
172
+ typeof err === "object" &&
173
+ err !== null &&
174
+ "code" in err &&
175
+ (err as { code: unknown }).code === code
176
+ );
177
+ }
178
+
161
179
  interface RawRgEvent {
162
180
  type: string;
163
181
  data?: {