@guanlin4924/devflow-pi 0.1.77 → 0.1.78

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guanlin4924/devflow-pi",
3
- "version": "0.1.77",
3
+ "version": "0.1.78",
4
4
  "type": "module",
5
5
  "description": "Devflow 专项研发 Pi,基于固定版本 OMP Runtime 组装研发状态机、代码智能、设计、实现与质量门禁。",
6
6
  "license": "UNLICENSED",
@@ -20,7 +20,14 @@
20
20
  "bun": ">=1.3.14"
21
21
  },
22
22
  "dependencies": {
23
- "@oh-my-pi/pi-coding-agent": "17.2.7"
23
+ "@oh-my-pi/pi-coding-agent": "17.2.7",
24
+ "@plurnk/plurnk-mimetypes-grammar-cpp": "1.16.1",
25
+ "@plurnk/plurnk-mimetypes-grammar-kotlin": "1.16.1",
26
+ "@plurnk/plurnk-mimetypes-grammar-ruby": "1.16.1",
27
+ "@plurnk/plurnk-mimetypes-grammar-scala": "1.16.1",
28
+ "@plurnk/plurnk-mimetypes-grammar-yaml": "1.16.1",
29
+ "tree-sitter-graphql-grammar-wasm": "1.1.0",
30
+ "web-tree-sitter": "0.25.10"
24
31
  },
25
32
  "devDependencies": {
26
33
  "@types/bun": "^1.3.14",
@@ -18,6 +18,9 @@ The result contains:
18
18
  - `symbols`
19
19
  - `relations`
20
20
  - `diagnostics`
21
+ - `actual_parser` — parser that produced the returned facts; required when a
22
+ selected native adapter falls back after a dependency or per-file parse
23
+ failure
21
24
 
22
25
  ## Resolution Rules
23
26
 
@@ -36,3 +39,8 @@ The result contains:
36
39
 
37
40
  Core schema and writers must not change when a new adapter is added.
38
41
 
42
+ Declared and runtime parser capabilities are recorded in
43
+ `scripts/adapters/parser-capabilities.json` and the snapshot capability map.
44
+ An unavailable native or Tree-sitter parser must report its fallback and emit
45
+ an `adapter_missing` diagnostic; structured lexical output must never be
46
+ labelled as native AST output.
@@ -34,6 +34,7 @@ All adapters must emit these records. Examples use placeholders only; do not rep
34
34
  "language": "{language_id}",
35
35
  "content_hash": "sha256:{hash}",
36
36
  "visibility": "{optional_visibility}",
37
+ "parser": "{adapter}@{version}",
37
38
  "metadata": {}
38
39
  }
39
40
  ```
@@ -71,4 +72,3 @@ Symbol IDs must not depend on line numbers. Use language, codebase, stable quali
71
72
  "parser": "{adapter}@{version}"
72
73
  }
73
74
  ```
74
-
@@ -0,0 +1,26 @@
1
+ import json
2
+ from pathlib import Path
3
+ from typing import Dict
4
+
5
+
6
+ MANIFEST_PATH = Path(__file__).resolve().parent / "parser-capabilities.json"
7
+
8
+
9
+ def load_capability_manifest() -> Dict:
10
+ manifest = json.loads(MANIFEST_PATH.read_text(encoding="utf-8"))
11
+ if manifest.get("schemaVersion") != 1 or not isinstance(manifest.get("languages"), dict):
12
+ raise ValueError("invalid parser capability manifest")
13
+ return manifest
14
+
15
+
16
+ def confidence_for_parser(parser: str, kind: str = "symbol") -> str:
17
+ """Map extractor provenance to the strongest defensible confidence."""
18
+ if kind == "file":
19
+ return "exact"
20
+ if parser.startswith(("python-ast@", "typescript-compiler-ast@", "go-parser-ast@", "javac-tree-ast@", "nikic-php-parser-ast@")):
21
+ return "exact"
22
+ if parser.startswith("tree-sitter-"):
23
+ return "exact"
24
+ if parser.startswith("structured-scope@"):
25
+ return "inferred"
26
+ return "heuristic"
@@ -95,8 +95,9 @@ class GenericTextAdapter(Adapter):
95
95
  path,
