@puddle-code/cli 0.0.1
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/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20421 -0
- package/dist/index.js.map +1 -0
- package/dist/install.sh +222 -0
- package/dist/public/assets/Dashboard-B1JE6YHV.js +1 -0
- package/dist/public/assets/EditorZone-BO-Ob9Td.js +16 -0
- package/dist/public/assets/SettingsDialog-CVcCiV13.js +1 -0
- package/dist/public/assets/Terminal-BrP-ENHg.css +1 -0
- package/dist/public/assets/Terminal-CuEf-GeX.js +35 -0
- package/dist/public/assets/UbuntuSans-Italic-variable-RySnp6Km.woff2 +0 -0
- package/dist/public/assets/UbuntuSans-variable-D2Z3tJLW.woff2 +0 -0
- package/dist/public/assets/UbuntuSansMono-Italic-variable-DSY888gS.woff2 +0 -0
- package/dist/public/assets/UbuntuSansMono-variable-DaQTOezC.woff2 +0 -0
- package/dist/public/assets/Workspace-DctKubgC.js +2 -0
- package/dist/public/assets/abap-08VXUWAP.js +1 -0
- package/dist/public/assets/apex-BWPQTe0t.js +1 -0
- package/dist/public/assets/api-DeKerbkb.js +64 -0
- package/dist/public/assets/azcli-Bc_sGQ0U.js +1 -0
- package/dist/public/assets/bat-i0X4ZdIN.js +1 -0
- package/dist/public/assets/bicep-B5-_aFwp.js +2 -0
- package/dist/public/assets/cameligo-DMUM7wLl.js +1 -0
- package/dist/public/assets/clojure-Cm7r79vr.js +1 -0
- package/dist/public/assets/codicon-ngg6Pgfi.ttf +0 -0
- package/dist/public/assets/coffee-Ba7i2nA0.js +1 -0
- package/dist/public/assets/cpp-C7h46wYY.js +1 -0
- package/dist/public/assets/csharp-BKxtCVv1.js +1 -0
- package/dist/public/assets/csp-bTuwJoIa.js +1 -0
- package/dist/public/assets/css-DIMkf-bt.js +3 -0
- package/dist/public/assets/css.worker-yKcq13f2.js +89 -0
- package/dist/public/assets/cssMode-CSjHtANE.js +1 -0
- package/dist/public/assets/cypher-CVaqCwHa.js +1 -0
- package/dist/public/assets/dart-onAF5SnQ.js +1 -0
- package/dist/public/assets/dialog-VTyOt2M_.js +41 -0
- package/dist/public/assets/dockerfile-DZFCIeNp.js +1 -0
- package/dist/public/assets/ecl-D05T4iGw.js +1 -0
- package/dist/public/assets/editor-Br_kD0ds.css +1 -0
- package/dist/public/assets/editor.api2-4X9Vh9Zw.js +872 -0
- package/dist/public/assets/editor.worker-tytyn86m.js +26 -0
- package/dist/public/assets/elixir-6RTg0lbw.js +1 -0
- package/dist/public/assets/flow9-C5_-GSwl.js +1 -0
- package/dist/public/assets/folder-git-2-DX3SNYUW.js +1 -0
- package/dist/public/assets/freemarker2-DsOTa0Uq.js +3 -0
- package/dist/public/assets/fsharp-C8Ef5oNN.js +1 -0
- package/dist/public/assets/go-C-y9NEjX.js +1 -0
- package/dist/public/assets/graphql-fmXr3nnJ.js +1 -0
- package/dist/public/assets/handlebars-DGS-lUwt.js +1 -0
- package/dist/public/assets/hcl-CpzslTdj.js +1 -0
- package/dist/public/assets/history-logic-B2ZKE3AW.js +1 -0
- package/dist/public/assets/html-eVYoRhea.js +1 -0
- package/dist/public/assets/html.worker-DSJ9zmd7.js +502 -0
- package/dist/public/assets/htmlMode-CIHMS93l.js +1 -0
- package/dist/public/assets/index-CXBMvmhw.css +2 -0
- package/dist/public/assets/index-ZcdMfr13.js +10 -0
- package/dist/public/assets/ini-sBoK_t0W.js +1 -0
- package/dist/public/assets/java-BEtHBSE6.js +1 -0
- package/dist/public/assets/javascript-Cq9FwqGi.js +1 -0
- package/dist/public/assets/json.worker-Oa9UrkKE.js +58 -0
- package/dist/public/assets/jsonMode-BijgXT6I.js +7 -0
- package/dist/public/assets/julia-Bri6UV-V.js +1 -0
- package/dist/public/assets/kotlin-BOotOW0E.js +1 -0
- package/dist/public/assets/less-B9JPFI3C.js +2 -0
- package/dist/public/assets/lexon-CfSJPG6W.js +1 -0
- package/dist/public/assets/liquid-BcLxSFu3.js +1 -0
- package/dist/public/assets/lspLanguageFeatures-x2nWJpem.js +4 -0
- package/dist/public/assets/lua-CsQS60Ue.js +1 -0
- package/dist/public/assets/m3-D-oSqn_W.js +1 -0
- package/dist/public/assets/markdown-Cimd5fb3.js +1 -0
- package/dist/public/assets/mdx-BDgbCiou.js +1 -0
- package/dist/public/assets/mips-CIPQ_RoX.js +1 -0
- package/dist/public/assets/monaco.contribution-C0TYpF88.js +2 -0
- package/dist/public/assets/msdax-DauUninz.js +1 -0
- package/dist/public/assets/mysql-SOo6toE5.js +1 -0
- package/dist/public/assets/objective-c-FvmIjYaQ.js +1 -0
- package/dist/public/assets/pascal-DrH0SRf2.js +1 -0
- package/dist/public/assets/pascaligo-D-ptJ9y-.js +1 -0
- package/dist/public/assets/perl-oz_6vUea.js +1 -0
- package/dist/public/assets/pgsql-DTj74zXo.js +1 -0
- package/dist/public/assets/php-nr791fC2.js +1 -0
- package/dist/public/assets/pla-CopQ2nXW.js +1 -0
- package/dist/public/assets/postiats-43DmfD33.js +1 -0
- package/dist/public/assets/powerquery-D3hlyOfw.js +1 -0
- package/dist/public/assets/powershell-DmHpPYUd.js +1 -0
- package/dist/public/assets/preload-helper-Czpn1I53.js +1 -0
- package/dist/public/assets/protobuf-C531GsRP.js +2 -0
- package/dist/public/assets/pug-Z5eAx3Zn.js +1 -0
- package/dist/public/assets/python-D5mUty3a.js +1 -0
- package/dist/public/assets/qsharp-DkqhCAOL.js +1 -0
- package/dist/public/assets/r-BwWrilGY.js +1 -0
- package/dist/public/assets/razor-DAAn8j2s.js +1 -0
- package/dist/public/assets/redis-ClamHrr6.js +1 -0
- package/dist/public/assets/redshift-DT7zqm-g.js +1 -0
- package/dist/public/assets/restructuredtext-BYgofb2h.js +1 -0
- package/dist/public/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/dist/public/assets/ruby-DezsRK8O.js +1 -0
- package/dist/public/assets/rust-DdL9SqIa.js +1 -0
- package/dist/public/assets/sb-CcwsVR0C.js +1 -0
- package/dist/public/assets/scala-DHpiXF5c.js +1 -0
- package/dist/public/assets/scheme-BeGwcela.js +1 -0
- package/dist/public/assets/scss-gp-XZpBa.js +3 -0
- package/dist/public/assets/shell-CC2rA5mh.js +1 -0
- package/dist/public/assets/solidity-BEEn4gHE.js +1 -0
- package/dist/public/assets/sophia-CRfGWb83.js +1 -0
- package/dist/public/assets/sparql-D_Lu-MrJ.js +1 -0
- package/dist/public/assets/sql-NEE52Syq.js +1 -0
- package/dist/public/assets/ssh-mode-BR2ZdOHI.js +1 -0
- package/dist/public/assets/st-DbInun42.js +1 -0
- package/dist/public/assets/swift-Bxkupp3x.js +1 -0
- package/dist/public/assets/switch-Ck_7k8fh.js +1 -0
- package/dist/public/assets/systemverilog-Bz4Y3fRF.js +1 -0
- package/dist/public/assets/tcl-DISqw1ZD.js +1 -0
- package/dist/public/assets/ts.worker-BtjBFNHX.js +67734 -0
- package/dist/public/assets/tsMode-B7q3gz7a.js +11 -0
- package/dist/public/assets/twig-De2hgUGE.js +1 -0
- package/dist/public/assets/typescript-DvKdOnR-.js +1 -0
- package/dist/public/assets/typespec-B8J7ngcE.js +1 -0
- package/dist/public/assets/vb-DV3o63ZY.js +1 -0
- package/dist/public/assets/wgsl-DpFanUEy.js +298 -0
- package/dist/public/assets/workers-Ck67TJT4.js +1 -0
- package/dist/public/assets/xml-DDMTG7kD.js +1 -0
- package/dist/public/assets/yaml-hCGJvPOb.js +1 -0
- package/dist/public/index.html +18 -0
- package/dist/public/puddle.svg +18 -0
- package/package.json +28 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,4EAA4E;AAC5E,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC"}
|
package/dist/install.sh
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# puddled installer — the single bootstrap implementation (SPEC §10).
|
|
3
|
+
#
|
|
4
|
+
# Runs three ways, always with the same steps:
|
|
5
|
+
# 1. curl-piped: curl -fsSL .../install.sh | sh -s -- --version 0.1.0
|
|
6
|
+
# 2. by the puddle CLI over SSH (the CLI embeds this exact script and pipes
|
|
7
|
+
# it through the master connection: ssh host 'sh -s -- ...')
|
|
8
|
+
# 3. by hand, for daemon-only installs without the CLI.
|
|
9
|
+
#
|
|
10
|
+
# Everything lands under ~/.puddle — never sudo. Idempotent: upgrade and
|
|
11
|
+
# rollback are the same script with a different --version.
|
|
12
|
+
#
|
|
13
|
+
# The committed template carries @@REPO@@; the release workflow substitutes
|
|
14
|
+
# the publishing repository before attaching this file to the release, so no
|
|
15
|
+
# owner slug lives in the repo (CLAUDE.md conventions). Running the template
|
|
16
|
+
# directly requires --repo or PUDDLE_REPO=owner/repo.
|
|
17
|
+
set -eu
|
|
18
|
+
|
|
19
|
+
REPO="${PUDDLE_REPO:-@@REPO@@}"
|
|
20
|
+
VERSION=""
|
|
21
|
+
TARBALL=""
|
|
22
|
+
SUMS=""
|
|
23
|
+
SUPERVISOR=1
|
|
24
|
+
START=1
|
|
25
|
+
FORCE=0
|
|
26
|
+
|
|
27
|
+
usage() {
|
|
28
|
+
cat <<'EOF'
|
|
29
|
+
usage: install.sh [--version X.Y.Z] [--tarball <path>] [--sums <path>]
|
|
30
|
+
[--repo owner/repo] [--no-supervisor] [--no-start] [--force]
|
|
31
|
+
|
|
32
|
+
--version release to install (default: the repo's latest release)
|
|
33
|
+
--tarball use a pre-delivered tarball instead of fetching (scp
|
|
34
|
+
fallback and development); checksum verified when --sums
|
|
35
|
+
is given, otherwise skipped with a warning
|
|
36
|
+
--sums SHA256SUMS file accompanying --tarball
|
|
37
|
+
--repo GitHub repository to fetch from (or env PUDDLE_REPO)
|
|
38
|
+
--no-supervisor unpack + symlink only
|
|
39
|
+
--no-start install the supervisor but do not start the daemon
|
|
40
|
+
--force reinstall even if this version is already present
|
|
41
|
+
EOF
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
say() { printf 'puddled install: %s\n' "$1"; }
|
|
45
|
+
die() { printf 'puddled install: error: %s\n' "$1" >&2; exit 1; }
|
|
46
|
+
|
|
47
|
+
while [ $# -gt 0 ]; do
|
|
48
|
+
case "$1" in
|
|
49
|
+
--version) VERSION="$2"; shift 2 ;;
|
|
50
|
+
--tarball) TARBALL="$2"; shift 2 ;;
|
|
51
|
+
--sums) SUMS="$2"; shift 2 ;;
|
|
52
|
+
--repo) REPO="$2"; shift 2 ;;
|
|
53
|
+
--no-supervisor) SUPERVISOR=0; shift ;;
|
|
54
|
+
--no-start) START=0; shift ;;
|
|
55
|
+
--force) FORCE=1; shift ;;
|
|
56
|
+
-h|--help) usage; exit 0 ;;
|
|
57
|
+
*) die "unknown flag $1 (see --help)" ;;
|
|
58
|
+
esac
|
|
59
|
+
done
|
|
60
|
+
|
|
61
|
+
# --- platform ---------------------------------------------------------------
|
|
62
|
+
OS=$(uname -s)
|
|
63
|
+
case "$OS" in
|
|
64
|
+
Linux) OS=linux ;;
|
|
65
|
+
Darwin) OS=darwin ;;
|
|
66
|
+
*) die "unsupported OS $OS (linux and darwin only)" ;;
|
|
67
|
+
esac
|
|
68
|
+
ARCH=$(uname -m)
|
|
69
|
+
case "$ARCH" in
|
|
70
|
+
x86_64|amd64) ARCH=x64 ;;
|
|
71
|
+
aarch64|arm64) ARCH=arm64 ;;
|
|
72
|
+
*) die "unsupported architecture $ARCH (x64 and arm64 only)" ;;
|
|
73
|
+
esac
|
|
74
|
+
if [ "$OS" = linux ] && [ -f /etc/alpine-release ]; then
|
|
75
|
+
die "musl-based hosts (Alpine) are not supported: the bundled Node runtime needs glibc"
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
HOME_DIR="${PUDDLE_HOME:-$HOME/.puddle}"
|
|
79
|
+
BIN_DIR="$HOME_DIR/bin"
|
|
80
|
+
CACHE_DIR="$HOME_DIR/cache"
|
|
81
|
+
mkdir -p "$BIN_DIR/versions" "$CACHE_DIR" "$HOME_DIR/logs"
|
|
82
|
+
|
|
83
|
+
# --- resolve version / fetch -------------------------------------------------
|
|
84
|
+
sha_tool() {
|
|
85
|
+
if command -v sha256sum >/dev/null 2>&1; then echo "sha256sum -c -"
|
|
86
|
+
elif command -v shasum >/dev/null 2>&1; then echo "shasum -a 256 -c -"
|
|
87
|
+
else echo ""
|
|
88
|
+
fi
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if [ -n "$TARBALL" ]; then
|
|
92
|
+
[ -f "$TARBALL" ] || die "tarball not found: $TARBALL"
|
|
93
|
+
# Derive the version from the file name when not given explicitly.
|
|
94
|
+
if [ -z "$VERSION" ]; then
|
|
95
|
+
VERSION=$(basename "$TARBALL" | sed -n 's/^puddled-v\([0-9][^-]*\)-.*$/\1/p')
|
|
96
|
+
[ -n "$VERSION" ] || die "cannot derive a version from $(basename "$TARBALL"); pass --version"
|
|
97
|
+
fi
|
|
98
|
+
if [ -n "$SUMS" ]; then
|
|
99
|
+
TOOL=$(sha_tool)
|
|
100
|
+
[ -n "$TOOL" ] || die "no sha256sum or shasum on this host to verify --sums"
|
|
101
|
+
( cd "$(dirname "$TARBALL")" && grep " $(basename "$TARBALL")\$" "$SUMS" | $TOOL ) \
|
|
102
|
+
|| die "checksum mismatch for $TARBALL"
|
|
103
|
+
else
|
|
104
|
+
say "warning: --tarball without --sums — checksum verification skipped"
|
|
105
|
+
fi
|
|
106
|
+
else
|
|
107
|
+
case "$REPO" in *@@*) die "no repository baked in; pass --repo owner/repo or set PUDDLE_REPO" ;; esac
|
|
108
|
+
command -v curl >/dev/null 2>&1 || die "curl is required to fetch releases (or pre-deliver with --tarball)"
|
|
109
|
+
if [ -z "$VERSION" ]; then
|
|
110
|
+
# GitHub redirects releases/latest to the tagged URL; capture the tag.
|
|
111
|
+
LATEST=$(curl -fsSLI -o /dev/null -w '%{url_effective}' "https://github.com/$REPO/releases/latest") \
|
|
112
|
+
|| die "cannot reach github.com/$REPO to resolve the latest release"
|
|
113
|
+
VERSION=$(printf '%s' "$LATEST" | sed -n 's#.*/tag/v\{0,1\}##p')
|
|
114
|
+
[ -n "$VERSION" ] || die "could not resolve the latest release of $REPO; pass --version"
|
|
115
|
+
fi
|
|
116
|
+
FILE="puddled-v$VERSION-$OS-$ARCH.tar.gz"
|
|
117
|
+
BASE="https://github.com/$REPO/releases/download/v$VERSION"
|
|
118
|
+
TARBALL="$CACHE_DIR/$FILE"
|
|
119
|
+
say "fetching $BASE/$FILE"
|
|
120
|
+
curl -fSL --progress-bar -o "$TARBALL" "$BASE/$FILE" || die "download failed"
|
|
121
|
+
curl -fsSL -o "$CACHE_DIR/SHA256SUMS" "$BASE/SHA256SUMS" || die "checksums download failed"
|
|
122
|
+
TOOL=$(sha_tool)
|
|
123
|
+
[ -n "$TOOL" ] || die "no sha256sum or shasum on this host"
|
|
124
|
+
( cd "$CACHE_DIR" && grep " $FILE\$" SHA256SUMS | $TOOL ) || {
|
|
125
|
+
rm -f "$TARBALL"
|
|
126
|
+
die "checksum mismatch — deleted the download"
|
|
127
|
+
}
|
|
128
|
+
fi
|
|
129
|
+
|
|
130
|
+
# --- unpack + symlink flip ---------------------------------------------------
|
|
131
|
+
DEST="$BIN_DIR/versions/$VERSION"
|
|
132
|
+
if [ -d "$DEST" ] && [ "$FORCE" -eq 0 ] && [ -x "$DEST/puddled" ]; then
|
|
133
|
+
say "version $VERSION already installed"
|
|
134
|
+
else
|
|
135
|
+
rm -rf "$DEST"
|
|
136
|
+
mkdir -p "$DEST"
|
|
137
|
+
tar -xzf "$TARBALL" --strip-components=1 -C "$DEST" || die "extraction failed"
|
|
138
|
+
"$DEST/puddled" --version >/dev/null || die "installed tree fails its own --version smoke test"
|
|
139
|
+
fi
|
|
140
|
+
ln -sfn "versions/$VERSION" "$BIN_DIR/current"
|
|
141
|
+
|
|
142
|
+
# ~/.puddle/bin/puddled must be an exec wrapper, NOT a symlink: the launcher
|
|
143
|
+
# locates bin/node via dirname $0, which must land inside current/.
|
|
144
|
+
printf '#!/bin/sh\nexec "%s/current/puddled" "$@"\n' "$BIN_DIR" > "$BIN_DIR/puddled"
|
|
145
|
+
chmod 0755 "$BIN_DIR/puddled"
|
|
146
|
+
|
|
147
|
+
# Keep the cache small: current download + one previous.
|
|
148
|
+
ls -1t "$CACHE_DIR"/puddled-v*.tar.gz 2>/dev/null | tail -n +3 | while read -r old; do rm -f "$old"; done
|
|
149
|
+
|
|
150
|
+
if [ "$SUPERVISOR" -eq 0 ]; then
|
|
151
|
+
say "installed puddled $VERSION (no supervisor, per --no-supervisor)"
|
|
152
|
+
exit 0
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
# --- supervisor: systemd user unit → launchd agent → nohup fallback ----------
|
|
156
|
+
KIND=none
|
|
157
|
+
if command -v systemctl >/dev/null 2>&1 && systemctl --user show-environment >/dev/null 2>&1; then
|
|
158
|
+
KIND=systemd
|
|
159
|
+
UNIT_DIR="$HOME/.config/systemd/user"
|
|
160
|
+
mkdir -p "$UNIT_DIR"
|
|
161
|
+
cat > "$UNIT_DIR/puddled.service" <<EOF
|
|
162
|
+
[Unit]
|
|
163
|
+
Description=puddle daemon (puddled)
|
|
164
|
+
After=network.target
|
|
165
|
+
|
|
166
|
+
[Service]
|
|
167
|
+
ExecStart=%h/.puddle/bin/current/puddled
|
|
168
|
+
Restart=always
|
|
169
|
+
RestartSec=2
|
|
170
|
+
WorkingDirectory=%h
|
|
171
|
+
Environment=NODE_ENV=production
|
|
172
|
+
|
|
173
|
+
[Install]
|
|
174
|
+
WantedBy=default.target
|
|
175
|
+
EOF
|
|
176
|
+
systemctl --user daemon-reload
|
|
177
|
+
if [ "$START" -eq 1 ]; then
|
|
178
|
+
systemctl --user enable --now puddled >/dev/null 2>&1 || die "systemctl enable --now puddled failed"
|
|
179
|
+
systemctl --user restart puddled
|
|
180
|
+
else
|
|
181
|
+
systemctl --user enable puddled >/dev/null 2>&1 || true
|
|
182
|
+
fi
|
|
183
|
+
# Boot-start without an open login session; may need polkit auth on some
|
|
184
|
+
# distros — a warning, not a failure.
|
|
185
|
+
loginctl enable-linger "$USER" >/dev/null 2>&1 \
|
|
186
|
+
|| say "warning: loginctl enable-linger failed — puddled will not start at boot until a login"
|
|
187
|
+
elif [ "$OS" = darwin ]; then
|
|
188
|
+
KIND=launchd
|
|
189
|
+
PLIST="$HOME/Library/LaunchAgents/dev.puddle.puddled.plist"
|
|
190
|
+
mkdir -p "$HOME/Library/LaunchAgents"
|
|
191
|
+
cat > "$PLIST" <<EOF
|
|
192
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
193
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
194
|
+
<plist version="1.0"><dict>
|
|
195
|
+
<key>Label</key><string>dev.puddle.puddled</string>
|
|
196
|
+
<key>ProgramArguments</key><array><string>$HOME/.puddle/bin/current/puddled</string></array>
|
|
197
|
+
<key>RunAtLoad</key><true/>
|
|
198
|
+
<key>KeepAlive</key><true/>
|
|
199
|
+
<key>WorkingDirectory</key><string>$HOME</string>
|
|
200
|
+
<key>StandardOutPath</key><string>$HOME/.puddle/logs/puddled.out.log</string>
|
|
201
|
+
<key>StandardErrorPath</key><string>$HOME/.puddle/logs/puddled.err.log</string>
|
|
202
|
+
</dict></plist>
|
|
203
|
+
EOF
|
|
204
|
+
if [ "$START" -eq 1 ]; then
|
|
205
|
+
launchctl bootstrap "gui/$(id -u)" "$PLIST" 2>/dev/null || launchctl load -w "$PLIST" 2>/dev/null || true
|
|
206
|
+
# Restart onto the new version whether or not it was already loaded.
|
|
207
|
+
launchctl kickstart -k "gui/$(id -u)/dev.puddle.puddled" 2>/dev/null || true
|
|
208
|
+
fi
|
|
209
|
+
else
|
|
210
|
+
KIND=nohup
|
|
211
|
+
if [ "$START" -eq 1 ]; then
|
|
212
|
+
if [ -f "$HOME_DIR/puddled.pid" ] && kill -0 "$(cat "$HOME_DIR/puddled.pid")" 2>/dev/null; then
|
|
213
|
+
kill "$(cat "$HOME_DIR/puddled.pid")" || true
|
|
214
|
+
sleep 1
|
|
215
|
+
fi
|
|
216
|
+
nohup "$BIN_DIR/current/puddled" >> "$HOME_DIR/logs/puddled.out.log" 2>&1 &
|
|
217
|
+
printf '%s\n' "$!" > "$HOME_DIR/puddled.pid"
|
|
218
|
+
fi
|
|
219
|
+
say "warning: no systemd or launchd found — using nohup; puddled will NOT auto-start after a reboot"
|
|
220
|
+
fi
|
|
221
|
+
|
|
222
|
+
say "installed puddled $VERSION under $HOME_DIR (supervisor: $KIND)"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{f as t,m as n}from"./api-DeKerbkb.js";import{_ as r}from"./dialog-VTyOt2M_.js";import{t as i}from"./folder-git-2-DX3SNYUW.js";import{Ot as a,T as o,X as s,it as c,tt as l,u}from"./index-ZcdMfr13.js";var d=e(n(),1),f=t(),p=[{status:`running`,colour:`bg-running`},{status:`waiting_input`,colour:`bg-waiting`},{status:`interrupted`,colour:`bg-interrupted`}];function m({projectId:e}){let t=c(e),n=(0,d.useMemo)(()=>{let e=new Map;for(let n of t.data??[])e.set(n.status,(e.get(n.status)??0)+1);return e},[t.data]),r=(t.data??[]).filter(e=>e.status!==`archived`).length;return(0,f.jsxs)(`div`,{className:`flex items-center gap-3 text-2xs text-fg-muted tabular-nums`,children:[(0,f.jsxs)(`span`,{children:[r,` session`,r===1?``:`s`]}),p.map(({status:e,colour:t})=>{let r=n.get(e)??0;return r===0?null:(0,f.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,f.jsx)(`span`,{className:`size-1.5 rounded-full ${t}`}),r,` `,e.replace(`_`,` `)]},e)})]})}function h(){let e=o(),t=s(e??void 0),n=l(),[c,p]=(0,d.useState)(!1),h=e=>n.data?.find(t=>t.id===e)?.path;return(0,f.jsxs)(`div`,{className:`mx-auto max-w-4xl p-6`,children:[t.data?.length===0&&(0,f.jsxs)(`div`,{className:`mt-24 flex flex-col items-center gap-6 text-center`,children:[(0,f.jsx)(i,{className:`size-8 text-fg-muted`}),(0,f.jsx)(`p`,{className:`text-sm text-fg-secondary`,children:`No projects yet — press ⌘K or create one to get started.`}),(0,f.jsx)(r,{onClick:()=>p(!0),children:`New project`})]}),(0,f.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2`,children:t.data?.map(e=>(0,f.jsxs)(a,{to:`/project/${e.id}`,className:`group rounded-lg bg-surface p-4 transition-colors hover:bg-elevated`,children:[(0,f.jsx)(`h2`,{className:`truncate text-base font-semibold text-fg group-hover:text-accent`,children:e.name}),(0,f.jsx)(`p`,{className:`mt-1 truncate font-mono text-2xs text-fg-muted`,children:h(e.repo_id)??`…`}),(0,f.jsx)(`div`,{className:`mt-3`,children:(0,f.jsx)(m,{projectId:e.id})})]},e.id))}),e!==null&&(0,f.jsx)(u,{profileId:e,open:c,onOpenChange:p})]})}export{h as Dashboard};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/cssMode-CSjHtANE.js","assets/editor.api2-4X9Vh9Zw.js","assets/rolldown-runtime-QTnfLwEv.js","assets/editor-Br_kD0ds.css","assets/workers-Ck67TJT4.js","assets/lspLanguageFeatures-x2nWJpem.js","assets/htmlMode-CIHMS93l.js","assets/jsonMode-BijgXT6I.js","assets/freemarker2-DsOTa0Uq.js","assets/handlebars-DGS-lUwt.js","assets/html-eVYoRhea.js","assets/javascript-Cq9FwqGi.js","assets/typescript-DvKdOnR-.js","assets/liquid-BcLxSFu3.js","assets/mdx-BDgbCiou.js","assets/python-D5mUty3a.js","assets/razor-DAAn8j2s.js","assets/xml-DDMTG7kD.js","assets/yaml-hCGJvPOb.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e,r as t}from"./rolldown-runtime-QTnfLwEv.js";import{f as n,m as r,t as i,u as a}from"./api-DeKerbkb.js";import{_ as o,a as s,g as c,h as l,i as u,n as d,o as ee,r as f,t as te}from"./dialog-VTyOt2M_.js";import{_ as ne,a as re,c as p,d as m,g as h,h as ie,l as g,m as _,o as v,p as y,r as b,s as x,t as S,u as C,x as w}from"./history-logic-B2ZKE3AW.js";import{t as T}from"./preload-helper-Czpn1I53.js";import{Ct as ae,Dt as E,o as oe,wt as se}from"./index-ZcdMfr13.js";import{a as D,c as ce,d as le,f as ue,h as O,i as de,l as fe,m as pe,n as me,o as he,p as k,r as ge,s as A,t as _e,u as ve}from"./editor.api2-4X9Vh9Zw.js";import{t as ye}from"./workers-Ck67TJT4.js";import{t as be}from"./monaco.contribution-C0TYpF88.js";var xe=c(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Se=c(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),Ce=e({cssDefaults:()=>De,lessDefaults:()=>ke,scssDefaults:()=>Oe}),we=class{constructor(e,t,n){this._onDidChange=new me,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},Te={validate:!0,lint:{compatibleVendorPrefixes:`ignore`,vendorPrefix:`warning`,duplicateProperties:`warning`,emptyRules:`warning`,importStatement:`ignore`,boxModel:`ignore`,universalSelector:`ignore`,zeroUnits:`ignore`,fontFaceProperties:`warning`,hexColorLength:`error`,argumentsInColorFunction:`error`,unknownProperties:`warning`,ieHack:`ignore`,unknownVendorSpecificProperties:`ignore`,propertyIgnoredDueToDisplay:`warning`,important:`ignore`,float:`ignore`,idSelector:`ignore`},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:`collapse`,maxPreserveNewLines:void 0,preserveNewLines:!0}},Ee={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},De=new we(`css`,Te,Ee),Oe=new we(`scss`,Te,Ee),ke=new we(`less`,Te,Ee);function Ae(){return T(()=>import(`./cssMode-CSjHtANE.js`),__vite__mapDeps([0,1,2,3,4,5]))}O.onLanguage(`less`,()=>{Ae().then(e=>e.setupMode(ke))}),O.onLanguage(`scss`,()=>{Ae().then(e=>e.setupMode(Oe))}),O.onLanguage(`css`,()=>{Ae().then(e=>e.setupMode(De))});var je=e({handlebarDefaults:()=>Ve,handlebarLanguageService:()=>Be,htmlDefaults:()=>ze,htmlLanguageService:()=>Re,razorDefaults:()=>Ue,razorLanguageService:()=>He,registerHTMLLanguageService:()=>Ge}),Me=class{constructor(e,t,n){this._onDidChange=new me,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},Ne={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:`default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var`,contentUnformatted:`pre`,indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:`head, body, /html`,wrapAttributes:`auto`},suggest:{},data:{useDefaultDataProvider:!0}};function Pe(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===Fe,documentFormattingEdits:e===Fe,documentRangeFormattingEdits:e===Fe}}var Fe=`html`,Ie=`handlebars`,Le=`razor`,Re=Ge(Fe,Ne,Pe(Fe)),ze=Re.defaults,Be=Ge(Ie,Ne,Pe(Ie)),Ve=Be.defaults,He=Ge(Le,Ne,Pe(Le)),Ue=He.defaults;function We(){return T(()=>import(`./htmlMode-CIHMS93l.js`),__vite__mapDeps([6,1,2,3,4,5]))}function Ge(e,t=Ne,n=Pe(e)){let r=new Me(e,t,n),i,a=O.onLanguage(e,async()=>{i=(await We()).setupMode(r)});return{defaults:r,dispose(){a.dispose(),i?.dispose(),i=void 0}}}var Ke=e({getWorker:()=>Je,jsonDefaults:()=>qe}),qe=new class{constructor(e,t,n){this._onDidChange=new me,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}(`json`,{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:`warning`,schemaValidation:`warning`,comments:`error`,trailingCommas:`error`},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0}),Je=()=>Ye().then(e=>e.getWorker());function Ye(){return T(()=>import(`./jsonMode-BijgXT6I.js`),__vite__mapDeps([7,1,2,3,4,5]))}O.register({id:`json`,extensions:[`.json`,`.bowerrc`,`.jshintrc`,`.jscsrc`,`.eslintrc`,`.babelrc`,`.har`],aliases:[`JSON`,`json`],mimetypes:[`application/json`]}),O.onLanguage(`json`,()=>{Ye().then(e=>e.setupMode(qe))});var Xe={},Ze={},Qe=class e{static getOrCreate(t){return Ze[t]||(Ze[t]=new e(t)),Ze[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,Xe[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function j(e){let t=e.id;Xe[t]=e,O.register(e);let n=Qe.getOrCreate(t);O.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),O.onLanguageEncountered(t,async()=>{let e=await n.load();O.setLanguageConfiguration(t,e.conf)})}j({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>T(()=>import(`./abap-08VXUWAP.js`),[])}),j({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>T(()=>import(`./apex-BWPQTe0t.js`),[])}),j({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>T(()=>import(`./azcli-Bc_sGQ0U.js`),[])}),j({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>T(()=>import(`./bat-i0X4ZdIN.js`),[])}),j({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>T(()=>import(`./bicep-B5-_aFwp.js`),[])}),j({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>T(()=>import(`./cameligo-DMUM7wLl.js`),[])}),j({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>T(()=>import(`./clojure-Cm7r79vr.js`),[])}),j({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>T(()=>import(`./coffee-Ba7i2nA0.js`),[])}),j({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>T(()=>import(`./cpp-C7h46wYY.js`),[])}),j({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>T(()=>import(`./cpp-C7h46wYY.js`),[])}),j({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>T(()=>import(`./csharp-BKxtCVv1.js`),[])}),j({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>T(()=>import(`./csp-bTuwJoIa.js`),[])}),j({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>T(()=>import(`./css-DIMkf-bt.js`),[])}),j({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>T(()=>import(`./cypher-CVaqCwHa.js`),[])}),j({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>T(()=>import(`./dart-onAF5SnQ.js`),[])}),j({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>T(()=>import(`./dockerfile-DZFCIeNp.js`),[])}),j({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>T(()=>import(`./ecl-D05T4iGw.js`),[])}),j({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>T(()=>import(`./elixir-6RTg0lbw.js`),[])}),j({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>T(()=>import(`./flow9-C5_-GSwl.js`),[])}),j({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>T(()=>import(`./fsharp-C8Ef5oNN.js`),[])}),j({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>T(()=>import(`./freemarker2-DsOTa0Uq.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([8,1,2,3]))}),j({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>T(()=>import(`./freemarker2-DsOTa0Uq.js`).then(e=>e.TagAngleInterpolationDollar),__vite__mapDeps([8,1,2,3]))}),j({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>T(()=>import(`./freemarker2-DsOTa0Uq.js`).then(e=>e.TagBracketInterpolationDollar),__vite__mapDeps([8,1,2,3]))}),j({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>T(()=>import(`./freemarker2-DsOTa0Uq.js`).then(e=>e.TagAngleInterpolationBracket),__vite__mapDeps([8,1,2,3]))}),j({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>T(()=>import(`./freemarker2-DsOTa0Uq.js`).then(e=>e.TagBracketInterpolationBracket),__vite__mapDeps([8,1,2,3]))}),j({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>T(()=>import(`./freemarker2-DsOTa0Uq.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([8,1,2,3]))}),j({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>T(()=>import(`./freemarker2-DsOTa0Uq.js`).then(e=>e.TagAutoInterpolationBracket),__vite__mapDeps([8,1,2,3]))}),j({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>T(()=>import(`./go-C-y9NEjX.js`),[])}),j({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>T(()=>import(`./graphql-fmXr3nnJ.js`),[])}),j({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>T(()=>import(`./handlebars-DGS-lUwt.js`),__vite__mapDeps([9,1,2,3]))}),j({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>T(()=>import(`./hcl-CpzslTdj.js`),[])}),j({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>T(()=>import(`./html-eVYoRhea.js`),__vite__mapDeps([10,1,2,3]))}),j({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>T(()=>import(`./ini-sBoK_t0W.js`),[])}),j({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>T(()=>import(`./java-BEtHBSE6.js`),[])}),j({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>T(()=>import(`./javascript-Cq9FwqGi.js`),__vite__mapDeps([11,12,1,2,3]))}),j({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>T(()=>import(`./julia-Bri6UV-V.js`),[])}),j({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>T(()=>import(`./kotlin-BOotOW0E.js`),[])}),j({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>T(()=>import(`./less-B9JPFI3C.js`),[])}),j({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>T(()=>import(`./lexon-CfSJPG6W.js`),[])}),j({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>T(()=>import(`./lua-CsQS60Ue.js`),[])}),j({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>T(()=>import(`./liquid-BcLxSFu3.js`),__vite__mapDeps([13,1,2,3]))}),j({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>T(()=>import(`./m3-D-oSqn_W.js`),[])}),j({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>T(()=>import(`./markdown-Cimd5fb3.js`),[])}),j({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>T(()=>import(`./mdx-BDgbCiou.js`),__vite__mapDeps([14,1,2,3]))}),j({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>T(()=>import(`./mips-CIPQ_RoX.js`),[])}),j({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>T(()=>import(`./msdax-DauUninz.js`),[])}),j({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>T(()=>import(`./mysql-SOo6toE5.js`),[])}),j({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>T(()=>import(`./objective-c-FvmIjYaQ.js`),[])}),j({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>T(()=>import(`./pascal-DrH0SRf2.js`),[])}),j({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>T(()=>import(`./pascaligo-D-ptJ9y-.js`),[])}),j({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>T(()=>import(`./perl-oz_6vUea.js`),[])}),j({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>T(()=>import(`./pgsql-DTj74zXo.js`),[])}),j({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>T(()=>import(`./php-nr791fC2.js`),[])}),j({id:`pla`,extensions:[`.pla`],loader:()=>T(()=>import(`./pla-CopQ2nXW.js`),[])}),j({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>T(()=>import(`./postiats-43DmfD33.js`),[])}),j({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>T(()=>import(`./powerquery-D3hlyOfw.js`),[])}),j({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>T(()=>import(`./powershell-DmHpPYUd.js`),[])}),j({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>T(()=>import(`./protobuf-C531GsRP.js`),[])}),j({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>T(()=>import(`./pug-Z5eAx3Zn.js`),[])}),j({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>T(()=>import(`./python-D5mUty3a.js`),__vite__mapDeps([15,1,2,3]))}),j({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>T(()=>import(`./qsharp-DkqhCAOL.js`),[])}),j({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>T(()=>import(`./r-BwWrilGY.js`),[])}),j({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>T(()=>import(`./razor-DAAn8j2s.js`),__vite__mapDeps([16,1,2,3]))}),j({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>T(()=>import(`./redis-ClamHrr6.js`),[])}),j({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>T(()=>import(`./redshift-DT7zqm-g.js`),[])}),j({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>T(()=>import(`./restructuredtext-BYgofb2h.js`),[])}),j({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>T(()=>import(`./ruby-DezsRK8O.js`),[])}),j({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>T(()=>import(`./rust-DdL9SqIa.js`),[])}),j({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>T(()=>import(`./sb-CcwsVR0C.js`),[])}),j({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>T(()=>import(`./scala-DHpiXF5c.js`),[])}),j({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>T(()=>import(`./scheme-BeGwcela.js`),[])}),j({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>T(()=>import(`./scss-gp-XZpBa.js`),[])}),j({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>T(()=>import(`./shell-CC2rA5mh.js`),[])}),j({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>T(()=>import(`./solidity-BEEn4gHE.js`),[])}),j({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>T(()=>import(`./sophia-CRfGWb83.js`),[])}),j({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>T(()=>import(`./sparql-D_Lu-MrJ.js`),[])}),j({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>T(()=>import(`./sql-NEE52Syq.js`),[])}),j({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>T(()=>import(`./st-DbInun42.js`),[])}),j({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>T(()=>import(`./swift-Bxkupp3x.js`),[])}),j({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>T(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),j({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>T(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),j({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>T(()=>import(`./tcl-DISqw1ZD.js`),[])}),j({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>T(()=>import(`./twig-De2hgUGE.js`),[])}),j({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>T(()=>import(`./typescript-DvKdOnR-.js`),__vite__mapDeps([12,1,2,3]))}),j({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>T(()=>import(`./typespec-B8J7ngcE.js`),[])}),j({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>T(()=>import(`./vb-DV3o63ZY.js`),[])}),j({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>T(()=>import(`./wgsl-DpFanUEy.js`),[])}),j({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)`,aliases:[`XML`,`xml`],mimetypes:[`text/xml`,`application/xml`,`application/xaml+xml`,`application/xml-dtd`],loader:()=>T(()=>import(`./xml-DDMTG7kD.js`),__vite__mapDeps([17,1,2,3]))}),j({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>T(()=>import(`./yaml-hCGJvPOb.js`),__vite__mapDeps([18,1,2,3]))});var $e=e({MonacoLspClient:()=>Wr,WebSocketTransport:()=>Jr,createTransportToIFrame:()=>Zr,createTransportToWorker:()=>Xr}),et=Object.defineProperty,tt=(e,t,n)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t,n)=>tt(e,typeof t==`symbol`?t:t+``,n),nt,rt,it,at,ot;function st(e){return e.method!==void 0}var ct;(function(e){function t(e){return e}e.create=t})(ct||={});var N;(function(e){e.parseError=-32700,e.invalidRequest=-32600,e.methodNotFound=-32601,e.invalidParams=-32602,e.internalError=-32603;function t(e){return-32099<=e&&e<=-32e3}e.isServerError=t;function n(e){if(!t(e))throw Error(`Invalid range for a server error.`);return e}e.serverError=n,e.unexpectedServerError=-32e3;function r(e){return!0}e.isApplicationError=r;function i(e){return e}e.applicationError=i,e.genericApplicationError=-320100})(N||={});var lt=class{constructor(){M(this,`listeners`,new Set),M(this,`event`,e=>(this.listeners.add(e),{dispose:()=>{this.listeners.delete(e)}}))}fire(e){this.listeners.forEach(t=>t(e))}},ut=class{constructor(e){M(this,`_value`),M(this,`eventEmitter`),this._value=e,this.eventEmitter=new lt}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.eventEmitter.fire(e))}get onChange(){return this.eventEmitter.event}};function dt(e,t){let n=setTimeout(t,e);return{dispose:()=>clearTimeout(n)}}function ft(e,t,n){return e instanceof Set?(e.add(t),{dispose:()=>e.delete(t)}):(e.set(t,n),{dispose:()=>e.delete(t)})}var pt=class{constructor(){M(this,`_state`,`none`),M(this,`promise`),M(this,`resolve`,()=>{}),M(this,`reject`,()=>{}),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}get state(){return this._state}},mt=(nt=class{constructor(){M(this,`_unprocessedMessages`,[]),M(this,`_messageListener`),M(this,`id`,nt.id++),M(this,`_state`,new ut({state:`open`})),M(this,`state`,this._state)}setListener(e){if(this._messageListener=e,e)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){let e=this._unprocessedMessages.shift();this._messageListener(e)}}send(e){return this._sendImpl(e)}_dispatchReceivedMessage(e){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(e):this._unprocessedMessages.push(e)}_onConnectionClosed(){this._state.value={state:`closed`,error:void 0}}log(e){return new ht(this,e??new gt)}},M(nt,`id`,0),nt),ht=class{constructor(e,t){M(this,`baseStream`),M(this,`logger`),this.baseStream=e,this.logger=t}get state(){return this.baseStream.state}setListener(e){if(e===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(t=>{this.logger.log(this.baseStream,`incoming`,t),e(t)})}send(e){return this.logger.log(this.baseStream,`outgoing`,e),this.baseStream.send(e)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},gt=class{log(e,t,n){console.log(`${t===`incoming`?`<-`:`->`} [${e.toString()}] ${JSON.stringify(n)}`)}},_t=class e{constructor(e){M(this,`connect`),this.connect=e}mapContext(t){return new e(e=>this.connect(e?vt(e,t):void 0))}};function vt(e,t){return{handleNotification:(n,r)=>e.handleNotification(n,t(r)),handleRequest:(n,r,i)=>e.handleRequest(n,r,t(i))}}var yt=class e{constructor(e,t,n){M(this,`_stream`),M(this,`_listener`),M(this,`_logger`),M(this,`_unprocessedResponses`,new Map),M(this,`_lastUsedRequestId`,0),this._stream=e,this._listener=t,this._logger=n,this._stream.setListener(e=>{st(e)?e.id===void 0?this._processNotification(e):this._processRequest(e):this._processResponse(e)})}static createChannel(t,n){let r=!1;return new _t(i=>{if(r)throw Error(`A channel to the stream ${t} was already constructed!`);return r=!0,new e(t,i,n)})}get state(){return this._stream.state}async _processNotification(e){if(e.id!==void 0)throw Error();if(!this._listener){this._logger&&this._logger.debug({text:`Notification ignored`,message:e});return}try{await this._listener.handleNotification({method:e.method,params:e.params||null})}catch(t){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${t}`,exception:t,message:e})}}async _processRequest(e){if(e.id===void 0)throw Error();let t;if(this._listener)try{t=await this._listener.handleRequest({method:e.method,params:e.params||null},e.id)}catch(n){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${n}`,message:e,exception:n}),t={error:{code:N.internalError,message:`An unexpected exception was thrown.`,data:void 0}}}else this._logger&&this._logger.debug({text:`Received request even though not listening for requests`,message:e}),t={error:{code:N.methodNotFound,message:`This endpoint does not listen for requests or notifications.`,data:void 0}};let n;n=`result`in t?{jsonrpc:`2.0`,id:e.id,result:t.result}:{jsonrpc:`2.0`,id:e.id,error:t.error},await this._stream.send(n)}_processResponse(e){let t=``+e.id,n=this._unprocessedResponses.get(t);if(!n){this._logger&&this._logger.debug({text:`Got an unexpected response message`,message:e});return}this._unprocessedResponses.delete(t),n(e)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(e,t,n){let r={jsonrpc:`2.0`,id:this._newRequestId(),method:e.method,params:e.params||void 0};return n&&n(r.id),new Promise((e,t)=>{let n=``+r.id;this._unprocessedResponses.set(n,n=>{`result`in n?e({result:n.result}):(n.error||t(Error(`Response had neither 'result' nor 'error' field set.`)),e({error:n.error}))}),this._stream.send(r).then(void 0,e=>{this._unprocessedResponses.delete(n),t(e)})})}sendNotification(e,t){let n={jsonrpc:`2.0`,id:void 0,method:e.method,params:e.params||void 0};return this._stream.send(n)}toString(){return`StreamChannel/`+this._stream.toString()}},bt;(function(e){function t(){return{deserializeFromJson:e=>({hasErrors:!1,value:e}),serializeToJson:e=>e}}e.sAny=t;function n(){return{deserializeFromJson:e=>({hasErrors:!1,value:{}}),serializeToJson:e=>({})}}e.sEmptyObject=n;function r(){return{deserializeFromJson:e=>({hasErrors:!1,value:void 0}),serializeToJson:e=>null}}e.sVoidFromNull=r})(bt||={});var xt=Symbol(`OptionalMethodNotFound`),St=class{contextualize(e){return new Ct(this,e)}},Ct=class extends St{constructor(e,t){super(),M(this,`underylingTypedChannel`),M(this,`converters`),this.underylingTypedChannel=e,this.converters=t}async request(e,t,n){let r=await this.converters.getSendContext(n);return this.underylingTypedChannel.request(e,t,r)}async notify(e,t,n){let r=await this.converters.getSendContext(n);return this.underylingTypedChannel.notify(e,t,r)}registerNotificationHandler(e,t){return this.underylingTypedChannel.registerNotificationHandler(e,async(e,n)=>await t(e,await this.converters.getNewContext(n)))}registerRequestHandler(e,t){return this.underylingTypedChannel.registerRequestHandler(e,async(e,n,r)=>await t(e,n,await this.converters.getNewContext(r)))}},wt=class e extends St{constructor(e,t={}){super(),M(this,`channelCtor`),M(this,`_requestSender`),M(this,`_handler`,new Map),M(this,`_unknownNotificationHandler`,new Set),M(this,`_timeout`),M(this,`sendExceptionDetails`,!1),M(this,`_logger`),M(this,`listeningDeferred`,new pt),M(this,`onListening`,this.listeningDeferred.promise),M(this,`_requestDidErrorEventEmitter`,new lt),M(this,`onRequestDidError`,this._requestDidErrorEventEmitter.event),this.channelCtor=e,this._logger=t.logger,this.sendExceptionDetails=!!t.sendExceptionDetails,this._timeout=dt(1e3,()=>{this._requestSender||console.warn(`"${this.startListen.name}" has not been called within 1 second after construction of this channel. Did you forget to call it?`,this)})}static fromTransport(t,n={}){return new e(yt.createChannel(t,n.logger),n)}startListen(){if(this._requestSender)throw Error(`"${this.startListen.name}" can be called only once, but it already has been called.`);this._timeout&&=(this._timeout.dispose(),void 0),this._requestSender=this.channelCtor.connect({handleRequest:(e,t,n)=>this.handleRequest(e,t,n),handleNotification:(e,t)=>this.handleNotification(e,t)}),this.listeningDeferred.resolve()}checkChannel(e){if(!e)throw Error(`"${this.startListen.name}" must be called before any messages can be sent or received.`);return!0}async handleRequest(e,t,n){let r=this._handler.get(e.method);if(!r)return this._logger&&this._logger.debug({text:`No request handler for "${e.method}".`,data:{requestObject:e}}),{error:{code:N.methodNotFound,message:`No request handler for "${e.method}".`,data:{method:e.method}}};if(r.kind!=`request`){let t=`"${e.method}" is registered as notification, but was sent as request.`;return this._logger&&this._logger.debug({text:t,data:{requestObject:e}}),{error:{code:N.invalidRequest,message:t,data:{method:e.method}}}}let i=r.requestType.paramsSerializer.deserializeFromJson(e.params);if(i.hasErrors){let t=`Got invalid params: ${i.errorMessage}`;return this._logger&&this._logger.debug({text:t,data:{requestObject:e,errorMessage:i.errorMessage}}),{error:{code:N.invalidParams,message:t,data:{errors:i.errorMessage}}}}else{let a=i.value,o;try{let e=await r.handler(a,t,n);if(`error`in e||`errorMessage`in e){let t=e.error?r.requestType.errorSerializer.serializeToJson(e.error):void 0;o={error:{code:e.errorCode||N.genericApplicationError,message:e.errorMessage||`An error was returned`,data:t}}}else o={result:r.requestType.resultSerializer.serializeToJson(e.ok)}}catch(t){t instanceof Et?o={error:{code:t.code,message:t.message}}:(this._logger&&this._logger.warn({text:`An exception was thrown while handling a request: ${t}.`,exception:t,data:{requestObject:e}}),o={error:{code:N.unexpectedServerError,message:this.sendExceptionDetails?`An exception was thrown while handling a request: ${t}.`:`Server has thrown an unexpected exception`}})}return o}}async handleNotification(e,t){let n=this._handler.get(e.method);if(!n){for(let t of this._unknownNotificationHandler)t(e);this._unknownNotificationHandler.size===0&&this._logger&&this._logger.debug({text:`Unhandled notification "${e.method}"`,data:{requestObject:e}});return}if(n.kind!=`notification`){this._logger&&this._logger.debug({text:`"${e.method}" is registered as request, but was sent as notification.`,data:{requestObject:e}});return}let r=n.notificationType.paramsSerializer.deserializeFromJson(e.params);if(r.hasErrors){this._logger&&this._logger.debug({text:`Got invalid params: ${r}`,data:{requestObject:e,errorMessage:r.errorMessage}});return}let i=r.value;for(let r of n.handlers)try{r(i,t)}catch(t){this._logger&&this._logger.warn({text:`An exception was thrown while handling a notification: ${t}.`,exception:t,data:{requestObject:e}})}}registerUnknownNotificationHandler(e){return ft(this._unknownNotificationHandler,e)}registerRequestHandler(e,t){if(this._handler.get(e.method))throw Error(`Handler with method "${e.method}" already registered.`);return ft(this._handler,e.method,{kind:`request`,requestType:e,handler:t})}registerNotificationHandler(e,t){let n=this._handler.get(e.method);if(!n)n={kind:`notification`,notificationType:e,handlers:new Set},this._handler.set(e.method,n);else{if(n.kind!==`notification`)throw Error(`Method "${e.method}" was already registered as request handler.`);if(n.notificationType!==e)throw Error(`Method "${e.method}" was registered for a different type.`)}return ft(n.handlers,t)}getRegisteredTypes(){let e=[];for(let t of this._handler.values())t.kind===`notification`?e.push(t.notificationType):t.kind===`request`&&e.push(t.requestType);return e}async request(e,t,n){if(!this.checkChannel(this._requestSender))throw Error(`Impossible`);let r=e.paramsSerializer.serializeToJson(t);Tt(r);let i=await this._requestSender.sendRequest({method:e.method,params:r},n);if(`error`in i){if(e.isOptional&&i.error.code===N.methodNotFound)return xt;let t;if(i.error.data!==void 0){let n=e.errorSerializer.deserializeFromJson(i.error.data);if(n.hasErrors)throw Error(n.errorMessage);t=n.value}else t=void 0;let n=new Et(i.error.message,t,i.error.code);throw this._requestDidErrorEventEmitter.fire({error:n}),n}else{let t=e.resultSerializer.deserializeFromJson(i.result);if(t.hasErrors)throw Error(`Could not deserialize response: `+t.errorMessage+`
|
|
3
|
+
|
|
4
|
+
${JSON.stringify(i,null,2)}`);return t.value}}async notify(e,t,n){if(!this.checkChannel(this._requestSender))throw Error();let r=e.paramsSerializer.serializeToJson(t);Tt(r),this._requestSender.sendNotification({method:e.method,params:r},n)}};function Tt(e){if(e!==null&&Array.isArray(e)&&typeof e!=`object`)throw Error(`Invalid value! Only null, array and object is allowed.`)}var Et=class e extends Error{constructor(t,n,r=N.genericApplicationError){super(t),M(this,`data`),M(this,`code`),this.data=n,this.code=r,Object.setPrototypeOf(this,e.prototype)}},Dt=class e{constructor(e,t,n,r,i=!1){M(this,`method`),M(this,`paramsSerializer`),M(this,`resultSerializer`),M(this,`errorSerializer`),M(this,`isOptional`),M(this,`kind`,`request`),this.method=e,this.paramsSerializer=t,this.resultSerializer=n,this.errorSerializer=r,this.isOptional=i}withMethod(t){return new e(t,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new e(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},Ot=class e{constructor(e,t){M(this,`method`),M(this,`paramsSerializer`),M(this,`kind`,`notification`),this.method=e,this.paramsSerializer=t}withMethod(t){return new e(t,this.paramsSerializer)}};function P(e){return new Dt((e||{}).method,bt.sAny(),bt.sAny(),bt.sAny())}function F(e){return new Ot((e||{}).method,bt.sAny())}var kt=(rt=Symbol(),it=class{constructor(e){M(this,`error`),M(this,rt),this.error=e}},M(it,`factory`,e=>new it(e)),it);function At(e){let t=jt(e.server),n=jt(e.client);return new Mt(e.tags||[],t,n)}function jt(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.method?r.method:n;t[n]=r.withMethod(e)}return t}var Mt=class e{constructor(e=[],t,n){M(this,`tags`),M(this,`server`),M(this,`client`),this.tags=e,this.server=t,this.client=n}_onlyDesignTime(){return Error(`This property is not meant to be accessed at runtime`)}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}getInterface(e,t,n,r){let i=this.buildCounterpart(e,n),a=this.registerHandlers(e,t,r,i);return{counterpart:i,dispose:()=>a.dispose()}}buildCounterpart(e,t){let n={};for(let[r,i]of Object.entries(t)){let t;t=i.kind===`request`?i.isOptional?async(t,n)=>{t===void 0&&(t={});try{return await e.request(i,t,n)}catch(e){if(e&&e.code===N.methodNotFound)return xt;throw e}}:(t,n)=>(t===void 0&&(t={}),e.request(i,t,n)):(t,n)=>(t===void 0&&(t={}),e.notify(i,t,n)),n[r]=t}return n}registerHandlers(e,t,n,r){let i=[];for(let[a,o]of Object.entries(t))if(o.kind===`request`){let t=n[a];if(!t)continue;let s=this.createRequestHandler(r,t);i.push(e.registerRequestHandler(o,s))}else{let t=n[a];t&&i.push(e.registerNotificationHandler(o,(e,n)=>{t(e,{context:n,counterpart:r})}))}return{dispose:()=>i.forEach(e=>e.dispose())}}createRequestHandler(e,t){return async(n,r,i)=>{let a=await t(n,{context:i,counterpart:e,newErr:kt.factory,requestId:r});return a instanceof kt?a.error:{ok:a}}}static getServerFromStream(e,t,n,r){let i=wt.fromTransport(t,n),{server:a}=e.getServer(i,r);return i.startListen(),{channel:i,server:a}}static registerServerToStream(e,t,n,r){let i=wt.fromTransport(t,n),{client:a}=e.registerServer(i,r);return i.startListen(),{channel:i,client:a}}getServer(e,t){let{counterpart:n,dispose:r}=this.getInterface(e,this.client,this.server,t);return{server:n,dispose:r}}registerServer(e,t){let{counterpart:n,dispose:r}=this.getInterface(e,this.server,this.client,t);return{client:n,dispose:r}}withContext(){return new e(this.tags,this.server,this.client)}},Nt=(function(e){return e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`,e})({}),I=(function(e){return e[e.File=1]=`File`,e[e.Module=2]=`Module`,e[e.Namespace=3]=`Namespace`,e[e.Package=4]=`Package`,e[e.Class=5]=`Class`,e[e.Method=6]=`Method`,e[e.Property=7]=`Property`,e[e.Field=8]=`Field`,e[e.Constructor=9]=`Constructor`,e[e.Enum=10]=`Enum`,e[e.Interface=11]=`Interface`,e[e.Function=12]=`Function`,e[e.Variable=13]=`Variable`,e[e.Constant=14]=`Constant`,e[e.String=15]=`String`,e[e.Number=16]=`Number`,e[e.Boolean=17]=`Boolean`,e[e.Array=18]=`Array`,e[e.Object=19]=`Object`,e[e.Key=20]=`Key`,e[e.Null=21]=`Null`,e[e.EnumMember=22]=`EnumMember`,e[e.Struct=23]=`Struct`,e[e.Event=24]=`Event`,e[e.Operator=25]=`Operator`,e[e.TypeParameter=26]=`TypeParameter`,e})({}),Pt=(function(e){return e[e.Deprecated=1]=`Deprecated`,e})({}),Ft=(function(e){return e[e.Type=1]=`Type`,e[e.Parameter=2]=`Parameter`,e})({}),It=(function(e){return e[e.None=0]=`None`,e[e.Full=1]=`Full`,e[e.Incremental=2]=`Incremental`,e})({}),L=(function(e){return e[e.Text=1]=`Text`,e[e.Method=2]=`Method`,e[e.Function=3]=`Function`,e[e.Constructor=4]=`Constructor`,e[e.Field=5]=`Field`,e[e.Variable=6]=`Variable`,e[e.Class=7]=`Class`,e[e.Interface=8]=`Interface`,e[e.Module=9]=`Module`,e[e.Property=10]=`Property`,e[e.Unit=11]=`Unit`,e[e.Value=12]=`Value`,e[e.Enum=13]=`Enum`,e[e.Keyword=14]=`Keyword`,e[e.Snippet=15]=`Snippet`,e[e.Color=16]=`Color`,e[e.File=17]=`File`,e[e.Reference=18]=`Reference`,e[e.Folder=19]=`Folder`,e[e.EnumMember=20]=`EnumMember`,e[e.Constant=21]=`Constant`,e[e.Struct=22]=`Struct`,e[e.Event=23]=`Event`,e[e.Operator=24]=`Operator`,e[e.TypeParameter=25]=`TypeParameter`,e})({}),Lt=(function(e){return e[e.Deprecated=1]=`Deprecated`,e})({}),Rt=(function(e){return e[e.PlainText=1]=`PlainText`,e[e.Snippet=2]=`Snippet`,e})({}),zt=(function(e){return e[e.Text=1]=`Text`,e[e.Read=2]=`Read`,e[e.Write=3]=`Write`,e})({}),R=(function(e){return 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`,e})({}),Bt=(function(e){return e.PlainText=`plaintext`,e.Markdown=`markdown`,e})({}),z=(function(e){return e[e.Error=1]=`Error`,e[e.Warning=2]=`Warning`,e[e.Information=3]=`Information`,e[e.Hint=4]=`Hint`,e})({}),Vt=(function(e){return e[e.Unnecessary=1]=`Unnecessary`,e[e.Deprecated=2]=`Deprecated`,e})({}),Ht=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.TriggerForIncompleteCompletions=3]=`TriggerForIncompleteCompletions`,e})({}),Ut=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.ContentChange=3]=`ContentChange`,e})({}),Wt=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.Automatic=2]=`Automatic`,e})({}),Gt=(function(e){return e.Relative=`relative`,e})({}),B=class{constructor(e){this.method=e}},V={textDocumentImplementation:new B(`textDocument/implementation`),textDocumentTypeDefinition:new B(`textDocument/typeDefinition`),textDocumentDocumentColor:new B(`textDocument/documentColor`),textDocumentColorPresentation:new B(`textDocument/colorPresentation`),textDocumentFoldingRange:new B(`textDocument/foldingRange`),textDocumentDeclaration:new B(`textDocument/declaration`),textDocumentSelectionRange:new B(`textDocument/selectionRange`),textDocumentPrepareCallHierarchy:new B(`textDocument/prepareCallHierarchy`),textDocumentSemanticTokensFull:new B(`textDocument/semanticTokens/full`),textDocumentSemanticTokensFullDelta:new B(`textDocument/semanticTokens/full/delta`),textDocumentLinkedEditingRange:new B(`textDocument/linkedEditingRange`),workspaceWillCreateFiles:new B(`workspace/willCreateFiles`),workspaceWillRenameFiles:new B(`workspace/willRenameFiles`),workspaceWillDeleteFiles:new B(`workspace/willDeleteFiles`),textDocumentMoniker:new B(`textDocument/moniker`),textDocumentPrepareTypeHierarchy:new B(`textDocument/prepareTypeHierarchy`),textDocumentInlineValue:new B(`textDocument/inlineValue`),textDocumentInlayHint:new B(`textDocument/inlayHint`),textDocumentDiagnostic:new B(`textDocument/diagnostic`),textDocumentInlineCompletion:new B(`textDocument/inlineCompletion`),textDocumentWillSaveWaitUntil:new B(`textDocument/willSaveWaitUntil`),textDocumentCompletion:new B(`textDocument/completion`),textDocumentHover:new B(`textDocument/hover`),textDocumentSignatureHelp:new B(`textDocument/signatureHelp`),textDocumentDefinition:new B(`textDocument/definition`),textDocumentReferences:new B(`textDocument/references`),textDocumentDocumentHighlight:new B(`textDocument/documentHighlight`),textDocumentDocumentSymbol:new B(`textDocument/documentSymbol`),textDocumentCodeAction:new B(`textDocument/codeAction`),workspaceSymbol:new B(`workspace/symbol`),textDocumentCodeLens:new B(`textDocument/codeLens`),textDocumentDocumentLink:new B(`textDocument/documentLink`),textDocumentFormatting:new B(`textDocument/formatting`),textDocumentRangeFormatting:new B(`textDocument/rangeFormatting`),textDocumentRangesFormatting:new B(`textDocument/rangesFormatting`),textDocumentOnTypeFormatting:new B(`textDocument/onTypeFormatting`),textDocumentRename:new B(`textDocument/rename`),workspaceExecuteCommand:new B(`workspace/executeCommand`),workspaceDidCreateFiles:new B(`workspace/didCreateFiles`),workspaceDidRenameFiles:new B(`workspace/didRenameFiles`),workspaceDidDeleteFiles:new B(`workspace/didDeleteFiles`),workspaceDidChangeConfiguration:new B(`workspace/didChangeConfiguration`),textDocumentDidOpen:new B(`textDocument/didOpen`),textDocumentDidChange:new B(`textDocument/didChange`),textDocumentDidClose:new B(`textDocument/didClose`),textDocumentDidSave:new B(`textDocument/didSave`),textDocumentWillSave:new B(`textDocument/willSave`),workspaceDidChangeWatchedFiles:new B(`workspace/didChangeWatchedFiles`)},Kt=At({server:{textDocumentImplementation:P({method:`textDocument/implementation`}),textDocumentTypeDefinition:P({method:`textDocument/typeDefinition`}),textDocumentDocumentColor:P({method:`textDocument/documentColor`}),textDocumentColorPresentation:P({method:`textDocument/colorPresentation`}),textDocumentFoldingRange:P({method:`textDocument/foldingRange`}),textDocumentDeclaration:P({method:`textDocument/declaration`}),textDocumentSelectionRange:P({method:`textDocument/selectionRange`}),textDocumentPrepareCallHierarchy:P({method:`textDocument/prepareCallHierarchy`}),callHierarchyIncomingCalls:P({method:`callHierarchy/incomingCalls`}),callHierarchyOutgoingCalls:P({method:`callHierarchy/outgoingCalls`}),textDocumentSemanticTokensFull:P({method:`textDocument/semanticTokens/full`}),textDocumentSemanticTokensFullDelta:P({method:`textDocument/semanticTokens/full/delta`}),textDocumentSemanticTokensRange:P({method:`textDocument/semanticTokens/range`}),textDocumentLinkedEditingRange:P({method:`textDocument/linkedEditingRange`}),workspaceWillCreateFiles:P({method:`workspace/willCreateFiles`}),workspaceWillRenameFiles:P({method:`workspace/willRenameFiles`}),workspaceWillDeleteFiles:P({method:`workspace/willDeleteFiles`}),textDocumentMoniker:P({method:`textDocument/moniker`}),textDocumentPrepareTypeHierarchy:P({method:`textDocument/prepareTypeHierarchy`}),typeHierarchySupertypes:P({method:`typeHierarchy/supertypes`}),typeHierarchySubtypes:P({method:`typeHierarchy/subtypes`}),textDocumentInlineValue:P({method:`textDocument/inlineValue`}),textDocumentInlayHint:P({method:`textDocument/inlayHint`}),inlayHintResolve:P({method:`inlayHint/resolve`}),textDocumentDiagnostic:P({method:`textDocument/diagnostic`}),workspaceDiagnostic:P({method:`workspace/diagnostic`}),textDocumentInlineCompletion:P({method:`textDocument/inlineCompletion`}),initialize:P({method:`initialize`}),shutdown:P({method:`shutdown`}),textDocumentWillSaveWaitUntil:P({method:`textDocument/willSaveWaitUntil`}),textDocumentCompletion:P({method:`textDocument/completion`}),completionItemResolve:P({method:`completionItem/resolve`}),textDocumentHover:P({method:`textDocument/hover`}),textDocumentSignatureHelp:P({method:`textDocument/signatureHelp`}),textDocumentDefinition:P({method:`textDocument/definition`}),textDocumentReferences:P({method:`textDocument/references`}),textDocumentDocumentHighlight:P({method:`textDocument/documentHighlight`}),textDocumentDocumentSymbol:P({method:`textDocument/documentSymbol`}),textDocumentCodeAction:P({method:`textDocument/codeAction`}),codeActionResolve:P({method:`codeAction/resolve`}),workspaceSymbol:P({method:`workspace/symbol`}),workspaceSymbolResolve:P({method:`workspaceSymbol/resolve`}),textDocumentCodeLens:P({method:`textDocument/codeLens`}),codeLensResolve:P({method:`codeLens/resolve`}),textDocumentDocumentLink:P({method:`textDocument/documentLink`}),documentLinkResolve:P({method:`documentLink/resolve`}),textDocumentFormatting:P({method:`textDocument/formatting`}),textDocumentRangeFormatting:P({method:`textDocument/rangeFormatting`}),textDocumentRangesFormatting:P({method:`textDocument/rangesFormatting`}),textDocumentOnTypeFormatting:P({method:`textDocument/onTypeFormatting`}),textDocumentRename:P({method:`textDocument/rename`}),textDocumentPrepareRename:P({method:`textDocument/prepareRename`}),workspaceExecuteCommand:P({method:`workspace/executeCommand`}),workspaceDidChangeWorkspaceFolders:F({method:`workspace/didChangeWorkspaceFolders`}),windowWorkDoneProgressCancel:F({method:`window/workDoneProgress/cancel`}),workspaceDidCreateFiles:F({method:`workspace/didCreateFiles`}),workspaceDidRenameFiles:F({method:`workspace/didRenameFiles`}),workspaceDidDeleteFiles:F({method:`workspace/didDeleteFiles`}),notebookDocumentDidOpen:F({method:`notebookDocument/didOpen`}),notebookDocumentDidChange:F({method:`notebookDocument/didChange`}),notebookDocumentDidSave:F({method:`notebookDocument/didSave`}),notebookDocumentDidClose:F({method:`notebookDocument/didClose`}),initialized:F({method:`initialized`}),exit:F({method:`exit`}),workspaceDidChangeConfiguration:F({method:`workspace/didChangeConfiguration`}),textDocumentDidOpen:F({method:`textDocument/didOpen`}),textDocumentDidChange:F({method:`textDocument/didChange`}),textDocumentDidClose:F({method:`textDocument/didClose`}),textDocumentDidSave:F({method:`textDocument/didSave`}),textDocumentWillSave:F({method:`textDocument/willSave`}),workspaceDidChangeWatchedFiles:F({method:`workspace/didChangeWatchedFiles`}),setTrace:F({method:`$/setTrace`}),cancelRequest:F({method:`$/cancelRequest`}),progress:F({method:`$/progress`})},client:{workspaceWorkspaceFolders:P({method:`workspace/workspaceFolders`}).optional(),workspaceConfiguration:P({method:`workspace/configuration`}).optional(),workspaceFoldingRangeRefresh:P({method:`workspace/foldingRange/refresh`}).optional(),windowWorkDoneProgressCreate:P({method:`window/workDoneProgress/create`}).optional(),workspaceSemanticTokensRefresh:P({method:`workspace/semanticTokens/refresh`}).optional(),windowShowDocument:P({method:`window/showDocument`}).optional(),workspaceInlineValueRefresh:P({method:`workspace/inlineValue/refresh`}).optional(),workspaceInlayHintRefresh:P({method:`workspace/inlayHint/refresh`}).optional(),workspaceDiagnosticRefresh:P({method:`workspace/diagnostic/refresh`}).optional(),clientRegisterCapability:P({method:`client/registerCapability`}).optional(),clientUnregisterCapability:P({method:`client/unregisterCapability`}).optional(),windowShowMessageRequest:P({method:`window/showMessageRequest`}).optional(),workspaceCodeLensRefresh:P({method:`workspace/codeLens/refresh`}).optional(),workspaceApplyEdit:P({method:`workspace/applyEdit`}).optional(),windowShowMessage:F({method:`window/showMessage`}),windowLogMessage:F({method:`window/logMessage`}),telemetryEvent:F({method:`telemetry/event`}),textDocumentPublishDiagnostics:F({method:`textDocument/publishDiagnostics`}),logTrace:F({method:`$/logTrace`}),cancelRequest:F({method:`$/cancelRequest`}),progress:F({method:`$/progress`})}});function H(e,t){if(e.textModel!==t)throw Error(`Expected text model to be ${t}, but got ${e.textModel}`);return e}var U=(at=class{constructor(){M(this,`_store`,new qt)}dispose(){this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}},M(at,`None`,Object.freeze({dispose(){}})),at),qt=(ot=class{constructor(){M(this,`_toDispose`,new Set),M(this,`_isDisposed`,!1)}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){if(this._toDispose.size!==0)try{for(let e of this._toDispose)e.dispose()}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._isDisposed?ot.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(e),e}},M(ot,`DISABLE_DISPOSED_WARNING`,!1),ot),Jt=new Map([[R.Empty,``],[R.QuickFix,`quickfix`],[R.Refactor,`refactor`],[R.RefactorExtract,`refactor.extract`],[R.RefactorInline,`refactor.inline`],[R.RefactorRewrite,`refactor.rewrite`],[R.Source,`source`],[R.SourceOrganizeImports,`source.organizeImports`],[R.SourceFixAll,`source.fixAll`]]);function Yt(e){if(e)return Jt.get(e)??e}var Xt=new Map([[O.CodeActionTriggerType.Invoke,Wt.Invoked],[O.CodeActionTriggerType.Auto,Wt.Automatic]]);function Zt(e){return Xt.get(e)??Wt.Invoked}var Qt=new Map([[L.Text,O.CompletionItemKind.Text],[L.Method,O.CompletionItemKind.Method],[L.Function,O.CompletionItemKind.Function],[L.Constructor,O.CompletionItemKind.Constructor],[L.Field,O.CompletionItemKind.Field],[L.Variable,O.CompletionItemKind.Variable],[L.Class,O.CompletionItemKind.Class],[L.Interface,O.CompletionItemKind.Interface],[L.Module,O.CompletionItemKind.Module],[L.Property,O.CompletionItemKind.Property],[L.Unit,O.CompletionItemKind.Unit],[L.Value,O.CompletionItemKind.Value],[L.Enum,O.CompletionItemKind.Enum],[L.Keyword,O.CompletionItemKind.Keyword],[L.Snippet,O.CompletionItemKind.Snippet],[L.Color,O.CompletionItemKind.Color],[L.File,O.CompletionItemKind.File],[L.Reference,O.CompletionItemKind.Reference],[L.Folder,O.CompletionItemKind.Folder],[L.EnumMember,O.CompletionItemKind.EnumMember],[L.Constant,O.CompletionItemKind.Constant],[L.Struct,O.CompletionItemKind.Struct],[L.Event,O.CompletionItemKind.Event],[L.Operator,O.CompletionItemKind.Operator],[L.TypeParameter,O.CompletionItemKind.TypeParameter]]);function $t(e){return e?Qt.get(e)??O.CompletionItemKind.Text:O.CompletionItemKind.Text}var en=new Map([[Lt.Deprecated,O.CompletionItemTag.Deprecated]]);function tn(e){return en.get(e)}var nn=new Map([[O.CompletionTriggerKind.Invoke,Ht.Invoked],[O.CompletionTriggerKind.TriggerCharacter,Ht.TriggerCharacter],[O.CompletionTriggerKind.TriggerForIncompleteCompletions,Ht.TriggerForIncompleteCompletions]]);function rn(e){return nn.get(e)??Ht.Invoked}var an=new Map([[Rt.Snippet,O.CompletionItemInsertTextRule.InsertAsSnippet]]);function on(e){if(e)return an.get(e)}var sn=new Map([[I.File,O.SymbolKind.File],[I.Module,O.SymbolKind.Module],[I.Namespace,O.SymbolKind.Namespace],[I.Package,O.SymbolKind.Package],[I.Class,O.SymbolKind.Class],[I.Method,O.SymbolKind.Method],[I.Property,O.SymbolKind.Property],[I.Field,O.SymbolKind.Field],[I.Constructor,O.SymbolKind.Constructor],[I.Enum,O.SymbolKind.Enum],[I.Interface,O.SymbolKind.Interface],[I.Function,O.SymbolKind.Function],[I.Variable,O.SymbolKind.Variable],[I.Constant,O.SymbolKind.Constant],[I.String,O.SymbolKind.String],[I.Number,O.SymbolKind.Number],[I.Boolean,O.SymbolKind.Boolean],[I.Array,O.SymbolKind.Array],[I.Object,O.SymbolKind.Object],[I.Key,O.SymbolKind.Key],[I.Null,O.SymbolKind.Null],[I.EnumMember,O.SymbolKind.EnumMember],[I.Struct,O.SymbolKind.Struct],[I.Event,O.SymbolKind.Event],[I.Operator,O.SymbolKind.Operator],[I.TypeParameter,O.SymbolKind.TypeParameter]]);function cn(e){return sn.get(e)??O.SymbolKind.File}var ln=new Map([[Pt.Deprecated,O.SymbolTag.Deprecated]]);function un(e){return ln.get(e)}var dn=new Map([[zt.Text,O.DocumentHighlightKind.Text],[zt.Read,O.DocumentHighlightKind.Read],[zt.Write,O.DocumentHighlightKind.Write]]);function fn(e){return e?dn.get(e)??O.DocumentHighlightKind.Text:O.DocumentHighlightKind.Text}var pn=new Map([[Nt.Comment,O.FoldingRangeKind.Comment],[Nt.Imports,O.FoldingRangeKind.Imports],[Nt.Region,O.FoldingRangeKind.Region]]);function mn(e){if(e)return pn.get(e)}var hn=new Map([[D.Error,z.Error],[D.Warning,z.Warning],[D.Info,z.Information],[D.Hint,z.Hint]]);function gn(e){return hn.get(e)??z.Error}var _n=new Map([[z.Error,D.Error],[z.Warning,D.Warning],[z.Information,D.Info],[z.Hint,D.Hint]]);function vn(e){return e?_n.get(e)??D.Error:D.Error}var yn=new Map([[Vt.Unnecessary,he.Unnecessary],[Vt.Deprecated,he.Deprecated]]);function bn(e){return yn.get(e)}var xn=new Map([[O.SignatureHelpTriggerKind.Invoke,Ut.Invoked],[O.SignatureHelpTriggerKind.TriggerCharacter,Ut.TriggerCharacter],[O.SignatureHelpTriggerKind.ContentChange,Ut.ContentChange]]);function Sn(e){return xn.get(e)??Ut.Invoked}function Cn(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}}var wn=new Map([[Ft.Type,O.InlayHintKind.Type],[Ft.Parameter,O.InlayHintKind.Parameter]]);function Tn(e){return e?wn.get(e)??O.InlayHintKind.Type:O.InlayHintKind.Type}function W(e,t){if(`targetUri`in e){let n=t.bridge.translateBackRange({uri:e.targetUri},e.targetRange);return{uri:n.textModel.uri,range:n.range,originSelectionRange:e.originSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.originSelectionRange).range:void 0,targetSelectionRange:e.targetSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.targetSelectionRange).range:void 0}}else{let n=t.bridge.translateBackRange({uri:e.uri},e.range);return{uri:n.textModel.uri,range:n.range}}}function G(e){return!e||e.length===0?{language:`*`}:e.map(e=>`notebook`in e?typeof e.notebook==`string`?{notebookType:e.notebook,language:e.language}:{notebookType:e.notebook.notebookType,language:e.language,pattern:e.notebook.pattern,scheme:e.notebook.scheme}:{language:e.language,pattern:e.pattern,scheme:e.scheme})}function En(e,t){if(!t)return!0;let n=e.getLanguageId();if(e.uri.toString(!0),!t||t.length===0)return!0;for(let e of t)if(!(e.language&&e.language!==`*`&&e.language!==n))return!0;return!1}function Dn(e){let t={severity:vn(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,source:e.source,code:typeof e.code==`string`?e.code:e.code?.toString()};return e.tags&&(t.tags=e.tags.map(e=>bn(e)).filter(e=>e!==void 0)),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(e=>({resource:ue.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}))),t}var On=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{completion:{dynamicRegistration:!0,contextSupport:!0,completionItemKind:{valueSet:Array.from(Qt.keys())},completionItem:{tagSupport:{valueSet:Array.from(en.keys())},commitCharactersSupport:!0,deprecatedSupport:!0,preselectSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentCompletion,!0,e=>O.registerCompletionItemProvider(G(e.documentSelector),new kn(this._connection,e))))}},kn=class{constructor(e,t){M(this,`resolveCompletionItem`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCompletionItem=async(e,t)=>(jn(e,await this._client.server.completionItemResolve(e._lspItem),this._client.bridge,e._translated,e._model),e))}get triggerCharacters(){return this._capabilities.triggerCharacters}async provideCompletionItems(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentCompletion({textDocument:i.textDocument,position:i.position,context:n.triggerCharacter?{triggerKind:rn(n.triggerKind),triggerCharacter:n.triggerCharacter}:void 0});return a?{suggestions:(Array.isArray(a)?a:a.items).map(n=>({...An(n,this._client.bridge,i,e,t),_lspItem:n,_translated:i,_model:e}))}:{suggestions:[]}}};function An(e,t,n,r,i){let a=e.insertText||e.label,o;e.textEdit&&(`range`in e.textEdit?(a=e.textEdit.newText,o=H(t.translateBackRange(n.textDocument,e.textEdit.range),r).range):(a=e.textEdit.newText,o={insert:H(t.translateBackRange(n.textDocument,e.textEdit.insert),r).range,replace:H(t.translateBackRange(n.textDocument,e.textEdit.replace),r).range})),o||=ce.fromPositions(i,i);let s={label:e.label,kind:$t(e.kind),insertText:a,sortText:e.sortText,filterText:e.filterText,preselect:e.preselect,commitCharacters:e.commitCharacters,range:o};return jn(s,e,t,n,r),s}function jn(e,t,n,r,i){t.detail!==void 0&&(e.detail=t.detail),t.documentation!==void 0&&(e.documentation=Mn(t.documentation)),t.insertTextFormat!==void 0&&(e.insertTextRules=on(t.insertTextFormat)),t.tags&&t.tags.length>0&&(e.tags=t.tags.map(tn).filter(e=>e!==void 0)),t.additionalTextEdits&&t.additionalTextEdits.length>0&&(e.additionalTextEdits=t.additionalTextEdits.map(e=>({range:H(n.translateBackRange(r.textDocument,e.range),i).range,text:e.newText}))),t.command&&(e.command=Cn(t.command))}function Mn(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var Nn=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{hover:{dynamicRegistration:!0,contentFormat:[Bt.Markdown,Bt.PlainText]}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentHover,!0,e=>O.registerHoverProvider(G(e.documentSelector),new Pn(this._connection,e))))}},Pn=class{constructor(e,t){this._client=e,this._capabilities=t}async provideHover(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentHover({textDocument:r.textDocument,position:r.position});return!i||!i.contents?null:{contents:Fn(i.contents),range:i.range?this._client.bridge.translateBackRange(r.textDocument,i.range).range:void 0}}};function Fn(e){return Array.isArray(e)?e.map(e=>In(e)):[In(e)]}function In(e){return typeof e==`string`?{value:e,isTrusted:!0}:`kind`in e?{value:e.value,isTrusted:!0}:{value:`\`\`\`${e.language}
|
|
5
|
+
${e.value}
|
|
6
|
+
\`\`\``,isTrusted:!0}}var Ln=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{signatureHelp:{dynamicRegistration:!0,contextSupport:!0,signatureInformation:{documentationFormat:[Bt.Markdown,Bt.PlainText],parameterInformation:{labelOffsetSupport:!0},activeParameterSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentSignatureHelp,!0,e=>O.registerSignatureHelpProvider(G(e.documentSelector),new Rn(this._connection,e))))}},Rn=class{constructor(e,t){M(this,`signatureHelpTriggerCharacters`),M(this,`signatureHelpRetriggerCharacters`),this._client=e,this._capabilities=t,this.signatureHelpTriggerCharacters=t.triggerCharacters,this.signatureHelpRetriggerCharacters=t.retriggerCharacters}async provideSignatureHelp(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentSignatureHelp({textDocument:i.textDocument,position:i.position,context:{triggerKind:Sn(r.triggerKind),triggerCharacter:r.triggerCharacter,isRetrigger:r.isRetrigger}});return a?{value:{signatures:a.signatures.map(e=>({label:e.label,documentation:zn(e.documentation),parameters:e.parameters?.map(e=>({label:e.label,documentation:zn(e.documentation)}))||[],activeParameter:e.activeParameter})),activeSignature:a.activeSignature||0,activeParameter:a.activeParameter||0},dispose:()=>{}}:null}};function zn(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var Bn=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{definition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentDefinition,!0,e=>O.registerDefinitionProvider(G(e.documentSelector),new Vn(this._connection,e))))}},Vn=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDefinition(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W(e,this._client)):W(i,this._client):null}},Hn=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{declaration:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentDeclaration,!0,e=>O.registerDeclarationProvider(G(e.documentSelector),new Un(this._connection,e))))}},Un=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDeclaration(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDeclaration({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W(e,this._client)):W(i,this._client):null}},Wn=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{typeDefinition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentTypeDefinition,!0,e=>O.registerTypeDefinitionProvider(G(e.documentSelector),new Gn(this._connection,e))))}},Gn=class{constructor(e,t){this._client=e,this._capabilities=t}async provideTypeDefinition(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentTypeDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W(e,this._client)):W(i,this._client):null}},Kn=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{implementation:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentImplementation,!0,e=>O.registerImplementationProvider(G(e.documentSelector),new qn(this._connection,e))))}},qn=class{constructor(e,t){this._client=e,this._capabilities=t}async provideImplementation(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentImplementation({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W(e,this._client)):W(i,this._client):null}},Jn=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{references:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentReferences,!0,e=>O.registerReferenceProvider(G(e.documentSelector),new Yn(this._connection,e))))}},Yn=class{constructor(e,t){this._client=e,this._capabilities=t}async provideReferences(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentReferences({textDocument:i.textDocument,position:i.position,context:{includeDeclaration:n.includeDeclaration}});return a?a.map(e=>{let t=this._client.bridge.translateBackRange({uri:e.uri},e.range);return{uri:t.textModel.uri,range:t.range}}):null}},Xn=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentHighlight:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentDocumentHighlight,!0,e=>O.registerDocumentHighlightProvider(G(e.documentSelector),new Zn(this._connection,e))))}},Zn=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentHighlights(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDocumentHighlight({textDocument:r.textDocument,position:r.position});return i?i.map(e=>({range:this._client.bridge.translateBackRange(r.textDocument,e.range).range,kind:fn(e.kind)})):null}},Qn=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentSymbol:{dynamicRegistration:!0,hierarchicalDocumentSymbolSupport:!0,symbolKind:{valueSet:Array.from(sn.keys())},tagSupport:{valueSet:[Pt.Deprecated]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentDocumentSymbol,!0,e=>O.registerDocumentSymbolProvider(G(e.documentSelector),new $n(this._connection,e))))}},$n=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentSymbols(e,t){let n=this._client.bridge.translate(e,new A(1,1)),r=await this._client.server.textDocumentDocumentSymbol({textDocument:n.textDocument});return r?Array.isArray(r)&&r.length>0?`location`in r[0]?r.map(e=>tr(e,this._client)):r.map(e=>er(e,this._client,n.textDocument)):[]:null}};function er(e,t,n){return{name:e.name,detail:e.detail||``,kind:cn(e.kind),tags:e.tags?.map(e=>un(e)).filter(e=>e!==void 0)||[],range:t.bridge.translateBackRange(n,e.range).range,selectionRange:t.bridge.translateBackRange(n,e.selectionRange).range,children:e.children?.map(e=>er(e,t,n))||[]}}function tr(e,t){return{name:e.name,detail:``,kind:cn(e.kind),tags:e.tags?.map(e=>un(e)).filter(e=>e!==void 0)||[],range:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,selectionRange:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,children:[]}}var nr=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rename:{dynamicRegistration:!0,prepareSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentRename,!0,e=>O.registerRenameProvider(G(e.documentSelector),new rr(this._connection,e))))}},rr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideRenameEdits(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentRename({textDocument:i.textDocument,position:i.position,newName:n});return a?ir(a,this._client):null}async resolveRenameLocation(e,t,n){if(!this._capabilities.prepareProvider)return null;let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentPrepareRename({textDocument:r.textDocument,position:r.position});if(!i)return null;if(`range`in i&&`placeholder`in i)return{range:this._client.bridge.translateBackRange(r.textDocument,i.range).range,text:i.placeholder};if(`defaultBehavior`in i)return null;if(`start`in i&&`end`in i){let t=this._client.bridge.translateBackRange(r.textDocument,i).range;return{range:t,text:e.getValueInRange(t)}}return null}};function ir(e,t){let n=[];if(e.changes)for(let r in e.changes){let i=e.changes[r];for(let e of i){let i=t.bridge.translateBackRange({uri:r},e.range);n.push({resource:i.textModel.uri,versionId:void 0,textEdit:{range:i.range,text:e.newText}})}}if(e.documentChanges){for(let r of e.documentChanges)if(`textDocument`in r){let e=r.textDocument.uri;for(let i of r.edits){let a=t.bridge.translateBackRange({uri:e},i.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version,textEdit:{range:a.range,text:i.newText}})}}}return{edits:n}}var ar=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeAction:{dynamicRegistration:!0,codeActionLiteralSupport:{codeActionKind:{valueSet:Array.from(Jt.keys())}},isPreferredSupport:!0,disabledSupport:!0,dataSupport:!0,resolveSupport:{properties:[`edit`]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentCodeAction,!0,e=>O.registerCodeActionProvider(G(e.documentSelector),new or(this._connection,e))))}},or=class{constructor(e,t){M(this,`resolveCodeAction`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCodeAction=async(e,t)=>{if(e._lspAction){let t=await this._client.server.codeActionResolve(e._lspAction);t.edit&&(e.edit=sr(t.edit,this._client)),t.command&&(e.command=Cn(t.command))}return e})}async provideCodeActions(e,t,n,r){let i=this._client.bridge.translate(e,t.getStartPosition()),a=await this._client.server.textDocumentCodeAction({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),context:{diagnostics:n.markers.map(t=>({range:this._client.bridge.translateRange(e,ce.lift(t)),message:t.message,severity:gn(t.severity)})),triggerKind:Zt(n.trigger)}});return a?{actions:(Array.isArray(a)?a:[a]).map(e=>{if(`title`in e&&!(`kind`in e)){let t=e;return{title:t.title,command:Cn(t)}}else{let t=e;return{title:t.title,kind:Yt(t.kind),isPreferred:t.isPreferred,disabled:t.disabled?.reason,edit:t.edit?sr(t.edit,this._client):void 0,command:Cn(t.command),_lspAction:t}}}),dispose:()=>{}}:null}};function sr(e,t){let n=[];if(e.changes)for(let r in e.changes){let i=e.changes[r];for(let e of i){let i=t.bridge.translateBackRange({uri:r},e.range);n.push({resource:i.textModel.uri,versionId:void 0,textEdit:{range:i.range,text:e.newText}})}}if(e.documentChanges){for(let r of e.documentChanges)if(`textDocument`in r){let e=r.textDocument.uri;for(let i of r.edits){let a=t.bridge.translateBackRange({uri:e},i.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version??void 0,textEdit:{range:a.range,text:i.newText}})}}}return{edits:n}}var cr=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeLens:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentCodeLens,!0,e=>O.registerCodeLensProvider(G(e.documentSelector),new lr(this._connection,e))))}},lr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideCodeLenses(e,t){let n=this._client.bridge.translate(e,new A(1,1)),r=await this._client.server.textDocumentCodeLens({textDocument:n.textDocument});return r?{lenses:r.map(t=>({range:H(this._client.bridge.translateBackRange(n.textDocument,t.range),e).range,command:Cn(t.command),_lspCodeLens:t})),dispose:()=>{}}:null}async resolveCodeLens(e,t,n){if(!this._capabilities.resolveProvider||!t._lspCodeLens)return t;let r=await this._client.server.codeLensResolve(t._lspCodeLens);return r.command&&(t.command={id:r.command.command,title:r.command.title,arguments:r.command.arguments}),t}},ur=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentLink:{dynamicRegistration:!0,tooltipSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentDocumentLink,!0,e=>O.registerLinkProvider(G(e.documentSelector),new dr(this._connection,e))))}},dr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideLinks(e,t){let n=this._client.bridge.translate(e,new A(1,1)),r=await this._client.server.textDocumentDocumentLink({textDocument:n.textDocument});return r?{links:r.map(e=>({range:this._client.bridge.translateBackRange(n.textDocument,e.range).range,url:e.target,tooltip:e.tooltip}))}:null}async resolveLink(e,t){return this._capabilities.resolveProvider,e}},fr=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{formatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentFormatting,!0,e=>O.registerDocumentFormattingEditProvider(G(e.documentSelector),new pr(this._connection,e))))}},pr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentFormattingEdits(e,t,n){let r=this._client.bridge.translate(e,new A(1,1)),i=await this._client.server.textDocumentFormatting({textDocument:r.textDocument,options:{tabSize:t.tabSize,insertSpaces:t.insertSpaces}});return i?i.map(e=>({range:this._client.bridge.translateBackRange(r.textDocument,e.range).range,text:e.newText})):null}},mr=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rangeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentRangeFormatting,!0,e=>O.registerDocumentRangeFormattingEditProvider(G(e.documentSelector),new hr(this._connection,e))))}},hr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentRangeFormattingEdits(e,t,n,r){let i=this._client.bridge.translate(e,t.getStartPosition()),a=await this._client.server.textDocumentRangeFormatting({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),options:{tabSize:n.tabSize,insertSpaces:n.insertSpaces}});return a?a.map(e=>({range:this._client.bridge.translateBackRange(i.textDocument,e.range).range,text:e.newText})):null}},gr=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{onTypeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentOnTypeFormatting,!0,e=>O.registerOnTypeFormattingEditProvider(G(e.documentSelector),new _r(this._connection,e))))}},_r=class{constructor(e,t){M(this,`autoFormatTriggerCharacters`),this._client=e,this._capabilities=t,this.autoFormatTriggerCharacters=[t.firstTriggerCharacter,...t.moreTriggerCharacter||[]]}async provideOnTypeFormattingEdits(e,t,n,r,i){let a=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentOnTypeFormatting({textDocument:a.textDocument,position:a.position,ch:n,options:{tabSize:r.tabSize,insertSpaces:r.insertSpaces}});return o?o.map(e=>({range:this._client.bridge.translateBackRange(a.textDocument,e.range).range,text:e.newText})):null}},vr=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{foldingRange:{dynamicRegistration:!0,rangeLimit:5e3,lineFoldingOnly:!1,foldingRangeKind:{valueSet:[Nt.Comment,Nt.Imports,Nt.Region]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentFoldingRange,!0,e=>O.registerFoldingRangeProvider(G(e.documentSelector),new yr(this._connection,e))))}},yr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideFoldingRanges(e,t,n){let r=this._client.bridge.translate(e,new A(1,1)),i=await this._client.server.textDocumentFoldingRange({textDocument:r.textDocument});return i?i.map(e=>({start:e.startLine+1,end:e.endLine+1,kind:mn(e.kind)})):null}},br=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{selectionRange:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentSelectionRange,!0,e=>O.registerSelectionRangeProvider(G(e.documentSelector),new xr(this._connection,e))))}},xr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideSelectionRanges(e,t,n){let r=this._client.bridge.translate(e,t[0]),i=await this._client.server.textDocumentSelectionRange({textDocument:r.textDocument,positions:t.map(t=>this._client.bridge.translate(e,t).position)});return i?i.map(e=>this.convertSelectionRange(e,r.textDocument)):null}convertSelectionRange(e,t){let n=[],r=e;for(;r;)n.push({range:this._client.bridge.translateBackRange(t,r.range).range}),r=r.parent;return n}},Sr=class extends U{constructor(e){super(),M(this,`_providers`,new Set),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{inlayHint:{dynamicRegistration:!0,resolveSupport:{properties:[`tooltip`,`textEdits`,`label.tooltip`,`label.location`,`label.command`]}}},workspace:{inlayHint:{refreshSupport:!0}}})),this._register(this._connection.connection.registerRequestHandler(Kt.client.workspaceInlayHintRefresh,async()=>{for(let e of this._providers)e.refresh();return{ok:null}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentInlayHint,!0,e=>{let t=new Cr(this._connection,e);this._providers.add(t);let n=O.registerInlayHintsProvider(G(e.documentSelector),t);return{dispose:()=>{this._providers.delete(t),n.dispose()}}}))}},Cr=class{constructor(e,t){M(this,`_onDidChangeInlayHints`,new me),M(this,`onDidChangeInlayHints`,this._onDidChangeInlayHints.event),M(this,`resolveInlayHint`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveInlayHint=async(e,t)=>{let n=await this._client.server.inlayHintResolve(e._lspInlayHint);return n.tooltip&&(e.tooltip=Er(n.tooltip)),n.label!==e._lspInlayHint.label&&(e.label=Tr(n.label)),n.textEdits&&(e.textEdits=n.textEdits.map(t=>({range:this._client.bridge.translateBackRange({uri:e._targetUri},t.range).range,text:t.newText}))),e})}refresh(){this._onDidChangeInlayHints.fire()}async provideInlayHints(e,t,n){let r=this._client.bridge.translate(e,t.getStartPosition()),i=await wr(async()=>await this._client.server.textDocumentInlayHint({textDocument:r.textDocument,range:this._client.bridge.translateRange(e,t)}));return i?{hints:i.map(t=>({label:Tr(t.label),position:H(this._client.bridge.translateBack(r.textDocument,t.position),e).position,kind:Tn(t.kind),tooltip:Er(t.tooltip),paddingLeft:t.paddingLeft,paddingRight:t.paddingRight,textEdits:t.textEdits?.map(t=>({range:H(this._client.bridge.translateBackRange(r.textDocument,t.range),e).range,text:t.newText})),_lspInlayHint:t,_targetUri:r.textDocument.uri})),dispose:()=>{}}:null}};async function wr(e){for(let t=3;;t--)try{return await e()}catch(e){if(e.message===`content modified`&&t>0)continue;throw e}}function Tr(e){return typeof e==`string`?e:e.map(e=>{let t={label:e.value,tooltip:Er(e.tooltip),command:Cn(e.command)};return e.location&&(t.location={uri:ue.parse(e.location.uri),range:new ce(e.location.range.start.line+1,e.location.range.start.character+1,e.location.range.end.line+1,e.location.range.end.character+1)}),t})}function Er(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var Dr=class extends U{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{semanticTokens:{dynamicRegistration:!0,requests:{range:!0,full:{delta:!0}},tokenTypes:[`namespace`,`type`,`class`,`enum`,`interface`,`struct`,`typeParameter`,`parameter`,`variable`,`property`,`enumMember`,`event`,`function`,`method`,`macro`,`keyword`,`modifier`,`comment`,`string`,`number`,`regexp`,`operator`,`decorator`],tokenModifiers:[`declaration`,`definition`,`readonly`,`static`,`deprecated`,`abstract`,`async`,`modification`,`documentation`,`defaultLibrary`],formats:[Gt.Relative],overlappingTokenSupport:!1,multilineTokenSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentSemanticTokensFull,!0,e=>O.registerDocumentSemanticTokensProvider(G(e.documentSelector),new Or(this._connection,e))))}},Or=class{constructor(e,t){this._client=e,this._capabilities=t}getLegend(){return{tokenTypes:this._capabilities.legend.tokenTypes,tokenModifiers:this._capabilities.legend.tokenModifiers}}releaseDocumentSemanticTokens(e){}async provideDocumentSemanticTokens(e,t,n){let r=this._client.bridge.translate(e,e.getPositionAt(0)),i=this._capabilities.full;if(t&&i&&typeof i==`object`&&i.delta){let e=await this._client.server.textDocumentSemanticTokensFullDelta({textDocument:r.textDocument,previousResultId:t});return e?`edits`in e?{resultId:e.resultId,edits:e.edits.map(e=>({start:e.start,deleteCount:e.deleteCount,data:e.data?new Uint32Array(e.data):void 0}))}:{resultId:e.resultId,data:new Uint32Array(e.data)}:null}let a=await this._client.server.textDocumentSemanticTokensFull({textDocument:r.textDocument});return a?{resultId:a.resultId,data:new Uint32Array(a.data)}:null}async provideDocumentSemanticTokensEdits(e,t,n){return this.provideDocumentSemanticTokens(e,t,n)}},kr=class extends U{constructor(e){super(),M(this,`_diagnosticsMarkerOwner`,`lsp`),M(this,`_pullDiagnosticProviders`,new Map),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{publishDiagnostics:{relatedInformation:!0,tagSupport:{valueSet:[...yn.keys()]},versionSupport:!0,codeDescriptionSupport:!0,dataSupport:!0},diagnostic:{dynamicRegistration:!0,relatedDocumentSupport:!0}}})),this._register(this._connection.connection.registerNotificationHandler(Kt.client.textDocumentPublishDiagnostics,e=>this._handlePublishDiagnostics(e))),this._register(this._connection.capabilities.registerCapabilityHandler(V.textDocumentDiagnostic,!0,e=>{let t=new qt;for(let n of k.getModels())this._addPullDiagnosticProvider(n,e,t);return t.add(k.onDidCreateModel(n=>{this._addPullDiagnosticProvider(n,e,t)})),t}))}_addPullDiagnosticProvider(e,t,n){if(e.getLanguageId(),!En(e,t.documentSelector))return;let r=new Ar(e,this._connection,this._diagnosticsMarkerOwner,t);this._pullDiagnosticProviders.set(e,r),n.add(r),n.add(e.onWillDispose(()=>{this._pullDiagnosticProviders.delete(e)}))}_handlePublishDiagnostics(e){let t=e.uri;try{let n=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!n||n.isDisposed())return;let r=e.diagnostics.map(e=>Dn(e));k.setModelMarkers(n,this._diagnosticsMarkerOwner,r)}catch(e){console.debug(`Could not set diagnostics for ${t}:`,e)}}},Ar=class extends U{constructor(e,t,n,r){super(),M(this,`_updateHandle`),M(this,`_previousResultId`),this._model=e,this._connection=t,this._markerOwner=n,this._capability=r,this._register(this._model.onDidChangeContent(()=>{this._scheduleDiagnosticUpdate()})),this._scheduleDiagnosticUpdate()}_scheduleDiagnosticUpdate(){this._updateHandle!==void 0&&clearTimeout(this._updateHandle),this._updateHandle=window.setTimeout(()=>{this._updateHandle=void 0,this._requestDiagnostics()},500)}async _requestDiagnostics(){if(!this._model.isDisposed())try{let e=this._connection.bridge.translate(this._model,new A(1,1)),t=await this._connection.server.textDocumentDiagnostic({textDocument:e.textDocument,identifier:this._capability.identifier,previousResultId:this._previousResultId});if(this._model.isDisposed())return;this._handleDiagnosticReport(t)}catch(e){console.error(`Error requesting diagnostics:`,e)}}_handleDiagnosticReport(e){if(e.kind===`full`){this._previousResultId=e.resultId;let t=e.items.map(e=>Dn(e));k.setModelMarkers(this._model,this._markerOwner,t),`relatedDocuments`in e&&e.relatedDocuments&&this._handleRelatedDocuments(e.relatedDocuments)}else e.kind===`unchanged`&&(this._previousResultId=e.resultId)}_handleRelatedDocuments(e){for(let[t,n]of Object.entries(e))try{let e=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!e||e.isDisposed())continue;if(n.kind===`full`){let t=n.items.map(e=>Dn(e));k.setModelMarkers(e,this._markerOwner,t)}}catch(e){console.debug(`Could not set related diagnostics for ${t}:`,e)}}dispose(){this._updateHandle!==void 0&&(clearTimeout(this._updateHandle),this._updateHandle=void 0),super.dispose()}},jr=class{constructor(e,t,n,r){this.server=e,this.bridge=t,this.capabilities=n,this.connection=r}},Mr=class extends U{constructor(e){super(),M(this,`_staticCapabilities`,new Set),M(this,`_dynamicFromStatic`,Rr.create()),M(this,`_registrations`,new Map),M(this,`_serverCapabilities`),this._connection=e,this._register(this._connection.registerRequestHandler(Kt.client.clientRegisterCapability,async e=>{for(let t of e.registrations){let e=Ir(t.method),n=new Pr(t.id,e,t.registerOptions,!1);this._registerCapabilityOptions(n)}return{ok:null}})),this._register(this._connection.registerRequestHandler(Kt.client.clientUnregisterCapability,async e=>{for(let t of e.unregisterations){let e=Ir(t.method),n=this._registrations.get(e),r=n?.registrations.get(t.id);if(!r)throw Error(`No registration for method ${t.method} with id ${t.id}`);r?.handlerDisposables.forEach(e=>e.dispose()),n?.registrations.delete(t.id)}return{ok:null}}))}_registerCapabilityOptions(e){let t=this._registrations.get(e.capability);if(t||(t=new Lr,this._registrations.set(e.capability,t)),t.registrations.has(e.id))throw Error(`Handler for method ${e.capability.method} with id ${e.id} already registered`);t.registrations.set(e.id,e);for(let n of t.handlers)!n.handleStaticCapability&&e.isFromStatic||e.handlerDisposables.set(n,n.handler(e.options))}setServerCapabilities(e){if(this._serverCapabilities)throw Error(`Server capabilities already set`);this._serverCapabilities=e;for(let t of Object.values(V)){let n=this._dynamicFromStatic.getOptions(t,e);n&&this._registerCapabilityOptions(new Pr(t.method,t,n,!0))}}getClientCapabilities(){let e={};for(let t of this._staticCapabilities)zr(e,t.cap);return e}addStaticClientCapabilities(e){let t={cap:e};return this._staticCapabilities.add(t),{dispose:()=>{this._staticCapabilities.delete(t)}}}registerCapabilityHandler(e,t,n){let r=this._registrations.get(e);r||(r=new Lr,this._registrations.set(e,r));let i=new Nr(e,t,n);r.handlers.add(i);for(let e of r.registrations.values())!i.handleStaticCapability&&e.isFromStatic||e.handlerDisposables.set(i,n(e.options));return{dispose:()=>{r.handlers.delete(i);for(let e of r.registrations.values()){let t=e.handlerDisposables.get(i);t&&(t.dispose(),e.handlerDisposables.delete(i))}}}}},Nr=class{constructor(e,t,n){this.capability=e,this.handleStaticCapability=t,this.handler=n}},Pr=class{constructor(e,t,n,r){M(this,`handlerDisposables`,new Map),this.id=e,this.capability=t,this.options=n,this.isFromStatic=r}},Fr=new Map([...Object.values(V)].map(e=>[e.method,e]));function Ir(e){let t=Fr.get(e);if(!t)throw Error(`No capability found for method ${e}`);return t}var Lr=class{constructor(){M(this,`handlers`,new Set),M(this,`registrations`,new Map)}},Rr=class e{constructor(){M(this,`_mappings`,new Map)}static create(){let t=new e;return t.set(V.textDocumentDidChange,e=>{if(e.textDocumentSync!==void 0)return typeof e.textDocumentSync==`object`?{syncKind:e.textDocumentSync.change??It.None,documentSelector:null}:{syncKind:e.textDocumentSync,documentSelector:null}}),t.set(V.textDocumentCompletion,e=>e.completionProvider),t.set(V.textDocumentHover,e=>e.hoverProvider),t.set(V.textDocumentSignatureHelp,e=>e.signatureHelpProvider),t.set(V.textDocumentDefinition,e=>e.definitionProvider),t.set(V.textDocumentReferences,e=>e.referencesProvider),t.set(V.textDocumentDocumentHighlight,e=>e.documentHighlightProvider),t.set(V.textDocumentDocumentSymbol,e=>e.documentSymbolProvider),t.set(V.textDocumentCodeAction,e=>e.codeActionProvider),t.set(V.textDocumentCodeLens,e=>e.codeLensProvider),t.set(V.textDocumentDocumentLink,e=>e.documentLinkProvider),t.set(V.textDocumentFormatting,e=>e.documentFormattingProvider),t.set(V.textDocumentRangeFormatting,e=>e.documentRangeFormattingProvider),t.set(V.textDocumentOnTypeFormatting,e=>e.documentOnTypeFormattingProvider),t.set(V.textDocumentRename,e=>e.renameProvider),t.set(V.textDocumentFoldingRange,e=>e.foldingRangeProvider),t.set(V.textDocumentDeclaration,e=>e.declarationProvider),t.set(V.textDocumentTypeDefinition,e=>e.typeDefinitionProvider),t.set(V.textDocumentImplementation,e=>e.implementationProvider),t.set(V.textDocumentDocumentColor,e=>e.colorProvider),t.set(V.textDocumentSelectionRange,e=>e.selectionRangeProvider),t.set(V.textDocumentLinkedEditingRange,e=>e.linkedEditingRangeProvider),t.set(V.textDocumentPrepareCallHierarchy,e=>e.callHierarchyProvider),t.set(V.textDocumentSemanticTokensFull,e=>e.semanticTokensProvider),t.set(V.textDocumentInlayHint,e=>e.inlayHintProvider),t.set(V.textDocumentInlineValue,e=>e.inlineValueProvider),t.set(V.textDocumentDiagnostic,e=>e.diagnosticProvider),t.set(V.textDocumentMoniker,e=>e.monikerProvider),t.set(V.textDocumentPrepareTypeHierarchy,e=>e.typeHierarchyProvider),t.set(V.workspaceSymbol,e=>e.workspaceSymbolProvider),t.set(V.workspaceExecuteCommand,e=>e.executeCommandProvider),t}set(e,t){if(this._mappings.has(e.method))throw Error(`Capability for method ${e.method} already registered`);this._mappings.set(e.method,t)}getOptions(e,t){let n=this._mappings.get(e.method);if(n)return n(t)}};function zr(e,t){for(let n of Object.keys(t)){let r=t[n];if(r===void 0)continue;let i=e[n];if(i===void 0){e[n]=r;continue}if(typeof r!=`object`||!r){e[n]=r;continue}if(typeof i!=`object`||!i){e[n]=r;continue}zr(i,r)}}var Br=class extends U{constructor(e,t){super(),M(this,`_managedModels`,new Map),M(this,`_managedModelsReverse`,new Map),M(this,`_started`,!1),this._server=e,this._capabilities=t,this._register(this._capabilities.addStaticClientCapabilities({textDocument:{synchronization:{dynamicRegistration:!0,willSave:!1,willSaveWaitUntil:!1,didSave:!1}}})),this._register(t.registerCapabilityHandler(V.textDocumentDidChange,!0,e=>{if(this._started)return{dispose:()=>{}};this._started=!0,this._register(k.onDidCreateModel(e=>{this._getOrCreateManagedModel(e)}));for(let e of k.getModels())this._getOrCreateManagedModel(e);return{dispose:()=>{}}}))}_getOrCreateManagedModel(e){if(!this._started)throw Error(`Not started`);let t=e.uri.toString(!0).toLowerCase(),n=this._managedModels.get(e);return n||(n=new Vr(e,this._server),this._managedModels.set(e,n),this._managedModelsReverse.set(t,e)),e.onWillDispose(()=>{n.dispose(),this._managedModels.delete(e),this._managedModelsReverse.delete(t)}),n}translateBack(e,t){let n=e.uri.toLowerCase(),r=this._managedModelsReverse.get(n);if(!r)throw Error(`No text model for uri ${n}`);return{textModel:r,position:new A(t.line+1,t.character+1)}}translateBackRange(e,t){let n=e.uri.toLowerCase(),r=this._managedModelsReverse.get(n);if(!r)throw Error(`No text model for uri ${n}`);return{textModel:r,range:new ce(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}}translate(e,t){return{textDocument:{uri:e.uri.toString(!0)},position:{line:t.lineNumber-1,character:t.column-1}}}translateRange(e,t){return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}},Vr=class extends U{constructor(e,t){super(),this._textModel=e,this._api=t;let n=e.uri.toString(!0).toLowerCase();this._api.textDocumentDidOpen({textDocument:{languageId:e.getLanguageId(),uri:n,version:e.getVersionId(),text:e.getValue()}}),this._register(e.onDidChangeContent(t=>{let r=t.changes.map(e=>Hr(e));this._api.textDocumentDidChange({textDocument:{uri:n,version:e.getVersionId()},contentChanges:r})})),this._register({dispose:()=>{this._api.textDocumentDidClose({textDocument:{uri:n}})}})}};function Hr(e){return{range:Ur(e.range),rangeLength:e.rangeLength,text:e.text}}function Ur(e){return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}var Wr=class{constructor(e){M(this,`_connection`),M(this,`_capabilitiesRegistry`),M(this,`_bridge`),M(this,`_initPromise`);let t=wt.fromTransport(e),n=Kt.getServer(t,{});t.startListen(),this._capabilitiesRegistry=new Mr(t),this._bridge=new Br(n.server,this._capabilitiesRegistry),this._connection=new jr(n.server,this._bridge,this._capabilitiesRegistry,t),this.createFeatures(),this._initPromise=this._init()}async _init(){let e=await this._connection.server.initialize({processId:null,capabilities:this._capabilitiesRegistry.getClientCapabilities(),rootUri:null});this._connection.server.initialized({}),this._capabilitiesRegistry.setServerCapabilities(e.capabilities)}createFeatures(){let e=new qt;return e.add(new On(this._connection)),e.add(new Nn(this._connection)),e.add(new Ln(this._connection)),e.add(new Bn(this._connection)),e.add(new Hn(this._connection)),e.add(new Wn(this._connection)),e.add(new Kn(this._connection)),e.add(new Jn(this._connection)),e.add(new Xn(this._connection)),e.add(new Qn(this._connection)),e.add(new nr(this._connection)),e.add(new ar(this._connection)),e.add(new cr(this._connection)),e.add(new ur(this._connection)),e.add(new fr(this._connection)),e.add(new mr(this._connection)),e.add(new gr(this._connection)),e.add(new vr(this._connection)),e.add(new br(this._connection)),e.add(new Sr(this._connection)),e.add(new Dr(this._connection)),e.add(new kr(this._connection)),e}},Gr=null;typeof WebSocket<`u`?Gr=WebSocket:typeof MozWebSocket<`u`?Gr=MozWebSocket:typeof global<`u`?Gr=global.WebSocket||global.MozWebSocket:typeof window<`u`?Gr=window.WebSocket||window.MozWebSocket:typeof self<`u`&&(Gr=self.WebSocket||self.MozWebSocket);var Kr=Gr;function qr(e){return`host`in e?{address:`${e.forceTls?`wss`:`ws`}://${e.host}:${e.port}`}:e}var Jr=class e extends mt{constructor(e){super(),M(this,`socket`),M(this,`errorEmitter`,new lt),M(this,`onError`,this.errorEmitter),this.socket=e,e.onmessage=e=>{try{let t=e.data;if(typeof t==`string`){let e=JSON.parse(t);this._dispatchReceivedMessage(e)}else throw Error(`Not supported`)}catch(e){this.errorEmitter.fire({error:e})}},e.onclose=e=>{this._onConnectionClosed()}}static connectTo(t){let n=new Kr(qr(t).address);return new Promise((t,r)=>{n.onerror=e=>{r(e)},n.onopen=()=>{t(new e(n))}})}static fromWebSocket(t){return new e(t)}close(){this.socket.close()}dispose(){this.close()}_sendImpl(e){let t=JSON.stringify(e);return new Promise((e,n)=>{this.socket.send(t,t=>{t?n(t):e()})})}toString(){return`${this.id}@${this.socket.url}`}},Yr=class extends mt{constructor(e,t=void 0,n=void 0){super(),M(this,`_windowLike`),M(this,`_source`),M(this,`_loadingState`),M(this,`_disposed`,!1),M(this,`_messageHandler`,({data:e,source:t})=>{this._source&&t!==this._source||typeof e==`object`&&e&&this._dispatchReceivedMessage(e)}),this._windowLike=e,this._source=t,this._loadingState=n,this._windowLike.addEventListener(`message`,this._messageHandler)}async _sendImpl(e){if(this._disposed)throw Error(`Transport is disposed`);this._loadingState&&!this._loadingState.loaded&&await this._loadingState.onLoaded,this._windowLike.postMessage(e)}toString(){return`${this.id}@${this._windowLike}`}dispose(){this._disposed||(this._disposed=!0,this._windowLike.removeEventListener(`message`,this._messageHandler))}};function Xr(e){if(typeof window>`u`)throw Error(`call this function from the main browser thread`);return new Yr(e)}function Zr(e){if(typeof window>`u`)throw Error(`call this function from the main browser thread`);return new Yr(e.contentWindow,e.contentWindow,{loaded:window.document.readyState===`complete`,onLoaded:new Promise(e=>{window.addEventListener(`load`,()=>e())})})}function Qr(){return pe}globalThis.MonacoEnvironment?.globalAPI&&(globalThis.monaco=Qr());var $r=e({CancellationTokenSource:()=>_e,Emitter:()=>me,KeyCode:()=>ge,KeyMod:()=>de,MarkerSeverity:()=>D,MarkerTag:()=>he,Position:()=>A,Range:()=>ce,Selection:()=>fe,SelectionDirection:()=>ve,Token:()=>le,Uri:()=>ue,createWebWorker:()=>ye,css:()=>Ce,editor:()=>k,html:()=>je,json:()=>Ke,languages:()=>O,lsp:()=>$e,typescript:()=>be}),ei=Qr();ei.languages.css=Ce,ei.languages.html=je,ei.languages.typescript=be,ei.languages.json=Ke;function ti(e){return new Worker(`/assets/editor.worker-tytyn86m.js`,{name:e?.name})}function ni(e){return new Worker(`/assets/json.worker-Oa9UrkKE.js`,{name:e?.name})}function ri(e){return new Worker(`/assets/css.worker-yKcq13f2.js`,{name:e?.name})}function ii(e){return new Worker(`/assets/html.worker-DSJ9zmd7.js`,{name:e?.name})}function ai(e){return new Worker(`/assets/ts.worker-BtjBFNHX.js`,{name:e?.name})}function oi(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function si(e){if(Array.isArray(e))return e}function ci(e,t,n){return(t=_i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function li(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function ui(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
7
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function di(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function fi(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?di(Object(n),!0).forEach(function(t){ci(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):di(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function pi(e,t){if(e==null)return{};var n,r,i=mi(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function mi(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function hi(e,t){return si(e)||li(e,t)||vi(e,t)||ui()}function gi(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _i(e){var t=gi(e,`string`);return typeof t==`symbol`?t:t+``}function vi(e,t){if(e){if(typeof e==`string`)return oi(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oi(e,t):void 0}}function yi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function xi(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?bi(Object(n),!0).forEach(function(t){yi(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bi(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Si(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}}function Ci(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function wi(e){return{}.toString.call(e).includes(`Object`)}function Ti(e){return!Object.keys(e).length}function Ei(e){return typeof e==`function`}function Di(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Oi(e,t){return wi(t)||K(`changeType`),Object.keys(t).some(function(t){return!Di(e,t)})&&K(`changeField`),t}function ki(e){Ei(e)||K(`selectorType`)}function Ai(e){Ei(e)||wi(e)||K(`handlerType`),wi(e)&&Object.values(e).some(function(e){return!Ei(e)})&&K(`handlersType`)}function ji(e){e||K(`initialIsRequired`),wi(e)||K(`initialType`),Ti(e)&&K(`initialContent`)}function Mi(e,t){throw Error(e[t]||e.default)}var K=Ci(Mi)({initialIsRequired:`initial state is required`,initialType:`initial state should be an object`,initialContent:`initial state shouldn't be an empty object`,handlerType:`handler should be an object or a function`,handlersType:`all handlers should be a functions`,selectorType:`selector should be a function`,changeType:`provided value of changes should be an object`,changeField:`it seams you want to change a field in the state which is not specified in the "initial" state`,default:"an unknown error accured in `state-local` package"}),Ni={changes:Oi,selector:ki,handler:Ai,initial:ji};function Pi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Ni.initial(e),Ni.handler(t);var n={current:e},r=Ci(Li)(n,t),i=Ci(Ii)(n),a=Ci(Ni.changes)(e),o=Ci(Fi)(n);function s(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(e){return e};return Ni.selector(e),e(n.current)}function c(e){Si(r,i,a,o)(e)}return[s,c]}function Fi(e,t){return Ei(t)?t(e.current):t}function Ii(e,t){return e.current=xi(xi({},e.current),t),t}function Li(e,t,n){return Ei(t)?t(e.current):Object.keys(n).forEach(function(n){return t[n]?.call(t,e.current[n])}),n}var Ri={create:Pi},zi={paths:{vs:`https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs`}};function Bi(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function Vi(e){return{}.toString.call(e).includes(`Object`)}function Hi(e){return e||Ki(`configIsRequired`),Vi(e)||Ki(`configType`),e.urls?(Ui(),{paths:{vs:e.urls.monacoBase}}):e}function Ui(){console.warn(Gi.deprecation)}function Wi(e,t){throw Error(e[t]||e.default)}var Gi={configIsRequired:`the configuration object is required`,configType:`the configuration object should be an object`,default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
8
|
+
You are using deprecated way of configuration.
|
|
9
|
+
|
|
10
|
+
Instead of using
|
|
11
|
+
monaco.config({ urls: { monacoBase: '...' } })
|
|
12
|
+
use
|
|
13
|
+
monaco.config({ paths: { vs: '...' } })
|
|
14
|
+
|
|
15
|
+
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
16
|
+
`},Ki=Bi(Wi)(Gi),qi={config:Hi},Ji=function(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}};function Yi(e,t){return Object.keys(t).forEach(function(n){t[n]instanceof Object&&e[n]&&Object.assign(t[n],Yi(e[n],t[n]))}),fi(fi({},e),t)}var Xi={type:`cancelation`,msg:`operation is manually canceled`};function Zi(e){var t=!1,n=new Promise(function(n,r){e.then(function(e){return t?r(Xi):n(e)}),e.catch(r)});return n.cancel=function(){return t=!0},n}var Qi=[`monaco`],$i=hi(Ri.create({config:zi,isInitialized:!1,resolve:null,reject:null,monaco:null}),2),ea=$i[0],ta=$i[1];function na(e){var t=qi.config(e),n=t.monaco,r=pi(t,Qi);ta(function(e){return{config:Yi(e.config,r),monaco:n}})}function ra(){var e=ea(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(ta({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Zi(ua);if(window.monaco&&window.monaco.editor)return ca(window.monaco),e.resolve(window.monaco),Zi(ua);Ji(ia,oa)(sa)}return Zi(ua)}function ia(e){return document.body.appendChild(e)}function aa(e){var t=document.createElement(`script`);return e&&(t.src=e),t}function oa(e){var t=ea(function(e){return{config:e.config,reject:e.reject}}),n=aa(`${t.config.paths.vs}/loader.js`);return n.onload=function(){return e()},n.onerror=t.reject,n}function sa(){var e=ea(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t([`vs/editor/editor.main`],function(t){var n=t.m||t;ca(n),e.resolve(n)},function(t){e.reject(t)})}function ca(e){ea().monaco||ta({monaco:e})}function la(){return ea(function(e){return e.monaco})}var ua=new Promise(function(e,t){return ta({resolve:e,reject:t})}),da={config:na,init:ra,__getMonacoInstance:la},q=t(r(),1),fa={wrapper:{display:`flex`,position:`relative`,textAlign:`initial`},fullWidth:{width:`100%`},hide:{display:`none`}},pa={container:{display:`flex`,height:`100%`,width:`100%`,justifyContent:`center`,alignItems:`center`}};function ma({children:e}){return q.createElement(`div`,{style:pa.container},e)}var ha=ma;function ga({width:e,height:t,isEditorReady:n,loading:r,_ref:i,className:a,wrapperProps:o}){return q.createElement(`section`,{style:{...fa.wrapper,width:e,height:t},...o},!n&&q.createElement(ha,null,r),q.createElement(`div`,{ref:i,style:{...fa.fullWidth,...!n&&fa.hide},className:a}))}var _a=(0,q.memo)(ga);function va(e){(0,q.useEffect)(e,[])}var ya=va;function ba(e,t,n=!0){let r=(0,q.useRef)(!0);(0,q.useEffect)(r.current||!n?()=>{r.current=!1}:e,t)}var J=ba;function xa(){}function Sa(e,t,n,r){return Ca(e,r)||wa(e,t,n,r)}function Ca(e,t){return e.editor.getModel(Ta(e,t))}function wa(e,t,n,r){return e.editor.createModel(t,n,r?Ta(e,r):void 0)}function Ta(e,t){return e.Uri.parse(t)}function Ea({original:e,modified:t,language:n,originalLanguage:r,modifiedLanguage:i,originalModelPath:a,modifiedModelPath:o,keepCurrentOriginalModel:s=!1,keepCurrentModifiedModel:c=!1,theme:l=`light`,loading:u=`Loading...`,options:d={},height:ee=`100%`,width:f=`100%`,className:te,wrapperProps:ne={},beforeMount:re=xa,onMount:p=xa}){let[m,h]=(0,q.useState)(!1),[ie,g]=(0,q.useState)(!0),_=(0,q.useRef)(null),v=(0,q.useRef)(null),y=(0,q.useRef)(null),b=(0,q.useRef)(p),x=(0,q.useRef)(re),S=(0,q.useRef)(!1);ya(()=>{let e=da.init();return e.then(e=>(v.current=e)&&g(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>_.current?T():e.cancel()}),J(()=>{if(_.current&&v.current){let t=_.current.getOriginalEditor(),i=Sa(v.current,e||``,r||n||`text`,a||``);i!==t.getModel()&&t.setModel(i)}},[a],m),J(()=>{if(_.current&&v.current){let e=_.current.getModifiedEditor(),r=Sa(v.current,t||``,i||n||`text`,o||``);r!==e.getModel()&&e.setModel(r)}},[o],m),J(()=>{let e=_.current.getModifiedEditor();e.getOption(v.current.editor.EditorOption.readOnly)?e.setValue(t||``):t!==e.getValue()&&(e.executeEdits(``,[{range:e.getModel().getFullModelRange(),text:t||``,forceMoveMarkers:!0}]),e.pushUndoStop())},[t],m),J(()=>{_.current?.getModel()?.original.setValue(e||``)},[e],m),J(()=>{let{original:e,modified:t}=_.current.getModel();v.current.editor.setModelLanguage(e,r||n||`text`),v.current.editor.setModelLanguage(t,i||n||`text`)},[n,r,i],m),J(()=>{v.current?.editor.setTheme(l)},[l],m),J(()=>{_.current?.updateOptions(d)},[d],m);let C=(0,q.useCallback)(()=>{if(!v.current)return;x.current(v.current);let s=Sa(v.current,e||``,r||n||`text`,a||``),c=Sa(v.current,t||``,i||n||`text`,o||``);_.current?.setModel({original:s,modified:c})},[n,t,i,e,r,a,o]),w=(0,q.useCallback)(()=>{!S.current&&y.current&&(_.current=v.current.editor.createDiffEditor(y.current,{automaticLayout:!0,...d}),C(),v.current?.editor.setTheme(l),h(!0),S.current=!0)},[d,l,C]);(0,q.useEffect)(()=>{m&&b.current(_.current,v.current)},[m]),(0,q.useEffect)(()=>{!ie&&!m&&w()},[ie,m,w]);function T(){let e=_.current?.getModel();s||e?.original?.dispose(),c||e?.modified?.dispose(),_.current?.dispose()}return q.createElement(_a,{width:f,height:ee,isEditorReady:m,loading:u,_ref:y,className:te,wrapperProps:ne})}var Da=(0,q.memo)(Ea);function Oa(e){let t=(0,q.useRef)();return(0,q.useEffect)(()=>{t.current=e},[e]),t.current}var ka=Oa,Aa=new Map;function ja({defaultValue:e,defaultLanguage:t,defaultPath:n,value:r,language:i,path:a,theme:o=`light`,line:s,loading:c=`Loading...`,options:l={},overrideServices:u={},saveViewState:d=!0,keepCurrentModel:ee=!1,width:f=`100%`,height:te=`100%`,className:ne,wrapperProps:re={},beforeMount:p=xa,onMount:m=xa,onChange:h,onValidate:ie=xa}){let[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(!0),b=(0,q.useRef)(null),x=(0,q.useRef)(null),S=(0,q.useRef)(null),C=(0,q.useRef)(m),w=(0,q.useRef)(p),T=(0,q.useRef)(),ae=(0,q.useRef)(r),E=ka(a),oe=(0,q.useRef)(!1),se=(0,q.useRef)(!1);ya(()=>{let e=da.init();return e.then(e=>(b.current=e)&&y(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>x.current?ce():e.cancel()}),J(()=>{let o=Sa(b.current,e||r||``,t||i||``,a||n||``);o!==x.current?.getModel()&&(d&&Aa.set(E,x.current?.saveViewState()),x.current?.setModel(o),d&&x.current?.restoreViewState(Aa.get(a)))},[a],g),J(()=>{x.current?.updateOptions(l)},[l],g),J(()=>{!x.current||r===void 0||(x.current.getOption(b.current.editor.EditorOption.readOnly)?x.current.setValue(r):r!==x.current.getValue()&&(se.current=!0,x.current.executeEdits(``,[{range:x.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),x.current.pushUndoStop(),se.current=!1))},[r],g),J(()=>{let e=x.current?.getModel();e&&i&&b.current?.editor.setModelLanguage(e,i)},[i],g),J(()=>{s!==void 0&&x.current?.revealLine(s)},[s],g),J(()=>{b.current?.editor.setTheme(o)},[o],g);let D=(0,q.useCallback)(()=>{if(!(!S.current||!b.current)&&!oe.current){w.current(b.current);let c=a||n,ee=Sa(b.current,r||e||``,t||i||``,c||``);x.current=b.current?.editor.create(S.current,{model:ee,automaticLayout:!0,...l},u),d&&x.current.restoreViewState(Aa.get(c)),b.current.editor.setTheme(o),s!==void 0&&x.current.revealLine(s),_(!0),oe.current=!0}},[e,t,n,r,i,a,l,u,d,o,s]);(0,q.useEffect)(()=>{g&&C.current(x.current,b.current)},[g]),(0,q.useEffect)(()=>{!v&&!g&&D()},[v,g,D]),ae.current=r,(0,q.useEffect)(()=>{g&&h&&(T.current?.dispose(),T.current=x.current?.onDidChangeModelContent(e=>{se.current||h(x.current.getValue(),e)}))},[g,h]),(0,q.useEffect)(()=>{if(g){let e=b.current.editor.onDidChangeMarkers(e=>{let t=x.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=b.current.editor.getModelMarkers({resource:t});ie?.(e)}});return()=>{e?.dispose()}}return()=>{}},[g,ie]);function ce(){T.current?.dispose(),ee?d&&Aa.set(a,x.current.saveViewState()):x.current.getModel()?.dispose(),x.current.dispose()}return q.createElement(_a,{width:f,height:te,isEditorReady:g,loading:c,_ref:S,className:ne,wrapperProps:re})}var Ma=(0,q.memo)(ja);self.MonacoEnvironment={getWorker(e,t){switch(t){case`json`:return new ni;case`css`:case`scss`:case`less`:return new ri;case`html`:case`handlebars`:case`razor`:return new ii;case`typescript`:case`javascript`:return new ai;default:return new ti}}};var Na=`puddle`;function Pa(){k.defineTheme(Na,ae())}Pa(),da.config({monaco:$r}),se(()=>{Pa(),k.setTheme(Na)});var Fa=`puddle-drafts`,Ia=1,La=`drafts`,Ra=`by_session`,za=1e3;function Ba(e,t){return`${encodeURIComponent(e)}:${encodeURIComponent(t)}`}function Va(){return new Promise((e,t)=>{if(typeof indexedDB>`u`){t(Error(`indexedDB is unavailable in this environment`));return}let n=indexedDB.open(Fa,Ia);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(La)||e.createObjectStore(La).createIndex(Ra,`session`,{unique:!1})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error??Error(`indexedDB open failed`))})}function Ha(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error??Error(`indexedDB request failed`))})}function Ua(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error??Error(`indexedDB transaction failed`)),e.onabort=()=>n(e.error??Error(`indexedDB transaction aborted`))})}async function Wa(e,t){let n=await Va();try{let r=n.transaction(La,e),i=await t(r.objectStore(La));return await Ua(r),i}finally{n.close()}}async function Ga(e,t,n,r){let i={session:e,path:t,content:n,base_mtime_ms:r,updated_at:Date.now()};try{await Wa(`readwrite`,n=>Ha(n.put(i,Ba(e,t))))}catch(e){console.warn(`saveDraft failed: ${e.message}`)}}async function Ka(e,t){try{return await Wa(`readonly`,n=>Ha(n.get(Ba(e,t))))??null}catch(e){return console.warn(`loadDraft failed: ${e.message}`),null}}async function qa(e,t){try{await Wa(`readwrite`,n=>Ha(n.delete(Ba(e,t))))}catch(e){console.warn(`deleteDraft failed: ${e.message}`)}}function Ja(e,t){return w((n,r)=>{Ga(e,t,n,r)},za)}function Ya(e){return e.split(`/`).pop()??e}function Xa(e,t,n,r){let i=Ya(e),a=n.filter(n=>!(n.session===t&&n.path===e)&&Ya(n.path)===i);if(a.length===0)return i;let o=a.some(e=>e.session===t),s=a.some(e=>e.session!==t),c=o?e:i,l=s?r.get(t):void 0;return l?`${c} — ${l}`:c}function Za(e,t){return e.getValue()===t?!1:(e.pushEditOperations(null,[{range:e.getFullModelRange(),text:t}],()=>null),!0)}var Qa=class{counts=new Map;retain(e){this.counts.set(e,(this.counts.get(e)??0)+1)}release(e){let t=this.counts.get(e);return t===void 0||t<=1?(this.counts.delete(e),!0):(this.counts.set(e,t-1),!1)}count(e){return this.counts.get(e)??0}},$a=class{saved=new Map;mark(e,t,n){this.saved.set(e,{versionId:t,mtimeMs:n})}mtime(e){return this.saved.get(e)?.mtimeMs}isDirty(e,t){let n=this.saved.get(e);return n!==void 0&&t!==n.versionId}delete(e){this.saved.delete(e)}dirtyKeys(e){return[...this.saved.keys()].filter(t=>{let n=e.get(t);return n!==void 0&&this.isDirty(t,n)})}};function Y(e,t){return`${encodeURIComponent(e)}:${encodeURIComponent(t)}`}function eo(e,t){let n=t.split(`/`).map(encodeURIComponent);return ue.parse(`puddle://${encodeURIComponent(e)}/${n.join(`/`)}`)}function to(e){let t=e.split(`/`).pop()??e,n=t.lastIndexOf(`.`);return n>0?t.slice(n):``}function no(e){let t=to(e);return t?O.getLanguages().find(e=>e.extensions?.includes(t))?.id??`plaintext`:`plaintext`}var X=new Map,ro=new $a,io=new Qa,ao=new Map,oo=new Set;function so(e){for(let t of ao.get(e)??[])t();for(let e of oo)e()}function co(e,t){let n=ao.get(e);return n||(n=new Set,ao.set(e,n)),n.add(t),()=>n.delete(t)}function lo(e,t,n,r){let i=Y(e,t),a=X.get(i);if(a)return a.model;let o=eo(e,t),s=k.getModel(o)??k.createModel(n,no(t),o),c=s.onDidChangeContent(()=>so(i));return X.set(i,{model:s,disposable:c}),ro.mark(i,s.getAlternativeVersionId(),r),s}function uo(e,t,n){X.has(e)&&(ro.mark(e,t,n),so(e))}function fo(e){return ro.mtime(e)}function Z(e){let t=X.get(e);return t?ro.isDirty(e,t.model.getAlternativeVersionId()):!1}function po(e,t,n){let r=X.get(e);if(!r)return;let{model:i}=r;i.getValue()!==t&&i.pushEditOperations([],[{range:i.getFullModelRange(),text:t}],()=>null),ro.mark(e,i.getAlternativeVersionId(),n),so(e)}function mo(e){io.retain(e)}function ho(e){io.release(e)&&go(e)}function go(e){let t=X.get(e);t&&(t.disposable.dispose(),t.model.dispose(),X.delete(e),ro.delete(e),ao.delete(e))}function _o(e,t){return`${encodeURIComponent(e)}:${encodeURIComponent(t)}`}var vo=`puddle-editor`,yo={dirtyElsewhere:!1,savedElsewhere:!1};function bo(){if(typeof BroadcastChannel>`u`)return{post:()=>void 0,onMessage:()=>()=>void 0};let e=new BroadcastChannel(vo),t=new Set;return e.onmessage=e=>{for(let n of t)n(e.data)},{post:t=>e.postMessage(t),onMessage(e){return t.add(e),()=>t.delete(e)}}}var xo=bo(),So=new Map,Co=new Map;function wo(e){for(let t of Co.get(e)??[])t()}function To(e,t){let n=So.get(e)??yo;So.set(e,{...n,...t}),wo(e)}xo.onMessage(e=>{let t=_o(e.session,e.path);switch(e.t){case`draft-updated`:To(t,{dirtyElsewhere:!0});break;case`saved`:To(t,{dirtyElsewhere:!1,savedElsewhere:!0});break;case`draft-discarded`:To(t,{dirtyElsewhere:!1});break}});function Eo(e,t,n){xo.post({t:`saved`,session:e,path:t,mtime_ms:n})}function Do(e,t){xo.post({t:`draft-updated`,session:e,path:t})}function Oo(e,t){xo.post({t:`draft-discarded`,session:e,path:t})}function ko(e){return So.get(e)??yo}function Ao(e,t){let n=Co.get(e);return n||(n=new Set,Co.set(e,n)),n.add(t),()=>n.delete(t)}function jo(e){So.delete(e)&&wo(e)}function Mo(e,t,n){let r=Y(e,t),a=ne(e,t),o=ie(e),[s,c]=(0,q.useState)(null),[l,u]=(0,q.useState)(!1),d=(0,q.useRef)(!1),ee=(0,q.useRef)(null),f=(0,q.useRef)(null),te=(0,q.useRef)(n);te.current=n;let re=(0,q.useRef)(!1),p=(0,q.useCallback)((e,t)=>{f.current?.cancel(),re.current=!0;try{po(r,e,t)}finally{re.current=!1}},[r]),m=(0,q.useSyncExternalStore)((0,q.useCallback)(e=>co(r,e),[r]),()=>Z(r)),h=(0,q.useSyncExternalStore)((0,q.useCallback)(e=>Ao(r,e),[r]),()=>ko(r));(0,q.useEffect)(()=>{let n=a.data;if(!n||n.binary||n.content===null||d.current)return;d.current=!0;let i=fo(r)!==void 0,o=lo(e,t,n.content,n.mtime_ms);c(o),!i&&Ka(e,t).then(e=>{e&&(e.base_mtime_ms===n.mtime_ms?Za(o,e.content)&&u(!0):E(`This file has an unsaved draft from an earlier version.`,{description:`The file changed on disk since the draft was saved.`,duration:12e3,action:{label:`Restore draft`,onClick:()=>{Za(o,e.content)&&u(!0)}}}))})},[a.data,r,e,t]),(0,q.useEffect)(()=>{if(!s)return;let n=Ja(e,t);f.current=n;let i=s.onDidChangeContent(()=>{re.current||(n(s.getValue(),fo(r)??0),Do(e,t))});return()=>{n.flush(),i.dispose(),f.current=null}},[s,r,e,t]),(0,q.useEffect)(()=>{!s||!h.savedElsewhere||Z(r)||a.refetch().then(e=>{Z(r)||(e.data&&e.data.content!==null&&p(e.data.content,e.data.mtime_ms),jo(r))})},[h.savedElsewhere,s,r]),(0,q.useEffect)(()=>{let e=a.data;!s||!e||e.content===null||!Z(r)&&e.mtime_ms!==fo(r)&&p(e.content,e.mtime_ms)},[a.data,s,r]);let g=(0,q.useCallback)((n,i)=>{uo(r,n,i),f.current?.cancel(),qa(e,t),Eo(e,t,i),u(!1)},[r,e,t]),_=(0,q.useCallback)(()=>{a.refetch().then(n=>{n.data&&n.data.content!==null&&p(n.data.content,n.data.mtime_ms),qa(e,t),u(!1)})},[r,e,t,p]),v=(0,q.useCallback)((e,n)=>{o.mutate({path:t,content:e},{onSuccess:e=>g(n,e.mtime_ms),onError:e=>E.error(e instanceof Error?e.message:`Overwrite failed`)})},[o,t,g]),y=(0,q.useCallback)(()=>{if(!s||!Z(r))return;let e=s.getValue(),n=s.getAlternativeVersionId();o.mutate({path:t,content:e,expected_mtime_ms:fo(r)},{onSuccess:e=>g(n,e.mtime_ms),onError:t=>{t instanceof i&&t.status===409&&t.code===`stale_file`?E.error(`File changed on disk (probably the agent)`,{duration:1/0,action:{label:`Reload`,onClick:()=>_()},cancel:{label:`Overwrite`,onClick:()=>v(e,n)}}):E.error(t instanceof Error?t.message:`Save failed`)}})},[s,r,o,t,g,_,v]),b=(0,q.useRef)(y);b.current=y;let x=(0,q.useCallback)(()=>{let n=ee.current,r=te.current;!n||!r||r.session!==e||r.path!==t||(n.revealLineInCenter(r.line),n.setPosition({lineNumber:r.line,column:r.column??1}),n.focus())},[e,t]),S=(0,q.useCallback)(e=>{ee.current=e,e.addCommand(de.CtrlCmd|ge.KeyS,()=>b.current()),x()},[x]);(0,q.useEffect)(()=>{x()},[n,s,x]);let C=(0,q.useCallback)(()=>{_()},[_]),w,T=null;a.data?.binary?w=`binary`:a.error?a.error instanceof i&&a.error.status===413?w=`too-large`:(w=`error`,T=a.error instanceof Error?a.error.message:`Failed to load file`):w=s?`ready`:`loading`;let ae=m&&h.savedElsewhere?`saved-elsewhere`:m&&h.dirtyElsewhere?`dirty-elsewhere`:null;return{status:w,errorMessage:T,model:s,dirty:m,restoredNotice:l,discardRestore:C,peerBadge:ae,save:y,onMount:S}}var Q=n();function No({message:e,session:t,path:n,download:r}){return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 bg-ground text-sm text-fg-muted`,children:[(0,Q.jsx)(`span`,{children:e}),r&&(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>void m(t,n).catch(e=>E.error(e instanceof Error?e.message:`Download failed`)),className:`flex items-center gap-1.5 text-fg-secondary transition-colors hover:text-fg`,children:[(0,Q.jsx)(Se,{className:`size-4`}),`Download`]})]})}function Po({session:e,path:t,reveal:n}){let r=oe(),i=Mo(e,t,n),a=(0,q.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);if(i.status===`binary`)return(0,Q.jsx)(No,{message:`Binary file — use Download`,session:e,path:t,download:!0});if(i.status===`too-large`)return(0,Q.jsx)(No,{message:`File too large to edit — use Download`,session:e,path:t,download:!0});if(i.status===`error`)return(0,Q.jsx)(No,{message:i.errorMessage??`Failed to load file`,session:e,path:t});let o=i.peerBadge===`saved-elsewhere`?`Saved in another window`:i.peerBadge===`dirty-elsewhere`?`Also being edited in another window`:null;return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col bg-ground`,children:[i.restoredNotice&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 bg-elevated px-3 py-1.5 text-xs text-fg-secondary`,children:[(0,Q.jsx)(`span`,{children:`Restored unsaved changes`}),(0,Q.jsx)(`button`,{type:`button`,onClick:i.discardRestore,className:`text-fg-muted transition-colors hover:text-fg`,children:`Discard`})]}),o&&(0,Q.jsx)(`div`,{className:`bg-surface px-3 py-1 text-xs text-fg-muted`,children:o}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1`,children:i.model&&(0,Q.jsx)(Ma,{path:i.model.uri.toString(),defaultValue:i.model.getValue(),theme:`puddle`,keepCurrentModel:!0,onMount:e=>i.onMount(e),loading:(0,Q.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`}),options:{automaticLayout:!0,fontFamily:a,tabSize:r.editorTabSize,wordWrap:r.editorWordWrap?`on`:`off`,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})})]})}function Fo(e,t){let n=Y(e,t);return(0,q.useSyncExternalStore)((0,q.useCallback)(e=>co(n,e),[n]),()=>Z(n))}function Io({tab:e,label:t,active:n,dragging:r,onActivate:i,onClose:o,onDragStart:s,onDragEnd:c,onDragOver:u}){let d=Fo(e.session,e.path)&&C(e)!==`commit`;return(0,Q.jsxs)(`div`,{draggable:!0,onDragStart:s,onDragEnd:c,onDragOver:e=>{e.preventDefault(),u()},onClick:i,onMouseDown:e=>{e.button===1&&(e.preventDefault(),o())},className:a(`group flex min-w-0 max-w-52 cursor-pointer items-center gap-1.5 rounded-t-md px-2.5 text-xs transition-colors`,n?`bg-ground text-fg`:`text-fg-secondary hover:bg-elevated`,r&&`opacity-50`),children:[(0,Q.jsx)(`span`,{className:`truncate font-mono`,children:t}),(0,Q.jsx)(`button`,{onClick:e=>{e.stopPropagation(),o()},className:`flex size-4 items-center justify-center rounded-sm text-fg-muted transition-colors hover:text-fg`,"aria-label":`Close ${t}`,children:d?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(xe,{className:`size-2 fill-current group-hover:hidden`}),(0,Q.jsx)(l,{className:`hidden size-3 group-hover:block`})]}):(0,Q.jsx)(l,{className:`size-3 opacity-0 group-hover:opacity-100`})})]})}function Lo({tabs:e,activeTab:t,sessions:n,onActivate:r,onClose:i,onReorder:a}){let[o,s]=(0,q.useState)(null);if(e.length===0)return null;let c=new Map(n.map(e=>[e.id,e.branch])),l=e,u=(t,n)=>{p(t,n)||a(x(e,t,n))},d=e=>{let t=Xa(e.path,e.session,l,c);return C(e)===`diff`?`${t} (diff)`:C(e)===`commit`?`${t} @${(e.sha??``).slice(0,7)}`:t};return(0,Q.jsx)(`div`,{className:`flex h-9 shrink-0 items-stretch gap-0.5 overflow-x-auto bg-surface px-1 pt-1`,children:e.map(e=>(0,Q.jsx)(Io,{tab:e,label:d(e),active:t!==null&&p(t,e),dragging:o!==null&&p(o,e),onActivate:()=>r(e),onClose:()=>i(e),onDragStart:()=>s(e),onDragEnd:()=>s(null),onDragOver:()=>o&&u(o,e)},g(e)))})}function $({children:e}){return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-xs text-fg-muted`,children:e})}function Ro(e,t){let n=(0,q.useRef)(t);n.current=t,(0,q.useEffect)(()=>(mo(e),()=>{n.current?.(),ho(e)}),[e])}function zo(e,t,n,r){let i=r.split(`/`).map(encodeURIComponent).join(`/`);return`${e}://${encodeURIComponent(t)}/${encodeURIComponent(n)}/${i}`}function Bo({session:e,refName:t,path:n,content:r}){let i=(0,q.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);return(0,Q.jsx)(Ma,{path:zo(`puddle-view`,e,t,n),defaultValue:r,theme:Na,loading:(0,Q.jsx)($,{children:`…`}),options:{readOnly:!0,automaticLayout:!0,fontFamily:i,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function Vo({session:e,against:t,path:n}){let r=_(e,t,n);return r.isPending?(0,Q.jsx)($,{children:`…`}):r.error?(0,Q.jsx)($,{children:r.error instanceof Error?r.error.message:`Failed to load`}):r.data.binary?(0,Q.jsx)($,{children:`Binary file — deleted`}):(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)(`div`,{className:`bg-surface px-4 py-1 text-xs text-fg-muted`,children:`Deleted`}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(Bo,{session:e,refName:t,path:n,content:r.data.content??``})})]})}function Ho({session:e,against:t,path:n,basePath:r}){let a=oe(),o=Mo(e,n,null),s=_(e,t,r),c=(0,q.useRef)(null);Ro(Y(e,n),()=>{let e=c.current;if(!e)return;let t=e.getModel();e.setModel(null),t?.original.dispose(),c.current=null});let l=(0,q.useRef)(o.save);l.current=o.save;let u=(0,q.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]),d=s.error instanceof i&&s.error.status===404;return o.status===`binary`||s.data?.binary?(0,Q.jsx)($,{children:`Binary file`}):o.status===`too-large`?(0,Q.jsx)($,{children:`File too large to show`}):o.status===`error`?(0,Q.jsx)($,{children:o.errorMessage??`Failed to load file`}):d?(0,Q.jsx)(Po,{session:e,path:n,reveal:null}):s.isPending||!o.model?(0,Q.jsx)($,{children:`…`}):s.error?(0,Q.jsx)($,{children:s.error instanceof Error?s.error.message:`Failed to load base`}):(0,Q.jsx)(Da,{modifiedModelPath:o.model.uri.toString(),originalModelPath:zo(`puddle-base`,e,t,r),original:s.data.content??``,language:o.model.getLanguageId(),theme:Na,keepCurrentModifiedModel:!0,loading:(0,Q.jsx)($,{children:`…`}),onMount:e=>{c.current=e,e.onDidDispose(()=>{c.current=null}),e.getModifiedEditor().addCommand(de.CtrlCmd|ge.KeyS,()=>l.current())},options:{readOnly:!1,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:u,wordWrap:a.editorWordWrap?`on`:`off`,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function Uo({session:e,path:t}){return Ro(Y(e,t)),(0,Q.jsx)(Po,{session:e,path:t,reveal:null})}function Wo({session:e,against:t,entry:n}){switch(n.status){case`added`:return(0,Q.jsx)(Uo,{session:e,path:n.path});case`deleted`:return(0,Q.jsx)(Vo,{session:e,against:t,path:n.path});case`modified`:case`renamed`:return(0,Q.jsx)(Ho,{session:e,against:t,path:n.path,basePath:n.old_path??n.path});default:return null}}function Go({session:e,path:t}){let n=h(e);if(n.isPending)return(0,Q.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:`Loading diff…`});if(n.error)return(0,Q.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:n.error instanceof Error?n.error.message:`Failed to load diff`});let r=n.data.entries.find(e=>e.path===t);return r?(0,Q.jsx)(`div`,{className:`h-full`,children:(0,Q.jsx)(Wo,{session:e,against:n.data.against,entry:r})}):(0,Q.jsxs)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-xs text-fg-muted`,children:[`No changes to `,(0,Q.jsx)(`span`,{className:`mx-1 font-mono`,children:t}),` against the base.`]})}function Ko({session:e,sha:t,path:n}){let r=_(e,t,n);return r.isPending?(0,Q.jsx)($,{children:`…`}):r.error?(0,Q.jsx)($,{children:r.error instanceof Error?r.error.message:`Failed to load file`}):r.data.binary?(0,Q.jsx)($,{children:`Binary file`}):(0,Q.jsx)(Bo,{session:e,refName:t,path:n,content:r.data.content??``})}function qo({session:e,originalRef:t,originalPath:n,originalContent:r,modifiedRef:i,modifiedPath:a,modifiedContent:o}){let s=(0,q.useRef)(null),c=(0,q.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);return(0,q.useEffect)(()=>()=>{let e=s.current;if(!e)return;let t=e.getModel();e.setModel(null),t?.original.dispose(),t?.modified.dispose(),s.current=null},[]),(0,Q.jsx)(Da,{originalModelPath:zo(`puddle-hist-orig`,e,t,n),modifiedModelPath:zo(`puddle-hist-mod`,e,i,a),original:r,modified:o,theme:Na,keepCurrentOriginalModel:!0,keepCurrentModifiedModel:!0,loading:(0,Q.jsx)($,{children:`…`}),onMount:e=>{s.current=e,e.onDidDispose(()=>{s.current=null})},options:{readOnly:!0,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:c,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function Jo({session:e,sha:t,path:n,basePath:r}){let a=_(e,`${t}^`,r),o=_(e,t,n);return a.error instanceof i&&a.error.status===404?(0,Q.jsx)(Ko,{session:e,sha:t,path:n}):a.isPending||o.isPending?(0,Q.jsx)($,{children:`…`}):a.error?(0,Q.jsx)($,{children:a.error instanceof Error?a.error.message:`Failed to load original`}):o.error?(0,Q.jsx)($,{children:o.error instanceof Error?o.error.message:`Failed to load file`}):a.data.binary||o.data.binary?(0,Q.jsx)($,{children:`Binary file`}):(0,Q.jsx)(qo,{session:e,originalRef:`${t}^`,originalPath:r,originalContent:a.data.content??``,modifiedRef:t,modifiedPath:n,modifiedContent:o.data.content??``})}function Yo({session:e,sha:t,entry:n,isRootCommit:r}){switch(S(n.status,r)){case`added`:return(0,Q.jsx)(Ko,{session:e,sha:t,path:n.path});case`deleted`:return(0,Q.jsx)(Vo,{session:e,against:`${t}^`,path:n.path});case`modified`:case`renamed`:return(0,Q.jsx)(Jo,{session:e,sha:t,path:n.path,basePath:n.old_path??n.path});default:return null}}function Xo({session:e,sha:t,path:n}){let r=y(e,t);if(r.isPending)return(0,Q.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:`Loading commit…`});if(r.error)return(0,Q.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:r.error instanceof Error?r.error.message:`Failed to load commit`});let i=r.data.files.find(e=>e.path===n);return i?(0,Q.jsx)(`div`,{className:`h-full`,children:(0,Q.jsx)(Yo,{session:e,sha:t,entry:i,isRootCommit:r.data.parents.length===0})}):(0,Q.jsxs)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-xs text-fg-muted`,children:[(0,Q.jsx)(`span`,{className:`font-mono`,children:n}),` is not part of `,t.slice(0,7),`.`]})}function Zo(e){return e.split(`/`).pop()??e}function Qo({uiState:e,sessions:t,reveal:n}){let r=e.snapshot.editor_tabs,i=e.snapshot.active_editor_tab,a=i&&re(r,i)?i:r[r.length-1]??null,[c,l]=(0,q.useState)(null),ne=(0,q.useRef)(!1);(0,q.useEffect)(()=>{if(ne.current||t.length===0)return;ne.current=!0;let n=new Set(t.filter(e=>e.status!==`archived`).map(e=>e.id)),i=r.filter(e=>n.has(e.session));if(i.length!==r.length){let t=a&&n.has(a.session)?a:i[i.length-1]??null;e.update({editor_tabs:i,active_editor_tab:t})}},[t]),(0,q.useEffect)(()=>{a&&(!i||!p(i,a))?e.update({active_editor_tab:a}):!a&&i&&e.update({active_editor_tab:null})},[a,i]);let m=(0,q.useRef)(new Set);(0,q.useEffect)(()=>{let e=new Set(r.filter(e=>C(e)!==`commit`).map(e=>Y(e.session,e.path))),t=m.current;for(let n of e)t.has(n)||(mo(n),t.add(n));for(let n of[...t])e.has(n)||(ho(n),t.delete(n))},[r]),(0,q.useEffect)(()=>()=>{for(let e of m.current)ho(e);m.current.clear()},[]);let h=t=>{e.update({editor_tabs:v(r,t),active_editor_tab:b(r,t,a)})};return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col bg-ground`,children:[(0,Q.jsx)(Lo,{tabs:r,activeTab:a,sessions:t,onActivate:t=>e.update({active_editor_tab:t}),onClose:e=>{C(e)!==`commit`&&Z(Y(e.session,e.path))?l(e):h(e)},onReorder:t=>e.update({editor_tabs:t})}),(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1`,children:[a&&C(a)===`diff`&&(0,Q.jsx)(Go,{session:a.session,path:a.path},g(a)),a&&C(a)===`commit`&&a.sha&&(0,Q.jsx)(Xo,{session:a.session,sha:a.sha,path:a.path},g(a)),a&&C(a)===`file`&&(0,Q.jsx)(Po,{session:a.session,path:a.path,reveal:n},g(a))]}),(0,Q.jsx)(te,{open:c!==null,onOpenChange:e=>!e&&l(null),children:(0,Q.jsxs)(d,{children:[(0,Q.jsxs)(s,{children:[(0,Q.jsxs)(ee,{children:[`Discard changes to `,c?Zo(c.path):``,`?`]}),(0,Q.jsx)(f,{children:`This file has unsaved changes. Closing the tab will discard them.`})]}),(0,Q.jsxs)(u,{children:[(0,Q.jsx)(o,{variant:`ghost`,onClick:()=>l(null),children:`Keep editing`}),(0,Q.jsx)(o,{variant:`danger`,onClick:()=>{c&&(qa(c.session,c.path),Oo(c.session,c.path),h(c),l(null))},children:`Discard`})]})]})})]})}export{Qo as EditorZone};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{f as t,m as n,o as r,u as i}from"./api-DeKerbkb.js";import{_ as a,a as o,g as s,i as c,n as l,o as u,r as d,t as f}from"./dialog-VTyOt2M_.js";import{a as p,i as m,l as h,n as g,o as _,r as v,t as y}from"./switch-Ck_7k8fh.js";import{t as b}from"./folder-git-2-DX3SNYUW.js";import{B as x,Dt as S,G as C,H as w,I as ee,J as T,K as E,L as D,M as O,O as k,P as A,R as te,S as ne,T as j,Tt as re,U as M,W as ie,X as N,_ as P,a as F,at as I,c as L,d as ae,f as oe,g as se,i as ce,j as le,k as ue,m as R,o as z,ot as B,q as V,st as H,tt as U,v as de,w as fe,x as pe,xt as me,y as he}from"./index-ZcdMfr13.js";var ge=s(`bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),W=s(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),_e=s(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),ve=s(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),ye=s(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),G=s(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),be=s(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),K=e(n(),1),q=t();function J({label:e,description:t,htmlFor:n,children:r,className:a}){return(0,q.jsxs)(`div`,{className:i(`flex items-center gap-4 py-2.5`,a),children:[(0,q.jsxs)(`label`,{htmlFor:n,className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,q.jsx)(`span`,{className:`text-sm text-fg`,children:e}),t&&(0,q.jsx)(`span`,{className:`text-xs text-fg-muted`,children:t})]}),(0,q.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:r})]})}function Y({children:e,note:t}){return(0,q.jsxs)(`div`,{className:`mb-2 flex flex-col gap-0.5`,children:[(0,q.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:e}),t&&(0,q.jsx)(`span`,{className:`text-xs text-fg-muted`,children:t})]})}function xe(){let e=z(),[t,n]=(0,K.useState)(re());return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Y,{note:`This browser only`,children:`Appearance`}),(0,q.jsx)(J,{label:`Theme`,description:`Chrome, terminal, and editor restyle together.`,children:(0,q.jsxs)(g,{value:t,onValueChange:e=>{n(e),me(e)},children:[(0,q.jsx)(p,{className:`w-32`,children:(0,q.jsx)(_,{})}),(0,q.jsxs)(v,{children:[(0,q.jsx)(m,{value:`dark`,children:`Dark`}),(0,q.jsx)(m,{value:`light`,children:`Light`}),(0,q.jsx)(m,{value:`system`,children:`System`})]})]})}),(0,q.jsx)(J,{label:`UI font size`,htmlFor:`ui-font-size`,children:(0,q.jsx)(B,{id:`ui-font-size`,type:`number`,min:12,max:24,step:.5,className:`w-20 tabular-nums`,value:e.uiFontSize,onChange:e=>F({uiFontSize:Number(e.target.value)||ce.uiFontSize})})}),(0,q.jsx)(J,{label:`Terminal font size`,htmlFor:`terminal-font-size`,children:(0,q.jsx)(B,{id:`terminal-font-size`,type:`number`,min:9,max:24,className:`w-20 tabular-nums`,value:e.terminalFontSize,onChange:e=>F({terminalFontSize:Number(e.target.value)||13})})}),(0,q.jsx)(J,{label:`Density`,children:(0,q.jsxs)(g,{value:e.density,onValueChange:e=>F({density:e}),children:[(0,q.jsx)(p,{className:`w-36`,children:(0,q.jsx)(_,{})}),(0,q.jsxs)(v,{children:[(0,q.jsx)(m,{value:`compact`,children:`Compact`}),(0,q.jsx)(m,{value:`comfortable`,children:`Comfortable`})]})]})}),(0,q.jsx)(J,{label:`Reduced motion`,description:`Status ripples become static dots.`,htmlFor:`reduced-motion`,children:(0,q.jsx)(y,{id:`reduced-motion`,checked:e.reducedMotion,onCheckedChange:e=>F({reducedMotion:e})})})]})}var X=`__none__`;function Se(){let e=j(),t=T().data?.find(t=>t.id===e),n=k(e??void 0),i=V(e??void 0),s=ie(),h=C(e??``),y=ee(),[b,x]=(0,K.useState)(``),[w,E]=(0,K.useState)(!1),[D,O]=(0,K.useState)(``);if((0,K.useEffect)(()=>{t&&x(t.branch_prefix)},[t]),!t)return null;let A=i.data?.default_account_id;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Y,{children:`Profile`}),(0,q.jsx)(J,{label:`Name`,children:(0,q.jsx)(`span`,{className:`font-mono text-sm text-fg-secondary`,children:t.name})}),(0,q.jsxs)(J,{label:`Branch prefix`,description:`Session branches become <prefix><slug(title)>.`,htmlFor:`branch-prefix`,children:[(0,q.jsx)(B,{id:`branch-prefix`,value:b,onChange:e=>x(e.target.value),placeholder:r,className:`w-44 font-mono`}),(0,q.jsx)(a,{size:`sm`,variant:`secondary`,disabled:b===t.branch_prefix||s.isPending,onClick:()=>s.mutate({id:t.id,branch_prefix:b},{onError:e=>S.error(e.message)}),children:`Save`})]}),(0,q.jsx)(J,{label:`Default account`,description:`Preselected in the new-session modal.`,children:(0,q.jsxs)(g,{value:typeof A==`number`?String(A):X,onValueChange:e=>h.mutate({default_account_id:e===X?null:Number(e)},{onError:e=>S.error(e.message)}),children:[(0,q.jsx)(p,{className:`w-56`,children:(0,q.jsx)(_,{})}),(0,q.jsxs)(v,{children:[(0,q.jsx)(m,{value:X,children:`First available`}),n.data?.map(e=>(0,q.jsx)(m,{value:String(e.id),children:(0,q.jsxs)(`span`,{className:`font-mono`,children:[e.agent_type,`/`,e.label]})},e.id))]})]})}),(0,q.jsx)(J,{label:`Delete profile`,description:`Removes its projects, accounts (logging them out), and archived history. Non-archived sessions block deletion.`,className:`mt-4`,children:(0,q.jsx)(a,{variant:`danger`,size:`sm`,onClick:()=>E(!0),children:`Delete…`})}),(0,q.jsx)(f,{open:w,onOpenChange:e=>{e||(E(!1),O(``))},children:(0,q.jsxs)(l,{children:[(0,q.jsxs)(o,{children:[(0,q.jsxs)(u,{children:[`Delete profile `,(0,q.jsx)(`span`,{className:`font-mono`,children:t.name}),`?`]}),(0,q.jsx)(d,{children:`Everything this profile owns goes with it: projects, workspace layouts, accounts and their credential directories, and archived session history. Branches, repositories, and terminal logs on disk are untouched. This cannot be undone.`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(I,{htmlFor:`delete-confirm-name`,children:[`Type `,(0,q.jsx)(`span`,{className:`font-mono text-fg`,children:t.name}),` to confirm`]}),(0,q.jsx)(B,{id:`delete-confirm-name`,value:D,onChange:e=>O(e.target.value),className:`font-mono`,autoFocus:!0})]}),(0,q.jsxs)(c,{children:[(0,q.jsx)(a,{variant:`ghost`,onClick:()=>{E(!1),O(``)},children:`Cancel`}),(0,q.jsx)(a,{variant:`danger`,disabled:D!==t.name||y.isPending,onClick:()=>y.mutate(t.id,{onSuccess:()=>{R(),fe.set(null)},onError:e=>{E(!1),O(``),S.error(e.message)}}),children:`Delete profile`})]})]})})]})}function Ce({agentId:e,profileId:t,onClose:n}){let r=O(),[i,s]=(0,K.useState)(``),[p,m]=(0,K.useState)(``),h=D(ae(p,150)),g=i.trim()!==``&&(p.startsWith(`/`)||p.startsWith(`~`));return(0,q.jsx)(f,{open:!0,onOpenChange:e=>!e&&n(),children:(0,q.jsxs)(l,{children:[(0,q.jsxs)(o,{children:[(0,q.jsx)(u,{children:`Import an existing account`}),(0,q.jsx)(d,{children:`The directory is copied into a puddle-owned account; the original is never touched. If credentials do not travel (macOS keychain), log in once afterwards.`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(B,{placeholder:`label, e.g. personal`,value:i,onChange:e=>s(e.target.value),className:`font-mono`}),(0,q.jsx)(oe,{value:p,onValueChange:m,placeholder:`config dir on the host, e.g. ~/.claude`,hints:(h.data?.entries??[]).map(e=>({value:e.path,label:e.name})),className:`font-mono`})]}),(0,q.jsxs)(c,{children:[(0,q.jsx)(a,{variant:`ghost`,onClick:n,children:`Cancel`}),(0,q.jsxs)(a,{disabled:!g||r.isPending,onClick:()=>r.mutate({profile_id:t,agent_type:e,label:i.trim(),import_dir:p.trim()},{onSuccess:e=>{n(),e.logged_in||S.info(`Imported without credentials — press Login to authenticate.`)},onError:e=>S.error(e.message)}),children:[(0,q.jsx)(W,{}),`Import`]})]})]})})}function we({account:e,gateOpen:t}){let n=x(),r=w(),i=A(),[s,p]=(0,K.useState)(null),[m,g]=(0,K.useState)(!1),[_,v]=(0,K.useState)(e.label);return(0,K.useEffect)(()=>v(e.label),[e.label]),(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md bg-surface px-3 py-2`,children:[(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`input`,{value:_,onChange:e=>v(e.target.value),onBlur:()=>{let t=_.trim();if(t!==e.label){if(t===``){v(e.label);return}r.mutate({id:e.id,label:t},{onError:t=>{S.error(t.message),v(e.label)}})}},onKeyDown:t=>{t.key===`Enter`?t.currentTarget.blur():t.key===`Escape`&&(v(e.label),t.currentTarget.blur())},"aria-label":`Account name`,className:`-mx-1 block w-full truncate rounded-sm bg-transparent px-1 py-0.5 font-mono text-sm text-fg transition-colors hover:bg-elevated focus:bg-elevated focus:outline-none`}),(0,q.jsx)(`span`,{className:`text-2xs ${e.logged_in?`text-running`:`text-waiting`}`,children:e.logged_in?`logged in`:`not logged in`})]}),t&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-fg-secondary`,children:[`skip prompts`,(0,q.jsx)(y,{checked:e.skip_permissions_default,onCheckedChange:t=>r.mutate({id:e.id,skip_permissions_default:t},{onError:e=>S.error(e.message)})})]}),(0,q.jsxs)(a,{size:`sm`,variant:`secondary`,disabled:n.isPending,onClick:()=>n.mutate(e.id,{onSuccess:e=>p(e.stream),onError:e=>S.error(e.message)}),children:[(0,q.jsx)(ne,{}),e.logged_in?`Re-login`:`Login`]}),(0,q.jsxs)(a,{size:`icon`,variant:`ghost`,className:`size-7 text-fg-muted hover:text-danger`,onClick:()=>g(!0),children:[(0,q.jsx)(h,{}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Delete account`})]}),s&&(0,q.jsx)(L,{stream:s,label:`${e.agent_type}/${e.label}`,onClose:()=>p(null)}),(0,q.jsx)(f,{open:m,onOpenChange:g,children:(0,q.jsxs)(l,{children:[(0,q.jsxs)(o,{children:[(0,q.jsxs)(u,{children:[`Delete `,(0,q.jsx)(`span`,{className:`font-mono`,children:e.label}),`?`]}),(0,q.jsx)(d,{children:`Removes the account, its archived session history, and its credential directory — this logs the account out. Non-archived sessions block deletion.`})]}),(0,q.jsxs)(c,{children:[(0,q.jsx)(a,{variant:`ghost`,onClick:()=>g(!1),children:`Cancel`}),(0,q.jsx)(a,{variant:`danger`,disabled:i.isPending,onClick:()=>i.mutate(e.id,{onSuccess:()=>g(!1),onError:e=>{g(!1),S.error(e.message)}}),children:`Delete account`})]})]})})]})}function Te(){let e=j(),t=ue(),n=k(e??void 0),r=V(e??void 0),i=O(),o=x(),[s,c]=(0,K.useState)({}),[l,u]=(0,K.useState)(null),[d,f]=(0,K.useState)(null),p=r.data?.allowSkipPermissions===!0,m=t=>{let n=(s[t]??``).trim();!n||e===null||i.mutate({profile_id:e,agent_type:t,label:n},{onSuccess:e=>{c(e=>({...e,[t]:``})),o.mutate(e.id,{onSuccess:n=>u({stream:n.stream,label:`${t}/${e.label}`})})},onError:e=>S.error(e.message)})};return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Y,{children:`Accounts`}),t.data?.map(e=>{let t=n.data?.filter(t=>t.agent_type===e.id)??[];return(0,q.jsxs)(`div`,{className:`mb-5`,children:[(0,q.jsx)(J,{label:e.display_name,description:`Accounts are isolated config dirs under this profile.`,className:`py-1`,children:(0,q.jsx)(`span`,{className:`font-mono text-2xs text-fg-muted`,children:e.id})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[t.map(t=>(0,q.jsx)(we,{account:t,gateOpen:p&&e.capabilities.skip_permissions},t.id)),(0,q.jsxs)(`form`,{className:`flex gap-2`,onSubmit:t=>{t.preventDefault(),m(e.id)},children:[(0,q.jsx)(B,{placeholder:`label, e.g. personal`,value:s[e.id]??``,onChange:t=>c(n=>({...n,[e.id]:t.target.value})),className:`w-48 font-mono`}),(0,q.jsxs)(a,{type:`submit`,size:`sm`,variant:`secondary`,disabled:!(s[e.id]??``).trim()||i.isPending,children:[(0,q.jsx)(pe,{}),`Add account`]}),(0,q.jsxs)(a,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>f(e.id),children:[(0,q.jsx)(W,{}),`Import existing…`]})]})]})]},e.id)}),l&&(0,q.jsx)(L,{stream:l.stream,label:l.label,onClose:()=>u(null)}),d!==null&&e!==null&&(0,q.jsx)(Ce,{agentId:d,profileId:e,onClose:()=>f(null)})]})}function Z(){let e=j(),t=T().data?.find(t=>t.id===e),n=V(e??void 0),r=C(e??``),[i,s]=(0,K.useState)(!1),[p,m]=(0,K.useState)(``),h=n.data?.allowSkipPermissions===!0,g=e=>r.mutate({allowSkipPermissions:e},{onSuccess:()=>{s(!1),m(``)},onError:e=>S.error(e.message)});return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Y,{children:`Permissions & safety`}),(0,q.jsx)(`p`,{className:`mb-3 text-xs text-fg-secondary`,children:`Permission prompts are on by default, everywhere. Skipping them requires this profile gate, a per-account opt-in, and a per-session toggle — and the daemon re-checks all three on every launch, resume, and hand-off.`}),(0,q.jsx)(J,{label:`Allow skipping permission prompts`,description:h?`The gate is open: opted-in accounts can start prompt-free sessions.`:`The gate is closed: every session keeps its permission prompts.`,htmlFor:`gate`,children:(0,q.jsx)(y,{id:`gate`,checked:h,onCheckedChange:e=>{e?s(!0):g(!1)}})}),(0,q.jsx)(f,{open:i,onOpenChange:e=>{e||(s(!1),m(``))},children:(0,q.jsxs)(l,{children:[(0,q.jsxs)(o,{children:[(0,q.jsxs)(u,{className:`flex items-center gap-2`,children:[(0,q.jsx)(G,{className:`size-5 text-danger`}),`Run agents without permission prompts?`]}),(0,q.jsx)(d,{asChild:!0,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 text-sm`,children:[(0,q.jsx)(`p`,{children:`A prompt-free agent acts unattended, with your credentials, inside its worktree — and nothing technically stops a shell command from reaching outside it. It can:`}),(0,q.jsxs)(`ul`,{className:`list-disc pl-5 text-fg-secondary`,children:[(0,q.jsx)(`li`,{children:`run any shell command without asking first,`}),(0,q.jsx)(`li`,{children:`modify, delete, or exfiltrate files your user can reach,`}),(0,q.jsx)(`li`,{children:`install dependencies and execute the network requests they make,`}),(0,q.jsx)(`li`,{children:`push branches or call remote APIs with the credentials it finds.`})]}),(0,q.jsx)(`p`,{children:`Only open this gate if every account you opt in runs work you would trust a colleague to run unsupervised on this machine.`})]})})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(I,{htmlFor:`confirm-name`,children:[`Type `,(0,q.jsx)(`span`,{className:`font-mono text-fg`,children:t?.name}),` to confirm`]}),(0,q.jsx)(B,{id:`confirm-name`,value:p,onChange:e=>m(e.target.value),className:`font-mono`,autoFocus:!0})]}),(0,q.jsxs)(c,{children:[(0,q.jsx)(a,{variant:`ghost`,onClick:()=>{s(!1),m(``)},children:`Cancel`}),(0,q.jsx)(a,{variant:`danger`,disabled:p!==t?.name||r.isPending,onClick:()=>g(!0),children:`Open the gate`})]})]})})]})}var Ee={desktop:!0,sound:!1,muted_projects:[]};function De(){let e=j(),t=V(e??void 0),n=C(e??``),r=N(e??void 0),i={...Ee,...t.data?.notifications??{}},a=e=>n.mutate({notifications:e},{onError:e=>S.error(e.message)});return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Y,{note:`Delivery lands in a later phase`,children:`Notifications`}),(0,q.jsx)(J,{label:`Desktop notification on waiting`,description:`When a session flips to waiting for input.`,htmlFor:`notify-desktop`,children:(0,q.jsx)(y,{id:`notify-desktop`,checked:i.desktop,onCheckedChange:e=>a({...i,desktop:e})})}),(0,q.jsx)(J,{label:`Sound`,htmlFor:`notify-sound`,children:(0,q.jsx)(y,{id:`notify-sound`,checked:i.sound,onCheckedChange:e=>a({...i,sound:e})})}),(0,q.jsx)(J,{label:`Muted projects`,description:`No notifications from these projects.`,children:(0,q.jsxs)(`span`,{className:`text-2xs text-fg-muted tabular-nums`,children:[i.muted_projects.length,` muted`]})}),(0,q.jsx)(`div`,{className:`flex flex-col gap-1`,children:r.data?.map(e=>(0,q.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md px-2 py-1 text-sm text-fg-secondary hover:bg-elevated`,children:[(0,q.jsx)(y,{checked:i.muted_projects.includes(e.id),onCheckedChange:t=>a({...i,muted_projects:t?[...i.muted_projects,e.id]:i.muted_projects.filter(t=>t!==e.id)})}),e.name]},e.id))})]})}function Oe(){let e=z();return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Y,{note:`This browser only`,children:`Terminal & editor`}),(0,q.jsx)(J,{label:`Terminal scrollback`,description:`Lines kept per terminal.`,htmlFor:`scrollback`,children:(0,q.jsx)(B,{id:`scrollback`,type:`number`,min:500,max:1e5,step:500,className:`w-28 tabular-nums`,value:e.terminalScrollback,onChange:e=>F({terminalScrollback:Number(e.target.value)||5e3})})}),(0,q.jsx)(J,{label:`Editor tab size`,description:`Consumed when the editor lands in Phase 3.`,htmlFor:`tab-size`,children:(0,q.jsx)(B,{id:`tab-size`,type:`number`,min:1,max:8,className:`w-20 tabular-nums`,value:e.editorTabSize,onChange:e=>F({editorTabSize:Number(e.target.value)||2})})}),(0,q.jsx)(J,{label:`Editor word wrap`,htmlFor:`word-wrap`,children:(0,q.jsx)(y,{id:`word-wrap`,checked:e.editorWordWrap,onCheckedChange:e=>F({editorWordWrap:e})})}),(0,q.jsx)(J,{label:`SSH host for editor links`,description:`Used for vscode:// and cursor:// remote links until the CLI supplies it automatically.`,htmlFor:`editor-link-host`,children:(0,q.jsx)(B,{id:`editor-link-host`,type:`text`,placeholder:`user@host`,className:`w-48`,value:e.editorLinkSshHost,onChange:e=>F({editorLinkSshHost:e.target.value})})})]})}function ke({repo:e}){let t=E(),n=te(),[r,i]=(0,K.useState)(e.default_base_branch),[o,s]=(0,K.useState)(e.onboarding_notes??``),c=e=>S.error(e.message);return(0,q.jsxs)(`div`,{className:`mb-4 rounded-lg bg-surface p-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-sm text-fg`,children:e.path}),(0,q.jsx)(`span`,{className:`shrink-0 text-2xs text-fg-muted tabular-nums`,children:e.last_fetched_at?`fetched ${new Date(e.last_fetched_at).toLocaleString()}`:`never fetched`}),(0,q.jsxs)(a,{size:`sm`,variant:`ghost`,disabled:n.isPending,onClick:()=>n.mutate(e.id,{onSuccess:()=>S.success(`Fetched.`),onError:c}),children:[(0,q.jsx)(ve,{}),`Fetch now`]})]}),(0,q.jsxs)(J,{label:`Default base branch`,htmlFor:`base-${e.id}`,className:`py-1.5`,children:[(0,q.jsx)(B,{id:`base-${e.id}`,value:r,onChange:e=>i(e.target.value),className:`w-40 font-mono`}),(0,q.jsx)(a,{size:`sm`,variant:`secondary`,disabled:r===e.default_base_branch||t.isPending,onClick:()=>t.mutate({id:e.id,default_base_branch:r},{onError:c}),children:`Save`})]}),(0,q.jsx)(J,{label:`Periodic fetch`,description:`Fetched on open and on the daemon's interval while sessions are active.`,htmlFor:`fetch-${e.id}`,className:`py-1.5`,children:(0,q.jsx)(y,{id:`fetch-${e.id}`,checked:e.fetch_enabled,onCheckedChange:n=>t.mutate({id:e.id,fetch_enabled:n},{onError:c})})}),(0,q.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-1.5`,children:[(0,q.jsxs)(`label`,{htmlFor:`notes-${e.id}`,className:`flex flex-col gap-0.5 text-sm text-fg`,children:[`Onboarding notes`,(0,q.jsx)(`span`,{className:`text-xs text-fg-muted`,children:`Standing setup rules, injected into every fresh worktree. Agents update them via .puddle/onboarding-notes.md.`})]}),(0,q.jsx)(H,{id:`notes-${e.id}`,value:o,onChange:e=>s(e.target.value),rows:4,className:`font-mono`}),(0,q.jsx)(`div`,{children:(0,q.jsx)(a,{size:`sm`,variant:`secondary`,disabled:o===(e.onboarding_notes??``)||t.isPending,onClick:()=>t.mutate({id:e.id,onboarding_notes:o},{onError:c}),children:`Save notes`})})]}),e.orphan_worktrees.length>0&&(0,q.jsxs)(`div`,{className:`mt-3 rounded-md bg-elevated p-2`,children:[(0,q.jsx)(`p`,{className:`text-xs text-fg-secondary`,children:`Orphan worktrees — directories no session claims. Puddle never deletes these automatically; remove them by hand if unwanted.`}),(0,q.jsx)(`ul`,{className:`mt-1 flex flex-col gap-0.5`,children:e.orphan_worktrees.map(e=>(0,q.jsx)(`li`,{className:`truncate font-mono text-2xs text-fg-muted`,children:e},e))})]})]})}function Ae(){let e=U();return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Y,{children:`Repositories`}),e.data?.length===0&&(0,q.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`No repositories yet — register one from the new-project flow on the dashboard.`}),e.data?.map(e=>(0,q.jsx)(ke,{repo:e},e.id))]})}function Q({label:e,description:t,field:n,config:r,min:i,step:a=1}){let o=M();return(0,q.jsx)(J,{label:e,description:t,htmlFor:`host-${n}`,children:(0,q.jsx)(B,{id:`host-${n}`,type:`number`,min:i,step:a,className:`w-32 tabular-nums`,defaultValue:r[n],onBlur:e=>{let t=Number(e.target.value);Number.isFinite(t)&&t!==r[n]&&o.mutate({[n]:t},{onError:e=>S.error(e.message)})}})})}function je(){let e=le(),t=M();return e.data?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Y,{note:`Affects all profiles on this host`,children:`Host`}),(0,q.jsx)(Q,{label:`Fetch interval (minutes)`,description:`Periodic git fetch for repos with active sessions.`,field:`fetchIntervalMinutes`,config:e.data,min:1}),(0,q.jsx)(Q,{label:`Log size cap (bytes)`,description:`Per-terminal on-disk log cap.`,field:`logMaxBytes`,config:e.data,min:65536,step:1048576}),(0,q.jsx)(Q,{label:`Replay size (bytes)`,description:`Log tail sent to a terminal on attach.`,field:`replayBytes`,config:e.data,min:1024,step:65536}),(0,q.jsx)(Q,{label:`UI-state retention (days)`,description:`Stale workspace snapshots are swept at boot.`,field:`uiStateRetentionDays`,config:e.data,min:1}),(0,q.jsx)(J,{label:`Auto-resume`,description:`Resume interrupted sessions automatically after a daemon restart.`,htmlFor:`host-autoResume`,children:(0,q.jsx)(y,{id:`host-autoResume`,checked:e.data.autoResume,onCheckedChange:e=>t.mutate({autoResume:e},{onError:e=>S.error(e.message)})})})]}):null}var $=[{id:`appearance`,label:`Appearance`,icon:_e,render:()=>(0,q.jsx)(xe,{})},{id:`profile`,label:`Profile`,icon:de,render:()=>(0,q.jsx)(Se,{})},{id:`accounts`,label:`Accounts`,icon:be,render:()=>(0,q.jsx)(Te,{})},{id:`permissions`,label:`Permissions & Safety`,icon:G,render:()=>(0,q.jsx)(Z,{})},{id:`notifications`,label:`Notifications`,icon:ge,render:()=>(0,q.jsx)(De,{})},{id:`terminal`,label:`Terminal & Editor`,icon:he,render:()=>(0,q.jsx)(Oe,{})},{id:`repositories`,label:`Repositories`,icon:b,render:()=>(0,q.jsx)(Ae,{})},{id:`host`,label:`Host`,icon:ye,render:()=>(0,q.jsx)(je,{})}];function Me(){let e=se(P()),t=$.find(t=>t.id===e)??$[0];return(0,q.jsx)(f,{open:e!==null,onOpenChange:e=>!e&&R(),children:(0,q.jsxs)(l,{wide:!0,className:`grid h-[34rem] grid-cols-[14rem_1fr] gap-0 overflow-hidden p-0`,children:[(0,q.jsx)(u,{className:`sr-only`,children:`Settings`}),(0,q.jsxs)(`nav`,{className:`flex flex-col gap-1 bg-surface p-2.5 pr-6`,children:[(0,q.jsx)(`span`,{className:`px-2.5 py-2 text-2xs font-medium uppercase tracking-wide text-fg-muted`,children:`Settings`}),$.map(({id:e,label:n,icon:r})=>(0,q.jsxs)(`button`,{onClick:()=>{window.location.hash=`settings/${e}`},className:i(`flex items-center gap-2.5 rounded-md px-2.5 py-1.5 text-left text-sm transition-colors`,e===t.id?`bg-elevated text-fg`:`text-fg-secondary hover:bg-elevated hover:text-fg`),children:[(0,q.jsx)(r,{className:`size-4 shrink-0`}),n]},e))]}),(0,q.jsx)(`div`,{className:`overflow-y-auto p-5`,children:t.render()})]})})}export{Me as SettingsDialog};
|