@mrclrchtr/supi-code-intelligence 6.2.0 → 6.3.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.
Files changed (51) hide show
  1. package/README.md +2 -0
  2. package/node_modules/@mrclrchtr/supi-code-runtime/package.json +1 -1
  3. package/node_modules/@mrclrchtr/supi-core/package.json +1 -1
  4. package/node_modules/@mrclrchtr/supi-lsp/README.md +2 -0
  5. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +1 -1
  6. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +1 -1
  7. package/node_modules/@mrclrchtr/supi-lsp/node_modules/ignore/README.md +52 -0
  8. package/node_modules/@mrclrchtr/supi-lsp/node_modules/ignore/index.js +785 -129
  9. package/node_modules/@mrclrchtr/supi-lsp/node_modules/ignore/legacy.js +660 -98
  10. package/node_modules/@mrclrchtr/supi-lsp/node_modules/ignore/package.json +10 -4
  11. package/node_modules/@mrclrchtr/supi-lsp/package.json +3 -3
  12. package/node_modules/@mrclrchtr/supi-lsp/src/api.ts +6 -2
  13. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-process-crash-report.ts +106 -0
  14. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-recovery.ts +4 -4
  15. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +348 -99
  16. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-diagnostics.ts +43 -15
  17. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-registry.ts +23 -32
  18. package/node_modules/@mrclrchtr/supi-lsp/src/session/workspace-lsp-runtime.ts +4 -4
  19. package/node_modules/@mrclrchtr/supi-lsp/src/summary.ts +1 -1
  20. package/node_modules/@mrclrchtr/supi-lsp/src/workspace-path-policy.ts +18 -9
  21. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +1 -1
  22. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +1 -1
  23. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/README.md +29 -1
  24. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs +99 -19
  25. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs.map +4 -4
  26. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js +94 -18
  27. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js.map +4 -4
  28. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm +0 -0
  29. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm.map +14 -14
  30. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/package.json +13 -8
  31. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs +97 -19
  32. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs.map +4 -4
  33. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts +28 -8
  34. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts.map +1 -1
  35. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts +28 -8
  36. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +1 -1
  37. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js +92 -18
  38. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js.map +4 -4
  39. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm +0 -0
  40. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm.map +17 -17
  41. package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +7 -4
  42. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/kotlin/tree-sitter-kotlin.wasm +0 -0
  43. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/kotlin/tree-sitter-kotlin.wasm.json +2 -2
  44. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/sql/tree-sitter-sql.wasm +0 -0
  45. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/sql/tree-sitter-sql.wasm.json +2 -2
  46. package/package.json +5 -5
  47. package/src/session/health-refresh.ts +4 -2
  48. package/src/session/health-types.ts +3 -3
  49. package/src/substrate/lsp/settings.ts +2 -1
  50. package/src/tool/code_health/refresh-outcome.ts +37 -7
  51. package/src/tool/code_health/refresh-status.ts +58 -12
@@ -7,7 +7,11 @@ var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
8
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
9
  var __commonJS = (cb, mod) => function __require() {
10
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ try {
11
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
12
+ } catch (e) {
13
+ throw mod = 0, e;
14
+ }
11
15
  };