96
96
  symbol["line_start"],
97
97
  self.parser_id,
98
- confidence="exact",
98
+ confidence="heuristic",
99
99
  to_id=symbol["id"],
100
+ metadata={"extraction": "text_pattern"},
100
101
  )
101
102
  )
102
103
 
@@ -289,6 +290,7 @@ def _symbol(codebase, language, kind, name, path, line_start, line_end, content_
289
290
  "language": language,
290
291
  "content_hash": content_hash,
291
292
  "visibility": visibility,
293
+ "parser": parser,
292
294
  "metadata": {"parser": parser} if parser else {},
293
295
  }
294
296
 
@@ -0,0 +1,50 @@
1
+ // Optional helper for web-tree-sitter. It is intentionally dependency-free at
2
+ // package install time; the runtime reports parser_unavailable when the module
3
+ // or grammar is absent.
4
+ import fs from "node:fs";
5
+ import process from "node:process";
6
+
7
+ const grammarPath = process.argv[2];
8
+ const input = JSON.parse(fs.readFileSync(0, "utf8").trim());
9
+ try {
10
+ const mod = await import("web-tree-sitter");
11
+ const Parser = mod.default ?? mod.Parser;
12
+ const Language = mod.Language;
13
+ await Parser.init();
14
+ const language = await Language.load(grammarPath);
15
+ const parser = new Parser();
16
+ parser.setLanguage(language);
17
+ const tree = parser.parse(input.source);
18
+ const declarations = [];
19
+ const calls = [];
20
+ const declarationTypes = /(function|method|class|struct|interface|trait|enum|module|namespace|impl|object|type)/i;
21
+ const named = (node, field) => {
22
+ const child = node.childForFieldName?.(field);
23
+ return child ? child.text : "";
24
+ };
25
+ const walk = (node, parent = "") => {
26
+ const type = String(node.type || "");
27
+ const key = `${node.startIndex}:${node.endIndex}:${type}`;
28
+ if (declarationTypes.test(type) && !/(identifier|name|parameter)/i.test(type)) {
29
+ const name = named(node, "name") || named(node, "declarator") || `${type}@${node.startPosition.row + 1}`;
30
+ declarations.push({key, parent, kind: type, name, line_start: node.startPosition.row + 1, line_end: node.endPosition.row + 1});
31
+ parent = key;
32
+ }
33
+ if (/call|invocation|command_substitution/i.test(type)) {
34
+ const fn = named(node, "function") || named(node, "name") || node.firstNamedChild?.text || type;
35
+ calls.push({owner: parent, target: fn, line: node.startPosition.row + 1});
36
+ }
37
+ for (const child of node.namedChildren ?? []) walk(child, parent);
38
+ };
39
+ walk(tree.rootNode);
40
+ // web-tree-sitter exposes hasError as a boolean property (older releases
41
+ // exposed a method), so support both without treating a valid parse as a
42
+ // helper failure.
43
+ const hasErrorValue = tree.rootNode.hasError;
44
+ const hasError = typeof hasErrorValue === "function" ? hasErrorValue.call(tree.rootNode) : Boolean(hasErrorValue);
45
+ console.log(JSON.stringify({ok: true, parse_status: hasError ? "partial" : "complete", declarations, calls,
46
+ diagnostics: [], metadata: {grammar: grammarPath, error_tree: hasError}}));
47
+ } catch (error) {
48
+ console.log(JSON.stringify({ok: false, error: String(error?.message || error)}));
49
+ process.exitCode = 2;
50
+ }
@@ -0,0 +1,491 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "languages": {
4
+ "python": {
5
+ "parser": "python-ast@1",
6
+ "strategy": "native",
7
+ "status": "implemented",
8
+ "runtime": "python-stdlib",
9
+ "fallback": "generic-text@2"
10
+ },
11
+ "typescript": {
12
+ "parser": "typescript-compiler-ast@1",
13
+ "strategy": "native",
14
+ "status": "implemented",
15
+ "runtime": "node-typescript",
16
+ "fallback": "structured-scope@1"
17
+ },
18
+ "javascript": {
19
+ "parser": "typescript-compiler-ast@1",
20
+ "strategy": "native",
21
+ "status": "implemented",
22
+ "runtime": "node-typescript",
23
+ "fallback": "structured-scope@1"
24
+ },
25
+ "go": {
26
+ "parser": "go-parser-ast@1",
27
+ "strategy": "native",
28
+ "status": "implemented",
29
+ "runtime": "go-toolchain",
30
+ "fallback": "structured-scope@1"
31
+ },
32
+ "java": {
33
+ "parser": "javac-tree-ast@1",
34
+ "strategy": "native",
35
+ "status": "implemented",
36
+ "runtime": "jdk-compiler",
37
+ "fallback": "structured-scope@1"
38
+ },
39
+ "php": {
40
+ "parser": "nikic-php-parser-ast@1",
41
+ "strategy": "native",
42
+ "status": "conditional",
43
+ "runtime": "php-composer",
44
+ "fallback": "structured-scope@1",
45
+ "todo": "Bundle or provision nikic PHP-Parser independently of target repositories."
46
+ },
47
+ "ruby": {
48
+ "parser": "tree-sitter-wasm:ruby@1",
49
+ "strategy": "tree-sitter-wasm",
50
+ "status": "implemented",
51
+ "fallback": "structured-scope@1",
52
+ "support_level": "supported",
53
+ "grammar": {
54
+ "id": "ruby",
55
+ "package": "@plurnk/plurnk-mimetypes-grammar-ruby",
56
+ "version": "1.16.1",
57
+ "sha256": "sha256:cb39211ed6631a1c20ac8a90fa2f981102e9f5a388baa3fea860cc7a36f76984",
58
+ "license": "MIT",
59
+ "fixture": "tests/fixtures/tree-sitter/ruby",
60
+ "embedded_languages": []
61
+ },
62
+ "runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-ruby@1.16.1"
63
+ },
64
+ "rust": {
65
+ "parser": "tree-sitter-wasm:rust@1",
66
+ "strategy": "tree-sitter-wasm",
67
+ "status": "unavailable",
68
+ "fallback": "structured-scope@1",
69
+ "support_level": "parser_unavailable",
70
+ "grammar": {
71
+ "id": "rust",
72
+ "package": "tree-sitter-rust",
73
+ "version": null,
74
+ "sha256": null,
75
+ "license": "MIT",
76
+ "fixture": "tests/fixtures/tree-sitter/rust",
77
+ "embedded_languages": []
78
+ },
79
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_RUST."
80
+ },
81
+ "kotlin": {
82
+ "parser": "tree-sitter-wasm:kotlin@1",
83
+ "strategy": "tree-sitter-wasm",
84
+ "status": "implemented",
85
+ "fallback": "structured-scope@1",
86
+ "support_level": "supported",
87
+ "grammar": {
88
+ "id": "kotlin",
89
+ "package": "@plurnk/plurnk-mimetypes-grammar-kotlin",
90
+ "version": "1.16.1",
91
+ "sha256": "sha256:7294358f85c60e15602fc35b175c9b5559ca8bf39aeb0fd91a7d84f63f5fbf1a",
92
+ "license": "MIT",
93
+ "fixture": "tests/fixtures/tree-sitter/kotlin",
94
+ "embedded_languages": []
95
+ },
96
+ "runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-kotlin@1.16.1"
97
+ },
98
+ "c": {
99
+ "parser": "tree-sitter-wasm:c@1",
100
+ "strategy": "tree-sitter-wasm",
101
+ "status": "unavailable",
102
+ "fallback": "structured-scope@1",
103
+ "support_level": "parser_unavailable",
104
+ "grammar": {
105
+ "id": "c",
106
+ "package": "tree-sitter-c",
107
+ "version": null,
108
+ "sha256": null,
109
+ "license": "MIT",
110
+ "fixture": "tests/fixtures/tree-sitter/c",
111
+ "embedded_languages": []
112
+ },
113
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_C."
114
+ },
115
+ "cpp": {
116
+ "parser": "tree-sitter-wasm:cpp@1",
117
+ "strategy": "tree-sitter-wasm",
118
+ "status": "implemented",
119
+ "fallback": "structured-scope@1",
120
+ "support_level": "supported",
121
+ "grammar": {
122
+ "id": "cpp",
123
+ "package": "@plurnk/plurnk-mimetypes-grammar-cpp",
124
+ "version": "1.16.1",
125
+ "sha256": "sha256:9f74e4a1b2861425f8931f8934ea48b975560f51af5c913c42049eb4e9b016f4",
126
+ "license": "MIT",
127
+ "fixture": "tests/fixtures/tree-sitter/cpp",
128
+ "embedded_languages": []
129
+ },
130
+ "runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-cpp@1.16.1"
131
+ },
132
+ "csharp": {
133
+ "parser": "tree-sitter-wasm:c_sharp@1",
134
+ "strategy": "tree-sitter-wasm",
135
+ "status": "unavailable",
136
+ "fallback": "structured-scope@1",
137
+ "support_level": "parser_unavailable",
138
+ "grammar": {
139
+ "id": "c_sharp",
140
+ "package": "tree-sitter-c-sharp",
141
+ "version": null,
142
+ "sha256": null,
143
+ "license": "MIT",
144
+ "fixture": "tests/fixtures/tree-sitter/csharp",
145
+ "embedded_languages": []
146
+ },
147
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_CSHARP."
148
+ },
149
+ "swift": {
150
+ "parser": "tree-sitter-wasm:swift@1",
151
+ "strategy": "tree-sitter-wasm",
152
+ "status": "unavailable",
153
+ "fallback": "structured-scope@1",
154
+ "support_level": "parser_unavailable",
155
+ "grammar": {
156
+ "id": "swift",
157
+ "package": "tree-sitter-swift",
158
+ "version": null,
159
+ "sha256": null,
160
+ "license": "MIT",
161
+ "fixture": "tests/fixtures/tree-sitter/swift",
162
+ "embedded_languages": []
163
+ },
164
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_SWIFT."
165
+ },
166
+ "dart": {
167
+ "parser": "tree-sitter-wasm:dart@1",
168
+ "strategy": "tree-sitter-wasm",
169
+ "status": "unavailable",
170
+ "fallback": "structured-scope@1",
171
+ "support_level": "parser_unavailable",
172
+ "grammar": {
173
+ "id": "dart",
174
+ "package": "tree-sitter-dart",
175
+ "version": null,
176
+ "sha256": null,
177
+ "license": "MIT",
178
+ "fixture": "tests/fixtures/tree-sitter/dart",
179
+ "embedded_languages": []
180
+ },
181
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_DART."
182
+ },
183
+ "scala": {
184
+ "parser": "tree-sitter-wasm:scala@1",
185
+ "strategy": "tree-sitter-wasm",
186
+ "status": "implemented",
187
+ "fallback": "structured-scope@1",
188
+ "support_level": "supported",
189
+ "grammar": {
190
+ "id": "scala",
191
+ "package": "@plurnk/plurnk-mimetypes-grammar-scala",
192
+ "version": "1.16.1",
193
+ "sha256": "sha256:026c2f9a8374109861f6621f4759ef690faebcaa67c2d56b06af3786c206b030",
194
+ "license": "Apache-2.0",
195
+ "fixture": "tests/fixtures/tree-sitter/scala",
196
+ "embedded_languages": []
197
+ },
198
+ "runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-scala@1.16.1"
199
+ },
200
+ "lua": {
201
+ "parser": "tree-sitter-wasm:lua@1",
202
+ "strategy": "tree-sitter-wasm",
203
+ "status": "conditional",
204
+ "support_level": "parser_unavailable",
205
+ "fallback": "structured-scope@1",
206
+ "grammar": {
207
+ "id": "lua",
208
+ "package": "tree-sitter-lua",
209
+ "version": null,
210
+ "sha256": null,
211
+ "license": "MIT",
212
+ "fixture": "tests/fixtures/tree-sitter/lua",
213
+ "embedded_languages": []
214
+ },
215
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_LUA."
216
+ },
217
+ "shell": {
218
+ "parser": "tree-sitter-wasm:bash@1",
219
+ "strategy": "tree-sitter-wasm",
220
+ "status": "conditional",
221
+ "support_level": "parser_unavailable",
222
+ "fallback": "structured-scope@1",
223
+ "grammar": {
224
+ "id": "bash",
225
+ "package": "tree-sitter-bash",
226
+ "version": null,
227
+ "sha256": null,
228
+ "license": "MIT",
229
+ "fixture": "tests/fixtures/tree-sitter/bash",
230
+ "embedded_languages": []
231
+ },
232
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_SHELL."
233
+ },
234
+ "vue": {
235
+ "parser": "tree-sitter-wasm:vue@1",
236
+ "strategy": "tree-sitter-wasm",
237
+ "status": "unavailable",
238
+ "fallback": "structured-scope@1",
239
+ "support_level": "parser_unavailable",
240
+ "grammar": {
241
+ "id": "vue",
242
+ "package": "tree-sitter-vue",
243
+ "version": null,
244
+ "sha256": null,
245
+ "license": "MIT",
246
+ "fixture": "tests/fixtures/tree-sitter/vue",
247
+ "embedded_languages": []
248
+ },
249
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_VUE."
250
+ },
251
+ "svelte": {
252
+ "parser": "tree-sitter-wasm:svelte@1",
253
+ "strategy": "tree-sitter-wasm",
254
+ "status": "unavailable",
255
+ "fallback": "structured-scope@1",
256
+ "support_level": "parser_unavailable",
257
+ "grammar": {
258
+ "id": "svelte",
259
+ "package": "tree-sitter-svelte",
260
+ "version": null,
261
+ "sha256": null,
262
+ "license": "MIT",
263
+ "fixture": "tests/fixtures/tree-sitter/svelte",
264
+ "embedded_languages": []
265
+ },
266
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_SVELTE."
267
+ },
268
+ "sql": {
269
+ "parser": "tree-sitter-wasm:sql@1",
270
+ "strategy": "tree-sitter-wasm",
271
+ "status": "unavailable",
272
+ "fallback": "generic-text@2",
273
+ "support_level": "parser_unavailable",
274
+ "grammar": {
275
+ "id": "sql",
276
+ "package": "tree-sitter-sql",
277
+ "version": null,
278
+ "sha256": null,
279
+ "license": "MIT",
280
+ "fixture": "tests/fixtures/tree-sitter/sql",
281
+ "embedded_languages": []
282
+ },
283
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_SQL."
284
+ },
285
+ "html": {
286
+ "parser": "tree-sitter-wasm:html@1",
287
+ "strategy": "tree-sitter-wasm",
288
+ "status": "unavailable",
289
+ "fallback": "generic-text@2",
290
+ "support_level": "parser_unavailable",
291
+ "grammar": {
292
+ "id": "html",
293
+ "package": "tree-sitter-html",
294
+ "version": null,
295
+ "sha256": null,
296
+ "license": "MIT",
297
+ "fixture": "tests/fixtures/tree-sitter/html",
298
+ "embedded_languages": []
299
+ },
300
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_HTML."
301
+ },
302
+ "css": {
303
+ "parser": "tree-sitter-wasm:css@1",
304
+ "strategy": "tree-sitter-wasm",
305
+ "status": "unavailable",
306
+ "fallback": "generic-text@2",
307
+ "support_level": "parser_unavailable",
308
+ "grammar": {
309
+ "id": "css",
310
+ "package": "tree-sitter-css",
311
+ "version": null,
312
+ "sha256": null,
313
+ "license": "MIT",
314
+ "fixture": "tests/fixtures/tree-sitter/css",
315
+ "embedded_languages": []
316
+ },
317
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_CSS."
318
+ },
319
+ "json": {
320
+ "parser": "tree-sitter-wasm:json@1",
321
+ "strategy": "tree-sitter-wasm",
322
+ "status": "unavailable",
323
+ "fallback": "generic-text@2",
324
+ "support_level": "parser_unavailable",
325
+ "grammar": {
326
+ "id": "json",
327
+ "package": "tree-sitter-json",
328
+ "version": null,
329
+ "sha256": null,
330
+ "license": "MIT",
331
+ "fixture": "tests/fixtures/tree-sitter/json",
332
+ "embedded_languages": []
333
+ },
334
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_JSON."
335
+ },
336
+ "yaml": {
337
+ "parser": "tree-sitter-wasm:yaml@1",
338
+ "strategy": "tree-sitter-wasm",
339
+ "status": "implemented",
340
+ "fallback": "generic-text@2",
341
+ "support_level": "supported",
342
+ "grammar": {
343
+ "id": "yaml",
344
+ "package": "@plurnk/plurnk-mimetypes-grammar-yaml",
345
+ "version": "1.16.1",
346
+ "sha256": "sha256:1d87a5e4a634f475e63dc232b1e67cd1930c3c1585892df792eada06ff7ffce7",
347
+ "license": "MIT",
348
+ "fixture": "tests/fixtures/tree-sitter/yaml",
349
+ "embedded_languages": []
350
+ },
351
+ "runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-yaml@1.16.1"
352
+ },
353
+ "toml": {
354
+ "parser": "tree-sitter-wasm:toml@1",
355
+ "strategy": "tree-sitter-wasm",
356
+ "status": "unavailable",
357
+ "fallback": "generic-text@2",
358
+ "support_level": "parser_unavailable",
359
+ "grammar": {
360
+ "id": "toml",
361
+ "package": "tree-sitter-toml",
362
+ "version": null,
363
+ "sha256": null,
364
+ "license": "MIT",
365
+ "fixture": "tests/fixtures/tree-sitter/toml",
366
+ "embedded_languages": []
367
+ },
368
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_TOML."
369
+ },
370
+ "xml": {
371
+ "parser": "tree-sitter-wasm:xml@1",
372
+ "strategy": "tree-sitter-wasm",
373
+ "status": "unavailable",
374
+ "fallback": "generic-text@2",
375
+ "support_level": "parser_unavailable",
376
+ "grammar": {
377
+ "id": "xml",
378
+ "package": "tree-sitter-xml",
379
+ "version": null,
380
+ "sha256": null,
381
+ "license": "MIT",
382
+ "fixture": "tests/fixtures/tree-sitter/xml",
383
+ "embedded_languages": []
384
+ },
385
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_XML."
386
+ },
387
+ "graphql": {
388
+ "parser": "tree-sitter-wasm:graphql@1",
389
+ "strategy": "tree-sitter-wasm",
390
+ "status": "implemented",
391
+ "fallback": "generic-text@2",
392
+ "support_level": "supported",
393
+ "grammar": {
394
+ "id": "graphql",
395
+ "package": "tree-sitter-graphql-grammar-wasm",
396
+ "version": "1.1.0",
397
+ "sha256": "sha256:3def862e09d38087496d20de787427327a1242a4b36ee341879892979d3c51bf",
398
+ "license": "MIT",
399
+ "fixture": "tests/fixtures/tree-sitter/graphql",
400
+ "embedded_languages": []
401
+ },
402
+ "runtime_dependency": "tree-sitter-graphql-grammar-wasm@1.1.0",
403
+ "todo": "Additional language grammars require separately pinned WASM packages."
404
+ },
405
+ "protobuf": {
406
+ "parser": "tree-sitter-wasm:proto@1",
407
+ "strategy": "tree-sitter-wasm",
408
+ "status": "unavailable",
409
+ "fallback": "generic-text@2",
410
+ "support_level": "parser_unavailable",
411
+ "grammar": {
412
+ "id": "proto",
413
+ "package": "tree-sitter-proto",
414
+ "version": null,
415
+ "sha256": null,
416
+ "license": "MIT",
417
+ "fixture": "tests/fixtures/tree-sitter/protobuf",
418
+ "embedded_languages": []
419
+ },
420
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_PROTOBUF."
421
+ },
422
+ "hcl": {
423
+ "parser": "tree-sitter-wasm:hcl@1",
424
+ "strategy": "tree-sitter-wasm",
425
+ "status": "unavailable",
426
+ "fallback": "generic-text@2",
427
+ "support_level": "parser_unavailable",
428
+ "grammar": {
429
+ "id": "hcl",
430
+ "package": "tree-sitter-hcl",
431
+ "version": null,
432
+ "sha256": null,
433
+ "license": "MIT",
434
+ "fixture": "tests/fixtures/tree-sitter/hcl",
435
+ "embedded_languages": []
436
+ },
437
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_HCL."
438
+ },
439
+ "terraform": {
440
+ "parser": "tree-sitter-wasm:hcl@1",
441
+ "strategy": "tree-sitter-wasm",
442
+ "status": "unavailable",
443
+ "fallback": "generic-text@2",
444
+ "support_level": "parser_unavailable",
445
+ "grammar": {
446
+ "id": "hcl",
447
+ "package": "tree-sitter-hcl",
448
+ "version": null,
449
+ "sha256": null,
450
+ "license": "MIT",
451
+ "fixture": "tests/fixtures/tree-sitter/terraform",
452
+ "embedded_languages": []
453
+ },
454
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_TERRAFORM."
455
+ },
456
+ "dockerfile": {
457
+ "parser": "tree-sitter-wasm:dockerfile@1",
458
+ "strategy": "tree-sitter-wasm",
459
+ "status": "unavailable",
460
+ "fallback": "generic-text@2",
461
+ "support_level": "parser_unavailable",
462
+ "grammar": {
463
+ "id": "dockerfile",
464
+ "package": "tree-sitter-dockerfile",
465
+ "version": null,
466
+ "sha256": null,
467
+ "license": "MIT",
468
+ "fixture": "tests/fixtures/tree-sitter/dockerfile",
469
+ "embedded_languages": []
470
+ },
471
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_DOCKERFILE."
472
+ },
473
+ "markdown": {
474
+ "parser": "tree-sitter-wasm:markdown@1",
475
+ "strategy": "tree-sitter-wasm",
476
+ "status": "unavailable",
477
+ "fallback": "generic-text@2",
478
+ "support_level": "parser_unavailable",
479
+ "grammar": {
480
+ "id": "markdown",
481
+ "package": "tree-sitter-markdown",
482
+ "version": null,
483
+ "sha256": null,
484
+ "license": "MIT",
485
+ "fixture": "tests/fixtures/tree-sitter/markdown",
486
+ "embedded_languages": []
487
+ },
488
+ "todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_MARKDOWN."
489
+ }
490
+ }
491
+ }