@bendyline/gezel-service 1.0.2 → 1.0.3
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/dist/bin/gezeld.js +17312 -16791
- package/dist/handboek.js +13 -2
- package/dist/index-store/static-index-worker.js +8 -5
- package/dist/index.d.ts +64 -5
- package/dist/index.js +17312 -16791
- package/dist/providers/mlx/python/gezel_mlx_server.py +154 -22
- package/dist/ui/assets/{TerminalCodeEditor-BpkIEKrW.js → TerminalCodeEditor-CXspNipu.js} +2 -2
- package/dist/ui/assets/{_.contribution-DESswd3T.js → _.contribution-Bi8h5rS7.js} +1 -1
- package/dist/ui/assets/{cpp.contribution-DazoHQwn.js → cpp.contribution-CIgWElWw.js} +1 -1
- package/dist/ui/assets/{csharp.contribution-B64MdTmq.js → csharp.contribution-DDiJzXzB.js} +1 -1
- package/dist/ui/assets/{css.contribution-u617lXYH.js → css.contribution-Dc5E_mNx.js} +1 -1
- package/dist/ui/assets/{cssMode-Cf_QqRjJ.js → cssMode-BN_VZB6O.js} +1 -1
- package/dist/ui/assets/dist-BwDZUtiH.js +2 -0
- package/dist/ui/assets/dist-D4PZf1Q3.js +222 -0
- package/dist/ui/assets/{dockerfile.contribution-P8T1FxHz.js → dockerfile.contribution-BQsaSuAJ.js} +1 -1
- package/dist/ui/assets/{go.contribution-BqqmPpYF.js → go.contribution-CPvqBST7.js} +1 -1
- package/dist/ui/assets/{handlebars-B9qcPqjD.js → handlebars-DJvRMy-I.js} +1 -1
- package/dist/ui/assets/{handlebars.contribution-vZslMuRE.js → handlebars.contribution-BNbstxN6.js} +2 -2
- package/dist/ui/assets/{html-Fp2jEZ7j.js → html-Becff5XU.js} +1 -1
- package/dist/ui/assets/{html.contribution-B1GzaEV-.js → html.contribution-CPDzzJ0M.js} +2 -2
- package/dist/ui/assets/{htmlMode-B5cPhGim.js → htmlMode-BFmyC6t-.js} +1 -1
- package/dist/ui/assets/index-DTicLc4o.css +1 -0
- package/dist/ui/assets/{index-CQSh1NUQ.js → index-w_CaRVtV.js} +192 -191
- package/dist/ui/assets/{ini.contribution-XkZYQphY.js → ini.contribution-DFSSA0eY.js} +1 -1
- package/dist/ui/assets/{java.contribution-CUQitE0a.js → java.contribution-Bdvvskrf.js} +1 -1
- package/dist/ui/assets/{javascript-CcBUpTjJ.js → javascript-DByfaclN.js} +1 -1
- package/dist/ui/assets/{javascript.contribution-D6DhUpPP.js → javascript.contribution-CPCuprn0.js} +2 -2
- package/dist/ui/assets/{jsonMode-D9SbmDW6.js → jsonMode-CxkV6dJT.js} +1 -1
- package/dist/ui/assets/{kotlin.contribution-B9AYd3Yp.js → kotlin.contribution-D8eqi2Fi.js} +1 -1
- package/dist/ui/assets/{less.contribution-DtKQK3HF.js → less.contribution-DFRb86Ld.js} +1 -1
- package/dist/ui/assets/{lua.contribution-DxFFDcBW.js → lua.contribution-BgktkcsF.js} +1 -1
- package/dist/ui/assets/{markdown.contribution-B7aCxle-.js → markdown.contribution-BKqBKD_g.js} +1 -1
- package/dist/ui/assets/{monaco-BBFILBn6.js → monaco-CyhM025v.js} +3 -3
- package/dist/ui/assets/{monaco-base-CvsKN-Z-.js → monaco-base-hW9ht_BG.js} +1 -1
- package/dist/ui/assets/{monaco-setup-BeHgXlpG.js → monaco-setup-Cquhh1OE.js} +1 -1
- package/dist/ui/assets/{monaco.contribution-DRZnYNPl.js → monaco.contribution-BVrZ1Anc.js} +2 -2
- package/dist/ui/assets/{monaco.contribution-B-c9k_-7.js → monaco.contribution-Cle0Lbgx.js} +2 -2
- package/dist/ui/assets/{monaco.contribution-BBrbIBfd.js → monaco.contribution-D9-bPyBf.js} +2 -2
- package/dist/ui/assets/{monaco.contribution-Baa3Cv83.js → monaco.contribution-Dl8lHLi5.js} +2 -2
- package/dist/ui/assets/{php.contribution-vC08ovbS.js → php.contribution-CcYxMawn.js} +1 -1
- package/dist/ui/assets/{python-CevkXHVb.js → python-DivQov6J.js} +1 -1
- package/dist/ui/assets/{python.contribution-C6TUOYNZ.js → python.contribution-CiRaN0sm.js} +2 -2
- package/dist/ui/assets/{ruby.contribution-BMZvE4z1.js → ruby.contribution-DNudSRrU.js} +1 -1
- package/dist/ui/assets/{rust.contribution-DOWKjtrn.js → rust.contribution-BqG2lQpP.js} +1 -1
- package/dist/ui/assets/{scss.contribution-BXLJWEv0.js → scss.contribution-DDxPnF-K.js} +1 -1
- package/dist/ui/assets/{shell.contribution-gbqcscnj.js → shell.contribution-Q7wVL7zv.js} +1 -1
- package/dist/ui/assets/{sql.contribution-DO39C_-u.js → sql.contribution-B9ndj3QH.js} +1 -1
- package/dist/ui/assets/{swift.contribution-D4Vjb2VA.js → swift.contribution-D_FDdL6S.js} +1 -1
- package/dist/ui/assets/{terminal-monaco-setup-Bb4lnoOq.js → terminal-monaco-setup-BdF0mUfG.js} +1 -1
- package/dist/ui/assets/{tsMode-BAHQHAnm.js → tsMode-JVR2Jo5q.js} +1 -1
- package/dist/ui/assets/{typescript-15FhCrR2.js → typescript-1ZOjdUnd.js} +1 -1
- package/dist/ui/assets/{typescript.contribution-D30L44Mw.js → typescript.contribution-_s-8TvIE.js} +2 -2
- package/dist/ui/assets/{xml-BA1mrkDo.js → xml-DrdFGpo2.js} +1 -1
- package/dist/ui/assets/{xml.contribution-CN9NFcUA.js → xml.contribution-DUPYAKAC.js} +2 -2
- package/dist/ui/assets/{yaml-CIqCv-ro.js → yaml-DYQPB5Mj.js} +1 -1
- package/dist/ui/assets/{yaml.contribution-BsLB8vrs.js → yaml.contribution-CRBo99nF.js} +2 -2
- package/dist/ui/index.html +4 -4
- package/package.json +11 -11
- package/dist/ui/assets/dist-DB6xxrlD.js +0 -2
- package/dist/ui/assets/dist-DucbO86I.js +0 -222
- package/dist/ui/assets/index-Ch0qGtVJ.css +0 -1
|
@@ -368,6 +368,16 @@ print("Model and processor loaded successfully.", flush=True)
|
|
|
368
368
|
# never piles KV past the point where a Metal command-buffer allocation aborts
|
|
369
369
|
# the whole python process. 0 = unset (no ceiling → admit on width alone).
|
|
370
370
|
_MEM_LIMIT_BYTES = 0
|
|
371
|
+
# The resident-set target supplied by the TS capacity broker. Keep this
|
|
372
|
+
# separately from the allocation ceiling: mlx_lm's BatchGenerator currently
|
|
373
|
+
# overwrites the process wired limit with Metal's full recommended working set
|
|
374
|
+
# during construction, so the Gezel policy must be reapplied afterwards.
|
|
375
|
+
_WIRED_LIMIT_BYTES = 0
|
|
376
|
+
# MLX keeps freed Metal buffers for reuse in a process-global cache. That is
|
|
377
|
+
# useful, but an unbounded pool made a ~62 GB working set retain another
|
|
378
|
+
# ~45 GB until mlx_lm's coarse 512-step clear, producing a 65 -> 120 GB
|
|
379
|
+
# sawtooth. This cap is intentionally distinct from the prompt/KV cache budget.
|
|
380
|
+
_MLX_BUFFER_CACHE_LIMIT_BYTES = 0
|
|
371
381
|
# Throttle a multi-sub wave down to serial once live allocation reaches this
|
|
372
382
|
# fraction of the ceiling. Leaves headroom for the wave's own prefill/compute
|
|
373
383
|
# activation buffers, which land on top of already-resident weights + KV.
|
|
@@ -407,7 +417,15 @@ def _safe_cache_memory() -> int:
|
|
|
407
417
|
return 0
|
|
408
418
|
|
|
409
419
|
|
|
410
|
-
def
|
|
420
|
+
def _safe_peak_memory() -> int:
|
|
421
|
+
"""Peak MLX allocation in bytes, or 0 if unavailable."""
|
|
422
|
+
try:
|
|
423
|
+
return int(mx.get_peak_memory())
|
|
424
|
+
except Exception: # noqa: BLE001 — introspection is best-effort
|
|
425
|
+
return 0
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
def _log_memory(phase: str, cache_before: Optional[int] = None) -> None:
|
|
411
429
|
"""One line of memory truth per turn.
|
|
412
430
|
|
|
413
431
|
Nothing observed this engine between startup and the next restart, so a
|
|
@@ -418,17 +436,91 @@ def _log_memory(phase: str) -> None:
|
|
|
418
436
|
"""
|
|
419
437
|
active = _safe_active_memory()
|
|
420
438
|
cached = _safe_cache_memory()
|
|
439
|
+
peak = _safe_peak_memory()
|
|
421
440
|
if active <= 0 and cached <= 0:
|
|
422
441
|
return
|
|
423
442
|
mb = 1024 * 1024
|
|
424
443
|
ceiling = f", ceiling={_MEM_LIMIT_BYTES // mb}MB" if _MEM_LIMIT_BYTES > 0 else ""
|
|
444
|
+
wired = f", wired_limit={_WIRED_LIMIT_BYTES // mb}MB" if _WIRED_LIMIT_BYTES > 0 else ""
|
|
445
|
+
cache_limit = (
|
|
446
|
+
f", cache_limit={_MLX_BUFFER_CACHE_LIMIT_BYTES // mb}MB"
|
|
447
|
+
if _MLX_BUFFER_CACHE_LIMIT_BYTES > 0
|
|
448
|
+
else ""
|
|
449
|
+
)
|
|
450
|
+
peak_text = f" peak={peak // mb}MB" if peak > 0 else ""
|
|
451
|
+
reclaimed_text = (
|
|
452
|
+
f" cache_before={cache_before // mb}MB"
|
|
453
|
+
if cache_before is not None and cache_before > cached
|
|
454
|
+
else ""
|
|
455
|
+
)
|
|
425
456
|
print(
|
|
426
457
|
f"[mem] {phase}: active={active // mb}MB cache={cached // mb}MB "
|
|
427
|
-
f"total={(active + cached) // mb}MB{
|
|
458
|
+
f"total={(active + cached) // mb}MB{peak_text}{reclaimed_text}"
|
|
459
|
+
f"{ceiling}{wired}{cache_limit}",
|
|
428
460
|
flush=True,
|
|
429
461
|
)
|
|
430
462
|
|
|
431
463
|
|
|
464
|
+
def _apply_mlx_memory_policy(phase: str) -> None:
|
|
465
|
+
"""Apply Gezel's process-wide MLX memory policy.
|
|
466
|
+
|
|
467
|
+
This is deliberately idempotent. In particular it is called immediately
|
|
468
|
+
after BatchGenerator construction because mlx_lm resets the wired limit in
|
|
469
|
+
its constructor. Every MLX call is guarded for older sidecar runtimes.
|
|
470
|
+
"""
|
|
471
|
+
if _WIRED_LIMIT_BYTES > 0:
|
|
472
|
+
set_wired = getattr(mx, "set_wired_limit", None)
|
|
473
|
+
if set_wired is not None:
|
|
474
|
+
try:
|
|
475
|
+
set_wired(_WIRED_LIMIT_BYTES)
|
|
476
|
+
except Exception as exc: # noqa: BLE001
|
|
477
|
+
print(f"[mem] {phase} set_wired_limit skipped: {exc}", flush=True)
|
|
478
|
+
if _MLX_BUFFER_CACHE_LIMIT_BYTES > 0:
|
|
479
|
+
set_cache = getattr(mx, "set_cache_limit", None)
|
|
480
|
+
if set_cache is not None:
|
|
481
|
+
try:
|
|
482
|
+
set_cache(_MLX_BUFFER_CACHE_LIMIT_BYTES)
|
|
483
|
+
except Exception as exc: # noqa: BLE001
|
|
484
|
+
print(f"[mem] {phase} set_cache_limit skipped: {exc}", flush=True)
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
def _reclaim_mlx_buffer_cache(
|
|
488
|
+
phase: str, force: bool = False, log: bool = False
|
|
489
|
+
) -> bool:
|
|
490
|
+
"""Release MLX's free-buffer pool at a safe boundary or under pressure.
|
|
491
|
+
|
|
492
|
+
Active allocations (model weights and live KV state) are untouched.
|
|
493
|
+
`force` is used once a batch turn is fully drained; during generation we
|
|
494
|
+
clear only when total MLX memory crosses the admission threshold or the
|
|
495
|
+
runtime has temporarily exceeded the configured free-buffer cap.
|
|
496
|
+
"""
|
|
497
|
+
active = _safe_active_memory()
|
|
498
|
+
cached = _safe_cache_memory()
|
|
499
|
+
under_pressure = (
|
|
500
|
+
_MEM_LIMIT_BYTES > 0
|
|
501
|
+
and active + cached >= _MEM_LIMIT_BYTES * _MEM_ADMIT_FRACTION
|
|
502
|
+
)
|
|
503
|
+
over_cache_limit = (
|
|
504
|
+
_MLX_BUFFER_CACHE_LIMIT_BYTES > 0
|
|
505
|
+
and cached > _MLX_BUFFER_CACHE_LIMIT_BYTES
|
|
506
|
+
)
|
|
507
|
+
reclaimed = False
|
|
508
|
+
if force or under_pressure or over_cache_limit:
|
|
509
|
+
clear_cache = getattr(mx, "clear_cache", None)
|
|
510
|
+
if clear_cache is not None:
|
|
511
|
+
try:
|
|
512
|
+
clear_cache()
|
|
513
|
+
reclaimed = True
|
|
514
|
+
except Exception as exc: # noqa: BLE001
|
|
515
|
+
print(f"[mem] {phase} clear_cache skipped: {exc}", flush=True)
|
|
516
|
+
# Turn boundaries and actual pressure events are useful telemetry. A
|
|
517
|
+
# healthy periodic probe should stay silent instead of writing one line
|
|
518
|
+
# every 32 decode steps.
|
|
519
|
+
if log or force or under_pressure or over_cache_limit:
|
|
520
|
+
_log_memory(phase, cache_before=cached if reclaimed else None)
|
|
521
|
+
return reclaimed
|
|
522
|
+
|
|
523
|
+
|
|
432
524
|
def _setup_gpu_memory_ceiling() -> None:
|
|
433
525
|
"""Resolve the effective memory ceiling and the wired limit.
|
|
434
526
|
|
|
@@ -445,31 +537,42 @@ def _setup_gpu_memory_ceiling() -> None:
|
|
|
445
537
|
resident, not what the engine is allowed to allocate. Falls back to the
|
|
446
538
|
ceiling only when the supervisor passed no plan (unreadable geometry).
|
|
447
539
|
"""
|
|
448
|
-
global _MEM_LIMIT_BYTES
|
|
540
|
+
global _MEM_LIMIT_BYTES, _WIRED_LIMIT_BYTES, _MLX_BUFFER_CACHE_LIMIT_BYTES
|
|
449
541
|
recommended = _metal_recommended_working_set()
|
|
450
542
|
arg_limit = max(0, int(getattr(ARGS, "gpu_memory_limit_mb", 0) or 0)) * 1024 * 1024
|
|
451
543
|
candidates = [b for b in (recommended, arg_limit) if b > 0]
|
|
452
544
|
_MEM_LIMIT_BYTES = min(candidates) if candidates else 0
|
|
453
545
|
planned = max(0, int(getattr(ARGS, "wired_limit_mb", 0) or 0)) * 1024 * 1024
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
546
|
+
_WIRED_LIMIT_BYTES = (
|
|
547
|
+
min(planned, _MEM_LIMIT_BYTES)
|
|
548
|
+
if planned > 0 and _MEM_LIMIT_BYTES > 0
|
|
549
|
+
else planned or _MEM_LIMIT_BYTES
|
|
550
|
+
)
|
|
551
|
+
# Retain a small amount of free Metal storage for fast reuse, scaled to
|
|
552
|
+
# the planned working set but never allowed to become a second model-sized
|
|
553
|
+
# pool. Current 27B geometry resolves to just under 4 GB.
|
|
554
|
+
cache_scale = _WIRED_LIMIT_BYTES or _MEM_LIMIT_BYTES
|
|
555
|
+
if cache_scale > 0:
|
|
556
|
+
_MLX_BUFFER_CACHE_LIMIT_BYTES = max(
|
|
557
|
+
256 * 1024 * 1024,
|
|
558
|
+
min(4 * 1024 * 1024 * 1024, cache_scale // 16),
|
|
559
|
+
)
|
|
560
|
+
else:
|
|
561
|
+
_MLX_BUFFER_CACHE_LIMIT_BYTES = 1024 * 1024 * 1024
|
|
562
|
+
_apply_mlx_memory_policy("startup")
|
|
465
563
|
print(
|
|
466
564
|
f"[mem] gpu ceiling={_MEM_LIMIT_BYTES // (1024 * 1024)}MB "
|
|
467
565
|
f"(budget={arg_limit // (1024 * 1024)}MB, "
|
|
468
566
|
f"metal_recommended={recommended // (1024 * 1024)}MB, "
|
|
469
|
-
f"wired={
|
|
567
|
+
f"wired={_WIRED_LIMIT_BYTES // (1024 * 1024)}MB, "
|
|
568
|
+
f"buffer_cache_limit={_MLX_BUFFER_CACHE_LIMIT_BYTES // (1024 * 1024)}MB, "
|
|
470
569
|
f"active={_safe_active_memory() // (1024 * 1024)}MB)",
|
|
471
570
|
flush=True,
|
|
472
571
|
)
|
|
572
|
+
# Model loading happened before this policy was known. Drop any free
|
|
573
|
+
# compilation/loading buffers it left behind so the first turn starts from
|
|
574
|
+
# the same bounded baseline as every later turn.
|
|
575
|
+
_reclaim_mlx_buffer_cache("startup-ready", force=True)
|
|
473
576
|
|
|
474
577
|
|
|
475
578
|
_setup_gpu_memory_ceiling()
|
|
@@ -981,6 +1084,10 @@ class BatchEngine:
|
|
|
981
1084
|
prefill_batch_size=self._max,
|
|
982
1085
|
prefill_step_size=ARGS.prefill_step_size,
|
|
983
1086
|
)
|
|
1087
|
+
# mlx_lm BatchGenerator sets the wired limit to Metal's entire
|
|
1088
|
+
# recommended working set in its constructor. Restore the smaller
|
|
1089
|
+
# resident-set plan and free-buffer cap selected by Gezel.
|
|
1090
|
+
_apply_mlx_memory_policy("batch-init")
|
|
984
1091
|
self._subs = {} # uid -> _Sub
|
|
985
1092
|
self._pending = [] # _Sub awaiting insert
|
|
986
1093
|
self._wake = asyncio.Event()
|
|
@@ -1004,6 +1111,7 @@ class BatchEngine:
|
|
|
1004
1111
|
self._prefill_total = 0 # new tokens the active wave is prefilling
|
|
1005
1112
|
self._prefill_done = {} # uid → tokens prefilled so far (this wave)
|
|
1006
1113
|
self._last_prefill_emit = 0.0
|
|
1114
|
+
self._memory_check_steps = 0
|
|
1007
1115
|
print(
|
|
1008
1116
|
f"[batch] engine ready max_concurrency={self._max} "
|
|
1009
1117
|
f"stop_tokens={len(stop_tokens)} (+{len(eos_from_cfg)} from generation_config"
|
|
@@ -1018,6 +1126,10 @@ class BatchEngine:
|
|
|
1018
1126
|
self._pending.append(sub)
|
|
1019
1127
|
self._wake.set()
|
|
1020
1128
|
|
|
1129
|
+
def is_idle(self):
|
|
1130
|
+
"""True once no live or queued batch sub can still use scratch buffers."""
|
|
1131
|
+
return not self._subs and not self._pending
|
|
1132
|
+
|
|
1021
1133
|
def _sampler_for(self, request):
|
|
1022
1134
|
from mlx_lm.sample_utils import make_sampler
|
|
1023
1135
|
|
|
@@ -1138,10 +1250,7 @@ class BatchEngine:
|
|
|
1138
1250
|
if active >= threshold:
|
|
1139
1251
|
# Already tight before this wave even starts — reclaim any freed
|
|
1140
1252
|
# buffer cache and re-check once before forcing serial.
|
|
1141
|
-
|
|
1142
|
-
mx.clear_cache()
|
|
1143
|
-
except Exception: # noqa: BLE001
|
|
1144
|
-
pass
|
|
1253
|
+
_reclaim_mlx_buffer_cache("batch-admission", force=True)
|
|
1145
1254
|
active = _safe_active_memory()
|
|
1146
1255
|
return 1 if active >= threshold else pending
|
|
1147
1256
|
|
|
@@ -1244,6 +1353,14 @@ class BatchEngine:
|
|
|
1244
1353
|
sub.queue.put_nowait(("err", str(exc)))
|
|
1245
1354
|
self._subs.clear()
|
|
1246
1355
|
continue
|
|
1356
|
+
# set_cache_limit bounds future reuse, while this periodic
|
|
1357
|
+
# pressure check also catches temporary overshoot during a
|
|
1358
|
+
# long prefill/decode. It replaces reliance on mlx_lm's much
|
|
1359
|
+
# coarser 512-generation-step cache clear.
|
|
1360
|
+
self._memory_check_steps += 1
|
|
1361
|
+
if self._memory_check_steps >= 32:
|
|
1362
|
+
self._memory_check_steps = 0
|
|
1363
|
+
_reclaim_mlx_buffer_cache("batch-pressure")
|
|
1247
1364
|
for pr in prompt_responses:
|
|
1248
1365
|
progress = getattr(pr, "progress", None)
|
|
1249
1366
|
has_progress = isinstance(progress, tuple) and len(progress) == 2
|
|
@@ -1499,6 +1616,12 @@ async def _batched_stream_iter(sub: "_Sub"):
|
|
|
1499
1616
|
# Release the eviction pins taken for this turn's cache + prefix.
|
|
1500
1617
|
_unmark_inflight(sub.pinned_cache_ids)
|
|
1501
1618
|
sub.pinned_cache_ids = []
|
|
1619
|
+
engine = _BATCH_ENGINE
|
|
1620
|
+
_reclaim_mlx_buffer_cache(
|
|
1621
|
+
"batch-turn-end",
|
|
1622
|
+
force=engine is None or engine.is_idle(),
|
|
1623
|
+
log=True,
|
|
1624
|
+
)
|
|
1502
1625
|
|
|
1503
1626
|
|
|
1504
1627
|
async def _await_batched_completion(sub: "_Sub") -> None:
|
|
@@ -1520,6 +1643,12 @@ async def _await_batched_completion(sub: "_Sub") -> None:
|
|
|
1520
1643
|
sub.cancelled = True
|
|
1521
1644
|
_unmark_inflight(sub.pinned_cache_ids)
|
|
1522
1645
|
sub.pinned_cache_ids = []
|
|
1646
|
+
engine = _BATCH_ENGINE
|
|
1647
|
+
_reclaim_mlx_buffer_cache(
|
|
1648
|
+
"batch-warm-end",
|
|
1649
|
+
force=engine is None or engine.is_idle(),
|
|
1650
|
+
log=True,
|
|
1651
|
+
)
|
|
1523
1652
|
|
|
1524
1653
|
|
|
1525
1654
|
_BATCH_ENGINE: "Optional[BatchEngine]" = None
|
|
@@ -2440,13 +2569,16 @@ async def chat_completions(request: ChatRequest, http_request: Request):
|
|
|
2440
2569
|
flush=True,
|
|
2441
2570
|
)
|
|
2442
2571
|
else:
|
|
2443
|
-
|
|
2444
|
-
print("Stream finished, cleared cache.", flush=True)
|
|
2572
|
+
print("Stream finished without a prompt-cache save.", flush=True)
|
|
2445
2573
|
# Release the eviction pins taken for this turn — AFTER the save
|
|
2446
2574
|
# above, so this turn's own _save_cache → _enforce_budget can't
|
|
2447
2575
|
# evict the entry it just wrote.
|
|
2448
2576
|
_unmark_inflight(pinned_cache_ids)
|
|
2449
|
-
|
|
2577
|
+
# Agentic tool loops issue multiple HTTP sub-turns inside one user
|
|
2578
|
+
# turn. Reclaim scratch buffers at every one of those boundaries,
|
|
2579
|
+
# including the cache-preserving path above; prompt KV remains an
|
|
2580
|
+
# active allocation and is not touched by clear_cache().
|
|
2581
|
+
_reclaim_mlx_buffer_cache("turn-end", force=True, log=True)
|
|
2450
2582
|
|
|
2451
2583
|
return StreamingResponse(
|
|
2452
2584
|
stream_iter(),
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-monaco-setup-
|
|
2
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./preload-helper-Czpn1I53.js";import{c as n,l as r,o as i}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-monaco-setup-BdF0mUfG.js","assets/index-w_CaRVtV.js","assets/rolldown-runtime-aKtaBQYM.js","assets/dist-D4PZf1Q3.js","assets/dist-BwDZUtiH.js","assets/chunk-S5PCVMKU-DopU3Q9j.js","assets/chunk-7AWFHP5U-MiVVPFTx.js","assets/jszip.min-DhiFe-R7.js","assets/doc-B7NXSLxH.js","assets/chunk-O7JILDEF-CqcO1qaI.js","assets/chunk-BAOV476U-yPHu-ECL.js","assets/chunk-4VOD55SX-BFSSw0c8.js","assets/chunk-GAZKTT4R-BUf32614.js","assets/chunk-6MVWWZHL-BtFOxGE8.js","assets/chunk-XRW6P7IF-BeQQgMVK.js","assets/markdown-ekej7NJt.js","assets/schemas-Drh23Boe.js","assets/preload-helper-Czpn1I53.js","assets/pptx-CsdVR0xn.js","assets/chunk-USU6HTKB-B-ElCUQS.js","assets/chunk-JU2RHXUB-CMFDhTux.js","assets/chunk-DWNNYO5H-C9-5Gy65.js","assets/chunk-ILCJ3WFD-fHFoZ9wm.js","assets/chunk-IIQYS2YH-CPXng8SW.js","assets/storage-DUIC1aL6.js","assets/chunk-AONELFLA-Cv2nS9ga.js","assets/chunk-6RQOV3B3-CwvKotJw.js","assets/chunk-6N2J7C2B-Du7clJkV.js","assets/transform-MBfVXq54.js","assets/container-CKiqsJHV.js","assets/docx-IZY6hX8A.js","assets/html-Cgejr9YM.js","assets/pdf-66KslaXf.js","assets/chunk-KXOZMWBS-BwD4KMLI.js","assets/index-DTicLc4o.css","assets/monaco-CyhM025v.js","assets/iconLabel-uMn49Ame.js","assets/iconLabel-Bdh_-Hrb.css","assets/codiconStyles-104B1IQ5.js","assets/codiconStyles-Bp1tMeMk.css","assets/monaco-BBUd89IN.css","assets/monaco-base-hW9ht_BG.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./preload-helper-Czpn1I53.js";import{c as n,l as r,o as i}from"./index-w_CaRVtV.js";var a=e(r(),1),o=n();function s(e,t){let n=t.getLineCount(),r={lineNumber:n,column:t.getLineMaxColumn(n)};e.setPosition(r),e.revealPosition(r)}var c=(0,a.forwardRef)(function({projectId:e,initialValue:n,placeholder:r,className:c,onChange:l,onSubmit:u,onHistoryPrev:d,onHistoryNext:f,onChatEscape:p,onReady:m},h){let g=(0,a.useRef)(null),_=(0,a.useRef)(null),v=(0,a.useRef)(null),y=(0,a.useRef)(null),[,b]=(0,a.useState)(!1),x=i(),S=(0,a.useRef)(l),C=(0,a.useRef)(u),w=(0,a.useRef)(d),T=(0,a.useRef)(f),E=(0,a.useRef)(p),D=(0,a.useRef)(m);(0,a.useEffect)(()=>{S.current=l,C.current=u,w.current=d,T.current=f,E.current=p,D.current=m});let O=(0,a.useRef)(n),k=(0,a.useRef)(r),A=(0,a.useRef)(n.length),j=(0,a.useRef)(x);return j.current=x,(0,a.useEffect)(()=>{let n=!1,r=[];return(async()=>{let i;try{i=await t(()=>import(`./terminal-monaco-setup-BdF0mUfG.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41])),await i.ensureTerminalMonaco()}catch{return}if(n||!g.current)return;let a=i.monaco;_.current=a;let o=i.terminalModelUri(e);a.editor.getModel(o)?.dispose();let c=a.editor.createModel(O.current,`gezel-terminal`,o);y.current=c;let l=a.editor.create(g.current,{model:c,automaticLayout:!0,lineNumbers:`off`,glyphMargin:!1,folding:!1,minimap:{enabled:!1},lineDecorationsWidth:0,lineNumbersMinChars:0,renderLineHighlight:`none`,scrollBeyondLastLine:!1,overviewRulerLanes:0,hideCursorInOverviewRuler:!0,scrollbar:{vertical:`auto`,horizontal:`hidden`,verticalScrollbarSize:6,useShadows:!1},wordWrap:`on`,fontSize:13.6,fontFamily:`var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)`,lineHeight:21,padding:{top:6,bottom:6},fixedOverflowWidgets:!0,quickSuggestions:{other:!0,comments:!1,strings:!0},suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:`off`,tabCompletion:`on`,contextmenu:!1,roundedSelection:!1,guides:{indentation:!1},renderWhitespace:`none`,occurrencesHighlight:`off`,matchBrackets:`never`});v.current=l,a.editor.setTheme(j.current===`dark`?`gezel-terminal-dark`:`gezel-terminal-light`),l.addCommand(a.KeyCode.Enter,()=>C.current(c.getValue())),l.addCommand(a.KeyMod.Shift|a.KeyCode.Enter,()=>l.trigger(`keyboard`,`type`,{text:`
|
|
3
3
|
`}));let u=l.createContextKey(`terminalAtFirstLine`,!0),d=l.createContextKey(`terminalAtLastLine`,!0),f=()=>{let e=l.getPosition();u.set(!e||e.lineNumber===1),d.set(!e||e.lineNumber===c.getLineCount())};f(),r.push(l.onDidChangeCursorPosition(f)),r.push(c.onDidChangeContent(f)),l.addCommand(a.KeyCode.UpArrow,()=>w.current(),`terminalAtFirstLine && !suggestWidgetVisible`),l.addCommand(a.KeyCode.DownArrow,()=>T.current(),`terminalAtLastLine && !suggestWidgetVisible`),r.push(c.onDidChangeContent(()=>{let e=c.getValue(),t=A.current;if(A.current=e.length,E.current&&t<=1&&e.startsWith(`@`)){E.current();return}S.current?.(e)}));let p=k.current;if(p){let e=document.createElement(`div`);e.className=`terminal-editor-placeholder`,e.textContent=p;let t={getId:()=>`gezel.terminal.placeholder`,getDomNode:()=>e,getPosition:()=>({position:{lineNumber:1,column:1},preference:[a.editor.ContentWidgetPositionPreference.EXACT]})},n=!1,i=()=>{let e=c.getValue()===``;e&&!n?(l.addContentWidget(t),n=!0):!e&&n&&(l.removeContentWidget(t),n=!1)};i(),r.push(c.onDidChangeContent(i)),r.push({dispose:()=>{n&&l.removeContentWidget(t)}})}l.focus(),s(l,c),b(!0),D.current?.()})(),()=>{n=!0;for(let e of r)e.dispose();v.current?.dispose(),v.current=null,y.current?.dispose(),y.current=null}},[e]),(0,a.useEffect)(()=>{_.current?.editor.setTheme(x===`dark`?`gezel-terminal-dark`:`gezel-terminal-light`)},[x]),(0,a.useImperativeHandle)(h,()=>({getValue:()=>y.current?.getValue()??``,setValue:e=>{let t=y.current,n=v.current;t&&(t.setValue(e),A.current=e.length,n&&s(n,t))},focus:()=>v.current?.focus()}),[]),(0,o.jsx)(`div`,{ref:g,className:c??`terminal-editor-host`,"data-testid":`terminal-editor`})});export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as e}from"./monaco-
|
|
1
|
+
import{s as e}from"./monaco-CyhM025v.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c={},l={},u=class e{static getOrCreate(t){return l[t]||(l[t]=new e(t)),l[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,c[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function d(e){let t=e.id;c[t]=e,s.languages.register(e);let n=u.getOrCreate(t);s.languages.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),s.languages.onLanguageEncountered(t,async()=>{let e=await n.load();s.languages.setLanguageConfiguration(t,e.conf)})}export{d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./_.contribution-
|
|
1
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./_.contribution-Bi8h5rS7.js";t({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>e(()=>import(`./cpp-C7h46wYY.js`),[])}),t({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>e(()=>import(`./cpp-C7h46wYY.js`),[])});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./_.contribution-
|
|
1
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./_.contribution-Bi8h5rS7.js";t({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>e(()=>import(`./csharp-BKxtCVv1.js`),[])});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./_.contribution-
|
|
1
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./_.contribution-Bi8h5rS7.js";t({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>e(()=>import(`./css-DIMkf-bt.js`),[])});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as e}from"./monaco-BBFILBn6.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=120*1e3,l=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>c&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s.editor.createWebWorker({moduleId:`vs/language/css/cssWorker`,label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},u;(function(e){function t(e){return typeof e==`string`}e.is=t})(u||={});var d;(function(e){function t(e){return typeof e==`string`}e.is=t})(d||={});var f;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(f||={});var p;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(p||={});var m;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=p.MAX_VALUE),t===Number.MAX_VALUE&&(t=p.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.uinteger(t.line)&&V.uinteger(t.character)}e.is=n})(m||={});var h;(function(e){function t(e,t,n,r){if(V.uinteger(e)&&V.uinteger(t)&&V.uinteger(n)&&V.uinteger(r))return{start:m.create(e,t),end:m.create(n,r)};if(m.is(e)&&m.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&m.is(t.start)&&m.is(t.end)}e.is=n})(h||={});var g;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.range)&&(V.string(t.uri)||V.undefined(t.uri))}e.is=n})(g||={});var ee;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.targetRange)&&V.string(t.targetUri)&&h.is(t.targetSelectionRange)&&(h.is(t.originSelectionRange)||V.undefined(t.originSelectionRange))}e.is=n})(ee||={});var _;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.numberRange(t.red,0,1)&&V.numberRange(t.green,0,1)&&V.numberRange(t.blue,0,1)&&V.numberRange(t.alpha,0,1)}e.is=n})(_||={});var te;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.range)&&_.is(t.color)}e.is=n})(te||={});var ne;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.string(t.label)&&(V.undefined(t.textEdit)||C.is(t))&&(V.undefined(t.additionalTextEdits)||V.typedArray(t.additionalTextEdits,C.is))}e.is=n})(ne||={});var v;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(v||={});var re;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return V.defined(n)&&(o.startCharacter=n),V.defined(r)&&(o.endCharacter=r),V.defined(i)&&(o.kind=i),V.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.uinteger(t.startLine)&&V.uinteger(t.startLine)&&(V.undefined(t.startCharacter)||V.uinteger(t.startCharacter))&&(V.undefined(t.endCharacter)||V.uinteger(t.endCharacter))&&(V.undefined(t.kind)||V.string(t.kind))}e.is=n})(re||={});var y;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&g.is(t.location)&&V.string(t.message)}e.is=n})(y||={});var b;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(b||={});var ie;(function(e){e.Unnecessary=1,e.Deprecated=2})(ie||={});var ae;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&V.string(t.href)}e.is=t})(ae||={});var x;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return V.defined(n)&&(o.severity=n),V.defined(r)&&(o.code=r),V.defined(i)&&(o.source=i),V.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&V.string(t.message)&&(V.number(t.severity)||V.undefined(t.severity))&&(V.integer(t.code)||V.string(t.code)||V.undefined(t.code))&&(V.undefined(t.codeDescription)||V.string(t.codeDescription?.href))&&(V.string(t.source)||V.undefined(t.source))&&(V.undefined(t.relatedInformation)||V.typedArray(t.relatedInformation,y.is))}e.is=n})(x||={});var S;(function(e){function t(e,t,...n){let r={title:e,command:t};return V.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.title)&&V.string(t.command)}e.is=n})(S||={});var C;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return V.objectLiteral(t)&&V.string(t.newText)&&h.is(t.range)}e.is=i})(C||={});var w;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.string(t.label)&&(V.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(V.string(t.description)||t.description===void 0)}e.is=n})(w||={});var T;(function(e){function t(e){let t=e;return V.string(t)}e.is=t})(T||={});var oe;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return C.is(t)&&(w.is(t.annotationId)||T.is(t.annotationId))}e.is=i})(oe||={});var se;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&A.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(se||={});var E;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&V.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||V.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||V.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(E||={});var D;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&V.string(t.oldUri)&&V.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||V.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||V.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(D||={});var O;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&V.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||V.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||V.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(O||={});var k;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>V.string(e.kind)?E.is(e)||D.is(e)||O.is(e):se.is(e)))}e.is=t})(k||={});var ce;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)}e.is=n})(ce||={});var le;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&V.integer(t.version)}e.is=n})(le||={});var A;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&(t.version===null||V.integer(t.version))}e.is=n})(A||={});var ue;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&V.string(t.languageId)&&V.integer(t.version)&&V.string(t.text)}e.is=n})(ue||={});var j;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(j||={});var M;(function(e){function t(e){let t=e;return V.objectLiteral(e)&&j.is(t.kind)&&V.string(t.value)}e.is=t})(M||={});var N;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(N||={});var P;(function(e){e.PlainText=1,e.Snippet=2})(P||={});var de;(function(e){e.Deprecated=1})(de||={});var fe;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&V.string(t.newText)&&h.is(t.insert)&&h.is(t.replace)}e.is=n})(fe||={});var pe;(function(e){e.asIs=1,e.adjustIndentation=2})(pe||={});var me;(function(e){function t(e){let t=e;return t&&(V.string(t.detail)||t.detail===void 0)&&(V.string(t.description)||t.description===void 0)}e.is=t})(me||={});var he;(function(e){function t(e){return{label:e}}e.create=t})(he||={});var ge;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(ge||={});var F;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return V.string(t)||V.objectLiteral(t)&&V.string(t.language)&&V.string(t.value)}e.is=n})(F||={});var _e;(function(e){function t(e){let t=e;return!!t&&V.objectLiteral(t)&&(M.is(t.contents)||F.is(t.contents)||V.typedArray(t.contents,F.is))&&(e.range===void 0||h.is(e.range))}e.is=t})(_e||={});var ve;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(ve||={});var ye;(function(e){function t(e,t,...n){let r={label:e};return V.defined(t)&&(r.documentation=t),V.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(ye||={});var I;(function(e){e.Text=1,e.Read=2,e.Write=3})(I||={});var be;(function(e){function t(e,t){let n={range:e};return V.number(t)&&(n.kind=t),n}e.create=t})(be||={});var L;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(L||={});var xe;(function(e){e.Deprecated=1})(xe||={});var Se;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(Se||={});var Ce;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(Ce||={});var we;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&V.string(t.name)&&V.number(t.kind)&&h.is(t.range)&&h.is(t.selectionRange)&&(t.detail===void 0||V.string(t.detail))&&(t.deprecated===void 0||V.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(we||={});var Te;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(Te||={});var R;(function(e){e.Invoked=1,e.Automatic=2})(R||={});var Ee;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return V.defined(t)&&V.typedArray(t.diagnostics,x.is)&&(t.only===void 0||V.typedArray(t.only,V.string))&&(t.triggerKind===void 0||t.triggerKind===R.Invoked||t.triggerKind===R.Automatic)}e.is=n})(Ee||={});var De;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):S.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&V.string(t.title)&&(t.diagnostics===void 0||V.typedArray(t.diagnostics,x.is))&&(t.kind===void 0||V.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||S.is(t.command))&&(t.isPreferred===void 0||V.boolean(t.isPreferred))&&(t.edit===void 0||k.is(t.edit))}e.is=n})(De||={});var Oe;(function(e){function t(e,t){let n={range:e};return V.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&(V.undefined(t.command)||S.is(t.command))}e.is=n})(Oe||={});var ke;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.uinteger(t.tabSize)&&V.boolean(t.insertSpaces)}e.is=n})(ke||={});var Ae;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&(V.undefined(t.target)||V.string(t.target))}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return V.objectLiteral(n)&&h.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(je||={});var Me;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Me||={});var Ne;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Ne||={});var Pe;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Pe||={});var Fe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&V.string(t.text)}e.is=n})(Fe||={});var Ie;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&V.boolean(t.caseSensitiveLookup)&&(V.string(t.variableName)||t.variableName===void 0)}e.is=n})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&(V.string(t.expression)||t.expression===void 0)}e.is=n})(Le||={});var Re;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(e.stoppedLocation)}e.is=n})(Re||={});var z;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(z||={});var B;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&(t.tooltip===void 0||V.string(t.tooltip)||M.is(t.tooltip))&&(t.location===void 0||g.is(t.location))&&(t.command===void 0||S.is(t.command))}e.is=n})(B||={});var ze;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&m.is(t.position)&&(V.string(t.label)||V.typedArray(t.label,B.is))&&(t.kind===void 0||z.is(t.kind))&&t.textEdits===void 0||V.typedArray(t.textEdits,C.is)&&(t.tooltip===void 0||V.string(t.tooltip)||M.is(t.tooltip))&&(t.paddingLeft===void 0||V.boolean(t.paddingLeft))&&(t.paddingRight===void 0||V.boolean(t.paddingRight))}e.is=n})(ze||={});var Be;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Be||={});var Ve;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Ve||={});var He;(function(e){function t(e){return{items:e}}e.create=t})(He||={});var Ue;(function(e){e.Invoked=0,e.Automatic=1})(Ue||={});var We;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(We||={});var Ge;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(Ge||={});var Ke;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&d.is(t.uri)&&V.string(t.name)}e.is=t})(Ke||={});var qe;(function(e){function t(e,t,n,r){return new Je(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(V.defined(t)&&V.string(t.uri)&&(V.undefined(t.languageId)||V.string(t.languageId))&&V.uinteger(t.lineCount)&&V.func(t.getText)&&V.func(t.positionAt)&&V.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(qe||={});var Je=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
1
|
+
import{s as e}from"./monaco-CyhM025v.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=120*1e3,l=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>c&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s.editor.createWebWorker({moduleId:`vs/language/css/cssWorker`,label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},u;(function(e){function t(e){return typeof e==`string`}e.is=t})(u||={});var d;(function(e){function t(e){return typeof e==`string`}e.is=t})(d||={});var f;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(f||={});var p;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(p||={});var m;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=p.MAX_VALUE),t===Number.MAX_VALUE&&(t=p.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.uinteger(t.line)&&V.uinteger(t.character)}e.is=n})(m||={});var h;(function(e){function t(e,t,n,r){if(V.uinteger(e)&&V.uinteger(t)&&V.uinteger(n)&&V.uinteger(r))return{start:m.create(e,t),end:m.create(n,r)};if(m.is(e)&&m.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&m.is(t.start)&&m.is(t.end)}e.is=n})(h||={});var g;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.range)&&(V.string(t.uri)||V.undefined(t.uri))}e.is=n})(g||={});var ee;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.targetRange)&&V.string(t.targetUri)&&h.is(t.targetSelectionRange)&&(h.is(t.originSelectionRange)||V.undefined(t.originSelectionRange))}e.is=n})(ee||={});var _;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.numberRange(t.red,0,1)&&V.numberRange(t.green,0,1)&&V.numberRange(t.blue,0,1)&&V.numberRange(t.alpha,0,1)}e.is=n})(_||={});var te;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.range)&&_.is(t.color)}e.is=n})(te||={});var ne;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.string(t.label)&&(V.undefined(t.textEdit)||C.is(t))&&(V.undefined(t.additionalTextEdits)||V.typedArray(t.additionalTextEdits,C.is))}e.is=n})(ne||={});var v;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(v||={});var re;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return V.defined(n)&&(o.startCharacter=n),V.defined(r)&&(o.endCharacter=r),V.defined(i)&&(o.kind=i),V.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.uinteger(t.startLine)&&V.uinteger(t.startLine)&&(V.undefined(t.startCharacter)||V.uinteger(t.startCharacter))&&(V.undefined(t.endCharacter)||V.uinteger(t.endCharacter))&&(V.undefined(t.kind)||V.string(t.kind))}e.is=n})(re||={});var y;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&g.is(t.location)&&V.string(t.message)}e.is=n})(y||={});var b;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(b||={});var ie;(function(e){e.Unnecessary=1,e.Deprecated=2})(ie||={});var ae;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&V.string(t.href)}e.is=t})(ae||={});var x;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return V.defined(n)&&(o.severity=n),V.defined(r)&&(o.code=r),V.defined(i)&&(o.source=i),V.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&V.string(t.message)&&(V.number(t.severity)||V.undefined(t.severity))&&(V.integer(t.code)||V.string(t.code)||V.undefined(t.code))&&(V.undefined(t.codeDescription)||V.string(t.codeDescription?.href))&&(V.string(t.source)||V.undefined(t.source))&&(V.undefined(t.relatedInformation)||V.typedArray(t.relatedInformation,y.is))}e.is=n})(x||={});var S;(function(e){function t(e,t,...n){let r={title:e,command:t};return V.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.title)&&V.string(t.command)}e.is=n})(S||={});var C;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return V.objectLiteral(t)&&V.string(t.newText)&&h.is(t.range)}e.is=i})(C||={});var w;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.string(t.label)&&(V.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(V.string(t.description)||t.description===void 0)}e.is=n})(w||={});var T;(function(e){function t(e){let t=e;return V.string(t)}e.is=t})(T||={});var oe;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return C.is(t)&&(w.is(t.annotationId)||T.is(t.annotationId))}e.is=i})(oe||={});var se;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&A.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(se||={});var E;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&V.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||V.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||V.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(E||={});var D;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&V.string(t.oldUri)&&V.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||V.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||V.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(D||={});var O;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&V.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||V.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||V.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(O||={});var k;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>V.string(e.kind)?E.is(e)||D.is(e)||O.is(e):se.is(e)))}e.is=t})(k||={});var ce;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)}e.is=n})(ce||={});var le;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&V.integer(t.version)}e.is=n})(le||={});var A;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&(t.version===null||V.integer(t.version))}e.is=n})(A||={});var ue;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&V.string(t.languageId)&&V.integer(t.version)&&V.string(t.text)}e.is=n})(ue||={});var j;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(j||={});var M;(function(e){function t(e){let t=e;return V.objectLiteral(e)&&j.is(t.kind)&&V.string(t.value)}e.is=t})(M||={});var N;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(N||={});var P;(function(e){e.PlainText=1,e.Snippet=2})(P||={});var de;(function(e){e.Deprecated=1})(de||={});var fe;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&V.string(t.newText)&&h.is(t.insert)&&h.is(t.replace)}e.is=n})(fe||={});var pe;(function(e){e.asIs=1,e.adjustIndentation=2})(pe||={});var me;(function(e){function t(e){let t=e;return t&&(V.string(t.detail)||t.detail===void 0)&&(V.string(t.description)||t.description===void 0)}e.is=t})(me||={});var he;(function(e){function t(e){return{label:e}}e.create=t})(he||={});var ge;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(ge||={});var F;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return V.string(t)||V.objectLiteral(t)&&V.string(t.language)&&V.string(t.value)}e.is=n})(F||={});var _e;(function(e){function t(e){let t=e;return!!t&&V.objectLiteral(t)&&(M.is(t.contents)||F.is(t.contents)||V.typedArray(t.contents,F.is))&&(e.range===void 0||h.is(e.range))}e.is=t})(_e||={});var ve;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(ve||={});var ye;(function(e){function t(e,t,...n){let r={label:e};return V.defined(t)&&(r.documentation=t),V.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(ye||={});var I;(function(e){e.Text=1,e.Read=2,e.Write=3})(I||={});var be;(function(e){function t(e,t){let n={range:e};return V.number(t)&&(n.kind=t),n}e.create=t})(be||={});var L;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(L||={});var xe;(function(e){e.Deprecated=1})(xe||={});var Se;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(Se||={});var Ce;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(Ce||={});var we;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&V.string(t.name)&&V.number(t.kind)&&h.is(t.range)&&h.is(t.selectionRange)&&(t.detail===void 0||V.string(t.detail))&&(t.deprecated===void 0||V.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(we||={});var Te;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(Te||={});var R;(function(e){e.Invoked=1,e.Automatic=2})(R||={});var Ee;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return V.defined(t)&&V.typedArray(t.diagnostics,x.is)&&(t.only===void 0||V.typedArray(t.only,V.string))&&(t.triggerKind===void 0||t.triggerKind===R.Invoked||t.triggerKind===R.Automatic)}e.is=n})(Ee||={});var De;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):S.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&V.string(t.title)&&(t.diagnostics===void 0||V.typedArray(t.diagnostics,x.is))&&(t.kind===void 0||V.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||S.is(t.command))&&(t.isPreferred===void 0||V.boolean(t.isPreferred))&&(t.edit===void 0||k.is(t.edit))}e.is=n})(De||={});var Oe;(function(e){function t(e,t){let n={range:e};return V.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&(V.undefined(t.command)||S.is(t.command))}e.is=n})(Oe||={});var ke;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.uinteger(t.tabSize)&&V.boolean(t.insertSpaces)}e.is=n})(ke||={});var Ae;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&(V.undefined(t.target)||V.string(t.target))}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return V.objectLiteral(n)&&h.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(je||={});var Me;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Me||={});var Ne;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Ne||={});var Pe;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Pe||={});var Fe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&V.string(t.text)}e.is=n})(Fe||={});var Ie;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&V.boolean(t.caseSensitiveLookup)&&(V.string(t.variableName)||t.variableName===void 0)}e.is=n})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&(V.string(t.expression)||t.expression===void 0)}e.is=n})(Le||={});var Re;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(e.stoppedLocation)}e.is=n})(Re||={});var z;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(z||={});var B;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&(t.tooltip===void 0||V.string(t.tooltip)||M.is(t.tooltip))&&(t.location===void 0||g.is(t.location))&&(t.command===void 0||S.is(t.command))}e.is=n})(B||={});var ze;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&m.is(t.position)&&(V.string(t.label)||V.typedArray(t.label,B.is))&&(t.kind===void 0||z.is(t.kind))&&t.textEdits===void 0||V.typedArray(t.textEdits,C.is)&&(t.tooltip===void 0||V.string(t.tooltip)||M.is(t.tooltip))&&(t.paddingLeft===void 0||V.boolean(t.paddingLeft))&&(t.paddingRight===void 0||V.boolean(t.paddingRight))}e.is=n})(ze||={});var Be;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Be||={});var Ve;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Ve||={});var He;(function(e){function t(e){return{items:e}}e.create=t})(He||={});var Ue;(function(e){e.Invoked=0,e.Automatic=1})(Ue||={});var We;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(We||={});var Ge;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(Ge||={});var Ke;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&d.is(t.uri)&&V.string(t.name)}e.is=t})(Ke||={});var qe;(function(e){function t(e,t,n,r){return new Je(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(V.defined(t)&&V.string(t.uri)&&(V.undefined(t.languageId)||V.string(t.languageId))&&V.uinteger(t.lineCount)&&V.func(t.getText)&&V.func(t.positionAt)&&V.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(qe||={});var Je=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
2
2
|
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
|
|
3
3
|
`&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return m.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return m.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},V;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function u(e){return t.call(e)===`[object Function]`}e.func=u;function d(e){return typeof e==`object`&&!!e}e.objectLiteral=d;function f(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=f})(V||={});var H=class{constructor(e,t,n){this._languageId=e,this._worker=t,this._disposables=[],this._listener=Object.create(null);let r=e=>{let t=e.getLanguageId();if(t!==this._languageId)return;let n;this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(n),n=window.setTimeout(()=>this._doValidate(e.uri,t),500)}),this._doValidate(e.uri,t)},i=e=>{s.editor.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(s.editor.onDidCreateModel(r)),this._disposables.push(s.editor.onWillDisposeModel(i)),this._disposables.push(s.editor.onDidChangeModelLanguage(e=>{i(e.model),r(e.model)})),this._disposables.push(n(e=>{s.editor.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(i(e),r(e))})})),this._disposables.push({dispose:()=>{s.editor.getModels().forEach(i);for(let e in this._listener)this._listener[e].dispose()}}),s.editor.getModels().forEach(r)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{let r=n.map(t=>Xe(e,t)),i=s.editor.getModel(e);i&&i.getLanguageId()===t&&s.editor.setModelMarkers(i,t,r)}).then(void 0,e=>{console.error(e)})}};function Ye(e){switch(e){case b.Error:return s.MarkerSeverity.Error;case b.Warning:return s.MarkerSeverity.Warning;case b.Information:return s.MarkerSeverity.Info;case b.Hint:return s.MarkerSeverity.Hint;default:return s.MarkerSeverity.Info}}function Xe(e,t){let n=typeof t.code==`number`?String(t.code):t.code;return{severity:Ye(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}var U=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doComplete(i.toString(),W(t))).then(n=>{if(!n)return;let r=e.getWordUntilPosition(t),i=new s.Range(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),a=n.items.map(e=>{let t={label:e.label,insertText:e.insertText||e.label,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,command:$e(e.command),range:i,kind:Qe(e.kind)};return e.textEdit&&(Ze(e.textEdit)?t.range={insert:K(e.textEdit.insert),replace:K(e.textEdit.replace)}:t.range=K(e.textEdit.range),t.insertText=e.textEdit.newText),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(q)),e.insertTextFormat===P.Snippet&&(t.insertTextRules=s.languages.CompletionItemInsertTextRule.InsertAsSnippet),t});return{isIncomplete:n.isIncomplete,suggestions:a}})}};function W(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function G(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function K(e){if(e)return new s.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function Ze(e){return e.insert!==void 0&&e.replace!==void 0}function Qe(e){let t=s.languages.CompletionItemKind;switch(e){case N.Text:return t.Text;case N.Method:return t.Method;case N.Function:return t.Function;case N.Constructor:return t.Constructor;case N.Field:return t.Field;case N.Variable:return t.Variable;case N.Class:return t.Class;case N.Interface:return t.Interface;case N.Module:return t.Module;case N.Property:return t.Property;case N.Unit:return t.Unit;case N.Value:return t.Value;case N.Enum:return t.Enum;case N.Keyword:return t.Keyword;case N.Snippet:return t.Snippet;case N.Color:return t.Color;case N.File:return t.File;case N.Reference:return t.Reference}return t.Property}function q(e){if(e)return{range:K(e.range),text:e.newText}}function $e(e){return e&&e.command===`editor.action.triggerSuggest`?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var et=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),W(t))).then(e=>{if(e)return{range:K(e.range),contents:nt(e.contents)}})}};function tt(e){return e&&typeof e==`object`&&typeof e.kind==`string`}function J(e){return typeof e==`string`?{value:e}:tt(e)?e.kind===`plaintext`?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}:{value:e.value}:{value:"```"+e.language+`
|
|
4
4
|
`+e.value+"\n```\n"}}function nt(e){if(e)return Array.isArray(e)?e.map(J):[J(e)]}var Y=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),W(t))).then(e=>{if(e)return e.map(e=>({range:K(e.range),kind:rt(e.kind)}))})}};function rt(e){switch(e){case I.Read:return s.languages.DocumentHighlightKind.Read;case I.Write:return s.languages.DocumentHighlightKind.Write;case I.Text:return s.languages.DocumentHighlightKind.Text}return s.languages.DocumentHighlightKind.Text}var X=class{constructor(e){this._worker=e}provideDefinition(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),W(t))).then(e=>{if(e)return[Z(e)]})}};function Z(e){return{uri:s.Uri.parse(e.uri),range:K(e.range)}}var Q=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),W(t))).then(e=>{if(e)return e.map(Z)})}},it=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),W(t),n)).then(e=>at(e))}};function at(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){let r=s.Uri.parse(n);for(let i of e.changes[n])t.push({resource:r,versionId:void 0,textEdit:{range:K(i.range),text:i.newText}})}return{edits:t}}var ot=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>st(e)?ct(e):{name:e.name,detail:``,containerName:e.containerName,kind:lt(e.kind),range:K(e.location.range),selectionRange:K(e.location.range),tags:[]})})}};function st(e){return`children`in e}function ct(e){return{name:e.name,detail:e.detail??``,kind:lt(e.kind),range:K(e.range),selectionRange:K(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(e=>ct(e))}}function lt(e){let t=s.languages.SymbolKind;switch(e){case L.File:return t.File;case L.Module:return t.Module;case L.Namespace:return t.Namespace;case L.Package:return t.Package;case L.Class:return t.Class;case L.Method:return t.Method;case L.Property:return t.Property;case L.Field:return t.Field;case L.Constructor:return t.Constructor;case L.Enum:return t.Enum;case L.Interface:return t.Interface;case L.Function:return t.Function;case L.Variable:return t.Variable;case L.Constant:return t.Constant;case L.String:return t.String;case L.Number:return t.Number;case L.Boolean:return t.Boolean;case L.Array:return t.Array}return t.Function}var ut=class{constructor(e){this._worker=e}provideLinks(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:K(e.range),url:e.target}))}})}},dt=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,$(t)).then(e=>{if(!(!e||e.length===0))return e.map(q)}))}},ft=class{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),G(t),$(n)).then(e=>{if(!(!e||e.length===0))return e.map(q)}))}};function $(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var pt=class{constructor(e){this._worker=e}provideDocumentColors(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:K(e.range)}))})}provideColorPresentations(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,G(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=q(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(q)),t})})}},mt=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{let t={start:e.startLine+1,end:e.endLine+1};return e.kind!==void 0&&(t.kind=ht(e.kind)),t})})}};function ht(e){switch(e){case v.Comment:return s.languages.FoldingRangeKind.Comment;case v.Imports:return s.languages.FoldingRangeKind.Imports;case v.Region:return s.languages.FoldingRangeKind.Region}}var gt=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(W))).then(e=>{if(e)return e.map(e=>{let t=[];for(;e;)t.push({range:K(e.range)}),e=e.parent;return t})})}};function _t(e){let t=[],n=[],r=new l(e);t.push(r);let i=(...e)=>r.getLanguageServiceWorker(...e);function a(){let{languageId:t,modeConfiguration:r}=e;yt(n),r.completionItems&&n.push(s.languages.registerCompletionItemProvider(t,new U(i,[`/`,`-`,`:`]))),r.hovers&&n.push(s.languages.registerHoverProvider(t,new et(i))),r.documentHighlights&&n.push(s.languages.registerDocumentHighlightProvider(t,new Y(i))),r.definitions&&n.push(s.languages.registerDefinitionProvider(t,new X(i))),r.references&&n.push(s.languages.registerReferenceProvider(t,new Q(i))),r.documentSymbols&&n.push(s.languages.registerDocumentSymbolProvider(t,new ot(i))),r.rename&&n.push(s.languages.registerRenameProvider(t,new it(i))),r.colors&&n.push(s.languages.registerColorProvider(t,new pt(i))),r.foldingRanges&&n.push(s.languages.registerFoldingRangeProvider(t,new mt(i))),r.diagnostics&&n.push(new H(t,i,e.onDidChange)),r.selectionRanges&&n.push(s.languages.registerSelectionRangeProvider(t,new gt(i))),r.documentFormattingEdits&&n.push(s.languages.registerDocumentFormattingEditProvider(t,new dt(i))),r.documentRangeFormattingEdits&&n.push(s.languages.registerDocumentRangeFormattingEditProvider(t,new ft(i)))}return a(),t.push(vt(n)),vt(t)}function vt(e){return{dispose:()=>yt(e)}}function yt(e){for(;e.length;)e.pop().dispose()}export{U as CompletionAdapter,X as DefinitionAdapter,H as DiagnosticsAdapter,pt as DocumentColorAdapter,dt as DocumentFormattingEditProvider,Y as DocumentHighlightAdapter,ut as DocumentLinkAdapter,ft as DocumentRangeFormattingEditProvider,ot as DocumentSymbolAdapter,mt as FoldingRangeAdapter,et as HoverAdapter,Q as ReferenceAdapter,it as RenameAdapter,gt as SelectionRangeAdapter,l as WorkerManager,W as fromPosition,G as fromRange,_t as setupMode,K as toRange,q as toTextEdit};
|