12
16
  var __export = (target, all) => {
13
17
  for (var name2 in all)
@@ -814,7 +818,7 @@ var require_web_tree_sitter = __commonJS({
814
818
  newDSO("__main__", 0, wasmImports);
815
819
  }
816
820
  };
817
- var ___heap_base = 78224;
821
+ var ___heap_base = 82240;
818
822
  var alignMemory = /* @__PURE__ */ __name((size, alignment) => {
819
823
  assert(alignment, "alignment argument is required");
820
824
  return Math.ceil(size / alignment) * alignment;
@@ -1445,12 +1449,12 @@ var require_web_tree_sitter = __commonJS({
1445
1449
  "value": "i32",
1446
1450
  "mutable": false
1447
1451
  }, 1024);
1448
- var ___stack_high = 78224;
1449
- var ___stack_low = 12688;
1452
+ var ___stack_high = 82240;
1453
+ var ___stack_low = 16704;
1450
1454
  var ___stack_pointer = new WebAssembly.Global({
1451
1455
  "value": "i32",
1452
1456
  "mutable": true
1453
- }, 78224);
1457
+ }, 82240);
1454
1458
  var ___table_base = new WebAssembly.Global({
1455
1459
  "value": "i32",
1456
1460
  "mutable": false
@@ -1802,6 +1806,7 @@ var require_web_tree_sitter = __commonJS({
1802
1806
  var _ts_query_new = Module["_ts_query_new"] = makeInvalidEarlyAccess("_ts_query_new");
1803
1807
  var _ts_query_delete = Module["_ts_query_delete"] = makeInvalidEarlyAccess("_ts_query_delete");
1804
1808
  var _iswspace = Module["_iswspace"] = makeInvalidEarlyAccess("_iswspace");
1809
+ var _ts_query_copy = Module["_ts_query_copy"] = makeInvalidEarlyAccess("_ts_query_copy");
1805
1810
  var _ts_query_pattern_count = Module["_ts_query_pattern_count"] = makeInvalidEarlyAccess("_ts_query_pattern_count");
1806
1811
  var _ts_query_capture_count = Module["_ts_query_capture_count"] = makeInvalidEarlyAccess("_ts_query_capture_count");
1807
1812
  var _ts_query_string_count = Module["_ts_query_string_count"] = makeInvalidEarlyAccess("_ts_query_string_count");
@@ -1911,6 +1916,7 @@ var require_web_tree_sitter = __commonJS({
1911
1916
  var _iswblank = Module["_iswblank"] = makeInvalidEarlyAccess("_iswblank");
1912
1917
  var _iswdigit = Module["_iswdigit"] = makeInvalidEarlyAccess("_iswdigit");
1913
1918
  var _iswlower = Module["_iswlower"] = makeInvalidEarlyAccess("_iswlower");
1919
+ var _iswpunct = Module["_iswpunct"] = makeInvalidEarlyAccess("_iswpunct");
1914
1920
  var _iswupper = Module["_iswupper"] = makeInvalidEarlyAccess("_iswupper");
1915
1921
  var _iswxdigit = Module["_iswxdigit"] = makeInvalidEarlyAccess("_iswxdigit");
1916
1922
  var _memchr = Module["_memchr"] = makeInvalidEarlyAccess("_memchr");
@@ -1961,6 +1967,7 @@ var require_web_tree_sitter = __commonJS({
1961
1967
  Module["_ts_query_new"] = _ts_query_new = createExportWrapper("ts_query_new", 5);
1962
1968
  Module["_ts_query_delete"] = _ts_query_delete = createExportWrapper("ts_query_delete", 1);
1963
1969
  Module["_iswspace"] = _iswspace = createExportWrapper("iswspace", 1);
1970
+ Module["_ts_query_copy"] = _ts_query_copy = createExportWrapper("ts_query_copy", 1);
1964
1971
  Module["_ts_query_pattern_count"] = _ts_query_pattern_count = createExportWrapper("ts_query_pattern_count", 1);
1965
1972
  Module["_ts_query_capture_count"] = _ts_query_capture_count = createExportWrapper("ts_query_capture_count", 1);
1966
1973
  Module["_ts_query_string_count"] = _ts_query_string_count = createExportWrapper("ts_query_string_count", 1);
@@ -2070,6 +2077,7 @@ var require_web_tree_sitter = __commonJS({
2070
2077
  Module["_iswblank"] = _iswblank = createExportWrapper("iswblank", 1);
2071
2078
  Module["_iswdigit"] = _iswdigit = createExportWrapper("iswdigit", 1);
2072
2079
  Module["_iswlower"] = _iswlower = createExportWrapper("iswlower", 1);
2080
+ Module["_iswpunct"] = _iswpunct = createExportWrapper("iswpunct", 1);
2073
2081
  Module["_iswupper"] = _iswupper = createExportWrapper("iswupper", 1);
2074
2082
  Module["_iswxdigit"] = _iswxdigit = createExportWrapper("iswxdigit", 1);
2075
2083
  Module["_memchr"] = _memchr = createExportWrapper("memchr", 3);
@@ -2160,7 +2168,7 @@ var require_web_tree_sitter = __commonJS({
2160
2168
  }
2161
2169
  __name(callMain, "callMain");
2162
2170
  function stackCheckInit() {
2163
- _emscripten_stack_set_limits(78224, 12688);
2171
+ _emscripten_stack_set_limits(82240, 16704);
2164
2172
  writeStackCookie();
2165
2173
  }
2166
2174
  __name(stackCheckInit, "stackCheckInit");
@@ -2395,7 +2403,21 @@ function setModule(module2) {
2395
2403
  __name(setModule, "setModule");
2396
2404
  var C;
2397
2405
 
2406
+ // src/finalization_registry.ts
2407
+ function newFinalizer(handler) {
2408
+ try {
2409
+ return new FinalizationRegistry(handler);
2410
+ } catch (e) {
2411
+ console.error("Unsupported FinalizationRegistry:", e);
2412
+ return;
2413
+ }
2414
+ }
2415
+ __name(newFinalizer, "newFinalizer");
2416
+
2398
2417
  // src/lookahead_iterator.ts
2418
+ var finalizer = newFinalizer((address) => {
2419
+ C._ts_lookahead_iterator_delete(address);
2420
+ });
2399
2421
  var LookaheadIterator = class {
2400
2422
  static {
2401
2423
  __name(this, "LookaheadIterator");
@@ -2406,21 +2428,39 @@ var LookaheadIterator = class {
2406
2428
  /** @internal */
2407
2429
  language;
2408
2430
  /** @internal */
2431
+ positioned = false;
2432
+ /** @internal */
2409
2433
  constructor(internal, address, language) {
2410
2434
  assertInternal(internal);
2411
2435
  this[0] = address;
2412
2436
  this.language = language;
2437
+ finalizer?.register(this, address, this);
2413
2438
  }
2414
- /** Get the current symbol of the lookahead iterator. */
2439
+ /**
2440
+ * Get the current symbol of the lookahead iterator.
2441
+ *
2442
+ * Returns `null` if the iterator is not positioned on a symbol:
2443
+ *
2444
+ * - Before the first iteration step
2445
+ * - After the iterator is exhausted
2446
+ * - After a {@link reset} or {@link resetState} call
2447
+ */
2415
2448
  get currentTypeId() {
2416
- return C._ts_lookahead_iterator_current_symbol(this[0]);
2449
+ return this.positioned ? C._ts_lookahead_iterator_current_symbol(this[0]) : null;
2417
2450
  }
2418
- /** Get the current symbol name of the lookahead iterator. */
2451
+ /**
2452
+ * Get the current symbol name of the lookahead iterator.
2453
+ *
2454
+ * Returns `null` if the iterator is not positioned on a symbol.
2455
+ */
2419
2456
  get currentType() {
2420
- return this.language.types[this.currentTypeId] || "ERROR";
2457
+ const id = this.currentTypeId;
2458
+ if (id === null) return null;
2459
+ return this.language.types[id] ?? C.UTF8ToString(C._ts_language_symbol_name(this.language[0], id));
2421
2460
  }
2422
2461
  /** Delete the lookahead iterator, freeing its resources. */
2423
2462
  delete() {
2463
+ finalizer?.unregister(this);
2424
2464
  C._ts_lookahead_iterator_delete(this[0]);
2425
2465
  this[0] = 0;
2426
2466
  }
@@ -2433,6 +2473,7 @@ var LookaheadIterator = class {
2433
2473
  reset(language, stateId) {
2434
2474
  if (C._ts_lookahead_iterator_reset(this[0], language[0], stateId)) {
2435
2475
  this.language = language;
2476
+ this.positioned = false;
2436
2477
  return true;
2437
2478
  }
2438
2479
  return false;
@@ -2444,7 +2485,9 @@ var LookaheadIterator = class {
2444
2485
  * `false` otherwise.
2445
2486
  */
2446
2487
  resetState(stateId) {
2447
- return Boolean(C._ts_lookahead_iterator_reset_state(this[0], stateId));
2488
+ if (!C._ts_lookahead_iterator_reset_state(this[0], stateId)) return false;
2489
+ this.positioned = false;
2490
+ return true;
2448
2491
  }
2449
2492
  /**
2450
2493
  * Returns an iterator that iterates over the symbols of the lookahead iterator.
@@ -2455,10 +2498,9 @@ var LookaheadIterator = class {
2455
2498
  [Symbol.iterator]() {
2456
2499
  return {
2457
2500
  next: /* @__PURE__ */ __name(() => {
2458
- if (C._ts_lookahead_iterator_next(this[0])) {
2459
- return { done: false, value: this.currentType };
2460
- }
2461
- return { done: true, value: "" };
2501
+ this.positioned = Boolean(C._ts_lookahead_iterator_next(this[0]));
2502
+ const value = this.currentType;
2503
+ return value === null ? { done: true, value: "" } : { done: false, value };
2462
2504
  }, "next")
2463
2505
  };
2464
2506
  }
@@ -2486,6 +2528,9 @@ function getText(tree, startIndex, endIndex, startPosition) {
2486
2528
  return result ?? "";
2487
2529
  }
2488
2530
  __name(getText, "getText");
2531
+ var finalizer2 = newFinalizer((address) => {
2532
+ C._ts_tree_delete(address);
2533
+ });
2489
2534
  var Tree = class _Tree {
2490
2535
  static {
2491
2536
  __name(this, "Tree");
@@ -2503,6 +2548,7 @@ var Tree = class _Tree {
2503
2548
  this[0] = address;
2504
2549
  this.language = language;
2505
2550
  this.textCallback = textCallback;
2551
+ finalizer2?.register(this, address, this);
2506
2552
  }
2507
2553
  /** Create a shallow copy of the syntax tree. This is very fast. */
2508
2554
  copy() {
@@ -2511,6 +2557,7 @@ var Tree = class _Tree {
2511
2557
  }
2512
2558
  /** Delete the syntax tree, freeing its resources. */
2513
2559
  delete() {
2560
+ finalizer2?.unregister(this);
2514
2561
  C._ts_tree_delete(this[0]);
2515
2562
  this[0] = 0;
2516
2563
  }
@@ -2593,6 +2640,9 @@ var Tree = class _Tree {
2593
2640
  };
2594
2641
 
2595
2642
  // src/tree_cursor.ts
2643
+ var finalizer3 = newFinalizer((address) => {
2644
+ C._ts_tree_cursor_delete_wasm(address);
2645
+ });
2596
2646
  var TreeCursor = class _TreeCursor {
2597
2647
  static {
2598
2648
  __name(this, "TreeCursor");
@@ -2620,6 +2670,7 @@ var TreeCursor = class _TreeCursor {
2620
2670
  assertInternal(internal);
2621
2671
  this.tree = tree;
2622
2672
  unmarshalTreeCursor(this);
2673
+ finalizer3?.register(this, this.tree[0], this);
2623
2674
  }
2624
2675
  /** Creates a deep copy of the tree cursor. This allocates new memory. */
2625
2676
  copy() {
@@ -2630,6 +2681,7 @@ var TreeCursor = class _TreeCursor {
2630
2681
  }
2631
2682
  /** Delete the tree cursor, freeing its resources. */
2632
2683
  delete() {
2684
+ finalizer3?.unregister(this);
2633
2685
  marshalTreeCursor(this);
2634
2686
  C._ts_tree_cursor_delete_wasm(this.tree[0]);
2635
2687
  this[0] = this[1] = this[2] = 0;
@@ -3730,8 +3782,9 @@ var Language = class _Language {
3730
3782
  * This returns `null` if state is invalid for this language.
3731
3783
  *
3732
3784
  * Iterating {@link LookaheadIterator} will yield valid symbols in the given
3733
- * parse state. Newly created lookahead iterators will return the `ERROR`
3734
- * symbol from {@link LookaheadIterator#currentType}.
3785
+ * parse state. A newly created iterator is not positioned on a symbol, so
3786
+ * {@link LookaheadIterator#currentType} returns `null` until the first
3787
+ * iteration step.
3735
3788
  *
3736
3789
  * Lookahead iterators can be useful for generating suggestions and improving
3737
3790
  * syntax error diagnostics. To get symbols valid in an `ERROR` node, use the
@@ -3746,7 +3799,8 @@ var Language = class _Language {
3746
3799
  }
3747
3800
  /**
3748
3801
  * Load a language from a WebAssembly module.
3749
- * The module can be provided as a path to a file or as a buffer.
3802
+ * The module can be provided as a path to a file, a `URL` to a file, or as a
3803
+ * buffer.
3750
3804
  */
3751
3805
  static async load(input) {
3752
3806
  let binary2;
@@ -3773,16 +3827,27 @@ ${body2}`);
3773
3827
  }
3774
3828
  }
3775
3829
  const mod = await C.loadWebAssemblyModule(binary2, { loadAsync: true });
3830
+ return _Language.loadFromWasmExports(mod, { sync: false });
3831
+ }
3832
+ static loadFromWasmExports(mod, { sync }) {
3776
3833
  const symbolNames = Object.keys(mod);
3777
3834
  const functionName = symbolNames.find((key) => LANGUAGE_FUNCTION_REGEX.test(key) && !key.includes("external_scanner_"));
3778
3835
  if (!functionName) {
3779
3836
  console.log(`Couldn't find language function in Wasm file. Symbols:
3780
3837
  ${JSON.stringify(symbolNames, null, 2)}`);
3781
- throw new Error("Language.load failed: no language function found in Wasm file");
3838
+ throw new Error(`Language.${sync ? "loadSync" : "load"} failed: no language function found in Wasm file`);
3782
3839
  }
3783
3840
  const languageAddress = mod[functionName]();
3784
3841
  return new _Language(INTERNAL, languageAddress);
3785
3842
  }
3843
+ /**
3844
+ * Load a language synchronously from a pre-compiled WebAssembly module.
3845
+ * Use this when the host environment provides a `WebAssembly.Module` directly.
3846
+ */
3847
+ static loadSync(wasmModule) {
3848
+ const mod = C.loadWebAssemblyModule(wasmModule, { loadAsync: false });
3849
+ return _Language.loadFromWasmExports(mod, { sync: true });
3850
+ }
3786
3851
  };
3787
3852
 
3788
3853
  // src/bindings.ts
@@ -3801,6 +3866,10 @@ __name(checkModule, "checkModule");
3801
3866
  var TRANSFER_BUFFER;
3802
3867
  var LANGUAGE_VERSION;
3803
3868
  var MIN_COMPATIBLE_VERSION;
3869
+ var finalizer4 = newFinalizer((addresses) => {
3870
+ C._ts_parser_delete(addresses[0]);
3871
+ C._free(addresses[1]);
3872
+ });
3804
3873
  var Parser = class {
3805
3874
  static {
3806
3875
  __name(this, "Parser");
@@ -3832,6 +3901,7 @@ var Parser = class {
3832
3901
  */
3833
3902
  constructor() {
3834
3903
  this.initialize();
3904
+ finalizer4?.register(this, [this[0], this[1]], this);
3835
3905
  }
3836
3906
  /** @internal */
3837
3907
  initialize() {
@@ -3844,6 +3914,7 @@ var Parser = class {
3844
3914
  }
3845
3915
  /** Delete the parser, freeing its resources. */
3846
3916
  delete() {
3917
+ finalizer4?.unregister(this);
3847
3918
  C._ts_parser_delete(this[0]);
3848
3919
  C._free(this[1]);
3849
3920
  this[0] = 0;
@@ -4021,6 +4092,10 @@ var QueryError = class _QueryError extends Error {
4021
4092
  this.length = length;
4022
4093
  this.name = "QueryError";
4023
4094
  }
4095
+ kind;
4096
+ info;
4097
+ index;
4098
+ length;
4024
4099
  static {
4025
4100
  __name(this, "QueryError");
4026
4101
  }
@@ -4216,6 +4291,9 @@ function parsePattern(index, stepType, stepValueId, captureNames, stringValues,
4216
4291
  }
4217
4292
  }
4218
4293
  __name(parsePattern, "parsePattern");
4294
+ var finalizer5 = newFinalizer((address) => {
4295
+ C._ts_query_delete(address);
4296
+ });
4219
4297
  var Query = class {
4220
4298
  static {
4221
4299
  __name(this, "Query");
@@ -4370,9 +4448,11 @@ var Query = class {
4370
4448
  this.assertedProperties = assertedProperties;
4371
4449
  this.refutedProperties = refutedProperties;
4372
4450
  this.exceededMatchLimit = false;
4451
+ finalizer5?.register(this, address, this);
4373
4452
  }
4374
4453
  /** Delete the query, freeing its resources. */
4375
4454
  delete() {
4455
+ finalizer5?.unregister(this);
4376
4456
  C._ts_query_delete(this[0]);
4377
4457
  this[0] = 0;
4378
4458
  }