@plures/design-dojo 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "svelte/internal/disclose-version";
2
2
  import * as e from "svelte/internal/client";
3
- import { getContext as Be, setContext as Fe, untrack as ge } from "svelte";
3
+ import { getContext as Re, setContext as Fe, untrack as he } from "svelte";
4
4
  const He = {
5
5
  /** Gentle hover, focus ring expansion */
6
6
  gentle: { stiffness: 120, damping: 14, mass: 1, restThreshold: 0.01 },
@@ -13,1118 +13,1954 @@ const He = {
13
13
  /** Tooltip, popover */
14
14
  quick: { stiffness: 500, damping: 30, mass: 0.5, restThreshold: 0.01 }
15
15
  };
16
- function Re(H, t, S) {
17
- const { stiffness: f, damping: l, mass: x } = t, y = H.value - H.target, p = -f * y, w = -l * H.velocity, v = (p + w) / x, P = H.velocity + v * S, R = H.value + P * S, M = Math.abs(P) < t.restThreshold && Math.abs(R - H.target) < t.restThreshold;
16
+ function Ke(K, t, F) {
17
+ const { stiffness: d, damping: n, mass: _ } = t, f = K.value - K.target, r = -d * f, w = -n * K.velocity, g = (r + w) / _, S = K.velocity + g * F, H = K.value + S * F, I = Math.abs(S) < t.restThreshold && Math.abs(H - K.target) < t.restThreshold;
18
18
  return {
19
- value: M ? H.target : R,
20
- velocity: M ? 0 : P,
21
- target: H.target,
22
- done: M
19
+ value: I ? K.target : H,
20
+ velocity: I ? 0 : S,
21
+ target: K.target,
22
+ done: I
23
23
  };
24
24
  }
25
- function fe(H, t = "snappy", S) {
26
- const f = typeof t == "string" ? He[t] : t;
27
- let l = {
28
- value: H,
25
+ function ge(K, t = "snappy", F) {
26
+ const d = typeof t == "string" ? He[t] : t;
27
+ let n = {
28
+ value: K,
29
29
  velocity: 0,
30
- target: H,
30
+ target: K,
31
31
  done: !0
32
- }, x = null, y = null;
33
- function p(v) {
34
- y === null && (y = v);
35
- const P = Math.min((v - y) / 1e3, 0.064);
36
- y = v, l = Re(l, f, P), S(l.value), l.done ? (x = null, y = null) : x = requestAnimationFrame(p);
32
+ }, _ = null, f = null;
33
+ function r(g) {
34
+ f === null && (f = g);
35
+ const S = Math.min((g - f) / 1e3, 0.064);
36
+ f = g, n = Ke(n, d, S), F(n.value), n.done ? (_ = null, f = null) : _ = requestAnimationFrame(r);
37
37
  }
38
38
  function w() {
39
- x === null && (y = null, x = requestAnimationFrame(p));
39
+ _ === null && (f = null, _ = requestAnimationFrame(r));
40
40
  }
41
41
  return {
42
42
  /** Set a new target value. Animation starts automatically. */
43
- set(v) {
44
- l.target = v, l.done = !1, w();
43
+ set(g) {
44
+ n.target = g, n.done = !1, w();
45
45
  },
46
46
  /** Jump to value immediately (no animation). */
47
- jump(v) {
48
- l = { value: v, velocity: 0, target: v, done: !0 }, S(v);
47
+ jump(g) {
48
+ n = { value: g, velocity: 0, target: g, done: !0 }, F(g);
49
49
  },
50
50
  /** Add velocity impulse (e.g., from a flick gesture). */
51
- impulse(v) {
52
- l.velocity += v, l.done = !1, w();
51
+ impulse(g) {
52
+ n.velocity += g, n.done = !1, w();
53
53
  },
54
54
  /** Stop animation. */
55
55
  stop() {
56
- x !== null && (cancelAnimationFrame(x), x = null, y = null);
56
+ _ !== null && (cancelAnimationFrame(_), _ = null, f = null);
57
57
  },
58
58
  /** Get current value. */
59
59
  get value() {
60
- return l.value;
60
+ return n.value;
61
61
  },
62
62
  /** Whether the spring has settled. */
63
63
  get done() {
64
- return l.done;
64
+ return n.done;
65
65
  }
66
66
  };
67
67
  }
68
- const Ne = Symbol("tui");
69
- function Ke(H) {
70
- Fe(Ne, H);
68
+ const Se = Symbol("tui");
69
+ function pe(K) {
70
+ Fe(Se, K);
71
71
  }
72
- function me() {
73
- return Be(Ne) ?? (() => !1);
72
+ function ie() {
73
+ return Re(Se) ?? (() => !1);
74
74
  }
75
- var Oe = e.from_html('<span class="tui-border-l svelte-5blyfe">╠</span><!><span class="tui-border-r svelte-5blyfe">╣</span>', 1), qe = e.from_html("<button><!></button>");
76
- function $t(H, t) {
75
+ var Oe = e.from_html('<span class="tui-border-l svelte-5blyfe">╠</span><!><span class="tui-border-r svelte-5blyfe">╣</span>', 1), je = e.from_html("<button><!></button>");
76
+ function Va(K, t) {
77
77
  e.push(t, !0);
78
- let S = e.prop(t, "variant", 3, "solid"), f = e.prop(t, "size", 3, "md"), l = e.prop(t, "disabled", 3, !1), x = e.prop(t, "tui", 3, !1);
79
- const y = me(), p = e.derived(() => x() || y());
80
- let w = e.state(void 0), v = e.state(1), P = e.state(1), R = e.state(0), M, C, U;
81
- const I = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
78
+ let F = e.prop(t, "variant", 3, "solid"), d = e.prop(t, "size", 3, "md"), n = e.prop(t, "disabled", 3, !1), _ = e.prop(t, "tui", 3, !1);
79
+ const f = ie(), r = e.derived(() => _() || f());
80
+ let w = e.state(void 0), g = e.state(1), S = e.state(1), H = e.state(0), I, y, P;
81
+ const N = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
82
82
  e.user_effect(() => {
83
- if (!I)
84
- return M = fe(1, "snappy", (E) => e.set(v, E, !0)), C = fe(1, "snappy", (E) => e.set(P, E, !0)), U = fe(0, "gentle", (E) => e.set(R, E, !0)), () => {
85
- M == null || M.stop(), C == null || C.stop(), U == null || U.stop();
83
+ if (!N)
84
+ return I = ge(1, "snappy", (k) => e.set(g, k, !0)), y = ge(1, "snappy", (k) => e.set(S, k, !0)), P = ge(0, "gentle", (k) => e.set(H, k, !0)), () => {
85
+ I == null || I.stop(), y == null || y.stop(), P == null || P.stop();
86
86
  };
87
87
  });
88
- function b() {
89
- l() || I || (M == null || M.set(0.96), C == null || C.set(0.3));
88
+ function x() {
89
+ n() || N || (I == null || I.set(0.96), y == null || y.set(0.3));
90
90
  }
91
- function g() {
92
- l() || I || (M == null || M.set(1), C == null || C.set(1));
91
+ function p() {
92
+ n() || N || (I == null || I.set(1), y == null || y.set(1));
93
93
  }
94
- function d() {
95
- l() || I || (M == null || M.set(1), C == null || C.set(1));
94
+ function m() {
95
+ n() || N || (I == null || I.set(1), y == null || y.set(1));
96
96
  }
97
- function L() {
98
- if (I) {
99
- e.set(R, 1);
97
+ function A() {
98
+ if (N) {
99
+ e.set(H, 1);
100
100
  return;
101
101
  }
102
- U == null || U.set(1);
102
+ P == null || P.set(1);
103
103
  }
104
- function h() {
105
- if (I) {
106
- e.set(R, 0);
104
+ function v() {
105
+ if (N) {
106
+ e.set(H, 0);
107
107
  return;
108
108
  }
109
- U == null || U.set(0);
109
+ P == null || P.set(0);
110
110
  }
111
- var m = qe();
112
- let i, _;
113
- var k = e.child(m);
111
+ var h = je();
112
+ let l, a;
113
+ var s = e.child(h);
114
114
  {
115
- var G = (E) => {
116
- var K = Oe(), j = e.sibling(e.first_child(K));
117
- e.snippet(j, () => t.children), e.next(), e.append(E, K);
118
- }, o = (E) => {
119
- var K = e.comment(), j = e.first_child(K);
120
- e.snippet(j, () => t.children), e.append(E, K);
115
+ var D = (k) => {
116
+ var M = Oe(), B = e.sibling(e.first_child(M));
117
+ e.snippet(B, () => t.children), e.next(), e.append(k, M);
118
+ }, c = (k) => {
119
+ var M = e.comment(), B = e.first_child(M);
120
+ e.snippet(B, () => t.children), e.append(k, M);
121
121
  };
122
- e.if(k, (E) => {
123
- e.get(p) ? E(G) : E(o, !1);
122
+ e.if(s, (k) => {
123
+ e.get(r) ? k(D) : k(c, !1);
124
124
  });
125
125
  }
126
- e.reset(m), e.bind_this(m, (E) => e.set(w, E), () => e.get(w)), e.template_effect(() => {
127
- i = e.set_class(m, 1, `btn btn-${S() ?? ""} btn-${f() ?? ""}`, "svelte-5blyfe", i, { disabled: l(), tui: e.get(p) }), m.disabled = l(), _ = e.set_style(m, "", _, {
128
- transform: e.get(p) ? void 0 : `scale(${e.get(v)})`,
129
- "--shadow-depth": e.get(p) ? void 0 : e.get(P),
130
- "--focus-opacity": e.get(R)
126
+ e.reset(h), e.bind_this(h, (k) => e.set(w, k), () => e.get(w)), e.template_effect(() => {
127
+ l = e.set_class(h, 1, `btn btn-${F() ?? ""} btn-${d() ?? ""}`, "svelte-5blyfe", l, { disabled: n(), tui: e.get(r) }), h.disabled = n(), a = e.set_style(h, "", a, {
128
+ transform: e.get(r) ? void 0 : `scale(${e.get(g)})`,
129
+ "--shadow-depth": e.get(r) ? void 0 : e.get(S),
130
+ "--focus-opacity": e.get(H)
131
131
  });
132
- }), e.delegated("click", m, function(...E) {
133
- var K;
134
- (K = t.onclick) == null || K.apply(this, E);
135
- }), e.delegated("pointerdown", m, b), e.delegated("pointerup", m, g), e.event("pointerleave", m, d), e.event("focus", m, L), e.event("blur", m, h), e.append(H, m), e.pop();
132
+ }), e.delegated("click", h, function(...k) {
133
+ var M;
134
+ (M = t.onclick) == null || M.apply(this, k);
135
+ }), e.delegated("pointerdown", h, x), e.delegated("pointerup", h, p), e.event("pointerleave", h, m), e.event("focus", h, A), e.event("blur", h, v), e.append(K, h), e.pop();
136
136
  }
137
137
  e.delegate(["click", "pointerdown", "pointerup"]);
138
- var Ve = e.from_html('<span class="toggle-label svelte-197v0i2"> </span>'), je = e.from_html('<label><!> <div class="toggle-track svelte-197v0i2" role="switch"><div class="toggle-thumb svelte-197v0i2"></div></div></label>');
139
- function Ge(H, t) {
138
+ var Ve = e.from_html(' <span class="tui-cursor svelte-a2gbz6">█</span> ', 1), qe = e.from_html('<label><div> </div> <div class="tui-row svelte-a2gbz6"><span>│</span> <span><!></span> <span>│</span></div> <div> </div> <input class="tui-hidden svelte-a2gbz6"/></label>'), Ge = e.from_html("<label> </label>"), Ye = e.from_html('<div><input class="input-field svelte-a2gbz6"/> <!></div>');
139
+ function qa(K, t) {
140
140
  e.push(t, !0);
141
- let S = e.prop(t, "checked", 15, !1), f = e.prop(t, "disabled", 3, !1), l = e.prop(t, "label", 3, ""), x = e.state(e.proxy(S() ? 1 : 0)), y = e.state(0);
142
- const p = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
143
- let w, v;
141
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "value", 15, ""), n = e.prop(t, "placeholder", 3, ""), _ = e.prop(t, "label", 3, ""), f = e.prop(t, "focused", 3, !1), r = e.prop(t, "disabled", 3, !1), w = e.prop(t, "password", 3, !1), g = e.prop(t, "maxLength", 3, void 0), S = e.prop(t, "class", 3, ""), H = e.prop(t, "cols", 3, 32);
142
+ const I = ie(), y = e.derived(() => F() || I());
143
+ function P() {
144
+ if (typeof crypto < "u" && typeof crypto.randomUUID == "function")
145
+ return `input-${crypto.randomUUID()}`;
146
+ if (typeof crypto < "u" && typeof crypto.getRandomValues == "function") {
147
+ const i = new Uint32Array(1);
148
+ return crypto.getRandomValues(i), `input-${i[0].toString(36)}`;
149
+ }
150
+ return `input-${Date.now().toString(36)}`;
151
+ }
152
+ const N = P();
153
+ let x = e.state(void 0), p = e.state(!1), m = e.state(0), A = e.state(0), v = e.state(0);
154
+ const h = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
155
+ let l, a;
144
156
  e.user_effect(() => {
145
- if (!p)
146
- return w = fe(S() ? 1 : 0, "snappy", (d) => e.set(x, d, !0)), v = fe(0, "gentle", (d) => e.set(y, d, !0)), () => {
147
- w == null || w.stop(), v == null || v.stop();
157
+ if (!(h || e.get(y)))
158
+ return l = ge(0, "gentle", (i) => e.set(A, i, !0)), a = ge(0, "gentle", (i) => e.set(v, i, !0)), () => {
159
+ l == null || l.stop(), a == null || a.stop();
148
160
  };
161
+ });
162
+ const s = e.derived(() => e.get(p) || f() || !!d());
163
+ e.user_effect(() => {
164
+ const i = e.get(s) ? 1 : 0;
165
+ h || e.get(y) ? e.set(A, i, !0) : l == null || l.set(i);
149
166
  }), e.user_effect(() => {
150
- p ? e.set(x, S() ? 1 : 0, !0) : w == null || w.set(S() ? 1 : 0);
167
+ f() && e.get(x) && !r() && e.get(x).focus();
151
168
  });
152
- function P() {
153
- var d;
154
- f() || (S(!S()), (d = t.onchange) == null || d.call(t, S()));
169
+ const D = e.derived(() => e.get(p) || f()), c = e.derived(() => Math.max(3, H())), k = e.derived(() => e.get(c) - 2), M = e.derived(() => w() ? "●".repeat((d() ?? "").length) : d() ?? ""), B = e.derived(() => _() ? (() => {
170
+ const i = Math.max(0, e.get(k) - 4), z = `─ ${_().length > i ? _().substring(0, i) : _()} `, E = Math.max(0, e.get(k) - z.length);
171
+ return `┌${z}${"─".repeat(E)}┐`;
172
+ })() : `┌${"─".repeat(e.get(k))}┐`), j = e.derived(() => {
173
+ const i = e.get(M), b = i.length, z = Math.min(Math.max(0, e.get(m)), b);
174
+ if (!e.get(D))
175
+ return i ? {
176
+ kind: "text",
177
+ text: i.substring(0, e.get(k)).padEnd(e.get(k), " ")
178
+ } : {
179
+ kind: "placeholder",
180
+ text: (n() || "").substring(0, e.get(k)).padEnd(e.get(k), " ")
181
+ };
182
+ const E = e.get(k) - 1;
183
+ let q;
184
+ b <= E ? q = 0 : (q = Math.min(z, b - E), q = Math.max(0, q), z < q && (q = z));
185
+ const V = i.substring(q, z), Y = i.substring(z, q + E), J = " ".repeat(Math.max(0, E - V.length - Y.length));
186
+ return { kind: "cursor", before: V, after: Y, pad: J };
187
+ });
188
+ function W() {
189
+ const i = e.get(x);
190
+ i && (typeof queueMicrotask < "u" ? queueMicrotask(() => {
191
+ e.set(m, i.selectionStart ?? (d() ?? "").length, !0);
192
+ }) : e.set(m, i.selectionStart ?? (d() ?? "").length, !0));
193
+ }
194
+ const O = e.derived(() => `└${"─".repeat(e.get(k))}┘`);
195
+ function L(i) {
196
+ var z;
197
+ const b = i.target;
198
+ d(b.value), (z = t.onchange) == null || z.call(t, d()), W();
155
199
  }
156
- function R(d) {
157
- (d.key === " " || d.key === "Enter") && (d.preventDefault(), P());
200
+ function U(i) {
201
+ var b, z;
202
+ (b = t.onkeydown) == null || b.call(t, i), i.key === "Enter" && ((z = t.onsubmit) == null || z.call(t, d() ?? "")), W();
158
203
  }
159
- var M = je();
160
- let C;
161
- var U = e.child(M);
204
+ function u() {
205
+ e.set(p, !0), W(), h || e.get(y) ? e.set(v, 1) : a == null || a.set(1);
206
+ }
207
+ function G() {
208
+ e.set(p, !1), h || e.get(y) ? e.set(v, 0) : a == null || a.set(0);
209
+ }
210
+ var T = e.comment(), C = e.first_child(T);
162
211
  {
163
- var I = (d) => {
164
- var L = Ve(), h = e.child(L, !0);
165
- e.reset(L), e.template_effect(() => e.set_text(h, l())), e.append(d, L);
212
+ var R = (i) => {
213
+ var b = qe();
214
+ let z;
215
+ var E = e.child(b);
216
+ let q;
217
+ var V = e.child(E, !0);
218
+ e.reset(E);
219
+ var Y = e.sibling(E, 2), J = e.child(Y);
220
+ let Z;
221
+ var $ = e.sibling(J, 2);
222
+ let ne;
223
+ var re = e.child($);
224
+ {
225
+ var ae = (X) => {
226
+ var ee = e.text();
227
+ e.template_effect(() => e.set_text(ee, e.get(j).text)), e.append(X, ee);
228
+ }, oe = (X) => {
229
+ var ee = e.text();
230
+ e.template_effect(() => e.set_text(ee, e.get(j).text)), e.append(X, ee);
231
+ }, ue = (X) => {
232
+ var ee = Ve(), le = e.first_child(ee, !0), ve = e.sibling(le, 2);
233
+ e.template_effect(() => {
234
+ e.set_text(le, e.get(j).before), e.set_text(ve, `${e.get(j).after ?? ""}${e.get(j).pad ?? ""}`);
235
+ }), e.append(X, ee);
236
+ };
237
+ e.if(re, (X) => {
238
+ e.get(j).kind === "placeholder" ? X(ae) : e.get(j).kind === "text" ? X(oe, 1) : X(ue, !1);
239
+ });
240
+ }
241
+ e.reset($);
242
+ var de = e.sibling($, 2);
243
+ let ce;
244
+ e.reset(Y);
245
+ var se = e.sibling(Y, 2);
246
+ let te;
247
+ var _e = e.child(se, !0);
248
+ e.reset(se);
249
+ var Q = e.sibling(se, 2);
250
+ e.remove_input_defaults(Q), e.bind_this(Q, (X) => e.set(x, X), () => e.get(x)), e.reset(b), e.template_effect(() => {
251
+ z = e.set_class(b, 1, `tui-input ${S() ?? ""}`, "svelte-a2gbz6", z, { focused: e.get(D), disabled: r() }), q = e.set_class(E, 1, "tui-top svelte-a2gbz6", null, q, { focused: e.get(D) }), e.set_text(V, e.get(B)), Z = e.set_class(J, 1, "tui-side svelte-a2gbz6", null, Z, { focused: e.get(D) }), ne = e.set_class($, 1, "tui-content svelte-a2gbz6", null, ne, { placeholder: e.get(j).kind === "placeholder" }), ce = e.set_class(de, 1, "tui-side svelte-a2gbz6", null, ce, { focused: e.get(D) }), te = e.set_class(se, 1, "tui-bottom svelte-a2gbz6", null, te, { focused: e.get(D) }), e.set_text(_e, e.get(O)), e.set_attribute(Q, "type", w() ? "password" : "text"), e.set_value(Q, d()), Q.disabled = r(), e.set_attribute(Q, "maxlength", g()), e.set_attribute(Q, "aria-label", _() || n() || void 0);
252
+ }), e.delegated("input", Q, L), e.delegated("keydown", Q, U), e.event("focus", Q, u), e.event("blur", Q, G), e.delegated("click", Q, W), e.event("select", Q, W), e.append(i, b);
253
+ }, o = (i) => {
254
+ var b = Ye();
255
+ let z;
256
+ var E = e.child(b);
257
+ e.remove_input_defaults(E);
258
+ let q;
259
+ e.bind_this(E, (J) => e.set(x, J), () => e.get(x));
260
+ var V = e.sibling(E, 2);
261
+ {
262
+ var Y = (J) => {
263
+ var Z = Ge();
264
+ let $, ne;
265
+ var re = e.child(Z, !0);
266
+ e.reset(Z), e.template_effect(
267
+ (ae) => {
268
+ $ = e.set_class(Z, 1, "input-label svelte-a2gbz6", null, $, { active: e.get(s) }), e.set_attribute(Z, "for", N), ne = e.set_style(Z, "", ne, ae), e.set_text(re, _());
269
+ },
270
+ [
271
+ () => ({
272
+ transform: `translateY(calc(-50% - ${(e.get(A) * 14).toFixed(2) ?? ""}px)) scale(${(1 - e.get(A) * 0.2).toFixed(3) ?? ""})`
273
+ })
274
+ ]
275
+ ), e.append(J, Z);
276
+ };
277
+ e.if(V, (J) => {
278
+ _() && J(Y);
279
+ });
280
+ }
281
+ e.reset(b), e.template_effect(() => {
282
+ z = e.set_class(b, 1, `input-wrapper ${S() ?? ""}`, "svelte-a2gbz6", z, {
283
+ focused: e.get(D),
284
+ filled: !!d(),
285
+ disabled: r()
286
+ }), e.set_attribute(E, "id", N), e.set_attribute(E, "type", w() ? "password" : "text"), e.set_value(E, d()), e.set_attribute(E, "placeholder", _() ? "" : n()), E.disabled = r(), e.set_attribute(E, "maxlength", g()), q = e.set_style(E, "", q, { "--focus-ring": e.get(v) });
287
+ }), e.delegated("input", E, L), e.delegated("keydown", E, U), e.event("focus", E, u), e.event("blur", E, G), e.append(i, b);
166
288
  };
167
- e.if(U, (d) => {
168
- l() && d(I);
289
+ e.if(C, (i) => {
290
+ e.get(y) ? i(R) : i(o, !1);
169
291
  });
170
292
  }
171
- var b = e.sibling(U, 2);
172
- let g;
173
- e.reset(M), e.template_effect(
174
- (d) => {
175
- C = e.set_class(M, 1, "toggle-wrapper svelte-197v0i2", null, C, { disabled: f() }), e.set_attribute(b, "aria-checked", S()), e.set_attribute(b, "tabindex", f() ? -1 : 0), g = e.set_style(b, "", g, d);
176
- },
177
- [
178
- () => ({
179
- "--thumb-x": e.get(x),
180
- "--track-color": `color-mix(in srgb, var(--color-accent, #6366f1) ${Math.round(e.get(x) * 100)}%, var(--surface-2, #2a2a2a) ${Math.round((1 - e.get(x)) * 100)}%)`,
181
- "--focus-opacity": e.get(y)
182
- })
183
- ]
184
- ), e.delegated("click", b, P), e.delegated("keydown", b, R), e.event("focus", b, () => p ? e.set(y, 1) : v == null ? void 0 : v.set(1)), e.event("blur", b, () => p ? e.set(y, 0) : v == null ? void 0 : v.set(0)), e.append(H, M), e.pop();
293
+ e.append(K, T), e.pop();
185
294
  }
186
- e.delegate(["click", "keydown"]);
187
- var Ye = e.from_html('<div class="tui-panel svelte-1ps7oei"><div class="tui-panel-top svelte-1ps7oei"> </div> <div class="tui-panel-body svelte-1ps7oei"><span class="tui-panel-side svelte-1ps7oei">║</span> <div class="tui-panel-content svelte-1ps7oei"><!></div> <span class="tui-panel-side svelte-1ps7oei">║</span></div> <div class="tui-panel-bottom svelte-1ps7oei"> </div></div>'), Je = e.from_html('<div class="glass svelte-1ps7oei"><!></div>');
188
- function ea(H, t) {
295
+ e.delegate(["input", "keydown", "click"]);
296
+ var We = e.from_html('<span class="tui-label svelte-1dtdvx6"> </span>'), Je = e.from_html('<li role="option"> </li>'), Qe = e.from_html('<ul class="tui-dropdown svelte-1dtdvx6" role="listbox"></ul>'), Xe = e.from_html('<div role="combobox" aria-haspopup="listbox"><span class="tui-border-l svelte-1dtdvx6" aria-hidden="true">╠</span> <!> <span class="tui-value svelte-1dtdvx6"> </span> <span class="tui-arrow svelte-1dtdvx6" aria-hidden="true"> </span> <span class="tui-border-r svelte-1dtdvx6" aria-hidden="true">╣</span> <!></div>'), Ze = e.from_html('<label class="select-label svelte-1dtdvx6"> </label>'), $e = e.from_html('<option disabled="" selected=""> </option>'), et = e.from_html("<option> </option>"), tt = e.from_html('<div><!> <div class="select-inner svelte-1dtdvx6"><select class="select svelte-1dtdvx6"><!><!></select> <span class="select-arrow svelte-1dtdvx6" aria-hidden="true">▼</span></div></div>');
297
+ function Ga(K, t) {
189
298
  e.push(t, !0);
190
- let S = e.prop(t, "blur", 3, 20), f = e.prop(t, "opacity", 3, 0.6), l = e.prop(t, "radius", 3, "var(--radius-md, 10px)"), x = e.prop(t, "padding", 3, "var(--space-4, 16px)"), y = e.prop(t, "tui", 3, !1), p = e.prop(t, "cols", 3, 20);
191
- const w = me(), v = e.derived(() => y() || w()), P = e.derived(() => "═".repeat(p()));
192
- var R = e.comment(), M = e.first_child(R);
299
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "value", 15, ""), n = e.prop(t, "placeholder", 3, "Select…"), _ = e.prop(t, "label", 3, ""), f = e.prop(t, "disabled", 3, !1), r = e.prop(t, "class", 3, "");
300
+ const w = ie(), g = e.derived(() => F() || w()), S = e.derived(() => {
301
+ var a;
302
+ return ((a = t.options.find((s) => s.value === d())) == null ? void 0 : a.label) ?? n();
303
+ }), H = `select-dropdown-${Math.random().toString(36).slice(2)}`, I = `select-${Math.random().toString(36).slice(2)}`;
304
+ let y = e.state(!1), P = e.state(0);
305
+ function N(a) {
306
+ var D;
307
+ const s = a.currentTarget;
308
+ d(s.value), (D = t.onchange) == null || D.call(t, d());
309
+ }
310
+ function x() {
311
+ f() || (e.set(y, !e.get(y)), e.get(y) && (e.set(P, t.options.findIndex((a) => a.value === d() && !a.disabled), !0), e.get(P) < 0 && e.set(P, t.options.findIndex((a) => !a.disabled), !0)));
312
+ }
313
+ function p(a) {
314
+ var s;
315
+ d(a), (s = t.onchange) == null || s.call(t, d()), e.set(y, !1);
316
+ }
317
+ function m(a) {
318
+ if (!f()) {
319
+ if (!e.get(y)) {
320
+ (a.key === "Enter" || a.key === " ") && (a.preventDefault(), x());
321
+ return;
322
+ }
323
+ if (a.key === "Escape")
324
+ a.preventDefault(), e.set(y, !1);
325
+ else if (a.key === "ArrowDown") {
326
+ a.preventDefault();
327
+ let s = e.get(P) + 1;
328
+ for (; s < t.options.length && t.options[s].disabled; ) s++;
329
+ s < t.options.length && e.set(P, s, !0);
330
+ } else if (a.key === "ArrowUp") {
331
+ a.preventDefault();
332
+ let s = e.get(P) - 1;
333
+ for (; s >= 0 && t.options[s].disabled; ) s--;
334
+ s >= 0 && e.set(P, s, !0);
335
+ } else if (a.key === "Enter" || a.key === " ") {
336
+ a.preventDefault();
337
+ const s = t.options[e.get(P)];
338
+ s && !s.disabled && p(s.value);
339
+ }
340
+ }
341
+ }
342
+ var A = e.comment(), v = e.first_child(A);
193
343
  {
194
- var C = (I) => {
195
- var b = Ye();
196
- let g;
197
- var d = e.child(b), L = e.child(d);
198
- e.reset(d);
199
- var h = e.sibling(d, 2), m = e.sibling(e.child(h), 2), i = e.child(m);
200
- e.snippet(i, () => t.children), e.reset(m), e.next(2), e.reset(h);
201
- var _ = e.sibling(h, 2), k = e.child(_);
202
- e.reset(_), e.reset(b), e.template_effect(() => {
203
- g = e.set_style(b, "", g, { padding: x() }), e.set_text(L, `╔${e.get(P) ?? ""}╗`), e.set_text(k, `╚${e.get(P) ?? ""}╝`);
204
- }), e.append(I, b);
205
- }, U = (I) => {
206
- var b = Je();
207
- let g;
208
- var d = e.child(b);
209
- e.snippet(d, () => t.children), e.reset(b), e.template_effect(() => g = e.set_style(b, "", g, {
210
- "--blur": `${S() ?? ""}px`,
211
- "--bg-opacity": f(),
212
- "border-radius": l(),
213
- padding: x()
214
- })), e.append(I, b);
344
+ var h = (a) => {
345
+ var s = Xe();
346
+ let D;
347
+ var c = e.sibling(e.child(s), 2);
348
+ {
349
+ var k = (U) => {
350
+ var u = We(), G = e.child(u);
351
+ e.reset(u), e.template_effect(() => e.set_text(G, `${_() ?? ""}:`)), e.append(U, u);
352
+ };
353
+ e.if(c, (U) => {
354
+ _() && U(k);
355
+ });
356
+ }
357
+ var M = e.sibling(c, 2), B = e.child(M, !0);
358
+ e.reset(M);
359
+ var j = e.sibling(M, 2), W = e.child(j, !0);
360
+ e.reset(j);
361
+ var O = e.sibling(j, 4);
362
+ {
363
+ var L = (U) => {
364
+ var u = Qe();
365
+ e.each(u, 21, () => t.options, e.index, (G, T, C) => {
366
+ var R = Je();
367
+ let o;
368
+ var i = e.child(R, !0);
369
+ e.reset(R), e.template_effect(() => {
370
+ o = e.set_class(R, 1, "tui-option svelte-1dtdvx6", null, o, {
371
+ focused: C === e.get(P),
372
+ selected: e.get(T).value === d(),
373
+ disabled: e.get(T).disabled
374
+ }), e.set_attribute(R, "aria-selected", e.get(T).value === d()), e.set_attribute(R, "aria-disabled", e.get(T).disabled), e.set_text(i, e.get(T).label);
375
+ }), e.delegated("click", R, (b) => {
376
+ b.stopPropagation(), e.get(T).disabled || p(e.get(T).value);
377
+ }), e.delegated("keydown", R, (b) => {
378
+ (b.key === "Enter" || b.key === " ") && (b.stopPropagation(), e.get(T).disabled || p(e.get(T).value));
379
+ }), e.append(G, R);
380
+ }), e.reset(u), e.template_effect(() => e.set_attribute(u, "id", H)), e.append(U, u);
381
+ };
382
+ e.if(O, (U) => {
383
+ e.get(y) && U(L);
384
+ });
385
+ }
386
+ e.reset(s), e.template_effect(() => {
387
+ D = e.set_class(s, 1, `tui-select ${r() ?? ""}`, "svelte-1dtdvx6", D, { disabled: f() }), e.set_attribute(s, "aria-label", _() || n() || "Select"), e.set_attribute(s, "aria-expanded", e.get(y)), e.set_attribute(s, "aria-controls", H), e.set_attribute(s, "aria-disabled", f()), e.set_attribute(s, "tabindex", f() ? -1 : 0), e.set_text(B, e.get(S)), e.set_text(W, e.get(y) ? "▲" : "▼");
388
+ }), e.delegated("click", s, x), e.delegated("keydown", s, m), e.append(a, s);
389
+ }, l = (a) => {
390
+ var s = tt();
391
+ let D;
392
+ var c = e.child(s);
393
+ {
394
+ var k = (L) => {
395
+ var U = Ze(), u = e.child(U, !0);
396
+ e.reset(U), e.template_effect(() => {
397
+ e.set_attribute(U, "for", I), e.set_text(u, _());
398
+ }), e.append(L, U);
399
+ };
400
+ e.if(c, (L) => {
401
+ _() && L(k);
402
+ });
403
+ }
404
+ var M = e.sibling(c, 2), B = e.child(M), j = e.child(B);
405
+ {
406
+ var W = (L) => {
407
+ var U = $e(), u = e.child(U, !0);
408
+ e.reset(U), U.value = U.__value = "", e.template_effect(() => e.set_text(u, n())), e.append(L, U);
409
+ };
410
+ e.if(j, (L) => {
411
+ n() && !d() && L(W);
412
+ });
413
+ }
414
+ var O = e.sibling(j);
415
+ e.each(O, 17, () => t.options, e.index, (L, U) => {
416
+ var u = et(), G = e.child(u, !0);
417
+ e.reset(u);
418
+ var T = {};
419
+ e.template_effect(() => {
420
+ u.disabled = e.get(U).disabled, e.set_text(G, e.get(U).label), T !== (T = e.get(U).value) && (u.value = (u.__value = e.get(U).value) ?? "");
421
+ }), e.append(L, u);
422
+ }), e.reset(B), e.next(2), e.reset(M), e.reset(s), e.template_effect(() => {
423
+ D = e.set_class(s, 1, `select-wrapper ${r() ?? ""}`, "svelte-1dtdvx6", D, { disabled: f() }), e.set_attribute(B, "id", I), B.disabled = f(), e.set_attribute(B, "aria-disabled", f()), e.set_attribute(B, "aria-label", _() || n() || "Select");
424
+ }), e.delegated("change", B, N), e.bind_select_value(B, d), e.append(a, s);
215
425
  };
216
- e.if(M, (I) => {
217
- e.get(v) ? I(C) : I(U, !1);
426
+ e.if(v, (a) => {
427
+ e.get(g) ? a(h) : a(l, !1);
218
428
  });
219
429
  }
220
- e.append(H, R), e.pop();
430
+ e.append(K, A), e.pop();
221
431
  }
222
- var We = e.from_html('<div><div class="chat-tui__msg-border svelte-10e5u2c" aria-hidden="true"> </div> <div class="chat-tui__msg-body svelte-10e5u2c"><span class="chat-tui__msg-side svelte-10e5u2c" aria-hidden="true">│</span> <div class="chat-tui__msg-content svelte-10e5u2c"> </div> <span class="chat-tui__msg-side svelte-10e5u2c" aria-hidden="true">│</span></div> <div class="chat-tui__msg-border svelte-10e5u2c" aria-hidden="true"> </div></div>'), Qe = e.from_html('<div class="chat-tui__indicator svelte-10e5u2c" role="status" aria-live="polite"><span tabindex="0" role="button" class="svelte-10e5u2c"> </span></div>'), Xe = e.from_html('<div tabindex="0" role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-tui__border svelte-10e5u2c" aria-hidden="true"></div> <div class="chat-tui__body svelte-10e5u2c"><span class="chat-tui__side svelte-10e5u2c" aria-hidden="true">│</span> <div class="chat-tui__content svelte-10e5u2c"><!> <!></div> <span class="chat-tui__side svelte-10e5u2c" aria-hidden="true">│</span></div> <div class="chat-tui__border svelte-10e5u2c" aria-hidden="true"></div></div>'), Ze = e.from_html('<span class="chat-gui__msg-time svelte-10e5u2c"> </span>'), $e = e.from_html('<div><div class="chat-gui__msg-header svelte-10e5u2c"><span class="chat-gui__msg-author svelte-10e5u2c"> </span> <!></div> <div class="chat-gui__msg-body svelte-10e5u2c"> </div></div>'), et = e.from_html('<button class="chat-gui__indicator svelte-10e5u2c" aria-live="polite" aria-label="Jump to latest messages"> </button>'), tt = e.from_html('<div role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-gui__scroll svelte-10e5u2c" tabindex="0" role="region" aria-label="Scrollable message history"><div class="chat-gui__messages svelte-10e5u2c"><!> <div class="chat-gui__sentinel svelte-10e5u2c" aria-hidden="true"></div></div></div> <!></div>');
223
- function ta(H, t) {
432
+ e.delegate(["click", "keydown", "change"]);
433
+ var at = e.from_html('<span class="toggle-label svelte-197v0i2"> </span>'), st = e.from_html('<label><!> <div class="toggle-track svelte-197v0i2" role="switch"><div class="toggle-thumb svelte-197v0i2"></div></div></label>');
434
+ function lt(K, t) {
224
435
  e.push(t, !0);
225
- let S = e.prop(t, "tui", 3, !1), f = e.prop(t, "showTimestamps", 3, !0), l = e.prop(t, "class", 3, "");
226
- const x = me(), y = e.derived(() => S() || x());
227
- Ke(() => e.get(y));
228
- let p = e.state(void 0), w = e.state(void 0), v = e.state(!0), P = e.state(0), R = e.state(0), M = e.state(0);
229
- e.user_effect(() => {
230
- const c = t.messages.length;
231
- if (c !== e.get(M)) {
232
- const z = c - e.get(M);
233
- e.set(M, c, !0), e.get(v) ? (e.set(P, 0), e.set(R, c, !0), C()) : z > 0 && e.set(P, e.get(P) + z);
234
- }
235
- });
236
- function C() {
237
- typeof requestAnimationFrame < "u" && requestAnimationFrame(() => U());
238
- }
239
- function U() {
240
- e.get(p) && (e.get(p).scrollTop = e.get(p).scrollHeight);
241
- }
242
- function I() {
243
- var c;
244
- e.set(v, !0), e.set(P, 0), e.set(R, t.messages.length, !0), U(), (c = t.onscrolltolatest) == null || c.call(t);
245
- }
246
- function b() {
247
- if (!e.get(p)) return;
248
- const { scrollTop: c, scrollHeight: z, clientHeight: B } = e.get(p), a = z - c - B, s = e.get(v);
249
- e.set(
250
- v,
251
- a < 8
252
- // 8px tolerance
253
- ), e.get(v) && !s && (e.set(P, 0), e.set(R, t.messages.length, !0));
254
- }
255
- function g(c) {
256
- if (!e.get(p)) return;
257
- const { clientHeight: z } = e.get(p);
258
- switch (c.key) {
259
- case "PageUp":
260
- c.preventDefault(), e.get(p).scrollBy({ top: -z, behavior: "smooth" });
261
- break;
262
- case "PageDown":
263
- c.preventDefault(), e.get(p).scrollBy({ top: z, behavior: "smooth" });
264
- break;
265
- case "Home":
266
- c.preventDefault(), e.get(p).scrollTo({ top: 0, behavior: "smooth" });
267
- break;
268
- case "End":
269
- c.preventDefault(), U();
270
- break;
271
- }
272
- }
273
- let d = e.state(0);
274
- const L = 10, h = e.derived(() => e.get(d) >= Math.max(0, t.messages.length - L)), m = e.derived(() => e.get(h) ? 0 : Math.max(0, t.messages.length - (e.get(d) + L))), i = e.derived(() => t.messages.slice(e.get(d), e.get(d) + L));
436
+ let F = e.prop(t, "checked", 15, !1), d = e.prop(t, "disabled", 3, !1), n = e.prop(t, "label", 3, ""), _ = e.state(e.proxy(F() ? 1 : 0)), f = e.state(0);
437
+ const r = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
438
+ let w, g;
275
439
  e.user_effect(() => {
276
- e.get(y) && e.get(h) && e.set(d, Math.max(0, t.messages.length - L), !0);
440
+ if (!r)
441
+ return w = ge(F() ? 1 : 0, "snappy", (m) => e.set(_, m, !0)), g = ge(0, "gentle", (m) => e.set(f, m, !0)), () => {
442
+ w == null || w.stop(), g == null || g.stop();
443
+ };
444
+ }), e.user_effect(() => {
445
+ r ? e.set(_, F() ? 1 : 0, !0) : w == null || w.set(F() ? 1 : 0);
277
446
  });
278
- function _() {
279
- e.set(d, Math.max(0, e.get(d) - 1), !0);
280
- }
281
- function k() {
282
- e.set(d, Math.min(Math.max(0, t.messages.length - L), e.get(d) + 1), !0);
283
- }
284
- function G() {
285
- e.set(d, Math.max(0, e.get(d) - L), !0);
286
- }
287
- function o() {
288
- e.set(d, Math.min(Math.max(0, t.messages.length - L), e.get(d) + L), !0);
289
- }
290
- function E() {
291
- e.set(d, 0);
292
- }
293
- function K() {
294
- e.set(d, Math.max(0, t.messages.length - L), !0);
295
- }
296
- function j() {
297
- var c;
298
- K(), (c = t.onscrolltolatest) == null || c.call(t);
299
- }
300
- function Y(c) {
301
- switch (c.key) {
302
- case "ArrowUp":
303
- c.preventDefault(), _();
304
- break;
305
- case "ArrowDown":
306
- c.preventDefault(), k();
307
- break;
308
- case "PageUp":
309
- c.preventDefault(), G();
310
- break;
311
- case "PageDown":
312
- c.preventDefault(), o();
313
- break;
314
- case "Home":
315
- c.preventDefault(), E();
316
- break;
317
- case "End":
318
- c.preventDefault(), K();
319
- break;
320
- }
447
+ function S() {
448
+ var m;
449
+ d() || (F(!F()), (m = t.onchange) == null || m.call(t, F()));
321
450
  }
322
- function X(c) {
323
- return c.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
451
+ function H(m) {
452
+ (m.key === " " || m.key === "Enter") && (m.preventDefault(), S());
324
453
  }
325
- function D(c) {
326
- return f() ? `${c.author} · ${X(c.timestamp)}` : c.author;
454
+ var I = st();
455
+ let y;
456
+ var P = e.child(I);
457
+ {
458
+ var N = (m) => {
459
+ var A = at(), v = e.child(A, !0);
460
+ e.reset(A), e.template_effect(() => e.set_text(v, n())), e.append(m, A);
461
+ };
462
+ e.if(P, (m) => {
463
+ n() && m(N);
464
+ });
327
465
  }
328
- var N = e.comment(), V = e.first_child(N);
466
+ var x = e.sibling(P, 2);
467
+ let p;
468
+ e.reset(I), e.template_effect(
469
+ (m) => {
470
+ y = e.set_class(I, 1, "toggle-wrapper svelte-197v0i2", null, y, { disabled: d() }), e.set_attribute(x, "aria-checked", F()), e.set_attribute(x, "tabindex", d() ? -1 : 0), p = e.set_style(x, "", p, m);
471
+ },
472
+ [
473
+ () => ({
474
+ "--thumb-x": e.get(_),
475
+ "--track-color": `color-mix(in srgb, var(--color-accent, #6366f1) ${Math.round(e.get(_) * 100)}%, var(--surface-2, #2a2a2a) ${Math.round((1 - e.get(_)) * 100)}%)`,
476
+ "--focus-opacity": e.get(f)
477
+ })
478
+ ]
479
+ ), e.delegated("click", x, S), e.delegated("keydown", x, H), e.event("focus", x, () => r ? e.set(f, 1) : g == null ? void 0 : g.set(1)), e.event("blur", x, () => r ? e.set(f, 0) : g == null ? void 0 : g.set(0)), e.append(K, I), e.pop();
480
+ }
481
+ e.delegate(["click", "keydown"]);
482
+ var it = e.from_html("<span><!></span>"), nt = e.from_html("<div><!></div>"), rt = e.from_html("<span><!></span>"), dt = e.from_html("<p><!></p>");
483
+ function Ya(K, t) {
484
+ e.push(t, !0);
485
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "bold", 3, !1), n = e.prop(t, "italic", 3, !1), _ = e.prop(t, "dim", 3, !1), f = e.prop(t, "underline", 3, !1), r = e.prop(t, "color", 3, "default"), w = e.prop(t, "align", 3, "left"), g = e.prop(t, "wrap", 3, !0), S = e.prop(t, "inline", 3, !1), H = e.prop(t, "class", 3, "");
486
+ const I = ie(), y = e.derived(() => F() || I()), P = {
487
+ default: "var(--tui-text, #e0e0e0)",
488
+ accent: "var(--tui-accent, #00d4ff)",
489
+ success: "var(--tui-success, #00ff88)",
490
+ warning: "var(--tui-warning, #ffaa00)",
491
+ error: "var(--tui-error, #ff4444)",
492
+ dim: "var(--tui-text-dim, #888888)"
493
+ }, N = {
494
+ default: "var(--color-text, #e8e8e8)",
495
+ accent: "var(--color-accent, #6366f1)",
496
+ success: "var(--color-success, #22c55e)",
497
+ warning: "var(--color-warning, #f59e0b)",
498
+ error: "var(--color-danger, #ef4444)",
499
+ dim: "var(--color-text-muted, #888888)"
500
+ }, x = e.derived(() => e.get(y) ? P[r()] ?? r() : N[r()] ?? r());
501
+ var p = e.comment(), m = e.first_child(p);
329
502
  {
330
- var r = (c) => {
331
- var z = Xe(), B = e.child(z);
332
- B.textContent = `┌─ Chat ${"─".repeat(38) ?? ""}┐`;
333
- var a = e.sibling(B, 2), s = e.sibling(e.child(a), 2), n = e.child(s);
334
- e.each(n, 17, () => e.get(i), (A) => A.id, (A, F) => {
335
- const J = e.derived(() => D(e.get(F))), W = e.derived(() => 38), $ = e.derived(() => `╭─ ${e.get(J)} ${"─".repeat(Math.max(0, e.get(W) - e.get(J).length - 3))}╮`), ce = e.derived(() => `╰${"─".repeat(e.get(W) + 1)}╯`);
336
- var de = We();
337
- let te;
338
- var ie = e.child(de), ve = e.child(ie, !0);
339
- e.reset(ie);
340
- var le = e.sibling(ie, 2), ne = e.sibling(e.child(le), 2), re = e.child(ne, !0);
341
- e.reset(ne), e.next(2), e.reset(le);
342
- var Z = e.sibling(le, 2), _e = e.child(Z, !0);
343
- e.reset(Z), e.reset(de), e.template_effect(() => {
344
- te = e.set_class(de, 1, "chat-tui__msg svelte-10e5u2c", null, te, {
345
- "chat-tui__msg--user": e.get(F).type === "user",
346
- "chat-tui__msg--system": e.get(F).type === "system"
347
- }), e.set_text(ve, e.get($)), e.set_text(re, e.get(F).content), e.set_text(_e, e.get(ce));
348
- }), e.append(A, de);
349
- });
350
- var u = e.sibling(n, 2);
503
+ var A = (l) => {
504
+ var a = e.comment(), s = e.first_child(a);
351
505
  {
352
- var T = (A) => {
353
- var F = Qe(), J = e.child(F), W = e.child(J);
354
- e.reset(J), e.reset(F), e.template_effect(() => e.set_text(W, `▼ ${e.get(m) ?? ""} new ${e.get(m) === 1 ? "message" : "messages"}`)), e.delegated("click", J, j), e.delegated("keydown", J, ($) => ($.key === "Enter" || $.key === " ") && j()), e.append(A, F);
506
+ var D = (k) => {
507
+ var M = it();
508
+ let B, j;
509
+ var W = e.child(M);
510
+ e.snippet(W, () => t.children), e.reset(M), e.template_effect(() => {
511
+ B = e.set_class(M, 1, `tui-text ${H() ?? ""}`, "svelte-16j019f", B, {
512
+ bold: d(),
513
+ italic: n(),
514
+ "tui-dim": _(),
515
+ underline: f()
516
+ }), j = e.set_style(M, "", j, {
517
+ color: e.get(x),
518
+ "white-space": g() ? void 0 : "nowrap"
519
+ });
520
+ }), e.append(k, M);
521
+ }, c = (k) => {
522
+ var M = nt();
523
+ let B, j;
524
+ var W = e.child(M);
525
+ e.snippet(W, () => t.children), e.reset(M), e.template_effect(() => {
526
+ B = e.set_class(M, 1, `tui-text tui-block ${H() ?? ""}`, "svelte-16j019f", B, {
527
+ bold: d(),
528
+ italic: n(),
529
+ "tui-dim": _(),
530
+ underline: f()
531
+ }), j = e.set_style(M, "", j, {
532
+ color: e.get(x),
533
+ "text-align": w() !== "left" ? w() : void 0,
534
+ "white-space": g() ? "pre-wrap" : "nowrap"
535
+ });
536
+ }), e.append(k, M);
355
537
  };
356
- e.if(u, (A) => {
357
- e.get(m) > 0 && A(T);
538
+ e.if(s, (k) => {
539
+ S() ? k(D) : k(c, !1);
358
540
  });
359
541
  }
360
- e.reset(s), e.next(2), e.reset(a);
361
- var O = e.sibling(a, 2);
362
- O.textContent = `└${"─".repeat(40) ?? ""}┘`, e.reset(z), e.template_effect(() => e.set_class(z, 1, `chat-tui ${l() ?? ""}`, "svelte-10e5u2c")), e.delegated("keydown", z, Y), e.append(c, z);
363
- }, q = (c) => {
364
- var z = tt(), B = e.child(z), a = e.child(B), s = e.child(a);
365
- e.each(s, 17, () => t.messages, (O) => O.id, (O, A) => {
366
- var F = $e();
367
- let J;
368
- var W = e.child(F), $ = e.child(W), ce = e.child($, !0);
369
- e.reset($);
370
- var de = e.sibling($, 2);
371
- {
372
- var te = (le) => {
373
- var ne = Ze(), re = e.child(ne, !0);
374
- e.reset(ne), e.template_effect((Z) => e.set_text(re, Z), [() => X(e.get(A).timestamp)]), e.append(le, ne);
375
- };
376
- e.if(de, (le) => {
377
- f() && le(te);
378
- });
379
- }
380
- e.reset(W);
381
- var ie = e.sibling(W, 2), ve = e.child(ie, !0);
382
- e.reset(ie), e.reset(F), e.template_effect(() => {
383
- J = e.set_class(F, 1, "chat-gui__msg svelte-10e5u2c", null, J, {
384
- "chat-gui__msg--user": e.get(A).type === "user",
385
- "chat-gui__msg--agent": e.get(A).type === "agent",
386
- "chat-gui__msg--system": e.get(A).type === "system"
387
- }), e.set_text(ce, e.get(A).author), e.set_text(ve, e.get(A).content);
388
- }), e.append(O, F);
389
- });
390
- var n = e.sibling(s, 2);
391
- e.bind_this(n, (O) => e.set(w, O), () => e.get(w)), e.reset(a), e.reset(B), e.bind_this(B, (O) => e.set(p, O), () => e.get(p));
392
- var u = e.sibling(B, 2);
393
- {
394
- var T = (O) => {
395
- var A = et(), F = e.child(A);
396
- e.reset(A), e.template_effect(() => e.set_text(F, `▼ ${e.get(P) ?? ""} new ${e.get(P) === 1 ? "message" : "messages"}`)), e.delegated("click", A, I), e.append(O, A);
397
- };
398
- e.if(u, (O) => {
399
- e.get(P) > 0 && !e.get(v) && O(T);
542
+ e.append(l, a);
543
+ }, v = (l) => {
544
+ var a = rt();
545
+ let s, D;
546
+ var c = e.child(a);
547
+ e.snippet(c, () => t.children), e.reset(a), e.template_effect(() => {
548
+ s = e.set_class(a, 1, `gui-text ${H() ?? ""}`, "svelte-16j019f", s, {
549
+ bold: d(),
550
+ italic: n(),
551
+ "gui-dim": _(),
552
+ underline: f()
553
+ }), D = e.set_style(a, "", D, {
554
+ color: e.get(x),
555
+ "white-space": g() ? void 0 : "nowrap"
400
556
  });
401
- }
402
- e.reset(z), e.template_effect(() => e.set_class(z, 1, `chat-gui ${l() ?? ""}`, "svelte-10e5u2c")), e.event("scroll", B, b), e.delegated("keydown", B, g), e.append(c, z);
557
+ }), e.append(l, a);
558
+ }, h = (l) => {
559
+ var a = dt();
560
+ let s, D;
561
+ var c = e.child(a);
562
+ e.snippet(c, () => t.children), e.reset(a), e.template_effect(() => {
563
+ s = e.set_class(a, 1, `gui-text gui-block ${H() ?? ""}`, "svelte-16j019f", s, {
564
+ bold: d(),
565
+ italic: n(),
566
+ "gui-dim": _(),
567
+ underline: f()
568
+ }), D = e.set_style(a, "", D, {
569
+ color: e.get(x),
570
+ "text-align": w() !== "left" ? w() : void 0,
571
+ "white-space": g() ? "normal" : "nowrap"
572
+ });
573
+ }), e.append(l, a);
403
574
  };
404
- e.if(V, (c) => {
405
- e.get(y) ? c(r) : c(q, !1);
575
+ e.if(m, (l) => {
576
+ e.get(y) ? l(A) : S() ? l(v, 1) : l(h, !1);
406
577
  });
407
578
  }
408
- e.append(H, N), e.pop();
579
+ e.append(K, p), e.pop();
409
580
  }
410
- e.delegate(["keydown", "click"]);
411
- var at = e.from_html(' <span class="search-tui__cursor svelte-1xnd4ea">█</span> ', 1), st = e.from_html('<span class="search-tui__result-gap svelte-1xnd4ea"> </span> <span class="search-tui__result-score svelte-1xnd4ea"> </span>', 1), lt = e.from_html('<div role="option" tabindex="-1"><span class="search-tui__side search-tui__side--dim svelte-1xnd4ea">│</span> <span class="search-tui__result-content svelte-1xnd4ea"><span class="search-tui__result-prefix svelte-1xnd4ea"> </span> <span class="search-tui__result-text svelte-1xnd4ea"> </span> <!></span> <span class="search-tui__side search-tui__side--dim svelte-1xnd4ea">│</span></div>'), it = e.from_html('<div class="search-tui__separator svelte-1xnd4ea"> </div> <div role="listbox" aria-label="Search suggestions" class="svelte-1xnd4ea"></div>', 1), nt = e.from_html('<label><div> </div> <div class="search-tui__row svelte-1xnd4ea"><span>│</span> <span><!></span> <span>│</span></div> <!> <div class="search-tui__bottom svelte-1xnd4ea"> </div> <input class="search-tui__hidden svelte-1xnd4ea" type="text" aria-label="Search" role="combobox" aria-autocomplete="list" aria-haspopup="listbox"/></label>'), rt = e.from_html('<mark class="search-gui__highlight svelte-1xnd4ea"> </mark>'), dt = e.from_html('<span class="search-gui__score svelte-1xnd4ea"> </span>'), ot = e.from_html('<li role="option" tabindex="-1"><span class="search-gui__option-text svelte-1xnd4ea"></span> <!></li>'), ct = e.from_html('<ul class="search-gui__dropdown svelte-1xnd4ea" role="listbox" aria-label="Search suggestions"></ul>'), vt = e.from_html('<div><div><span class="search-gui__icon svelte-1xnd4ea" aria-hidden="true">⌕</span> <input class="search-gui__input svelte-1xnd4ea" type="text" aria-label="Search" role="combobox" aria-autocomplete="list" aria-haspopup="listbox"/></div> <!></div>');
412
- function aa(H, t) {
581
+ var ct = e.from_html(' <span class="search-tui__cursor svelte-1xnd4ea">█</span> ', 1), ot = e.from_html('<span class="search-tui__result-gap svelte-1xnd4ea"> </span> <span class="search-tui__result-score svelte-1xnd4ea"> </span>', 1), vt = e.from_html('<div role="option" tabindex="-1"><span class="search-tui__side search-tui__side--dim svelte-1xnd4ea">│</span> <span class="search-tui__result-content svelte-1xnd4ea"><span class="search-tui__result-prefix svelte-1xnd4ea"> </span> <span class="search-tui__result-text svelte-1xnd4ea"> </span> <!></span> <span class="search-tui__side search-tui__side--dim svelte-1xnd4ea">│</span></div>'), ut = e.from_html('<div class="search-tui__separator svelte-1xnd4ea"> </div> <div role="listbox" aria-label="Search suggestions" class="svelte-1xnd4ea"></div>', 1), _t = e.from_html('<label><div> </div> <div class="search-tui__row svelte-1xnd4ea"><span>│</span> <span><!></span> <span>│</span></div> <!> <div class="search-tui__bottom svelte-1xnd4ea"> </div> <input class="search-tui__hidden svelte-1xnd4ea" type="text" aria-label="Search" role="combobox" aria-autocomplete="list" aria-haspopup="listbox"/></label>'), gt = e.from_html('<mark class="search-gui__highlight svelte-1xnd4ea"> </mark>'), ft = e.from_html('<span class="search-gui__score svelte-1xnd4ea"> </span>'), ht = e.from_html('<li role="option" tabindex="-1"><span class="search-gui__option-text svelte-1xnd4ea"></span> <!></li>'), pt = e.from_html('<ul class="search-gui__dropdown svelte-1xnd4ea" role="listbox" aria-label="Search suggestions"></ul>'), mt = e.from_html('<div><div><span class="search-gui__icon svelte-1xnd4ea" aria-hidden="true">⌕</span> <input class="search-gui__input svelte-1xnd4ea" type="text" aria-label="Search" role="combobox" aria-autocomplete="list" aria-haspopup="listbox"/></div> <!></div>');
582
+ function Wa(K, t) {
413
583
  e.push(t, !0);
414
- let S = e.prop(t, "tui", 3, !1), f = e.prop(t, "value", 15, ""), l = e.prop(t, "placeholder", 3, "Search..."), x = e.prop(t, "maxSuggestions", 3, 8), y = e.prop(t, "debounceMs", 3, 100), p = e.prop(t, "showScores", 3, !0), w = e.prop(t, "class", 3, ""), v = e.prop(t, "cols", 3, 48);
415
- const P = me(), R = e.derived(() => S() || P());
416
- let M = e.state(void 0), C = e.state(!1), U = e.state(0), I = e.state(e.proxy([])), b = e.state(-1), g = e.state(!1);
417
- function d() {
584
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "value", 15, ""), n = e.prop(t, "placeholder", 3, "Search..."), _ = e.prop(t, "maxSuggestions", 3, 8), f = e.prop(t, "debounceMs", 3, 100), r = e.prop(t, "showScores", 3, !0), w = e.prop(t, "class", 3, ""), g = e.prop(t, "cols", 3, 48);
585
+ const S = ie(), H = e.derived(() => F() || S());
586
+ let I = e.state(void 0), y = e.state(!1), P = e.state(0), N = e.state(e.proxy([])), x = e.state(-1), p = e.state(!1);
587
+ function m() {
418
588
  if (typeof crypto < "u" && typeof crypto.randomUUID == "function")
419
589
  return `search-listbox-${crypto.randomUUID()}`;
420
590
  if (typeof crypto < "u" && typeof crypto.getRandomValues == "function") {
421
- const a = new Uint32Array(1);
422
- return crypto.getRandomValues(a), `search-listbox-${a[0].toString(36)}`;
591
+ const o = new Uint32Array(1);
592
+ return crypto.getRandomValues(o), `search-listbox-${o[0].toString(36)}`;
423
593
  }
424
594
  return `search-listbox-${Date.now().toString(36)}`;
425
595
  }
426
- const L = d();
427
- let h;
428
- const m = e.derived(() => Math.max(6, v())), i = e.derived(() => e.get(m) - 2), _ = e.derived(() => (() => {
429
- const a = "Search", s = Math.max(0, e.get(i) - 4), u = `─ ${a.length > s ? a.substring(0, s) : a} `, T = Math.max(0, e.get(i) - u.length);
430
- return `┌${u}${"─".repeat(T)}┐`;
431
- })()), k = e.derived(() => `├${"─".repeat(e.get(i))}┤`), G = e.derived(() => `└${"─".repeat(e.get(i))}┘`), o = e.derived(() => {
432
- const a = f() ?? "", s = a.length, n = Math.min(Math.max(0, e.get(U)), s);
433
- if (!e.get(C))
434
- return a ? {
596
+ const A = m();
597
+ let v;
598
+ const h = e.derived(() => Math.max(6, g())), l = e.derived(() => e.get(h) - 2), a = e.derived(() => (() => {
599
+ const o = "Search", i = Math.max(0, e.get(l) - 4), z = `─ ${o.length > i ? o.substring(0, i) : o} `, E = Math.max(0, e.get(l) - z.length);
600
+ return `┌${z}${"─".repeat(E)}┐`;
601
+ })()), s = e.derived(() => `├${"─".repeat(e.get(l))}┤`), D = e.derived(() => `└${"─".repeat(e.get(l))}┘`), c = e.derived(() => {
602
+ const o = d() ?? "", i = o.length, b = Math.min(Math.max(0, e.get(P)), i);
603
+ if (!e.get(y))
604
+ return o ? {
435
605
  kind: "text",
436
- text: a.substring(0, e.get(i)).padEnd(e.get(i), " ")
606
+ text: o.substring(0, e.get(l)).padEnd(e.get(l), " ")
437
607
  } : {
438
608
  kind: "placeholder",
439
- text: (l() || "").substring(0, e.get(i)).padEnd(e.get(i), " ")
609
+ text: (n() || "").substring(0, e.get(l)).padEnd(e.get(l), " ")
440
610
  };
441
- const u = e.get(i) - 1;
442
- let T;
443
- s <= u ? T = 0 : (T = Math.min(n, s - u), T = Math.max(0, T), n < T && (T = n));
444
- const O = a.substring(T, n), A = a.substring(n, T + u), F = " ".repeat(Math.max(0, u - O.length - A.length));
445
- return { kind: "cursor", before: O, after: A, pad: F };
611
+ const z = e.get(l) - 1;
612
+ let E;
613
+ i <= z ? E = 0 : (E = Math.min(b, i - z), E = Math.max(0, E), b < E && (E = b));
614
+ const q = o.substring(E, b), V = o.substring(b, E + z), Y = " ".repeat(Math.max(0, z - q.length - V.length));
615
+ return { kind: "cursor", before: q, after: V, pad: Y };
446
616
  });
447
- function E(a, s) {
448
- const n = s === e.get(b) ? "› " : " ";
449
- if (p()) {
450
- const u = `★ ${a.score.toFixed(2)}`, T = " ", O = Math.max(0, e.get(i) - n.length - T.length - u.length), A = a.text.length > O ? a.text.substring(0, O - 1) + "…" : a.text.padEnd(O, " ");
451
- return { prefix: n, text: A, gap: T, score: u };
617
+ function k(o, i) {
618
+ const b = i === e.get(x) ? "› " : " ";
619
+ if (r()) {
620
+ const z = `★ ${o.score.toFixed(2)}`, E = " ", q = Math.max(0, e.get(l) - b.length - E.length - z.length), V = o.text.length > q ? o.text.substring(0, q - 1) + "…" : o.text.padEnd(q, " ");
621
+ return { prefix: b, text: V, gap: E, score: z };
452
622
  } else {
453
- const u = Math.max(0, e.get(i) - n.length), T = a.text.length > u ? a.text.substring(0, u - 1) + "…" : a.text.padEnd(u, " ");
454
- return { prefix: n, text: T, gap: "", score: "" };
623
+ const z = Math.max(0, e.get(l) - b.length), E = o.text.length > z ? o.text.substring(0, z - 1) + "…" : o.text.padEnd(z, " ");
624
+ return { prefix: b, text: E, gap: "", score: "" };
455
625
  }
456
626
  }
457
- async function K(a) {
458
- if (!a.trim()) {
459
- e.set(I, [], !0), e.set(g, !1), e.set(b, -1);
627
+ async function M(o) {
628
+ if (!o.trim()) {
629
+ e.set(N, [], !0), e.set(p, !1), e.set(x, -1);
460
630
  return;
461
631
  }
462
632
  try {
463
- const s = await t.onSearch(a);
464
- e.set(I, s.slice(0, x()), !0), e.set(b, -1), e.set(g, e.get(I).length > 0);
633
+ const i = await t.onSearch(o);
634
+ e.set(N, i.slice(0, _()), !0), e.set(x, -1), e.set(p, e.get(N).length > 0);
465
635
  } catch {
466
- e.set(I, [], !0), e.set(g, !1);
636
+ e.set(N, [], !0), e.set(p, !1);
467
637
  }
468
638
  }
469
- function j(a) {
470
- f(a.text), e.set(I, [], !0), e.set(g, !1), e.set(b, -1), t.onSelect(a);
639
+ function B(o) {
640
+ d(o.text), e.set(N, [], !0), e.set(p, !1), e.set(x, -1), t.onSelect(o);
471
641
  }
472
- function Y(a) {
473
- const s = a.target;
474
- f(s.value), D(), clearTimeout(h), h = setTimeout(() => K(f() ?? ""), y());
642
+ function j(o) {
643
+ const i = o.target;
644
+ d(i.value), O(), clearTimeout(v), v = setTimeout(() => M(d() ?? ""), f());
475
645
  }
476
- function X(a) {
477
- a.key === "ArrowDown" ? (a.preventDefault(), e.get(I).length > 0 && e.set(b, Math.min(e.get(b) + 1, e.get(I).length - 1), !0)) : a.key === "ArrowUp" ? (a.preventDefault(), e.get(I).length > 0 && e.set(b, Math.max(e.get(b) - 1, -1), !0)) : a.key === "Enter" ? (a.preventDefault(), e.get(b) >= 0 && e.get(b) < e.get(I).length && j(e.get(I)[e.get(b)])) : a.key === "Escape" && (e.set(I, [], !0), e.set(g, !1), e.set(b, -1)), D();
646
+ function W(o) {
647
+ o.key === "ArrowDown" ? (o.preventDefault(), e.get(N).length > 0 && e.set(x, Math.min(e.get(x) + 1, e.get(N).length - 1), !0)) : o.key === "ArrowUp" ? (o.preventDefault(), e.get(N).length > 0 && e.set(x, Math.max(e.get(x) - 1, -1), !0)) : o.key === "Enter" ? (o.preventDefault(), e.get(x) >= 0 && e.get(x) < e.get(N).length && B(e.get(N)[e.get(x)])) : o.key === "Escape" && (e.set(N, [], !0), e.set(p, !1), e.set(x, -1)), O();
478
648
  }
479
- function D() {
480
- const a = e.get(M);
481
- a && (typeof queueMicrotask < "u" ? queueMicrotask(() => {
482
- e.set(U, a.selectionStart ?? (f() ?? "").length, !0);
483
- }) : e.set(U, a.selectionStart ?? (f() ?? "").length, !0));
649
+ function O() {
650
+ const o = e.get(I);
651
+ o && (typeof queueMicrotask < "u" ? queueMicrotask(() => {
652
+ e.set(P, o.selectionStart ?? (d() ?? "").length, !0);
653
+ }) : e.set(P, o.selectionStart ?? (d() ?? "").length, !0));
484
654
  }
485
- function N() {
486
- e.set(C, !0), D(), (f() ?? "").trim() && e.get(I).length > 0 && e.set(g, !0);
655
+ function L() {
656
+ e.set(y, !0), O(), (d() ?? "").trim() && e.get(N).length > 0 && e.set(p, !0);
487
657
  }
488
- function V() {
489
- e.set(C, !1), setTimeout(
658
+ function U() {
659
+ e.set(y, !1), setTimeout(
490
660
  () => {
491
- e.set(g, !1);
661
+ e.set(p, !1);
492
662
  },
493
663
  150
494
664
  );
495
665
  }
496
- function r(a, s) {
497
- if (!s.trim()) return [{ text: a, match: !1 }];
498
- const n = a.toLowerCase(), u = s.trim().toLowerCase(), T = n.indexOf(u);
499
- return T < 0 ? [{ text: a, match: !1 }] : [
500
- { text: a.slice(0, T), match: !1 },
501
- { text: a.slice(T, T + u.length), match: !0 },
502
- { text: a.slice(T + u.length), match: !1 }
666
+ function u(o, i) {
667
+ if (!i.trim()) return [{ text: o, match: !1 }];
668
+ const b = o.toLowerCase(), z = i.trim().toLowerCase(), E = b.indexOf(z);
669
+ return E < 0 ? [{ text: o, match: !1 }] : [
670
+ { text: o.slice(0, E), match: !1 },
671
+ { text: o.slice(E, E + z.length), match: !0 },
672
+ { text: o.slice(E + z.length), match: !1 }
503
673
  ];
504
674
  }
505
- var q = e.comment(), c = e.first_child(q);
675
+ var G = e.comment(), T = e.first_child(G);
506
676
  {
507
- var z = (a) => {
508
- var s = nt();
509
- let n;
510
- var u = e.child(s);
511
- let T;
512
- var O = e.child(u, !0);
513
- e.reset(u);
514
- var A = e.sibling(u, 2), F = e.child(A);
677
+ var C = (o) => {
678
+ var i = _t();
679
+ let b;
680
+ var z = e.child(i);
681
+ let E;
682
+ var q = e.child(z, !0);
683
+ e.reset(z);
684
+ var V = e.sibling(z, 2), Y = e.child(V);
515
685
  let J;
516
- var W = e.sibling(F, 2);
686
+ var Z = e.sibling(Y, 2);
517
687
  let $;
518
- var ce = e.child(W);
688
+ var ne = e.child(Z);
519
689
  {
520
- var de = (Q) => {
521
- var ae = e.text();
522
- e.template_effect(() => e.set_text(ae, e.get(o).text)), e.append(Q, ae);
523
- }, te = (Q) => {
524
- var ae = e.text();
525
- e.template_effect(() => e.set_text(ae, e.get(o).text)), e.append(Q, ae);
526
- }, ie = (Q) => {
527
- var ae = at(), se = e.first_child(ae, !0), oe = e.sibling(se, 2);
690
+ var re = (X) => {
691
+ var ee = e.text();
692
+ e.template_effect(() => e.set_text(ee, e.get(c).text)), e.append(X, ee);
693
+ }, ae = (X) => {
694
+ var ee = e.text();
695
+ e.template_effect(() => e.set_text(ee, e.get(c).text)), e.append(X, ee);
696
+ }, oe = (X) => {
697
+ var ee = ct(), le = e.first_child(ee, !0), ve = e.sibling(le, 2);
528
698
  e.template_effect(() => {
529
- e.set_text(se, e.get(o).before), e.set_text(oe, `${e.get(o).after ?? ""}${e.get(o).pad ?? ""}`);
530
- }), e.append(Q, ae);
699
+ e.set_text(le, e.get(c).before), e.set_text(ve, `${e.get(c).after ?? ""}${e.get(c).pad ?? ""}`);
700
+ }), e.append(X, ee);
531
701
  };
532
- e.if(ce, (Q) => {
533
- e.get(o).kind === "placeholder" ? Q(de) : e.get(o).kind === "text" ? Q(te, 1) : Q(ie, !1);
702
+ e.if(ne, (X) => {
703
+ e.get(c).kind === "placeholder" ? X(re) : e.get(c).kind === "text" ? X(ae, 1) : X(oe, !1);
534
704
  });
535
705
  }
536
- e.reset(W);
537
- var ve = e.sibling(W, 2);
538
- let le;
539
- e.reset(A);
540
- var ne = e.sibling(A, 2);
706
+ e.reset(Z);
707
+ var ue = e.sibling(Z, 2);
708
+ let de;
709
+ e.reset(V);
710
+ var ce = e.sibling(V, 2);
541
711
  {
542
- var re = (Q) => {
543
- var ae = it(), se = e.first_child(ae), oe = e.child(se, !0);
544
- e.reset(se);
545
- var pe = e.sibling(se, 2);
546
- e.each(pe, 21, () => e.get(I), e.index, (De, Te, be) => {
547
- const he = e.derived(() => E(e.get(Te), be));
548
- var ue = lt();
712
+ var se = (X) => {
713
+ var ee = ut(), le = e.first_child(ee), ve = e.child(le, !0);
714
+ e.reset(le);
715
+ var me = e.sibling(le, 2);
716
+ e.each(me, 21, () => e.get(N), e.index, (Pe, ze, xe) => {
717
+ const be = e.derived(() => k(e.get(ze), xe));
718
+ var fe = vt();
549
719
  let Me;
550
- var ze = e.sibling(e.child(ue), 2), xe = e.child(ze), Ee = e.child(xe, !0);
551
- e.reset(xe);
552
- var ye = e.sibling(xe, 2), Ae = e.child(ye, !0);
720
+ var Ce = e.sibling(e.child(fe), 2), ye = e.child(Ce), Ie = e.child(ye, !0);
553
721
  e.reset(ye);
554
- var Ie = e.sibling(ye, 2);
722
+ var we = e.sibling(ye, 2), Ne = e.child(we, !0);
723
+ e.reset(we);
724
+ var Le = e.sibling(we, 2);
555
725
  {
556
- var Le = (ke) => {
557
- var Pe = st(), we = e.first_child(Pe), Se = e.child(we, !0);
558
- e.reset(we);
559
- var Ce = e.sibling(we, 2), Ue = e.child(Ce, !0);
560
- e.reset(Ce), e.template_effect(() => {
561
- e.set_text(Se, e.get(he).gap), e.set_text(Ue, e.get(he).score);
562
- }), e.append(ke, Pe);
726
+ var Ae = (ke) => {
727
+ var De = ot(), Te = e.first_child(De), Be = e.child(Te, !0);
728
+ e.reset(Te);
729
+ var Ee = e.sibling(Te, 2), Ue = e.child(Ee, !0);
730
+ e.reset(Ee), e.template_effect(() => {
731
+ e.set_text(Be, e.get(be).gap), e.set_text(Ue, e.get(be).score);
732
+ }), e.append(ke, De);
563
733
  };
564
- e.if(Ie, (ke) => {
565
- e.get(he).score && ke(Le);
734
+ e.if(Le, (ke) => {
735
+ e.get(be).score && ke(Ae);
566
736
  });
567
737
  }
568
- e.reset(ze), e.next(2), e.reset(ue), e.template_effect(() => {
569
- Me = e.set_class(ue, 1, "search-tui__result svelte-1xnd4ea", null, Me, { "search-tui__result--selected": be === e.get(b) }), e.set_attribute(ue, "aria-selected", be === e.get(b)), e.set_text(Ee, e.get(he).prefix), e.set_text(Ae, e.get(he).text);
570
- }), e.delegated("mousedown", ue, () => j(e.get(Te))), e.append(De, ue);
571
- }), e.reset(pe), e.template_effect(() => {
572
- e.set_text(oe, e.get(k)), e.set_attribute(pe, "id", L);
573
- }), e.append(Q, ae);
738
+ e.reset(Ce), e.next(2), e.reset(fe), e.template_effect(() => {
739
+ Me = e.set_class(fe, 1, "search-tui__result svelte-1xnd4ea", null, Me, { "search-tui__result--selected": xe === e.get(x) }), e.set_attribute(fe, "aria-selected", xe === e.get(x)), e.set_text(Ie, e.get(be).prefix), e.set_text(Ne, e.get(be).text);
740
+ }), e.delegated("mousedown", fe, () => B(e.get(ze))), e.append(Pe, fe);
741
+ }), e.reset(me), e.template_effect(() => {
742
+ e.set_text(ve, e.get(s)), e.set_attribute(me, "id", A);
743
+ }), e.append(X, ee);
574
744
  };
575
- e.if(ne, (Q) => {
576
- e.get(g) && e.get(I).length > 0 && Q(re);
745
+ e.if(ce, (X) => {
746
+ e.get(p) && e.get(N).length > 0 && X(se);
577
747
  });
578
748
  }
579
- var Z = e.sibling(ne, 2), _e = e.child(Z, !0);
580
- e.reset(Z);
581
- var ee = e.sibling(Z, 2);
582
- e.remove_input_defaults(ee), e.bind_this(ee, (Q) => e.set(M, Q), () => e.get(M)), e.reset(s), e.template_effect(() => {
583
- n = e.set_class(s, 1, `search-tui ${w() ?? ""}`, "svelte-1xnd4ea", n, { focused: e.get(C) }), T = e.set_class(u, 1, "search-tui__top svelte-1xnd4ea", null, T, { focused: e.get(C) }), e.set_text(O, e.get(_)), J = e.set_class(F, 1, "search-tui__side svelte-1xnd4ea", null, J, { focused: e.get(C) }), $ = e.set_class(W, 1, "search-tui__content svelte-1xnd4ea", null, $, {
584
- "search-tui__content--placeholder": e.get(o).kind === "placeholder"
585
- }), le = e.set_class(ve, 1, "search-tui__side svelte-1xnd4ea", null, le, { focused: e.get(C) }), e.set_text(_e, e.get(G)), e.set_value(ee, f()), e.set_attribute(ee, "aria-controls", L), e.set_attribute(ee, "aria-expanded", e.get(g));
586
- }), e.delegated("input", ee, Y), e.delegated("keydown", ee, X), e.event("focus", ee, N), e.event("blur", ee, V), e.delegated("click", ee, D), e.event("select", ee, D), e.append(a, s);
587
- }, B = (a) => {
588
- var s = vt(), n = e.child(s);
589
- let u;
590
- var T = e.sibling(e.child(n), 2);
591
- e.remove_input_defaults(T), e.bind_this(T, (F) => e.set(M, F), () => e.get(M)), e.reset(n);
592
- var O = e.sibling(n, 2);
749
+ var te = e.sibling(ce, 2), _e = e.child(te, !0);
750
+ e.reset(te);
751
+ var Q = e.sibling(te, 2);
752
+ e.remove_input_defaults(Q), e.bind_this(Q, (X) => e.set(I, X), () => e.get(I)), e.reset(i), e.template_effect(() => {
753
+ b = e.set_class(i, 1, `search-tui ${w() ?? ""}`, "svelte-1xnd4ea", b, { focused: e.get(y) }), E = e.set_class(z, 1, "search-tui__top svelte-1xnd4ea", null, E, { focused: e.get(y) }), e.set_text(q, e.get(a)), J = e.set_class(Y, 1, "search-tui__side svelte-1xnd4ea", null, J, { focused: e.get(y) }), $ = e.set_class(Z, 1, "search-tui__content svelte-1xnd4ea", null, $, {
754
+ "search-tui__content--placeholder": e.get(c).kind === "placeholder"
755
+ }), de = e.set_class(ue, 1, "search-tui__side svelte-1xnd4ea", null, de, { focused: e.get(y) }), e.set_text(_e, e.get(D)), e.set_value(Q, d()), e.set_attribute(Q, "aria-controls", A), e.set_attribute(Q, "aria-expanded", e.get(p));
756
+ }), e.delegated("input", Q, j), e.delegated("keydown", Q, W), e.event("focus", Q, L), e.event("blur", Q, U), e.delegated("click", Q, O), e.event("select", Q, O), e.append(o, i);
757
+ }, R = (o) => {
758
+ var i = mt(), b = e.child(i);
759
+ let z;
760
+ var E = e.sibling(e.child(b), 2);
761
+ e.remove_input_defaults(E), e.bind_this(E, (Y) => e.set(I, Y), () => e.get(I)), e.reset(b);
762
+ var q = e.sibling(b, 2);
593
763
  {
594
- var A = (F) => {
595
- var J = ct();
596
- e.each(J, 21, () => e.get(I), e.index, (W, $, ce) => {
597
- const de = e.derived(() => r(e.get($).text, f() ?? ""));
598
- var te = ot();
599
- let ie;
600
- var ve = e.child(te);
601
- e.each(ve, 21, () => e.get(de), e.index, (re, Z) => {
602
- var _e = e.comment(), ee = e.first_child(_e);
764
+ var V = (Y) => {
765
+ var J = pt();
766
+ e.each(J, 21, () => e.get(N), e.index, (Z, $, ne) => {
767
+ const re = e.derived(() => u(e.get($).text, d() ?? ""));
768
+ var ae = ht();
769
+ let oe;
770
+ var ue = e.child(ae);
771
+ e.each(ue, 21, () => e.get(re), e.index, (se, te) => {
772
+ var _e = e.comment(), Q = e.first_child(_e);
603
773
  {
604
- var Q = (se) => {
605
- var oe = rt(), pe = e.child(oe, !0);
606
- e.reset(oe), e.template_effect(() => e.set_text(pe, e.get(Z).text)), e.append(se, oe);
607
- }, ae = (se) => {
608
- var oe = e.text();
609
- e.template_effect(() => e.set_text(oe, e.get(Z).text)), e.append(se, oe);
774
+ var X = (le) => {
775
+ var ve = gt(), me = e.child(ve, !0);
776
+ e.reset(ve), e.template_effect(() => e.set_text(me, e.get(te).text)), e.append(le, ve);
777
+ }, ee = (le) => {
778
+ var ve = e.text();
779
+ e.template_effect(() => e.set_text(ve, e.get(te).text)), e.append(le, ve);
610
780
  };
611
- e.if(ee, (se) => {
612
- e.get(Z).match ? se(Q) : se(ae, !1);
781
+ e.if(Q, (le) => {
782
+ e.get(te).match ? le(X) : le(ee, !1);
613
783
  });
614
784
  }
615
- e.append(re, _e);
616
- }), e.reset(ve);
617
- var le = e.sibling(ve, 2);
785
+ e.append(se, _e);
786
+ }), e.reset(ue);
787
+ var de = e.sibling(ue, 2);
618
788
  {
619
- var ne = (re) => {
620
- var Z = dt(), _e = e.child(Z);
621
- e.reset(Z), e.template_effect((ee) => e.set_text(_e, `★ ${ee ?? ""}`), [() => e.get($).score.toFixed(2)]), e.append(re, Z);
789
+ var ce = (se) => {
790
+ var te = ft(), _e = e.child(te);
791
+ e.reset(te), e.template_effect((Q) => e.set_text(_e, `★ ${Q ?? ""}`), [() => e.get($).score.toFixed(2)]), e.append(se, te);
622
792
  };
623
- e.if(le, (re) => {
624
- p() && re(ne);
793
+ e.if(de, (se) => {
794
+ r() && se(ce);
625
795
  });
626
796
  }
627
- e.reset(te), e.template_effect(() => {
628
- ie = e.set_class(te, 1, "search-gui__option svelte-1xnd4ea", null, ie, { "search-gui__option--selected": ce === e.get(b) }), e.set_attribute(te, "aria-selected", ce === e.get(b));
629
- }), e.delegated("mousedown", te, () => j(e.get($))), e.event("mouseenter", te, () => e.set(b, ce, !0)), e.append(W, te);
630
- }), e.reset(J), e.template_effect(() => e.set_attribute(J, "id", L)), e.append(F, J);
797
+ e.reset(ae), e.template_effect(() => {
798
+ oe = e.set_class(ae, 1, "search-gui__option svelte-1xnd4ea", null, oe, { "search-gui__option--selected": ne === e.get(x) }), e.set_attribute(ae, "aria-selected", ne === e.get(x));
799
+ }), e.delegated("mousedown", ae, () => B(e.get($))), e.event("mouseenter", ae, () => e.set(x, ne, !0)), e.append(Z, ae);
800
+ }), e.reset(J), e.template_effect(() => e.set_attribute(J, "id", A)), e.append(Y, J);
631
801
  };
632
- e.if(O, (F) => {
633
- e.get(g) && e.get(I).length > 0 && F(A);
802
+ e.if(q, (Y) => {
803
+ e.get(p) && e.get(N).length > 0 && Y(V);
634
804
  });
635
805
  }
636
- e.reset(s), e.template_effect(() => {
637
- e.set_class(s, 1, `search-gui ${w() ?? ""}`, "svelte-1xnd4ea"), u = e.set_class(n, 1, "search-gui__field svelte-1xnd4ea", null, u, { "search-gui__field--focused": e.get(C) }), e.set_value(T, f()), e.set_attribute(T, "placeholder", l()), e.set_attribute(T, "aria-controls", L), e.set_attribute(T, "aria-expanded", e.get(g));
638
- }), e.delegated("input", T, Y), e.delegated("keydown", T, X), e.event("focus", T, N), e.event("blur", T, V), e.append(a, s);
806
+ e.reset(i), e.template_effect(() => {
807
+ e.set_class(i, 1, `search-gui ${w() ?? ""}`, "svelte-1xnd4ea"), z = e.set_class(b, 1, "search-gui__field svelte-1xnd4ea", null, z, { "search-gui__field--focused": e.get(y) }), e.set_value(E, d()), e.set_attribute(E, "placeholder", n()), e.set_attribute(E, "aria-controls", A), e.set_attribute(E, "aria-expanded", e.get(p));
808
+ }), e.delegated("input", E, j), e.delegated("keydown", E, W), e.event("focus", E, L), e.event("blur", E, U), e.append(o, i);
639
809
  };
640
- e.if(c, (a) => {
641
- e.get(R) ? a(z) : a(B, !1);
810
+ e.if(T, (o) => {
811
+ e.get(H) ? o(C) : o(R, !1);
642
812
  });
643
813
  }
644
- e.append(H, q), e.pop();
814
+ e.append(K, G), e.pop();
645
815
  }
646
816
  e.delegate(["mousedown", "input", "keydown", "click"]);
647
- var _t = e.from_html('<span aria-hidden="true"></span>');
648
- function sa(H, t) {
649
- let S = e.prop(t, "size", 3, 16), f = e.prop(t, "color", 3, "currentColor"), l = e.prop(t, "class", 3, "");
650
- var x = _t();
651
- let y;
817
+ var bt = e.from_html('<div class="tui-panel svelte-1ps7oei"><div class="tui-panel-top svelte-1ps7oei"> </div> <div class="tui-panel-body svelte-1ps7oei"><span class="tui-panel-side svelte-1ps7oei">║</span> <div class="tui-panel-content svelte-1ps7oei"><!></div> <span class="tui-panel-side svelte-1ps7oei">║</span></div> <div class="tui-panel-bottom svelte-1ps7oei"> </div></div>'), xt = e.from_html('<div class="glass svelte-1ps7oei"><!></div>');
818
+ function yt(K, t) {
819
+ e.push(t, !0);
820
+ let F = e.prop(t, "blur", 3, 20), d = e.prop(t, "opacity", 3, 0.6), n = e.prop(t, "radius", 3, "var(--radius-md, 10px)"), _ = e.prop(t, "padding", 3, "var(--space-4, 16px)"), f = e.prop(t, "tui", 3, !1), r = e.prop(t, "cols", 3, 20);
821
+ const w = ie(), g = e.derived(() => f() || w()), S = e.derived(() => "═".repeat(r()));
822
+ var H = e.comment(), I = e.first_child(H);
823
+ {
824
+ var y = (N) => {
825
+ var x = bt();
826
+ let p;
827
+ var m = e.child(x), A = e.child(m);
828
+ e.reset(m);
829
+ var v = e.sibling(m, 2), h = e.sibling(e.child(v), 2), l = e.child(h);
830
+ e.snippet(l, () => t.children), e.reset(h), e.next(2), e.reset(v);
831
+ var a = e.sibling(v, 2), s = e.child(a);
832
+ e.reset(a), e.reset(x), e.template_effect(() => {
833
+ p = e.set_style(x, "", p, { padding: _() }), e.set_text(A, `╔${e.get(S) ?? ""}╗`), e.set_text(s, `╚${e.get(S) ?? ""}╝`);
834
+ }), e.append(N, x);
835
+ }, P = (N) => {
836
+ var x = xt();
837
+ let p;
838
+ var m = e.child(x);
839
+ e.snippet(m, () => t.children), e.reset(x), e.template_effect(() => p = e.set_style(x, "", p, {
840
+ "--blur": `${F() ?? ""}px`,
841
+ "--bg-opacity": d(),
842
+ "border-radius": n(),
843
+ padding: _()
844
+ })), e.append(N, x);
845
+ };
846
+ e.if(I, (N) => {
847
+ e.get(g) ? N(y) : N(P, !1);
848
+ });
849
+ }
850
+ e.append(K, H), e.pop();
851
+ }
852
+ var wt = e.from_html('<div class="tui-border svelte-vnz7lv" aria-hidden="true"> </div>'), kt = e.from_html('<span class="tui-side svelte-vnz7lv" aria-hidden="true"> </span>'), Tt = e.from_html('<span class="tui-side svelte-vnz7lv" aria-hidden="true"> </span>'), zt = e.from_html('<div class="tui-border svelte-vnz7lv" aria-hidden="true"> </div>'), Mt = e.from_html('<div><!> <div class="tui-body svelte-vnz7lv"><!> <div class="tui-content svelte-vnz7lv"><!></div> <!></div> <!></div>'), Ct = e.from_html("<div><!></div>"), Dt = e.from_html("<div><!></div>");
853
+ function Ja(K, t) {
854
+ e.push(t, !0);
855
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "glass", 3, !1), n = e.prop(t, "class", 3, "");
856
+ const _ = ie(), f = e.derived(() => F() || _());
857
+ pe(() => e.get(f));
858
+ const r = e.derived(() => t.border ?? (e.get(f) ? "single" : "rounded")), w = {
859
+ single: ["─", "│", "┌", "┐", "└", "┘"],
860
+ rounded: ["─", "│", "╭", "╮", "╰", "╯"],
861
+ double: ["═", "║", "╔", "╗", "╚", "╝"],
862
+ bold: ["━", "┃", "┏", "┓", "┗", "┛"],
863
+ dashed: ["╌", "╎", "┌", "┐", "└", "┘"],
864
+ none: ["", "", "", "", "", ""]
865
+ }, g = e.derived(() => typeof t.width == "number" ? t.width : 30), S = e.derived(() => w[e.get(r)] ?? w.single);
866
+ function H(a, s, D) {
867
+ const [c, , k, M] = a;
868
+ if (!k) return "";
869
+ if (D) {
870
+ const B = ` ${D} `, j = Math.max(0, s - B.length - 1);
871
+ return `${k}${c}${B}${c.repeat(j)}${M}`;
872
+ }
873
+ return `${k}${c.repeat(s)}${M}`;
874
+ }
875
+ function I(a, s) {
876
+ const [D, , , , c, k] = a;
877
+ return c ? `${c}${D.repeat(s)}${k}` : "";
878
+ }
879
+ const y = e.derived(() => typeof t.width == "number" ? `${t.width}px` : t.width ?? void 0), P = e.derived(() => typeof t.height == "number" ? `${t.height}px` : t.height ?? void 0), N = e.derived(() => t.padding !== void 0 ? `${t.padding * 4}px` : "var(--space-4, 16px)"), x = e.derived(() => ({
880
+ none: { border: "none", radius: "0" },
881
+ single: {
882
+ border: "1px solid var(--color-border, #2a2a2a)",
883
+ radius: "0"
884
+ },
885
+ rounded: {
886
+ border: "1px solid var(--color-border, #2a2a2a)",
887
+ radius: "var(--radius-md, 10px)"
888
+ },
889
+ double: {
890
+ border: "3px double var(--color-border, #2a2a2a)",
891
+ radius: "0"
892
+ },
893
+ bold: {
894
+ border: "2px solid var(--color-border, #2a2a2a)",
895
+ radius: "0"
896
+ },
897
+ dashed: {
898
+ border: "1px dashed var(--color-border, #2a2a2a)",
899
+ radius: "0"
900
+ }
901
+ })[e.get(r)] ?? {
902
+ border: "1px solid var(--color-border, #2a2a2a)",
903
+ radius: "var(--radius-md, 10px)"
904
+ }), p = e.derived(() => t.padding !== void 0 && t.padding > 0 ? `${t.padding * 0.5}em ${t.padding}ch` : "0");
905
+ var m = e.comment(), A = e.first_child(m);
906
+ {
907
+ var v = (a) => {
908
+ var s = Mt();
909
+ let D;
910
+ var c = e.child(s);
911
+ {
912
+ var k = (C) => {
913
+ var R = wt(), o = e.child(R, !0);
914
+ e.reset(R), e.template_effect((i) => e.set_text(o, i), [
915
+ () => H(e.get(S), e.get(g), t.title)
916
+ ]), e.append(C, R);
917
+ };
918
+ e.if(c, (C) => {
919
+ e.get(r) !== "none" && C(k);
920
+ });
921
+ }
922
+ var M = e.sibling(c, 2), B = e.child(M);
923
+ {
924
+ var j = (C) => {
925
+ var R = kt(), o = e.child(R, !0);
926
+ e.reset(R), e.template_effect(() => e.set_text(o, e.get(S)[1])), e.append(C, R);
927
+ };
928
+ e.if(B, (C) => {
929
+ e.get(r) !== "none" && C(j);
930
+ });
931
+ }
932
+ var W = e.sibling(B, 2);
933
+ let O;
934
+ var L = e.child(W);
935
+ e.snippet(L, () => t.children), e.reset(W);
936
+ var U = e.sibling(W, 2);
937
+ {
938
+ var u = (C) => {
939
+ var R = Tt(), o = e.child(R, !0);
940
+ e.reset(R), e.template_effect(() => e.set_text(o, e.get(S)[1])), e.append(C, R);
941
+ };
942
+ e.if(U, (C) => {
943
+ e.get(r) !== "none" && C(u);
944
+ });
945
+ }
946
+ e.reset(M);
947
+ var G = e.sibling(M, 2);
948
+ {
949
+ var T = (C) => {
950
+ var R = zt(), o = e.child(R, !0);
951
+ e.reset(R), e.template_effect((i) => e.set_text(o, i), [() => I(e.get(S), e.get(g))]), e.append(C, R);
952
+ };
953
+ e.if(G, (C) => {
954
+ e.get(r) !== "none" && C(T);
955
+ });
956
+ }
957
+ e.reset(s), e.template_effect(() => {
958
+ e.set_class(s, 1, `tui-box ${n() ?? ""}`, "svelte-vnz7lv"), D = e.set_style(s, "", D, {
959
+ width: typeof t.width == "number" ? `${t.width}ch` : void 0
960
+ }), O = e.set_style(W, "", O, { padding: e.get(p) });
961
+ }), e.append(a, s);
962
+ }, h = (a) => {
963
+ var s = Ct(), D = e.child(s);
964
+ yt(D, {
965
+ get padding() {
966
+ return e.get(N);
967
+ },
968
+ children: (k) => {
969
+ var M = e.comment(), B = e.first_child(M);
970
+ e.snippet(B, () => t.children), e.append(k, M);
971
+ },
972
+ $$slots: { default: !0 }
973
+ }), e.reset(s), e.template_effect(() => e.set_class(s, 1, `box ${n() ?? ""}`, "svelte-vnz7lv")), e.append(a, s);
974
+ }, l = (a) => {
975
+ var s = Dt();
976
+ let D;
977
+ var c = e.child(s);
978
+ e.snippet(c, () => t.children), e.reset(s), e.template_effect(() => {
979
+ e.set_class(s, 1, `box ${n() ?? ""}`, "svelte-vnz7lv"), D = e.set_style(s, "", D, {
980
+ width: e.get(y),
981
+ height: e.get(P),
982
+ padding: e.get(N),
983
+ border: e.get(x).border,
984
+ "border-radius": e.get(x).radius
985
+ });
986
+ }), e.append(a, s);
987
+ };
988
+ e.if(A, (a) => {
989
+ e.get(f) ? a(v) : d() ? a(h, 1) : a(l, !1);
990
+ });
991
+ }
992
+ e.append(K, m), e.pop();
993
+ }
994
+ var Et = e.from_html("<div><!></div>");
995
+ function Qa(K, t) {
996
+ e.push(t, !0);
997
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "direction", 3, "horizontal"), n = e.prop(t, "class", 3, "");
998
+ const _ = ie(), f = e.derived(() => F() || _());
999
+ pe(() => e.get(f));
1000
+ const r = e.derived(() => d() === "vertical" ? "column" : "row");
1001
+ var w = Et();
1002
+ let g, S;
1003
+ var H = e.child(w);
1004
+ e.snippet(H, () => t.children), e.reset(w), e.template_effect(() => {
1005
+ g = e.set_class(w, 1, `split-pane ${n() ?? ""}`, "svelte-elaebs", g, { "split-pane--tui": e.get(f) }), S = e.set_style(w, "", S, { "flex-direction": e.get(r) });
1006
+ }), e.append(K, w), e.pop();
1007
+ }
1008
+ var St = e.from_html('<div role="status" aria-label="Status bar"><!></div>');
1009
+ function Xa(K, t) {
1010
+ e.push(t, !0);
1011
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "position", 3, "bottom"), n = e.prop(t, "class", 3, "");
1012
+ const _ = ie(), f = e.derived(() => F() || _());
1013
+ pe(() => e.get(f));
1014
+ var r = St();
1015
+ let w;
1016
+ var g = e.child(r);
1017
+ e.snippet(g, () => t.children), e.reset(r), e.template_effect(() => w = e.set_class(r, 1, `statusbar ${n() ?? ""}`, "svelte-89fci1", w, {
1018
+ tui: e.get(f),
1019
+ gui: !e.get(f),
1020
+ top: !e.get(f) && d() === "top",
1021
+ bottom: !e.get(f) && d() === "bottom"
1022
+ })), e.append(K, r), e.pop();
1023
+ }
1024
+ var Pt = e.from_html('<span class="tui-label svelte-vrcx06"> </span>'), It = e.from_html('<span><!><span class="tui-value svelte-vrcx06"> </span></span>'), Nt = e.from_html('<span class="gui-label svelte-vrcx06"> </span>'), Lt = e.from_html('<!> <span class="gui-value svelte-vrcx06"> </span>', 1), At = e.from_html("<span><!></span>");
1025
+ function Za(K, t) {
1026
+ e.push(t, !0);
1027
+ let F = e.prop(t, "color", 3, "default"), d = e.prop(t, "highlight", 3, !1), n = e.prop(t, "separator", 3, !1);
1028
+ const _ = ie(), f = e.derived(_);
1029
+ var r = At();
1030
+ let w;
1031
+ var g = e.child(r);
1032
+ {
1033
+ var S = (I) => {
1034
+ var y = It();
1035
+ let P;
1036
+ var N = e.child(y);
1037
+ {
1038
+ var x = (A) => {
1039
+ var v = Pt(), h = e.child(v);
1040
+ e.reset(v), e.template_effect(() => e.set_text(h, `${t.label ?? ""}:`)), e.append(A, v);
1041
+ };
1042
+ e.if(N, (A) => {
1043
+ t.label && A(x);
1044
+ });
1045
+ }
1046
+ var p = e.sibling(N), m = e.child(p, !0);
1047
+ e.reset(p), e.reset(y), e.template_effect(() => {
1048
+ P = e.set_class(y, 1, "tui-content svelte-vrcx06", null, P, { reversed: d() }), e.set_text(m, t.value);
1049
+ }), e.append(I, y);
1050
+ }, H = (I) => {
1051
+ var y = Lt(), P = e.first_child(y);
1052
+ {
1053
+ var N = (m) => {
1054
+ var A = Nt(), v = e.child(A, !0);
1055
+ e.reset(A), e.template_effect(() => e.set_text(v, t.label)), e.append(m, A);
1056
+ };
1057
+ e.if(P, (m) => {
1058
+ t.label && m(N);
1059
+ });
1060
+ }
1061
+ var x = e.sibling(P, 2), p = e.child(x, !0);
1062
+ e.reset(x), e.template_effect(() => e.set_text(p, t.value)), e.append(I, y);
1063
+ };
1064
+ e.if(g, (I) => {
1065
+ e.get(f) ? I(S) : I(H, !1);
1066
+ });
1067
+ }
1068
+ e.reset(r), e.template_effect(() => {
1069
+ w = e.set_class(r, 1, "status-item svelte-vrcx06", null, w, {
1070
+ tui: e.get(f),
1071
+ highlight: d(),
1072
+ "has-separator": !e.get(f) && n()
1073
+ }), e.set_attribute(r, "data-color", F());
1074
+ }), e.append(K, r), e.pop();
1075
+ }
1076
+ var Bt = e.from_html('<span aria-hidden="true"></span>');
1077
+ function $a(K, t) {
1078
+ e.push(t, !0);
1079
+ const F = ie(), d = e.derived(F);
1080
+ var n = Bt();
1081
+ let _;
1082
+ e.template_effect(() => _ = e.set_class(n, 1, "status-spacer svelte-1abxoj5", null, _, { tui: e.get(d) })), e.append(K, n), e.pop();
1083
+ }
1084
+ var Ut = e.from_html('<div role="row" tabindex="0"> </div>'), Rt = e.from_html('<div role="grid" aria-label="table"><div class="tui-border svelte-12m6nfw" aria-hidden="true"> </div> <div class="tui-header svelte-12m6nfw" role="row"> </div> <div class="tui-border svelte-12m6nfw" aria-hidden="true"> </div> <!> <div class="tui-border svelte-12m6nfw" aria-hidden="true"> </div></div>'), Ft = e.from_html('<th class="svelte-12m6nfw"> </th>'), Ht = e.from_html('<td class="svelte-12m6nfw"> </td>'), Kt = e.from_html('<tr tabindex="0"></tr>'), Ot = e.from_html('<div><table class="table svelte-12m6nfw" role="grid"><thead class="svelte-12m6nfw"><tr></tr></thead><tbody class="svelte-12m6nfw"></tbody></table></div>');
1085
+ function es(K, t) {
1086
+ e.push(t, !0);
1087
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "selected", 19, () => -1), n = e.prop(t, "class", 3, "");
1088
+ const _ = ie(), f = e.derived(() => F() || _()), r = e.derived(() => t.columns.map((v) => {
1089
+ const h = t.rows.reduce((l, a) => Math.max(l, (a[v.key] ?? "").length), 0);
1090
+ return v.width ?? Math.max(v.label.length, h, 3);
1091
+ })), w = 2;
1092
+ function g(v, h, l, a) {
1093
+ return h + v.map((s) => "═".repeat(s + w)).join(l) + a;
1094
+ }
1095
+ function S(v, h) {
1096
+ return "║" + v.map((l, a) => " " + l.padEnd(h[a]) + " ").join("║") + "║";
1097
+ }
1098
+ const H = e.derived(() => g(e.get(r), "╔", "╦", "╗")), I = e.derived(() => S(t.columns.map((v) => v.label), e.get(r))), y = e.derived(() => g(e.get(r), "╠", "╬", "╣")), P = e.derived(() => g(e.get(r), "╚", "╩", "╝"));
1099
+ function N(v, h) {
1100
+ var l;
1101
+ (v.key === "Enter" || v.key === " ") && (v.preventDefault(), (l = t.onselect) == null || l.call(t, h));
1102
+ }
1103
+ var x = e.comment(), p = e.first_child(x);
1104
+ {
1105
+ var m = (v) => {
1106
+ var h = Rt(), l = e.child(h), a = e.child(l, !0);
1107
+ e.reset(l);
1108
+ var s = e.sibling(l, 2), D = e.child(s, !0);
1109
+ e.reset(s);
1110
+ var c = e.sibling(s, 2), k = e.child(c, !0);
1111
+ e.reset(c);
1112
+ var M = e.sibling(c, 2);
1113
+ e.each(M, 17, () => t.rows, e.index, (W, O, L) => {
1114
+ const U = e.derived(() => t.columns.map((C) => e.get(O)[C.key] ?? ""));
1115
+ var u = Ut();
1116
+ let G;
1117
+ var T = e.child(u, !0);
1118
+ e.reset(u), e.template_effect(
1119
+ (C) => {
1120
+ G = e.set_class(u, 1, "tui-row svelte-12m6nfw", null, G, { selected: L === d() }), e.set_attribute(u, "aria-selected", L === d()), e.set_text(T, C);
1121
+ },
1122
+ [() => S(e.get(U), e.get(r))]
1123
+ ), e.delegated("click", u, () => {
1124
+ var C;
1125
+ return (C = t.onselect) == null ? void 0 : C.call(t, L);
1126
+ }), e.delegated("keydown", u, (C) => N(C, L)), e.append(W, u);
1127
+ });
1128
+ var B = e.sibling(M, 2), j = e.child(B, !0);
1129
+ e.reset(B), e.reset(h), e.template_effect(() => {
1130
+ e.set_class(h, 1, `tui-table ${n() ?? ""}`, "svelte-12m6nfw"), e.set_text(a, e.get(H)), e.set_text(D, e.get(I)), e.set_text(k, e.get(y)), e.set_text(j, e.get(P));
1131
+ }), e.append(v, h);
1132
+ }, A = (v) => {
1133
+ var h = Ot(), l = e.child(h), a = e.child(l), s = e.child(a);
1134
+ e.each(s, 21, () => t.columns, e.index, (c, k) => {
1135
+ var M = Ft();
1136
+ let B;
1137
+ var j = e.child(M, !0);
1138
+ e.reset(M), e.template_effect(() => {
1139
+ B = e.set_style(M, "", B, {
1140
+ width: e.get(k).width ? `${e.get(k).width * 8}px` : void 0
1141
+ }), e.set_text(j, e.get(k).label);
1142
+ }), e.append(c, M);
1143
+ }), e.reset(s), e.reset(a);
1144
+ var D = e.sibling(a);
1145
+ e.each(D, 21, () => t.rows, e.index, (c, k, M) => {
1146
+ var B = Kt();
1147
+ let j;
1148
+ e.each(B, 21, () => t.columns, e.index, (W, O) => {
1149
+ var L = Ht(), U = e.child(L, !0);
1150
+ e.reset(L), e.template_effect(() => e.set_text(U, e.get(k)[e.get(O).key] ?? "")), e.append(W, L);
1151
+ }), e.reset(B), e.template_effect(() => {
1152
+ e.set_attribute(B, "aria-selected", M === d()), j = e.set_class(B, 1, "svelte-12m6nfw", null, j, { selected: M === d() });
1153
+ }), e.delegated("click", B, () => {
1154
+ var W;
1155
+ return (W = t.onselect) == null ? void 0 : W.call(t, M);
1156
+ }), e.delegated("keydown", B, (W) => N(W, M)), e.append(c, B);
1157
+ }), e.reset(D), e.reset(l), e.reset(h), e.template_effect(() => e.set_class(h, 1, `table-wrap ${n() ?? ""}`, "svelte-12m6nfw")), e.append(v, h);
1158
+ };
1159
+ e.if(p, (v) => {
1160
+ e.get(f) ? v(m) : v(A, !1);
1161
+ });
1162
+ }
1163
+ e.append(K, x), e.pop();
1164
+ }
1165
+ e.delegate(["click", "keydown"]);
1166
+ var jt = e.from_html('<li role="option"><span class="prefix svelte-1pivab1" aria-hidden="true"> </span> <span class="label svelte-1pivab1"><!></span></li>');
1167
+ function Vt(K, t) {
1168
+ e.push(t, !0);
1169
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "highlighted", 3, !1);
1170
+ const n = ie(), _ = e.derived(() => F() || n()), f = e.derived(() => e.get(_) ? d() ? "› " : " " : t.prefix ?? "•");
1171
+ var r = jt();
1172
+ let w;
1173
+ var g = e.child(r), S = e.child(g, !0);
1174
+ e.reset(g);
1175
+ var H = e.sibling(g, 2), I = e.child(H);
1176
+ e.snippet(I, () => t.children), e.reset(H), e.reset(r), e.template_effect(() => {
1177
+ w = e.set_class(r, 1, "list-item svelte-1pivab1", null, w, { tui: e.get(_), highlighted: d() }), e.set_attribute(r, "aria-selected", d()), e.set_attribute(r, "tabindex", t.onclick ? 0 : void 0), e.set_text(S, e.get(f));
1178
+ }), e.delegated("click", r, function(...y) {
1179
+ var P;
1180
+ (P = t.onclick) == null || P.apply(this, y);
1181
+ }), e.delegated("keydown", r, function(...y) {
1182
+ var P;
1183
+ (P = t.onclick ? (N) => {
1184
+ (N.key === "Enter" || N.key === " ") && (N.preventDefault(), N.currentTarget.click());
1185
+ } : void 0) == null || P.apply(this, y);
1186
+ }), e.append(K, r), e.pop();
1187
+ }
1188
+ e.delegate(["click", "keydown"]);
1189
+ var qt = e.from_html('<ul role="listbox"><!></ul>');
1190
+ function ts(K, t) {
1191
+ e.push(t, !0);
1192
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "selected", 19, () => -1), n = e.prop(t, "scrollable", 3, !1), _ = e.prop(t, "class", 3, "");
1193
+ const f = ie(), r = e.derived(() => F() || f());
1194
+ pe(() => e.get(r));
1195
+ var w = qt();
1196
+ let g;
1197
+ var S = e.child(w);
1198
+ {
1199
+ var H = (y) => {
1200
+ var P = e.comment(), N = e.first_child(P);
1201
+ e.each(N, 17, () => t.items, e.index, (x, p, m) => {
1202
+ {
1203
+ const A = (h) => {
1204
+ e.next();
1205
+ var l = e.text();
1206
+ e.template_effect(() => e.set_text(l, e.get(p).label)), e.append(h, l);
1207
+ };
1208
+ let v = e.derived(() => m === d());
1209
+ Vt(x, {
1210
+ get highlighted() {
1211
+ return e.get(v);
1212
+ },
1213
+ onclick: (h) => {
1214
+ var l;
1215
+ return (l = t.onselect) == null ? void 0 : l.call(t, m);
1216
+ },
1217
+ children: A,
1218
+ $$slots: { default: !0 }
1219
+ });
1220
+ }
1221
+ }), e.append(y, P);
1222
+ }, I = (y) => {
1223
+ var P = e.comment(), N = e.first_child(P);
1224
+ e.snippet(N, () => t.children), e.append(y, P);
1225
+ };
1226
+ e.if(S, (y) => {
1227
+ t.items !== void 0 ? y(H) : t.children && y(I, 1);
1228
+ });
1229
+ }
1230
+ e.reset(w), e.template_effect(() => g = e.set_class(w, 1, `list ${_() ?? ""}`, "svelte-6jskls", g, { tui: e.get(r), scrollable: n() })), e.append(K, w), e.pop();
1231
+ }
1232
+ var Gt = e.from_html('<span class="pane-tui__title svelte-1bpdwdy"> </span>'), Yt = e.from_html("<div><!> <div><!></div></div>"), Wt = e.from_html('<div class="pane-gui__title svelte-1bpdwdy"> </div>'), Jt = e.from_html("<div><!> <div><!></div></div>");
1233
+ function as(K, t) {
1234
+ e.push(t, !0);
1235
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "title", 3, ""), n = e.prop(t, "scrollable", 3, !1), _ = e.prop(t, "class", 3, "");
1236
+ const f = ie(), r = e.derived(() => F() || f());
1237
+ pe(() => e.get(r));
1238
+ const w = e.derived(() => t.border !== void 0 ? t.border : e.get(r)), g = e.derived(() => t.width !== void 0 ? typeof t.width == "number" ? `${t.width}px` : t.width : void 0), S = e.derived(() => t.height !== void 0 ? typeof t.height == "number" ? `${t.height}px` : t.height : void 0), H = e.derived(() => t.flex !== void 0 ? String(t.flex) : void 0);
1239
+ var I = e.comment(), y = e.first_child(I);
1240
+ {
1241
+ var P = (x) => {
1242
+ var p = Yt();
1243
+ let m, A;
1244
+ var v = e.child(p);
1245
+ {
1246
+ var h = (D) => {
1247
+ var c = Gt(), k = e.child(c, !0);
1248
+ e.reset(c), e.template_effect(() => e.set_text(k, d())), e.append(D, c);
1249
+ };
1250
+ e.if(v, (D) => {
1251
+ d() && e.get(w) && D(h);
1252
+ });
1253
+ }
1254
+ var l = e.sibling(v, 2);
1255
+ let a;
1256
+ var s = e.child(l);
1257
+ e.snippet(s, () => t.children), e.reset(l), e.reset(p), e.template_effect(() => {
1258
+ m = e.set_class(p, 1, `pane-tui ${_() ?? ""}`, "svelte-1bpdwdy", m, { "pane-tui--border": e.get(w) }), A = e.set_style(p, "", A, {
1259
+ "flex-grow": e.get(H),
1260
+ width: e.get(g),
1261
+ height: e.get(S)
1262
+ }), a = e.set_class(l, 1, "pane-tui__content svelte-1bpdwdy", null, a, { "pane-tui__content--scroll": n() });
1263
+ }), e.append(x, p);
1264
+ }, N = (x) => {
1265
+ var p = Jt();
1266
+ let m, A;
1267
+ var v = e.child(p);
1268
+ {
1269
+ var h = (D) => {
1270
+ var c = Wt(), k = e.child(c, !0);
1271
+ e.reset(c), e.template_effect(() => e.set_text(k, d())), e.append(D, c);
1272
+ };
1273
+ e.if(v, (D) => {
1274
+ d() && D(h);
1275
+ });
1276
+ }
1277
+ var l = e.sibling(v, 2);
1278
+ let a;
1279
+ var s = e.child(l);
1280
+ e.snippet(s, () => t.children), e.reset(l), e.reset(p), e.template_effect(() => {
1281
+ m = e.set_class(p, 1, `pane-gui ${_() ?? ""}`, "svelte-1bpdwdy", m, { "pane-gui--border": e.get(w) }), A = e.set_style(p, "", A, {
1282
+ "flex-grow": e.get(H),
1283
+ width: e.get(g),
1284
+ height: e.get(S)
1285
+ }), a = e.set_class(l, 1, "pane-gui__content svelte-1bpdwdy", null, a, { "pane-gui__content--scroll": n() });
1286
+ }), e.append(x, p);
1287
+ };
1288
+ e.if(y, (x) => {
1289
+ e.get(r) ? x(P) : x(N, !1);
1290
+ });
1291
+ }
1292
+ e.append(K, I), e.pop();
1293
+ }
1294
+ var Qt = e.from_html('<div><div class="chat-tui__msg-border svelte-10e5u2c" aria-hidden="true"> </div> <div class="chat-tui__msg-body svelte-10e5u2c"><span class="chat-tui__msg-side svelte-10e5u2c" aria-hidden="true">│</span> <div class="chat-tui__msg-content svelte-10e5u2c"> </div> <span class="chat-tui__msg-side svelte-10e5u2c" aria-hidden="true">│</span></div> <div class="chat-tui__msg-border svelte-10e5u2c" aria-hidden="true"> </div></div>'), Xt = e.from_html('<div class="chat-tui__indicator svelte-10e5u2c" role="status" aria-live="polite"><span tabindex="0" role="button" class="svelte-10e5u2c"> </span></div>'), Zt = e.from_html('<div tabindex="0" role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-tui__border svelte-10e5u2c" aria-hidden="true"></div> <div class="chat-tui__body svelte-10e5u2c"><span class="chat-tui__side svelte-10e5u2c" aria-hidden="true">│</span> <div class="chat-tui__content svelte-10e5u2c"><!> <!></div> <span class="chat-tui__side svelte-10e5u2c" aria-hidden="true">│</span></div> <div class="chat-tui__border svelte-10e5u2c" aria-hidden="true"></div></div>'), $t = e.from_html('<span class="chat-gui__msg-time svelte-10e5u2c"> </span>'), ea = e.from_html('<div><div class="chat-gui__msg-header svelte-10e5u2c"><span class="chat-gui__msg-author svelte-10e5u2c"> </span> <!></div> <div class="chat-gui__msg-body svelte-10e5u2c"> </div></div>'), ta = e.from_html('<button class="chat-gui__indicator svelte-10e5u2c" aria-live="polite" aria-label="Jump to latest messages"> </button>'), aa = e.from_html('<div role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-gui__scroll svelte-10e5u2c" tabindex="0" role="region" aria-label="Scrollable message history"><div class="chat-gui__messages svelte-10e5u2c"><!> <div class="chat-gui__sentinel svelte-10e5u2c" aria-hidden="true"></div></div></div> <!></div>');
1295
+ function ss(K, t) {
1296
+ e.push(t, !0);
1297
+ let F = e.prop(t, "tui", 3, !1), d = e.prop(t, "showTimestamps", 3, !0), n = e.prop(t, "class", 3, "");
1298
+ const _ = ie(), f = e.derived(() => F() || _());
1299
+ pe(() => e.get(f));
1300
+ let r = e.state(void 0), w = e.state(void 0), g = e.state(!0), S = e.state(0), H = e.state(0), I = e.state(0);
1301
+ e.user_effect(() => {
1302
+ const T = t.messages.length;
1303
+ if (T !== e.get(I)) {
1304
+ const C = T - e.get(I);
1305
+ e.set(I, T, !0), e.get(g) ? (e.set(S, 0), e.set(H, T, !0), y()) : C > 0 && e.set(S, e.get(S) + C);
1306
+ }
1307
+ });
1308
+ function y() {
1309
+ typeof requestAnimationFrame < "u" && requestAnimationFrame(() => P());
1310
+ }
1311
+ function P() {
1312
+ e.get(r) && (e.get(r).scrollTop = e.get(r).scrollHeight);
1313
+ }
1314
+ function N() {
1315
+ var T;
1316
+ e.set(g, !0), e.set(S, 0), e.set(H, t.messages.length, !0), P(), (T = t.onscrolltolatest) == null || T.call(t);
1317
+ }
1318
+ function x() {
1319
+ if (!e.get(r)) return;
1320
+ const { scrollTop: T, scrollHeight: C, clientHeight: R } = e.get(r), o = C - T - R, i = e.get(g);
1321
+ e.set(
1322
+ g,
1323
+ o < 8
1324
+ // 8px tolerance
1325
+ ), e.get(g) && !i && (e.set(S, 0), e.set(H, t.messages.length, !0));
1326
+ }
1327
+ function p(T) {
1328
+ if (!e.get(r)) return;
1329
+ const { clientHeight: C } = e.get(r);
1330
+ switch (T.key) {
1331
+ case "PageUp":
1332
+ T.preventDefault(), e.get(r).scrollBy({ top: -C, behavior: "smooth" });
1333
+ break;
1334
+ case "PageDown":
1335
+ T.preventDefault(), e.get(r).scrollBy({ top: C, behavior: "smooth" });
1336
+ break;
1337
+ case "Home":
1338
+ T.preventDefault(), e.get(r).scrollTo({ top: 0, behavior: "smooth" });
1339
+ break;
1340
+ case "End":
1341
+ T.preventDefault(), P();
1342
+ break;
1343
+ }
1344
+ }
1345
+ let m = e.state(0);
1346
+ const A = 10, v = e.derived(() => e.get(m) >= Math.max(0, t.messages.length - A)), h = e.derived(() => e.get(v) ? 0 : Math.max(0, t.messages.length - (e.get(m) + A))), l = e.derived(() => t.messages.slice(e.get(m), e.get(m) + A));
1347
+ e.user_effect(() => {
1348
+ e.get(f) && e.get(v) && e.set(m, Math.max(0, t.messages.length - A), !0);
1349
+ });
1350
+ function a() {
1351
+ e.set(m, Math.max(0, e.get(m) - 1), !0);
1352
+ }
1353
+ function s() {
1354
+ e.set(m, Math.min(Math.max(0, t.messages.length - A), e.get(m) + 1), !0);
1355
+ }
1356
+ function D() {
1357
+ e.set(m, Math.max(0, e.get(m) - A), !0);
1358
+ }
1359
+ function c() {
1360
+ e.set(m, Math.min(Math.max(0, t.messages.length - A), e.get(m) + A), !0);
1361
+ }
1362
+ function k() {
1363
+ e.set(m, 0);
1364
+ }
1365
+ function M() {
1366
+ e.set(m, Math.max(0, t.messages.length - A), !0);
1367
+ }
1368
+ function B() {
1369
+ var T;
1370
+ M(), (T = t.onscrolltolatest) == null || T.call(t);
1371
+ }
1372
+ function j(T) {
1373
+ switch (T.key) {
1374
+ case "ArrowUp":
1375
+ T.preventDefault(), a();
1376
+ break;
1377
+ case "ArrowDown":
1378
+ T.preventDefault(), s();
1379
+ break;
1380
+ case "PageUp":
1381
+ T.preventDefault(), D();
1382
+ break;
1383
+ case "PageDown":
1384
+ T.preventDefault(), c();
1385
+ break;
1386
+ case "Home":
1387
+ T.preventDefault(), k();
1388
+ break;
1389
+ case "End":
1390
+ T.preventDefault(), M();
1391
+ break;
1392
+ }
1393
+ }
1394
+ function W(T) {
1395
+ return T.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
1396
+ }
1397
+ function O(T) {
1398
+ return d() ? `${T.author} · ${W(T.timestamp)}` : T.author;
1399
+ }
1400
+ var L = e.comment(), U = e.first_child(L);
1401
+ {
1402
+ var u = (T) => {
1403
+ var C = Zt(), R = e.child(C);
1404
+ R.textContent = `┌─ Chat ${"─".repeat(38) ?? ""}┐`;
1405
+ var o = e.sibling(R, 2), i = e.sibling(e.child(o), 2), b = e.child(i);
1406
+ e.each(b, 17, () => e.get(l), (V) => V.id, (V, Y) => {
1407
+ const J = e.derived(() => O(e.get(Y))), Z = e.derived(() => 38), $ = e.derived(() => `╭─ ${e.get(J)} ${"─".repeat(Math.max(0, e.get(Z) - e.get(J).length - 3))}╮`), ne = e.derived(() => `╰${"─".repeat(e.get(Z) + 1)}╯`);
1408
+ var re = Qt();
1409
+ let ae;
1410
+ var oe = e.child(re), ue = e.child(oe, !0);
1411
+ e.reset(oe);
1412
+ var de = e.sibling(oe, 2), ce = e.sibling(e.child(de), 2), se = e.child(ce, !0);
1413
+ e.reset(ce), e.next(2), e.reset(de);
1414
+ var te = e.sibling(de, 2), _e = e.child(te, !0);
1415
+ e.reset(te), e.reset(re), e.template_effect(() => {
1416
+ ae = e.set_class(re, 1, "chat-tui__msg svelte-10e5u2c", null, ae, {
1417
+ "chat-tui__msg--user": e.get(Y).type === "user",
1418
+ "chat-tui__msg--system": e.get(Y).type === "system"
1419
+ }), e.set_text(ue, e.get($)), e.set_text(se, e.get(Y).content), e.set_text(_e, e.get(ne));
1420
+ }), e.append(V, re);
1421
+ });
1422
+ var z = e.sibling(b, 2);
1423
+ {
1424
+ var E = (V) => {
1425
+ var Y = Xt(), J = e.child(Y), Z = e.child(J);
1426
+ e.reset(J), e.reset(Y), e.template_effect(() => e.set_text(Z, `▼ ${e.get(h) ?? ""} new ${e.get(h) === 1 ? "message" : "messages"}`)), e.delegated("click", J, B), e.delegated("keydown", J, ($) => ($.key === "Enter" || $.key === " ") && B()), e.append(V, Y);
1427
+ };
1428
+ e.if(z, (V) => {
1429
+ e.get(h) > 0 && V(E);
1430
+ });
1431
+ }
1432
+ e.reset(i), e.next(2), e.reset(o);
1433
+ var q = e.sibling(o, 2);
1434
+ q.textContent = `└${"─".repeat(40) ?? ""}┘`, e.reset(C), e.template_effect(() => e.set_class(C, 1, `chat-tui ${n() ?? ""}`, "svelte-10e5u2c")), e.delegated("keydown", C, j), e.append(T, C);
1435
+ }, G = (T) => {
1436
+ var C = aa(), R = e.child(C), o = e.child(R), i = e.child(o);
1437
+ e.each(i, 17, () => t.messages, (q) => q.id, (q, V) => {
1438
+ var Y = ea();
1439
+ let J;
1440
+ var Z = e.child(Y), $ = e.child(Z), ne = e.child($, !0);
1441
+ e.reset($);
1442
+ var re = e.sibling($, 2);
1443
+ {
1444
+ var ae = (de) => {
1445
+ var ce = $t(), se = e.child(ce, !0);
1446
+ e.reset(ce), e.template_effect((te) => e.set_text(se, te), [() => W(e.get(V).timestamp)]), e.append(de, ce);
1447
+ };
1448
+ e.if(re, (de) => {
1449
+ d() && de(ae);
1450
+ });
1451
+ }
1452
+ e.reset(Z);
1453
+ var oe = e.sibling(Z, 2), ue = e.child(oe, !0);
1454
+ e.reset(oe), e.reset(Y), e.template_effect(() => {
1455
+ J = e.set_class(Y, 1, "chat-gui__msg svelte-10e5u2c", null, J, {
1456
+ "chat-gui__msg--user": e.get(V).type === "user",
1457
+ "chat-gui__msg--agent": e.get(V).type === "agent",
1458
+ "chat-gui__msg--system": e.get(V).type === "system"
1459
+ }), e.set_text(ne, e.get(V).author), e.set_text(ue, e.get(V).content);
1460
+ }), e.append(q, Y);
1461
+ });
1462
+ var b = e.sibling(i, 2);
1463
+ e.bind_this(b, (q) => e.set(w, q), () => e.get(w)), e.reset(o), e.reset(R), e.bind_this(R, (q) => e.set(r, q), () => e.get(r));
1464
+ var z = e.sibling(R, 2);
1465
+ {
1466
+ var E = (q) => {
1467
+ var V = ta(), Y = e.child(V);
1468
+ e.reset(V), e.template_effect(() => e.set_text(Y, `▼ ${e.get(S) ?? ""} new ${e.get(S) === 1 ? "message" : "messages"}`)), e.delegated("click", V, N), e.append(q, V);
1469
+ };
1470
+ e.if(z, (q) => {
1471
+ e.get(S) > 0 && !e.get(g) && q(E);
1472
+ });
1473
+ }
1474
+ e.reset(C), e.template_effect(() => e.set_class(C, 1, `chat-gui ${n() ?? ""}`, "svelte-10e5u2c")), e.event("scroll", R, x), e.delegated("keydown", R, p), e.append(T, C);
1475
+ };
1476
+ e.if(U, (T) => {
1477
+ e.get(f) ? T(u) : T(G, !1);
1478
+ });
1479
+ }
1480
+ e.append(K, L), e.pop();
1481
+ }
1482
+ e.delegate(["keydown", "click"]);
1483
+ var sa = e.from_html('<span aria-hidden="true"></span>');
1484
+ function ls(K, t) {
1485
+ let F = e.prop(t, "size", 3, 16), d = e.prop(t, "color", 3, "currentColor"), n = e.prop(t, "class", 3, "");
1486
+ var _ = sa();
1487
+ let f;
652
1488
  e.template_effect(() => {
653
- e.set_class(x, 1, `nf ${t.icon ?? ""} ${l() ?? ""}`, "svelte-81k4o2"), y = e.set_style(x, "", y, {
654
- "font-size": `${S() ?? ""}px`,
655
- color: f(),
656
- "line-height": `${S() ?? ""}px`
1489
+ e.set_class(_, 1, `nf ${t.icon ?? ""} ${n() ?? ""}`, "svelte-81k4o2"), f = e.set_style(_, "", f, {
1490
+ "font-size": `${F() ?? ""}px`,
1491
+ color: d(),
1492
+ "line-height": `${F() ?? ""}px`
657
1493
  });
658
- }), e.append(H, x);
1494
+ }), e.append(K, _);
659
1495
  }
660
- var ut = e.from_html('<div class="chat-view__system svelte-hdrk38"> </div>'), gt = e.from_html('<span class="chat-view__time svelte-hdrk38"> </span>'), pt = e.from_html('<div class="chat-view__streaming svelte-hdrk38" aria-label="Generating response"><span class="chat-view__dot svelte-hdrk38"></span> <span class="chat-view__dot svelte-hdrk38"></span> <span class="chat-view__dot svelte-hdrk38"></span></div>'), ht = e.from_html('<div class="chat-view__content svelte-hdrk38"><!></div>'), ft = e.from_html('<div><div class="chat-view__bubble-header svelte-hdrk38"><span class="chat-view__author svelte-hdrk38"> </span> <!></div> <!></div>'), mt = e.from_html("<div><!></div>"), bt = e.from_html('<button class="chat-view__jump svelte-hdrk38" aria-live="polite" aria-label="Jump to latest messages"> </button>'), xt = e.from_html('<div role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-view__scroll svelte-hdrk38" tabindex="0" role="region" aria-label="Scrollable message history"><div class="chat-view__messages svelte-hdrk38"><!> <div class="chat-view__sentinel svelte-hdrk38" aria-hidden="true"></div></div></div> <!></div>');
661
- function la(H, t) {
1496
+ var la = e.from_html('<div class="chat-view__system svelte-hdrk38"> </div>'), ia = e.from_html('<span class="chat-view__time svelte-hdrk38"> </span>'), na = e.from_html('<div class="chat-view__streaming svelte-hdrk38" aria-label="Generating response"><span class="chat-view__dot svelte-hdrk38"></span> <span class="chat-view__dot svelte-hdrk38"></span> <span class="chat-view__dot svelte-hdrk38"></span></div>'), ra = e.from_html('<div class="chat-view__content svelte-hdrk38"><!></div>'), da = e.from_html('<div><div class="chat-view__bubble-header svelte-hdrk38"><span class="chat-view__author svelte-hdrk38"> </span> <!></div> <!></div>'), ca = e.from_html("<div><!></div>"), oa = e.from_html('<button class="chat-view__jump svelte-hdrk38" aria-live="polite" aria-label="Jump to latest messages"> </button>'), va = e.from_html('<div role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-view__scroll svelte-hdrk38" tabindex="0" role="region" aria-label="Scrollable message history"><div class="chat-view__messages svelte-hdrk38"><!> <div class="chat-view__sentinel svelte-hdrk38" aria-hidden="true"></div></div></div> <!></div>');
1497
+ function is(K, t) {
662
1498
  e.push(t, !0);
663
- let S = e.prop(t, "showTimestamps", 3, !0), f = e.prop(t, "class", 3, ""), l = e.state(void 0), x = e.state(!0), y = e.state(0), p = e.state(0);
1499
+ let F = e.prop(t, "showTimestamps", 3, !0), d = e.prop(t, "class", 3, ""), n = e.state(void 0), _ = e.state(!0), f = e.state(0), r = e.state(0);
664
1500
  e.user_effect(() => {
665
- const i = t.messages.length;
666
- if (i !== e.get(p)) {
667
- const _ = i - e.get(p);
668
- e.set(p, i, !0), e.get(x) ? (e.set(y, 0), w()) : _ > 0 && e.set(y, e.get(y) + _);
1501
+ const l = t.messages.length;
1502
+ if (l !== e.get(r)) {
1503
+ const a = l - e.get(r);
1504
+ e.set(r, l, !0), e.get(_) ? (e.set(f, 0), w()) : a > 0 && e.set(f, e.get(f) + a);
669
1505
  }
670
1506
  });
671
1507
  function w() {
672
- typeof requestAnimationFrame < "u" && requestAnimationFrame(() => v());
1508
+ typeof requestAnimationFrame < "u" && requestAnimationFrame(() => g());
673
1509
  }
674
- function v() {
675
- e.get(l) && (e.get(l).scrollTop = e.get(l).scrollHeight);
1510
+ function g() {
1511
+ e.get(n) && (e.get(n).scrollTop = e.get(n).scrollHeight);
676
1512
  }
677
- function P() {
678
- var i;
679
- e.set(x, !0), e.set(y, 0), v(), (i = t.onscrolltolatest) == null || i.call(t);
680
- }
681
- function R() {
682
- if (!e.get(l)) return;
683
- const { scrollTop: i, scrollHeight: _, clientHeight: k } = e.get(l), G = e.get(x);
684
- e.set(x, _ - i - k < 8), e.get(x) && !G && e.set(y, 0);
685
- }
686
- function M(i) {
687
- if (!e.get(l)) return;
688
- const _ = e.get(l).clientHeight;
689
- switch (i.key) {
1513
+ function S() {
1514
+ var l;
1515
+ e.set(_, !0), e.set(f, 0), g(), (l = t.onscrolltolatest) == null || l.call(t);
1516
+ }
1517
+ function H() {
1518
+ if (!e.get(n)) return;
1519
+ const { scrollTop: l, scrollHeight: a, clientHeight: s } = e.get(n), D = e.get(_);
1520
+ e.set(_, a - l - s < 8), e.get(_) && !D && e.set(f, 0);
1521
+ }
1522
+ function I(l) {
1523
+ if (!e.get(n)) return;
1524
+ const a = e.get(n).clientHeight;
1525
+ switch (l.key) {
690
1526
  case "PageUp":
691
- i.preventDefault(), e.get(l).scrollBy({ top: -_, behavior: "smooth" });
1527
+ l.preventDefault(), e.get(n).scrollBy({ top: -a, behavior: "smooth" });
692
1528
  break;
693
1529
  case "PageDown":
694
- i.preventDefault(), e.get(l).scrollBy({ top: _, behavior: "smooth" });
1530
+ l.preventDefault(), e.get(n).scrollBy({ top: a, behavior: "smooth" });
695
1531
  break;
696
1532
  case "Home":
697
- i.preventDefault(), e.get(l).scrollTo({ top: 0, behavior: "smooth" });
1533
+ l.preventDefault(), e.get(n).scrollTo({ top: 0, behavior: "smooth" });
698
1534
  break;
699
1535
  case "End":
700
- i.preventDefault(), v();
1536
+ l.preventDefault(), g();
701
1537
  break;
702
1538
  }
703
1539
  }
704
- function C(i) {
705
- return i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1540
+ function y(l) {
1541
+ return l.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
706
1542
  }
707
- function U(i) {
708
- return i.split(/(```[\s\S]*?```)/g).map((k, G) => {
709
- if (G % 2 === 1)
710
- return `<pre class="md-pre"><code>${C(k.slice(3, -3).replace(/^\n/, "").replace(/\n$/, ""))}</code></pre>`;
711
- let o = C(k);
712
- return o = o.replace(/`([^`]+)`/g, '<code class="md-code">$1</code>'), o = o.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), o = o.replace(/\*([^*\n]+)\*/g, "<em>$1</em>"), o = o.replace(/\n/g, "<br>"), o;
1543
+ function P(l) {
1544
+ return l.split(/(```[\s\S]*?```)/g).map((s, D) => {
1545
+ if (D % 2 === 1)
1546
+ return `<pre class="md-pre"><code>${y(s.slice(3, -3).replace(/^\n/, "").replace(/\n$/, ""))}</code></pre>`;
1547
+ let c = y(s);
1548
+ return c = c.replace(/`([^`]+)`/g, '<code class="md-code">$1</code>'), c = c.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), c = c.replace(/\*([^*\n]+)\*/g, "<em>$1</em>"), c = c.replace(/\n/g, "<br>"), c;
713
1549
  }).join("");
714
1550
  }
715
- function I(i) {
716
- return i.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
1551
+ function N(l) {
1552
+ return l.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
717
1553
  }
718
- var b = xt(), g = e.child(b), d = e.child(g), L = e.child(d);
719
- e.each(L, 17, () => t.messages, (i) => i.id, (i, _) => {
720
- var k = mt();
721
- let G;
722
- var o = e.child(k);
1554
+ var x = va(), p = e.child(x), m = e.child(p), A = e.child(m);
1555
+ e.each(A, 17, () => t.messages, (l) => l.id, (l, a) => {
1556
+ var s = ca();
1557
+ let D;
1558
+ var c = e.child(s);
723
1559
  {
724
- var E = (j) => {
725
- var Y = ut(), X = e.child(Y, !0);
726
- e.reset(Y), e.template_effect(() => e.set_text(X, e.get(_).content)), e.append(j, Y);
727
- }, K = (j) => {
728
- var Y = ft();
729
- let X;
730
- var D = e.child(Y), N = e.child(D), V = e.child(N, !0);
731
- e.reset(N);
732
- var r = e.sibling(N, 2);
1560
+ var k = (B) => {
1561
+ var j = la(), W = e.child(j, !0);
1562
+ e.reset(j), e.template_effect(() => e.set_text(W, e.get(a).content)), e.append(B, j);
1563
+ }, M = (B) => {
1564
+ var j = da();
1565
+ let W;
1566
+ var O = e.child(j), L = e.child(O), U = e.child(L, !0);
1567
+ e.reset(L);
1568
+ var u = e.sibling(L, 2);
733
1569
  {
734
- var q = (a) => {
735
- var s = gt(), n = e.child(s, !0);
736
- e.reset(s), e.template_effect((u) => e.set_text(n, u), [() => I(e.get(_).timestamp)]), e.append(a, s);
1570
+ var G = (o) => {
1571
+ var i = ia(), b = e.child(i, !0);
1572
+ e.reset(i), e.template_effect((z) => e.set_text(b, z), [() => N(e.get(a).timestamp)]), e.append(o, i);
737
1573
  };
738
- e.if(r, (a) => {
739
- S() && a(q);
1574
+ e.if(u, (o) => {
1575
+ F() && o(G);
740
1576
  });
741
1577
  }
742
- e.reset(D);
743
- var c = e.sibling(D, 2);
1578
+ e.reset(O);
1579
+ var T = e.sibling(O, 2);
744
1580
  {
745
- var z = (a) => {
746
- var s = pt();
747
- e.append(a, s);
748
- }, B = (a) => {
749
- var s = ht(), n = e.child(s);
750
- e.html(n, () => U(e.get(_).content)), e.reset(s), e.append(a, s);
1581
+ var C = (o) => {
1582
+ var i = na();
1583
+ e.append(o, i);
1584
+ }, R = (o) => {
1585
+ var i = ra(), b = e.child(i);
1586
+ e.html(b, () => P(e.get(a).content)), e.reset(i), e.append(o, i);
751
1587
  };
752
- e.if(c, (a) => {
753
- e.get(_).streaming ? a(z) : a(B, !1);
1588
+ e.if(T, (o) => {
1589
+ e.get(a).streaming ? o(C) : o(R, !1);
754
1590
  });
755
1591
  }
756
- e.reset(Y), e.template_effect(() => {
757
- X = e.set_class(Y, 1, "chat-view__bubble svelte-hdrk38", null, X, {
758
- "chat-view__bubble--user": e.get(_).type === "user",
759
- "chat-view__bubble--agent": e.get(_).type === "agent" || !e.get(_).type
760
- }), e.set_text(V, e.get(_).author);
761
- }), e.append(j, Y);
1592
+ e.reset(j), e.template_effect(() => {
1593
+ W = e.set_class(j, 1, "chat-view__bubble svelte-hdrk38", null, W, {
1594
+ "chat-view__bubble--user": e.get(a).type === "user",
1595
+ "chat-view__bubble--agent": e.get(a).type === "agent" || !e.get(a).type
1596
+ }), e.set_text(U, e.get(a).author);
1597
+ }), e.append(B, j);
762
1598
  };
763
- e.if(o, (j) => {
764
- e.get(_).type === "system" ? j(E) : j(K, !1);
1599
+ e.if(c, (B) => {
1600
+ e.get(a).type === "system" ? B(k) : B(M, !1);
765
1601
  });
766
1602
  }
767
- e.reset(k), e.template_effect(() => G = e.set_class(k, 1, "chat-view__row svelte-hdrk38", null, G, {
768
- "chat-view__row--user": e.get(_).type === "user",
769
- "chat-view__row--agent": e.get(_).type === "agent" || !e.get(_).type,
770
- "chat-view__row--system": e.get(_).type === "system"
771
- })), e.append(i, k);
772
- }), e.next(2), e.reset(d), e.reset(g), e.bind_this(g, (i) => e.set(l, i), () => e.get(l));
773
- var h = e.sibling(g, 2);
1603
+ e.reset(s), e.template_effect(() => D = e.set_class(s, 1, "chat-view__row svelte-hdrk38", null, D, {
1604
+ "chat-view__row--user": e.get(a).type === "user",
1605
+ "chat-view__row--agent": e.get(a).type === "agent" || !e.get(a).type,
1606
+ "chat-view__row--system": e.get(a).type === "system"
1607
+ })), e.append(l, s);
1608
+ }), e.next(2), e.reset(m), e.reset(p), e.bind_this(p, (l) => e.set(n, l), () => e.get(n));
1609
+ var v = e.sibling(p, 2);
774
1610
  {
775
- var m = (i) => {
776
- var _ = bt(), k = e.child(_);
777
- e.reset(_), e.template_effect(() => e.set_text(k, `▼ ${e.get(y) ?? ""} new ${e.get(y) === 1 ? "message" : "messages"}`)), e.delegated("click", _, P), e.append(i, _);
1611
+ var h = (l) => {
1612
+ var a = oa(), s = e.child(a);
1613
+ e.reset(a), e.template_effect(() => e.set_text(s, `▼ ${e.get(f) ?? ""} new ${e.get(f) === 1 ? "message" : "messages"}`)), e.delegated("click", a, S), e.append(l, a);
778
1614
  };
779
- e.if(h, (i) => {
780
- e.get(y) > 0 && !e.get(x) && i(m);
1615
+ e.if(v, (l) => {
1616
+ e.get(f) > 0 && !e.get(_) && l(h);
781
1617
  });
782
1618
  }
783
- e.reset(b), e.template_effect(() => e.set_class(b, 1, `chat-view ${f() ?? ""}`, "svelte-hdrk38")), e.event("scroll", g, R), e.delegated("keydown", g, M), e.append(H, b), e.pop();
1619
+ e.reset(x), e.template_effect(() => e.set_class(x, 1, `chat-view ${d() ?? ""}`, "svelte-hdrk38")), e.event("scroll", p, H), e.delegated("keydown", p, I), e.append(K, x), e.pop();
784
1620
  }
785
1621
  e.delegate(["keydown", "click"]);
786
- var yt = e.from_html('<div class="chat-input__attachment svelte-bicrdd"><span class="chat-input__attachment-name svelte-bicrdd"> </span> <button class="chat-input__attachment-remove svelte-bicrdd" aria-label="Remove attachment" type="button">✕</button></div>'), kt = e.from_html('<div><!> <div class="chat-input__row svelte-bicrdd"><button class="chat-input__attach-btn svelte-bicrdd" type="button" aria-label="Attach file" title="Attach file">📎</button> <textarea class="chat-input__textarea svelte-bicrdd" rows="1" aria-label="Message input" aria-multiline="true"></textarea> <button class="chat-input__send-btn svelte-bicrdd" type="button" aria-label="Send message"><svg class="chat-input__send-icon svelte-bicrdd" viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M3 10L17 3L10 17L9 11L3 10Z" fill="currentColor" stroke="currentColor" stroke-width="0.5" stroke-linejoin="round"></path></svg></button></div> <input class="chat-input__file-hidden svelte-bicrdd" type="file" aria-hidden="true" tabindex="-1"/></div>');
787
- function ia(H, t) {
1622
+ var ua = e.from_html('<div class="chat-input__attachment svelte-bicrdd"><span class="chat-input__attachment-name svelte-bicrdd"> </span> <button class="chat-input__attachment-remove svelte-bicrdd" aria-label="Remove attachment" type="button">✕</button></div>'), _a = e.from_html('<div><!> <div class="chat-input__row svelte-bicrdd"><button class="chat-input__attach-btn svelte-bicrdd" type="button" aria-label="Attach file" title="Attach file">📎</button> <textarea class="chat-input__textarea svelte-bicrdd" rows="1" aria-label="Message input" aria-multiline="true"></textarea> <button class="chat-input__send-btn svelte-bicrdd" type="button" aria-label="Send message"><svg class="chat-input__send-icon svelte-bicrdd" viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M3 10L17 3L10 17L9 11L3 10Z" fill="currentColor" stroke="currentColor" stroke-width="0.5" stroke-linejoin="round"></path></svg></button></div> <input class="chat-input__file-hidden svelte-bicrdd" type="file" aria-hidden="true" tabindex="-1"/></div>');
1623
+ function ns(K, t) {
788
1624
  e.push(t, !0);
789
- let S = e.prop(t, "value", 15, ""), f = e.prop(t, "placeholder", 3, "Type a message…"), l = e.prop(t, "disabled", 3, !1), x = e.prop(t, "maxRows", 3, 5), y = e.prop(t, "class", 3, ""), p = e.state(void 0), w = e.state(void 0), v = e.state(void 0);
790
- function P() {
791
- const o = e.get(p);
792
- if (!o) return;
793
- o.style.height = "auto";
794
- const K = parseInt(getComputedStyle(o).lineHeight || "20", 10) * x() + parseInt(getComputedStyle(o).paddingTop || "0", 10) * 2;
795
- o.style.height = Math.min(o.scrollHeight, K) + "px";
1625
+ let F = e.prop(t, "value", 15, ""), d = e.prop(t, "placeholder", 3, "Type a message…"), n = e.prop(t, "disabled", 3, !1), _ = e.prop(t, "maxRows", 3, 5), f = e.prop(t, "class", 3, ""), r = e.state(void 0), w = e.state(void 0), g = e.state(void 0);
1626
+ function S() {
1627
+ const c = e.get(r);
1628
+ if (!c) return;
1629
+ c.style.height = "auto";
1630
+ const M = parseInt(getComputedStyle(c).lineHeight || "20", 10) * _() + parseInt(getComputedStyle(c).paddingTop || "0", 10) * 2;
1631
+ c.style.height = Math.min(c.scrollHeight, M) + "px";
796
1632
  }
797
- function R(o) {
798
- S(o.target.value), P();
1633
+ function H(c) {
1634
+ F(c.target.value), S();
799
1635
  }
800
- function M(o) {
801
- o.key === "Enter" && !o.shiftKey && (o.preventDefault(), C());
1636
+ function I(c) {
1637
+ c.key === "Enter" && !c.shiftKey && (c.preventDefault(), y());
802
1638
  }
803
- function C() {
804
- var E;
805
- const o = (S() ?? "").trim();
806
- !o && !e.get(v) || ((E = t.onsend) == null || E.call(t, o, e.get(v)), S(""), e.set(v, void 0), e.get(p) && (e.get(p).style.height = "auto"));
1639
+ function y() {
1640
+ var k;
1641
+ const c = (F() ?? "").trim();
1642
+ !c && !e.get(g) || ((k = t.onsend) == null || k.call(t, c, e.get(g)), F(""), e.set(g, void 0), e.get(r) && (e.get(r).style.height = "auto"));
807
1643
  }
808
- function U() {
809
- var o;
810
- (o = e.get(w)) == null || o.click();
1644
+ function P() {
1645
+ var c;
1646
+ (c = e.get(w)) == null || c.click();
811
1647
  }
812
- function I(o) {
813
- var K;
814
- const E = o.target;
815
- e.set(v, (K = E.files) == null ? void 0 : K[0], !0), E.value = "";
1648
+ function N(c) {
1649
+ var M;
1650
+ const k = c.target;
1651
+ e.set(g, (M = k.files) == null ? void 0 : M[0], !0), k.value = "";
816
1652
  }
817
- function b() {
818
- e.set(v, void 0);
1653
+ function x() {
1654
+ e.set(g, void 0);
819
1655
  }
820
- var g = kt();
821
- let d;
822
- var L = e.child(g);
1656
+ var p = _a();
1657
+ let m;
1658
+ var A = e.child(p);
823
1659
  {
824
- var h = (o) => {
825
- var E = yt(), K = e.child(E), j = e.child(K);
826
- e.reset(K);
827
- var Y = e.sibling(K, 2);
828
- e.reset(E), e.template_effect(() => e.set_text(j, `📎 ${e.get(v).name ?? ""}`)), e.delegated("click", Y, b), e.append(o, E);
1660
+ var v = (c) => {
1661
+ var k = ua(), M = e.child(k), B = e.child(M);
1662
+ e.reset(M);
1663
+ var j = e.sibling(M, 2);
1664
+ e.reset(k), e.template_effect(() => e.set_text(B, `📎 ${e.get(g).name ?? ""}`)), e.delegated("click", j, x), e.append(c, k);
829
1665
  };
830
- e.if(L, (o) => {
831
- e.get(v) && o(h);
1666
+ e.if(A, (c) => {
1667
+ e.get(g) && c(v);
832
1668
  });
833
1669
  }
834
- var m = e.sibling(L, 2), i = e.child(m), _ = e.sibling(i, 2);
835
- e.remove_textarea_child(_), e.bind_this(_, (o) => e.set(p, o), () => e.get(p));
836
- var k = e.sibling(_, 2);
837
- e.reset(m);
838
- var G = e.sibling(m, 2);
839
- e.bind_this(G, (o) => e.set(w, o), () => e.get(w)), e.reset(g), e.template_effect(
840
- (o) => {
841
- d = e.set_class(g, 1, `chat-input ${y() ?? ""}`, "svelte-bicrdd", d, { "chat-input--disabled": l() }), i.disabled = l(), e.set_attribute(_, "placeholder", f()), _.disabled = l(), e.set_value(_, S()), k.disabled = o;
1670
+ var h = e.sibling(A, 2), l = e.child(h), a = e.sibling(l, 2);
1671
+ e.remove_textarea_child(a), e.bind_this(a, (c) => e.set(r, c), () => e.get(r));
1672
+ var s = e.sibling(a, 2);
1673
+ e.reset(h);
1674
+ var D = e.sibling(h, 2);
1675
+ e.bind_this(D, (c) => e.set(w, c), () => e.get(w)), e.reset(p), e.template_effect(
1676
+ (c) => {
1677
+ m = e.set_class(p, 1, `chat-input ${f() ?? ""}`, "svelte-bicrdd", m, { "chat-input--disabled": n() }), l.disabled = n(), e.set_attribute(a, "placeholder", d()), a.disabled = n(), e.set_value(a, F()), s.disabled = c;
842
1678
  },
843
1679
  [
844
- () => l() || !(S() ?? "").trim() && !e.get(v)
1680
+ () => n() || !(F() ?? "").trim() && !e.get(g)
845
1681
  ]
846
- ), e.delegated("click", i, U), e.delegated("input", _, R), e.delegated("keydown", _, M), e.delegated("click", k, C), e.delegated("change", G, I), e.append(H, g), e.pop();
1682
+ ), e.delegated("click", l, P), e.delegated("input", a, H), e.delegated("keydown", a, I), e.delegated("click", s, y), e.delegated("change", D, N), e.append(K, p), e.pop();
847
1683
  }
848
1684
  e.delegate(["click", "input", "keydown", "change"]);
849
- var wt = e.from_html('<p class="memory-sidebar__empty svelte-1kg6yxg"> </p>'), Tt = e.from_html('<div class="memory-sidebar__item svelte-1kg6yxg" role="listitem"><div class="memory-sidebar__item-row svelte-1kg6yxg"><span> </span> <span class="memory-sidebar__time svelte-1kg6yxg"> </span></div> <p class="memory-sidebar__content svelte-1kg6yxg"> </p></div>'), Mt = e.from_html('<aside aria-label="Memories"><div class="memory-sidebar__header svelte-1kg6yxg"><h2 class="memory-sidebar__title svelte-1kg6yxg">Memories</h2> <span class="memory-sidebar__count svelte-1kg6yxg"> </span></div> <div class="memory-sidebar__search svelte-1kg6yxg"><span class="memory-sidebar__search-icon svelte-1kg6yxg" aria-hidden="true">⌕</span> <input class="memory-sidebar__search-input svelte-1kg6yxg" type="search" placeholder="Search memories…" aria-label="Search memories"/></div> <div class="memory-sidebar__list svelte-1kg6yxg" role="list"><!></div></aside>');
850
- function na(H, t) {
1685
+ var ga = e.from_html('<p class="memory-sidebar__empty svelte-1kg6yxg"> </p>'), fa = e.from_html('<div class="memory-sidebar__item svelte-1kg6yxg" role="listitem"><div class="memory-sidebar__item-row svelte-1kg6yxg"><span> </span> <span class="memory-sidebar__time svelte-1kg6yxg"> </span></div> <p class="memory-sidebar__content svelte-1kg6yxg"> </p></div>'), ha = e.from_html('<aside aria-label="Memories"><div class="memory-sidebar__header svelte-1kg6yxg"><h2 class="memory-sidebar__title svelte-1kg6yxg">Memories</h2> <span class="memory-sidebar__count svelte-1kg6yxg"> </span></div> <div class="memory-sidebar__search svelte-1kg6yxg"><span class="memory-sidebar__search-icon svelte-1kg6yxg" aria-hidden="true">⌕</span> <input class="memory-sidebar__search-input svelte-1kg6yxg" type="search" placeholder="Search memories…" aria-label="Search memories"/></div> <div class="memory-sidebar__list svelte-1kg6yxg" role="list"><!></div></aside>');
1686
+ function rs(K, t) {
851
1687
  e.push(t, !0);
852
- let S = e.prop(t, "class", 3, ""), f = e.state("");
853
- const l = e.derived(() => e.get(f).trim() ? t.memories.filter((g) => g.content.toLowerCase().includes(e.get(f).trim().toLowerCase())) : t.memories), x = {
1688
+ let F = e.prop(t, "class", 3, ""), d = e.state("");
1689
+ const n = e.derived(() => e.get(d).trim() ? t.memories.filter((p) => p.content.toLowerCase().includes(e.get(d).trim().toLowerCase())) : t.memories), _ = {
854
1690
  fact: "Fact",
855
1691
  goal: "Goal",
856
1692
  preference: "Pref",
857
1693
  context: "Context",
858
1694
  other: "Other"
859
1695
  };
860
- function y(g) {
861
- const d = Date.now() - g.getTime(), L = Math.floor(d / 1e3);
862
- if (L < 60) return "just now";
863
- const h = Math.floor(L / 60);
864
- if (h < 60) return `${h}m ago`;
865
- const m = Math.floor(h / 60);
866
- return m < 24 ? `${m}h ago` : `${Math.floor(m / 24)}d ago`;
867
- }
868
- var p = Mt(), w = e.child(p), v = e.sibling(e.child(w), 2), P = e.child(v, !0);
869
- e.reset(v), e.reset(w);
870
- var R = e.sibling(w, 2), M = e.sibling(e.child(R), 2);
871
- e.remove_input_defaults(M), e.reset(R);
872
- var C = e.sibling(R, 2), U = e.child(C);
1696
+ function f(p) {
1697
+ const m = Date.now() - p.getTime(), A = Math.floor(m / 1e3);
1698
+ if (A < 60) return "just now";
1699
+ const v = Math.floor(A / 60);
1700
+ if (v < 60) return `${v}m ago`;
1701
+ const h = Math.floor(v / 60);
1702
+ return h < 24 ? `${h}h ago` : `${Math.floor(h / 24)}d ago`;
1703
+ }
1704
+ var r = ha(), w = e.child(r), g = e.sibling(e.child(w), 2), S = e.child(g, !0);
1705
+ e.reset(g), e.reset(w);
1706
+ var H = e.sibling(w, 2), I = e.sibling(e.child(H), 2);
1707
+ e.remove_input_defaults(I), e.reset(H);
1708
+ var y = e.sibling(H, 2), P = e.child(y);
873
1709
  {
874
- var I = (g) => {
875
- var d = wt(), L = e.child(d, !0);
876
- e.reset(d), e.template_effect((h) => e.set_text(L, h), [
877
- () => e.get(f).trim() ? "No memories match your search." : "No memories yet."
878
- ]), e.append(g, d);
879
- }, b = (g) => {
880
- var d = e.comment(), L = e.first_child(d);
881
- e.each(L, 17, () => e.get(l), (h) => h.id, (h, m) => {
882
- var i = Tt(), _ = e.child(i), k = e.child(_), G = e.child(k, !0);
883
- e.reset(k);
884
- var o = e.sibling(k, 2), E = e.child(o, !0);
885
- e.reset(o), e.reset(_);
886
- var K = e.sibling(_, 2), j = e.child(K, !0);
887
- e.reset(K), e.reset(i), e.template_effect(
888
- (Y) => {
889
- e.set_class(k, 1, `memory-sidebar__badge memory-sidebar__badge--${e.get(m).category ?? ""}`, "svelte-1kg6yxg"), e.set_text(G, x[e.get(m).category]), e.set_text(E, Y), e.set_text(j, e.get(m).content);
1710
+ var N = (p) => {
1711
+ var m = ga(), A = e.child(m, !0);
1712
+ e.reset(m), e.template_effect((v) => e.set_text(A, v), [
1713
+ () => e.get(d).trim() ? "No memories match your search." : "No memories yet."
1714
+ ]), e.append(p, m);
1715
+ }, x = (p) => {
1716
+ var m = e.comment(), A = e.first_child(m);
1717
+ e.each(A, 17, () => e.get(n), (v) => v.id, (v, h) => {
1718
+ var l = fa(), a = e.child(l), s = e.child(a), D = e.child(s, !0);
1719
+ e.reset(s);
1720
+ var c = e.sibling(s, 2), k = e.child(c, !0);
1721
+ e.reset(c), e.reset(a);
1722
+ var M = e.sibling(a, 2), B = e.child(M, !0);
1723
+ e.reset(M), e.reset(l), e.template_effect(
1724
+ (j) => {
1725
+ e.set_class(s, 1, `memory-sidebar__badge memory-sidebar__badge--${e.get(h).category ?? ""}`, "svelte-1kg6yxg"), e.set_text(D, _[e.get(h).category]), e.set_text(k, j), e.set_text(B, e.get(h).content);
890
1726
  },
891
- [() => y(e.get(m).timestamp)]
892
- ), e.append(h, i);
893
- }), e.append(g, d);
1727
+ [() => f(e.get(h).timestamp)]
1728
+ ), e.append(v, l);
1729
+ }), e.append(p, m);
894
1730
  };
895
- e.if(U, (g) => {
896
- e.get(l).length === 0 ? g(I) : g(b, !1);
1731
+ e.if(P, (p) => {
1732
+ e.get(n).length === 0 ? p(N) : p(x, !1);
897
1733
  });
898
1734
  }
899
- e.reset(C), e.reset(p), e.template_effect(() => {
900
- e.set_class(p, 1, `memory-sidebar ${S() ?? ""}`, "svelte-1kg6yxg"), e.set_text(P, e.get(l).length);
901
- }), e.bind_value(M, () => e.get(f), (g) => e.set(f, g)), e.append(H, p), e.pop();
1735
+ e.reset(y), e.reset(r), e.template_effect(() => {
1736
+ e.set_class(r, 1, `memory-sidebar ${F() ?? ""}`, "svelte-1kg6yxg"), e.set_text(S, e.get(n).length);
1737
+ }), e.bind_value(I, () => e.get(d), (p) => e.set(d, p)), e.append(K, r), e.pop();
902
1738
  }
903
- var zt = e.from_html('<option class="svelte-1igku3k"> </option>'), Pt = e.from_html('<label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Channel ID</span> <input class="settings-panel__input svelte-1igku3k" type="text" placeholder="Channel / room ID" autocomplete="off" spellcheck="false"/></label>'), Ct = e.from_html('<label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Bot Token</span> <input class="settings-panel__input svelte-1igku3k" type="password" placeholder="Token…" autocomplete="off"/></label> <!>', 1), Nt = e.from_html('<section aria-label="Agent settings"><div class="settings-panel__section svelte-1igku3k"><h3 class="settings-panel__section-title svelte-1igku3k">Model</h3> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Provider URL</span> <input class="settings-panel__input svelte-1igku3k" type="url" placeholder="http://localhost:11434" autocomplete="off" spellcheck="false"/></label> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">API Key</span> <div class="settings-panel__input-row svelte-1igku3k"><input class="settings-panel__input svelte-1igku3k" placeholder="sk-…" autocomplete="off"/> <button class="settings-panel__toggle-btn svelte-1igku3k" type="button"> </button></div></label> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Model Name</span> <input class="settings-panel__input svelte-1igku3k" type="text" placeholder="llama3.2" autocomplete="off" spellcheck="false"/></label></div> <div class="settings-panel__section svelte-1igku3k"><h3 class="settings-panel__section-title svelte-1igku3k">Channel</h3> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Type</span> <select class="settings-panel__select svelte-1igku3k"></select></label> <!></div> <div class="settings-panel__actions svelte-1igku3k"><button class="settings-panel__btn settings-panel__btn--ghost svelte-1igku3k" type="button">Reset</button> <button class="settings-panel__btn settings-panel__btn--solid svelte-1igku3k" type="button">Save Settings</button></div></section>');
904
- function ra(H, t) {
1739
+ var pa = e.from_html('<option class="svelte-1igku3k"> </option>'), ma = e.from_html('<label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Channel ID</span> <input class="settings-panel__input svelte-1igku3k" type="text" placeholder="Channel / room ID" autocomplete="off" spellcheck="false"/></label>'), ba = e.from_html('<label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Bot Token</span> <input class="settings-panel__input svelte-1igku3k" type="password" placeholder="Token…" autocomplete="off"/></label> <!>', 1), xa = e.from_html('<section aria-label="Agent settings"><div class="settings-panel__section svelte-1igku3k"><h3 class="settings-panel__section-title svelte-1igku3k">Model</h3> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Provider URL</span> <input class="settings-panel__input svelte-1igku3k" type="url" placeholder="http://localhost:11434" autocomplete="off" spellcheck="false"/></label> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">API Key</span> <div class="settings-panel__input-row svelte-1igku3k"><input class="settings-panel__input svelte-1igku3k" placeholder="sk-…" autocomplete="off"/> <button class="settings-panel__toggle-btn svelte-1igku3k" type="button"> </button></div></label> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Model Name</span> <input class="settings-panel__input svelte-1igku3k" type="text" placeholder="llama3.2" autocomplete="off" spellcheck="false"/></label></div> <div class="settings-panel__section svelte-1igku3k"><h3 class="settings-panel__section-title svelte-1igku3k">Channel</h3> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Type</span> <select class="settings-panel__select svelte-1igku3k"></select></label> <!></div> <div class="settings-panel__actions svelte-1igku3k"><button class="settings-panel__btn settings-panel__btn--ghost svelte-1igku3k" type="button">Reset</button> <button class="settings-panel__btn settings-panel__btn--solid svelte-1igku3k" type="button">Save Settings</button></div></section>');
1740
+ function ds(K, t) {
905
1741
  e.push(t, !0);
906
- const S = { providerUrl: "", apiKey: "", modelName: "" }, f = { type: "none", token: "", channelId: "" };
907
- let l = e.prop(t, "class", 3, ""), x = e.state(e.proxy(ge(() => {
908
- var r;
909
- return ((r = t.settings) == null ? void 0 : r.model.providerUrl) ?? "";
910
- }))), y = e.state(e.proxy(ge(() => {
911
- var r;
912
- return ((r = t.settings) == null ? void 0 : r.model.apiKey) ?? "";
913
- }))), p = e.state(e.proxy(ge(() => {
914
- var r;
915
- return ((r = t.settings) == null ? void 0 : r.model.modelName) ?? "";
916
- }))), w = e.state(e.proxy(ge(() => {
917
- var r;
918
- return ((r = t.settings) == null ? void 0 : r.channel.type) ?? "none";
919
- }))), v = e.state(e.proxy(ge(() => {
920
- var r;
921
- return ((r = t.settings) == null ? void 0 : r.channel.token) ?? "";
922
- }))), P = e.state(e.proxy(ge(() => {
923
- var r;
924
- return ((r = t.settings) == null ? void 0 : r.channel.channelId) ?? "";
925
- }))), R = e.state(!1);
926
- const M = [
1742
+ const F = { providerUrl: "", apiKey: "", modelName: "" }, d = { type: "none", token: "", channelId: "" };
1743
+ let n = e.prop(t, "class", 3, ""), _ = e.state(e.proxy(he(() => {
1744
+ var u;
1745
+ return ((u = t.settings) == null ? void 0 : u.model.providerUrl) ?? "";
1746
+ }))), f = e.state(e.proxy(he(() => {
1747
+ var u;
1748
+ return ((u = t.settings) == null ? void 0 : u.model.apiKey) ?? "";
1749
+ }))), r = e.state(e.proxy(he(() => {
1750
+ var u;
1751
+ return ((u = t.settings) == null ? void 0 : u.model.modelName) ?? "";
1752
+ }))), w = e.state(e.proxy(he(() => {
1753
+ var u;
1754
+ return ((u = t.settings) == null ? void 0 : u.channel.type) ?? "none";
1755
+ }))), g = e.state(e.proxy(he(() => {
1756
+ var u;
1757
+ return ((u = t.settings) == null ? void 0 : u.channel.token) ?? "";
1758
+ }))), S = e.state(e.proxy(he(() => {
1759
+ var u;
1760
+ return ((u = t.settings) == null ? void 0 : u.channel.channelId) ?? "";
1761
+ }))), H = e.state(!1);
1762
+ const I = [
927
1763
  { value: "none", label: "None" },
928
1764
  { value: "discord", label: "Discord" },
929
1765
  { value: "telegram", label: "Telegram" },
930
1766
  { value: "slack", label: "Slack" },
931
1767
  { value: "matrix", label: "Matrix" }
932
- ], C = e.derived(() => e.get(w) === "discord" || e.get(w) === "slack" || e.get(w) === "matrix");
933
- function U() {
934
- var r;
935
- (r = t.onsave) == null || r.call(t, {
1768
+ ], y = e.derived(() => e.get(w) === "discord" || e.get(w) === "slack" || e.get(w) === "matrix");
1769
+ function P() {
1770
+ var u;
1771
+ (u = t.onsave) == null || u.call(t, {
936
1772
  model: {
937
- providerUrl: e.get(x),
938
- apiKey: e.get(y),
939
- modelName: e.get(p)
1773
+ providerUrl: e.get(_),
1774
+ apiKey: e.get(f),
1775
+ modelName: e.get(r)
940
1776
  },
941
1777
  channel: {
942
1778
  type: e.get(w),
943
- token: e.get(v),
944
- channelId: e.get(P)
1779
+ token: e.get(g),
1780
+ channelId: e.get(S)
945
1781
  }
946
1782
  });
947
1783
  }
948
- function I() {
949
- const r = t.settings ?? { model: S, channel: f };
950
- e.set(x, r.model.providerUrl, !0), e.set(y, r.model.apiKey, !0), e.set(p, r.model.modelName, !0), e.set(w, r.channel.type, !0), e.set(v, r.channel.token, !0), e.set(P, r.channel.channelId, !0);
951
- }
952
- var b = Nt(), g = e.child(b), d = e.sibling(e.child(g), 2), L = e.sibling(e.child(d), 2);
953
- e.remove_input_defaults(L), e.reset(d);
954
- var h = e.sibling(d, 2), m = e.sibling(e.child(h), 2), i = e.child(m);
955
- e.remove_input_defaults(i);
956
- var _ = e.sibling(i, 2), k = e.child(_, !0);
957
- e.reset(_), e.reset(m), e.reset(h);
958
- var G = e.sibling(h, 2), o = e.sibling(e.child(G), 2);
959
- e.remove_input_defaults(o), e.reset(G), e.reset(g);
960
- var E = e.sibling(g, 2), K = e.sibling(e.child(E), 2), j = e.sibling(e.child(K), 2);
961
- e.each(j, 21, () => M, e.index, (r, q) => {
962
- var c = zt(), z = e.child(c, !0);
963
- e.reset(c);
964
- var B = {};
1784
+ function N() {
1785
+ const u = t.settings ?? { model: F, channel: d };
1786
+ e.set(_, u.model.providerUrl, !0), e.set(f, u.model.apiKey, !0), e.set(r, u.model.modelName, !0), e.set(w, u.channel.type, !0), e.set(g, u.channel.token, !0), e.set(S, u.channel.channelId, !0);
1787
+ }
1788
+ var x = xa(), p = e.child(x), m = e.sibling(e.child(p), 2), A = e.sibling(e.child(m), 2);
1789
+ e.remove_input_defaults(A), e.reset(m);
1790
+ var v = e.sibling(m, 2), h = e.sibling(e.child(v), 2), l = e.child(h);
1791
+ e.remove_input_defaults(l);
1792
+ var a = e.sibling(l, 2), s = e.child(a, !0);
1793
+ e.reset(a), e.reset(h), e.reset(v);
1794
+ var D = e.sibling(v, 2), c = e.sibling(e.child(D), 2);
1795
+ e.remove_input_defaults(c), e.reset(D), e.reset(p);
1796
+ var k = e.sibling(p, 2), M = e.sibling(e.child(k), 2), B = e.sibling(e.child(M), 2);
1797
+ e.each(B, 21, () => I, e.index, (u, G) => {
1798
+ var T = pa(), C = e.child(T, !0);
1799
+ e.reset(T);
1800
+ var R = {};
965
1801
  e.template_effect(() => {
966
- e.set_text(z, e.get(q).label), B !== (B = e.get(q).value) && (c.value = (c.__value = e.get(q).value) ?? "");
967
- }), e.append(r, c);
968
- }), e.reset(j), e.reset(K);
969
- var Y = e.sibling(K, 2);
1802
+ e.set_text(C, e.get(G).label), R !== (R = e.get(G).value) && (T.value = (T.__value = e.get(G).value) ?? "");
1803
+ }), e.append(u, T);
1804
+ }), e.reset(B), e.reset(M);
1805
+ var j = e.sibling(M, 2);
970
1806
  {
971
- var X = (r) => {
972
- var q = Ct(), c = e.first_child(q), z = e.sibling(e.child(c), 2);
973
- e.remove_input_defaults(z), e.reset(c);
974
- var B = e.sibling(c, 2);
1807
+ var W = (u) => {
1808
+ var G = ba(), T = e.first_child(G), C = e.sibling(e.child(T), 2);
1809
+ e.remove_input_defaults(C), e.reset(T);
1810
+ var R = e.sibling(T, 2);
975
1811
  {
976
- var a = (s) => {
977
- var n = Pt(), u = e.sibling(e.child(n), 2);
978
- e.remove_input_defaults(u), e.reset(n), e.bind_value(u, () => e.get(P), (T) => e.set(P, T)), e.append(s, n);
1812
+ var o = (i) => {
1813
+ var b = ma(), z = e.sibling(e.child(b), 2);
1814
+ e.remove_input_defaults(z), e.reset(b), e.bind_value(z, () => e.get(S), (E) => e.set(S, E)), e.append(i, b);
979
1815
  };
980
- e.if(B, (s) => {
981
- e.get(C) && s(a);
1816
+ e.if(R, (i) => {
1817
+ e.get(y) && i(o);
982
1818
  });
983
1819
  }
984
- e.bind_value(z, () => e.get(v), (s) => e.set(v, s)), e.append(r, q);
1820
+ e.bind_value(C, () => e.get(g), (i) => e.set(g, i)), e.append(u, G);
985
1821
  };
986
- e.if(Y, (r) => {
987
- e.get(w) !== "none" && r(X);
1822
+ e.if(j, (u) => {
1823
+ e.get(w) !== "none" && u(W);
988
1824
  });
989
1825
  }
990
- e.reset(E);
991
- var D = e.sibling(E, 2), N = e.child(D), V = e.sibling(N, 2);
992
- e.reset(D), e.reset(b), e.template_effect(() => {
993
- e.set_class(b, 1, `settings-panel ${l() ?? ""}`, "svelte-1igku3k"), e.set_attribute(i, "type", e.get(R) ? "text" : "password"), e.set_attribute(_, "aria-label", e.get(R) ? "Hide API key" : "Show API key"), e.set_text(k, e.get(R) ? "🙈" : "👁");
994
- }), e.bind_value(L, () => e.get(x), (r) => e.set(x, r)), e.bind_value(i, () => e.get(y), (r) => e.set(y, r)), e.delegated("click", _, () => e.set(R, !e.get(R))), e.bind_value(o, () => e.get(p), (r) => e.set(p, r)), e.bind_select_value(j, () => e.get(w), (r) => e.set(w, r)), e.delegated("click", N, I), e.delegated("click", V, U), e.append(H, b), e.pop();
1826
+ e.reset(k);
1827
+ var O = e.sibling(k, 2), L = e.child(O), U = e.sibling(L, 2);
1828
+ e.reset(O), e.reset(x), e.template_effect(() => {
1829
+ e.set_class(x, 1, `settings-panel ${n() ?? ""}`, "svelte-1igku3k"), e.set_attribute(l, "type", e.get(H) ? "text" : "password"), e.set_attribute(a, "aria-label", e.get(H) ? "Hide API key" : "Show API key"), e.set_text(s, e.get(H) ? "🙈" : "👁");
1830
+ }), e.bind_value(A, () => e.get(_), (u) => e.set(_, u)), e.bind_value(l, () => e.get(f), (u) => e.set(f, u)), e.delegated("click", a, () => e.set(H, !e.get(H))), e.bind_value(c, () => e.get(r), (u) => e.set(r, u)), e.bind_select_value(B, () => e.get(w), (u) => e.set(w, u)), e.delegated("click", L, N), e.delegated("click", U, P), e.append(K, x), e.pop();
995
1831
  }
996
1832
  e.delegate(["click"]);
997
- var Dt = e.from_html('<p class="proc-editor__empty svelte-nac98f">No procedures yet. Click "+ Add" to create one.</p>'), Et = e.from_html('<input class="proc-editor__name-input svelte-nac98f" type="text" aria-label="Procedure name"/>'), At = e.from_html('<span class="proc-editor__name svelte-nac98f"> </span>'), It = e.from_html('<span class="proc-editor__desc svelte-nac98f"> </span>'), Lt = e.from_html('<div class="proc-editor__item-fields svelte-nac98f"><label class="proc-editor__field svelte-nac98f"><span class="proc-editor__field-label svelte-nac98f">Event Type</span> <input class="proc-editor__field-input svelte-nac98f" type="text" placeholder="message" aria-label="Event type"/></label> <label class="proc-editor__field svelte-nac98f"><span class="proc-editor__field-label svelte-nac98f">Priority</span> <input class="proc-editor__field-input proc-editor__field-input--narrow svelte-nac98f" type="number" min="0" max="999" aria-label="Priority"/></label></div>'), St = e.from_html('<div class="proc-editor__item-meta svelte-nac98f"><span class="proc-editor__chip svelte-nac98f"> </span> <span class="proc-editor__chip svelte-nac98f"> </span></div>'), Ut = e.from_html('<div role="listitem"><div class="proc-editor__item-main svelte-nac98f"><!> <div class="proc-editor__item-info svelte-nac98f"><!> <!></div> <div class="proc-editor__item-actions svelte-nac98f"><button class="proc-editor__icon-btn svelte-nac98f" type="button" aria-label="Edit procedure" title="Edit">✏️</button> <button class="proc-editor__icon-btn proc-editor__icon-btn--danger svelte-nac98f" type="button" aria-label="Delete procedure" title="Delete">🗑</button></div></div> <!></div>'), Bt = e.from_html('<div aria-label="Procedure editor"><div class="proc-editor__header svelte-nac98f"><h3 class="proc-editor__title svelte-nac98f">Procedures</h3> <button class="proc-editor__add-btn svelte-nac98f" type="button" aria-label="Add procedure">+ Add</button></div> <div class="proc-editor__list svelte-nac98f" role="list"><!></div></div>');
998
- function da(H, t) {
1833
+ var ya = e.from_html('<p class="proc-editor__empty svelte-nac98f">No procedures yet. Click "+ Add" to create one.</p>'), wa = e.from_html('<input class="proc-editor__name-input svelte-nac98f" type="text" aria-label="Procedure name"/>'), ka = e.from_html('<span class="proc-editor__name svelte-nac98f"> </span>'), Ta = e.from_html('<span class="proc-editor__desc svelte-nac98f"> </span>'), za = e.from_html('<div class="proc-editor__item-fields svelte-nac98f"><label class="proc-editor__field svelte-nac98f"><span class="proc-editor__field-label svelte-nac98f">Event Type</span> <input class="proc-editor__field-input svelte-nac98f" type="text" placeholder="message" aria-label="Event type"/></label> <label class="proc-editor__field svelte-nac98f"><span class="proc-editor__field-label svelte-nac98f">Priority</span> <input class="proc-editor__field-input proc-editor__field-input--narrow svelte-nac98f" type="number" min="0" max="999" aria-label="Priority"/></label></div>'), Ma = e.from_html('<div class="proc-editor__item-meta svelte-nac98f"><span class="proc-editor__chip svelte-nac98f"> </span> <span class="proc-editor__chip svelte-nac98f"> </span></div>'), Ca = e.from_html('<div role="listitem"><div class="proc-editor__item-main svelte-nac98f"><!> <div class="proc-editor__item-info svelte-nac98f"><!> <!></div> <div class="proc-editor__item-actions svelte-nac98f"><button class="proc-editor__icon-btn svelte-nac98f" type="button" aria-label="Edit procedure" title="Edit">✏️</button> <button class="proc-editor__icon-btn proc-editor__icon-btn--danger svelte-nac98f" type="button" aria-label="Delete procedure" title="Delete">🗑</button></div></div> <!></div>'), Da = e.from_html('<div aria-label="Procedure editor"><div class="proc-editor__header svelte-nac98f"><h3 class="proc-editor__title svelte-nac98f">Procedures</h3> <button class="proc-editor__add-btn svelte-nac98f" type="button" aria-label="Add procedure">+ Add</button></div> <div class="proc-editor__list svelte-nac98f" role="list"><!></div></div>');
1834
+ function cs(K, t) {
999
1835
  e.push(t, !0);
1000
- let S = e.prop(t, "procedures", 27, () => e.proxy([])), f = e.prop(t, "class", 3, ""), l = e.state(e.proxy(S().map((h) => ({ ...h })))), x = e.state(null);
1001
- function y() {
1002
- var h;
1003
- (h = t.onchange) == null || h.call(t, e.get(l).map((m) => ({ ...m })));
1836
+ let F = e.prop(t, "procedures", 27, () => e.proxy([])), d = e.prop(t, "class", 3, ""), n = e.state(e.proxy(F().map((v) => ({ ...v })))), _ = e.state(null);
1837
+ function f() {
1838
+ var v;
1839
+ (v = t.onchange) == null || v.call(t, e.get(n).map((h) => ({ ...h })));
1004
1840
  }
1005
- function p(h, m) {
1006
- e.set(l, e.get(l).map((i) => i.id === h ? { ...i, enabled: m } : i), !0), y();
1841
+ function r(v, h) {
1842
+ e.set(n, e.get(n).map((l) => l.id === v ? { ...l, enabled: h } : l), !0), f();
1007
1843
  }
1008
- function w(h, m) {
1009
- e.set(l, e.get(l).map((i) => i.id === h ? { ...i, eventType: m } : i), !0);
1844
+ function w(v, h) {
1845
+ e.set(n, e.get(n).map((l) => l.id === v ? { ...l, eventType: h } : l), !0);
1010
1846
  }
1011
- function v(h, m) {
1012
- const i = parseInt(m, 10);
1013
- isNaN(i) || e.set(l, e.get(l).map((_) => _.id === h ? { ..._, priority: i } : _), !0);
1847
+ function g(v, h) {
1848
+ const l = parseInt(h, 10);
1849
+ isNaN(l) || e.set(n, e.get(n).map((a) => a.id === v ? { ...a, priority: l } : a), !0);
1014
1850
  }
1015
- function P(h) {
1016
- e.set(x, null), y();
1851
+ function S(v) {
1852
+ e.set(_, null), f();
1017
1853
  }
1018
- function R(h) {
1019
- e.set(l, e.get(l).filter((m) => m.id !== h), !0), e.get(x) === h && e.set(x, null), y();
1854
+ function H(v) {
1855
+ e.set(n, e.get(n).filter((h) => h.id !== v), !0), e.get(_) === v && e.set(_, null), f();
1020
1856
  }
1021
- function M() {
1022
- const h = typeof crypto < "u" && typeof crypto.randomUUID == "function" ? `proc-${crypto.randomUUID()}` : `proc-${Date.now()}-${Math.random().toString(36).slice(2)}`, m = {
1023
- id: h,
1857
+ function I() {
1858
+ const v = typeof crypto < "u" && typeof crypto.randomUUID == "function" ? `proc-${crypto.randomUUID()}` : `proc-${Date.now()}-${Math.random().toString(36).slice(2)}`, h = {
1859
+ id: v,
1024
1860
  name: "New Procedure",
1025
1861
  enabled: !0,
1026
1862
  eventType: "message",
1027
1863
  priority: 0
1028
1864
  };
1029
- e.set(l, [...e.get(l), m], !0), e.set(x, h, !0), y();
1865
+ e.set(n, [...e.get(n), h], !0), e.set(_, v, !0), f();
1030
1866
  }
1031
- var C = Bt(), U = e.child(C), I = e.sibling(e.child(U), 2);
1032
- e.reset(U);
1033
- var b = e.sibling(U, 2), g = e.child(b);
1867
+ var y = Da(), P = e.child(y), N = e.sibling(e.child(P), 2);
1868
+ e.reset(P);
1869
+ var x = e.sibling(P, 2), p = e.child(x);
1034
1870
  {
1035
- var d = (h) => {
1036
- var m = Dt();
1037
- e.append(h, m);
1038
- }, L = (h) => {
1039
- var m = e.comment(), i = e.first_child(m);
1040
- e.each(i, 17, () => e.get(l), (_) => _.id, (_, k) => {
1041
- var G = Ut();
1042
- let o;
1043
- var E = e.child(G), K = e.child(E);
1044
- Ge(K, {
1871
+ var m = (v) => {
1872
+ var h = ya();
1873
+ e.append(v, h);
1874
+ }, A = (v) => {
1875
+ var h = e.comment(), l = e.first_child(h);
1876
+ e.each(l, 17, () => e.get(n), (a) => a.id, (a, s) => {
1877
+ var D = Ca();
1878
+ let c;
1879
+ var k = e.child(D), M = e.child(k);
1880
+ lt(M, {
1045
1881
  get checked() {
1046
- return e.get(k).enabled;
1882
+ return e.get(s).enabled;
1047
1883
  },
1048
- onchange: (s) => p(e.get(k).id, s)
1884
+ onchange: (i) => r(e.get(s).id, i)
1049
1885
  });
1050
- var j = e.sibling(K, 2), Y = e.child(j);
1886
+ var B = e.sibling(M, 2), j = e.child(B);
1051
1887
  {
1052
- var X = (s) => {
1053
- var n = Et();
1054
- e.remove_input_defaults(n), e.template_effect(() => e.set_value(n, e.get(k).name)), e.delegated("input", n, (u) => {
1055
- const T = u.target.value;
1056
- e.set(l, e.get(l).map((O) => O.id === e.get(k).id ? { ...O, name: T } : O), !0);
1057
- }), e.event("blur", n, () => P(e.get(k).id)), e.delegated("keydown", n, (u) => u.key === "Enter" && P(e.get(k).id)), e.append(s, n);
1058
- }, D = (s) => {
1059
- var n = At(), u = e.child(n, !0);
1060
- e.reset(n), e.template_effect(() => e.set_text(u, e.get(k).name)), e.append(s, n);
1888
+ var W = (i) => {
1889
+ var b = wa();
1890
+ e.remove_input_defaults(b), e.template_effect(() => e.set_value(b, e.get(s).name)), e.delegated("input", b, (z) => {
1891
+ const E = z.target.value;
1892
+ e.set(n, e.get(n).map((q) => q.id === e.get(s).id ? { ...q, name: E } : q), !0);
1893
+ }), e.event("blur", b, () => S(e.get(s).id)), e.delegated("keydown", b, (z) => z.key === "Enter" && S(e.get(s).id)), e.append(i, b);
1894
+ }, O = (i) => {
1895
+ var b = ka(), z = e.child(b, !0);
1896
+ e.reset(b), e.template_effect(() => e.set_text(z, e.get(s).name)), e.append(i, b);
1061
1897
  };
1062
- e.if(Y, (s) => {
1063
- e.get(x) === e.get(k).id ? s(X) : s(D, !1);
1898
+ e.if(j, (i) => {
1899
+ e.get(_) === e.get(s).id ? i(W) : i(O, !1);
1064
1900
  });
1065
1901
  }
1066
- var N = e.sibling(Y, 2);
1902
+ var L = e.sibling(j, 2);
1067
1903
  {
1068
- var V = (s) => {
1069
- var n = It(), u = e.child(n, !0);
1070
- e.reset(n), e.template_effect(() => e.set_text(u, e.get(k).description)), e.append(s, n);
1904
+ var U = (i) => {
1905
+ var b = Ta(), z = e.child(b, !0);
1906
+ e.reset(b), e.template_effect(() => e.set_text(z, e.get(s).description)), e.append(i, b);
1071
1907
  };
1072
- e.if(N, (s) => {
1073
- e.get(k).description && s(V);
1908
+ e.if(L, (i) => {
1909
+ e.get(s).description && i(U);
1074
1910
  });
1075
1911
  }
1076
- e.reset(j);
1077
- var r = e.sibling(j, 2), q = e.child(r), c = e.sibling(q, 2);
1078
- e.reset(r), e.reset(E);
1079
- var z = e.sibling(E, 2);
1912
+ e.reset(B);
1913
+ var u = e.sibling(B, 2), G = e.child(u), T = e.sibling(G, 2);
1914
+ e.reset(u), e.reset(k);
1915
+ var C = e.sibling(k, 2);
1080
1916
  {
1081
- var B = (s) => {
1082
- var n = Lt(), u = e.child(n), T = e.sibling(e.child(u), 2);
1083
- e.remove_input_defaults(T), e.reset(u);
1084
- var O = e.sibling(u, 2), A = e.sibling(e.child(O), 2);
1085
- e.remove_input_defaults(A), e.reset(O), e.reset(n), e.template_effect(() => {
1086
- e.set_value(T, e.get(k).eventType), e.set_value(A, e.get(k).priority);
1087
- }), e.delegated("input", T, (F) => w(e.get(k).id, F.target.value)), e.delegated("input", A, (F) => v(e.get(k).id, F.target.value)), e.append(s, n);
1088
- }, a = (s) => {
1089
- var n = St(), u = e.child(n), T = e.child(u);
1090
- e.reset(u);
1091
- var O = e.sibling(u, 2), A = e.child(O);
1092
- e.reset(O), e.reset(n), e.template_effect(() => {
1093
- e.set_text(T, `⚡ ${e.get(k).eventType ?? ""}`), e.set_text(A, `↑ ${e.get(k).priority ?? ""}`);
1094
- }), e.append(s, n);
1917
+ var R = (i) => {
1918
+ var b = za(), z = e.child(b), E = e.sibling(e.child(z), 2);
1919
+ e.remove_input_defaults(E), e.reset(z);
1920
+ var q = e.sibling(z, 2), V = e.sibling(e.child(q), 2);
1921
+ e.remove_input_defaults(V), e.reset(q), e.reset(b), e.template_effect(() => {
1922
+ e.set_value(E, e.get(s).eventType), e.set_value(V, e.get(s).priority);
1923
+ }), e.delegated("input", E, (Y) => w(e.get(s).id, Y.target.value)), e.delegated("input", V, (Y) => g(e.get(s).id, Y.target.value)), e.append(i, b);
1924
+ }, o = (i) => {
1925
+ var b = Ma(), z = e.child(b), E = e.child(z);
1926
+ e.reset(z);
1927
+ var q = e.sibling(z, 2), V = e.child(q);
1928
+ e.reset(q), e.reset(b), e.template_effect(() => {
1929
+ e.set_text(E, `⚡ ${e.get(s).eventType ?? ""}`), e.set_text(V, `↑ ${e.get(s).priority ?? ""}`);
1930
+ }), e.append(i, b);
1095
1931
  };
1096
- e.if(z, (s) => {
1097
- e.get(x) === e.get(k).id ? s(B) : s(a, !1);
1932
+ e.if(C, (i) => {
1933
+ e.get(_) === e.get(s).id ? i(R) : i(o, !1);
1098
1934
  });
1099
1935
  }
1100
- e.reset(G), e.template_effect(() => o = e.set_class(G, 1, "proc-editor__item svelte-nac98f", null, o, { "proc-editor__item--disabled": !e.get(k).enabled })), e.delegated("click", q, () => e.set(x, e.get(x) === e.get(k).id ? null : e.get(k).id, !0)), e.delegated("click", c, () => R(e.get(k).id)), e.append(_, G);
1101
- }), e.append(h, m);
1936
+ e.reset(D), e.template_effect(() => c = e.set_class(D, 1, "proc-editor__item svelte-nac98f", null, c, { "proc-editor__item--disabled": !e.get(s).enabled })), e.delegated("click", G, () => e.set(_, e.get(_) === e.get(s).id ? null : e.get(s).id, !0)), e.delegated("click", T, () => H(e.get(s).id)), e.append(a, D);
1937
+ }), e.append(v, h);
1102
1938
  };
1103
- e.if(g, (h) => {
1104
- e.get(l).length === 0 ? h(d) : h(L, !1);
1939
+ e.if(p, (v) => {
1940
+ e.get(n).length === 0 ? v(m) : v(A, !1);
1105
1941
  });
1106
1942
  }
1107
- e.reset(b), e.reset(C), e.template_effect(() => e.set_class(C, 1, `proc-editor ${f() ?? ""}`, "svelte-nac98f")), e.delegated("click", I, M), e.append(H, C), e.pop();
1943
+ e.reset(x), e.reset(y), e.template_effect(() => e.set_class(y, 1, `proc-editor ${d() ?? ""}`, "svelte-nac98f")), e.delegated("click", N, I), e.append(K, y), e.pop();
1108
1944
  }
1109
1945
  e.delegate(["click", "input", "keydown"]);
1110
- var Ft = e.from_svg('<svg viewBox="0 0 12 12" fill="none" aria-hidden="true" width="12" height="12"><path d="M2 6l3 3 5-5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg>'), Ht = e.from_html('<div class="wizard__step-connector svelte-nud89b" aria-hidden="true"><div class="wizard__step-connector-fill svelte-nud89b"></div></div>'), Rt = e.from_html('<div role="listitem"><div class="wizard__step-dot svelte-nud89b"><!></div> <span class="wizard__step-label svelte-nud89b"> </span></div> <!>', 1), Kt = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Name your agent</h2> <p class="wizard__step-desc svelte-nud89b">Give your agent a unique name. You can change this later in settings.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Agent Name</span> <input class="wizard__input svelte-nud89b" type="text" placeholder="e.g. praxis" aria-label="Agent name"/></label></div>'), Ot = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Pick a model</h2> <p class="wizard__step-desc svelte-nud89b">Connect to an LLM provider. Ollama running locally is a great start.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Provider URL</span> <input class="wizard__input svelte-nud89b" type="url" placeholder="http://localhost:11434" aria-label="Provider URL"/></label> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">API Key <span class="wizard__optional svelte-nud89b">(optional)</span></span> <div class="wizard__input-row svelte-nud89b"><input class="wizard__input svelte-nud89b" placeholder="sk-…" autocomplete="off" aria-label="API key"/> <button class="wizard__toggle-btn svelte-nud89b" type="button"> </button></div></label> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Model Name</span> <input class="wizard__input svelte-nud89b" type="text" placeholder="llama3.2" aria-label="Model name"/></label></div>'), qt = e.from_html('<option class="svelte-nud89b"> </option>'), Vt = e.from_html('<label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Bot Token</span> <input class="wizard__input svelte-nud89b" type="password" placeholder="Token…" autocomplete="off" aria-label="Bot token"/></label>'), jt = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Connect a channel</h2> <p class="wizard__step-desc svelte-nud89b">Give your agent a place to talk. You can skip this and add channels later.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Channel Type</span> <select class="wizard__select svelte-nud89b" aria-label="Channel type"></select></label> <!></div>'), Gt = e.from_html(`<div class="wizard__step-content wizard__step-content--done svelte-nud89b"><div class="wizard__done-icon svelte-nud89b" aria-hidden="true">🎉</div> <h2 class="wizard__step-heading svelte-nud89b">You're all set!</h2> <p class="wizard__step-desc svelte-nud89b"><strong> </strong> is ready. You can adjust model and channel settings
1111
- at any time from the settings panel.</p> <dl class="wizard__summary svelte-nud89b"><dt class="svelte-nud89b">Agent</dt> <dd class="svelte-nud89b"> </dd> <dt class="svelte-nud89b">Model</dt> <dd class="svelte-nud89b"> </dd> <dt class="svelte-nud89b">Channel</dt><dd class="svelte-nud89b"> </dd></dl></div>`), Yt = e.from_html('<button class="wizard__btn wizard__btn--ghost svelte-nud89b" type="button">← Back</button>'), Jt = e.from_html("<div></div>"), Wt = e.from_html('<button class="wizard__btn wizard__btn--solid svelte-nud89b" type="button"> </button>'), Qt = e.from_html('<div aria-label="First run setup wizard"><div class="wizard__steps svelte-nud89b" role="list"></div> <div class="wizard__body svelte-nud89b"><!></div> <div class="wizard__nav svelte-nud89b"><!> <!></div></div>');
1112
- function oa(H, t) {
1946
+ var Ea = e.from_svg('<svg viewBox="0 0 12 12" fill="none" aria-hidden="true" width="12" height="12"><path d="M2 6l3 3 5-5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg>'), Sa = e.from_html('<div class="wizard__step-connector svelte-nud89b" aria-hidden="true"><div class="wizard__step-connector-fill svelte-nud89b"></div></div>'), Pa = e.from_html('<div role="listitem"><div class="wizard__step-dot svelte-nud89b"><!></div> <span class="wizard__step-label svelte-nud89b"> </span></div> <!>', 1), Ia = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Name your agent</h2> <p class="wizard__step-desc svelte-nud89b">Give your agent a unique name. You can change this later in settings.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Agent Name</span> <input class="wizard__input svelte-nud89b" type="text" placeholder="e.g. praxis" aria-label="Agent name"/></label></div>'), Na = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Pick a model</h2> <p class="wizard__step-desc svelte-nud89b">Connect to an LLM provider. Ollama running locally is a great start.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Provider URL</span> <input class="wizard__input svelte-nud89b" type="url" placeholder="http://localhost:11434" aria-label="Provider URL"/></label> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">API Key <span class="wizard__optional svelte-nud89b">(optional)</span></span> <div class="wizard__input-row svelte-nud89b"><input class="wizard__input svelte-nud89b" placeholder="sk-…" autocomplete="off" aria-label="API key"/> <button class="wizard__toggle-btn svelte-nud89b" type="button"> </button></div></label> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Model Name</span> <input class="wizard__input svelte-nud89b" type="text" placeholder="llama3.2" aria-label="Model name"/></label></div>'), La = e.from_html('<option class="svelte-nud89b"> </option>'), Aa = e.from_html('<label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Bot Token</span> <input class="wizard__input svelte-nud89b" type="password" placeholder="Token…" autocomplete="off" aria-label="Bot token"/></label>'), Ba = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Connect a channel</h2> <p class="wizard__step-desc svelte-nud89b">Give your agent a place to talk. You can skip this and add channels later.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Channel Type</span> <select class="wizard__select svelte-nud89b" aria-label="Channel type"></select></label> <!></div>'), Ua = e.from_html(`<div class="wizard__step-content wizard__step-content--done svelte-nud89b"><div class="wizard__done-icon svelte-nud89b" aria-hidden="true">🎉</div> <h2 class="wizard__step-heading svelte-nud89b">You're all set!</h2> <p class="wizard__step-desc svelte-nud89b"><strong> </strong> is ready. You can adjust model and channel settings
1947
+ at any time from the settings panel.</p> <dl class="wizard__summary svelte-nud89b"><dt class="svelte-nud89b">Agent</dt> <dd class="svelte-nud89b"> </dd> <dt class="svelte-nud89b">Model</dt> <dd class="svelte-nud89b"> </dd> <dt class="svelte-nud89b">Channel</dt><dd class="svelte-nud89b"> </dd></dl></div>`), Ra = e.from_html('<button class="wizard__btn wizard__btn--ghost svelte-nud89b" type="button">← Back</button>'), Fa = e.from_html("<div></div>"), Ha = e.from_html('<button class="wizard__btn wizard__btn--solid svelte-nud89b" type="button"> </button>'), Ka = e.from_html('<div aria-label="First run setup wizard"><div class="wizard__steps svelte-nud89b" role="list"></div> <div class="wizard__body svelte-nud89b"><!></div> <div class="wizard__nav svelte-nud89b"><!> <!></div></div>');
1948
+ function os(K, t) {
1113
1949
  e.push(t, !0);
1114
- let S = e.prop(t, "class", 3, ""), f = e.state("name"), l = e.state(""), x = e.state(""), y = e.state(""), p = e.state(""), w = e.state("none"), v = e.state("");
1115
- const P = ["name", "model", "channel", "done"], R = {
1950
+ let F = e.prop(t, "class", 3, ""), d = e.state("name"), n = e.state(""), _ = e.state(""), f = e.state(""), r = e.state(""), w = e.state("none"), g = e.state("");
1951
+ const S = ["name", "model", "channel", "done"], H = {
1116
1952
  name: "Name Agent",
1117
1953
  model: "Pick Model",
1118
1954
  channel: "Connect Channel",
1119
1955
  done: "Done"
1120
- }, M = e.derived(() => P.indexOf(e.get(f)));
1121
- e.derived(() => e.get(M) / (P.length - 1) * 100);
1122
- const C = e.derived(() => () => {
1123
- switch (e.get(f)) {
1956
+ }, I = e.derived(() => S.indexOf(e.get(d)));
1957
+ e.derived(() => e.get(I) / (S.length - 1) * 100);
1958
+ const y = e.derived(() => () => {
1959
+ switch (e.get(d)) {
1124
1960
  case "name":
1125
- return e.get(l).trim().length > 0;
1961
+ return e.get(n).trim().length > 0;
1126
1962
  case "model":
1127
- return e.get(p).trim().length > 0;
1963
+ return e.get(r).trim().length > 0;
1128
1964
  case "channel":
1129
1965
  return !0;
1130
1966
  case // channel is optional
@@ -1132,166 +1968,180 @@ function oa(H, t) {
1132
1968
  return !1;
1133
1969
  }
1134
1970
  });
1135
- function U() {
1136
- var N;
1137
- const D = P.indexOf(e.get(f));
1138
- D < P.length - 1 && e.set(f, P[D + 1], !0), e.get(f) === "done" && ((N = t.oncomplete) == null || N.call(t, {
1139
- agentName: e.get(l),
1140
- providerUrl: e.get(x),
1141
- apiKey: e.get(y),
1142
- modelName: e.get(p),
1971
+ function P() {
1972
+ var L;
1973
+ const O = S.indexOf(e.get(d));
1974
+ O < S.length - 1 && e.set(d, S[O + 1], !0), e.get(d) === "done" && ((L = t.oncomplete) == null || L.call(t, {
1975
+ agentName: e.get(n),
1976
+ providerUrl: e.get(_),
1977
+ apiKey: e.get(f),
1978
+ modelName: e.get(r),
1143
1979
  channelType: e.get(w),
1144
- channelToken: e.get(v)
1980
+ channelToken: e.get(g)
1145
1981
  }));
1146
1982
  }
1147
- function I() {
1148
- const D = P.indexOf(e.get(f));
1149
- D > 0 && e.set(f, P[D - 1], !0);
1983
+ function N() {
1984
+ const O = S.indexOf(e.get(d));
1985
+ O > 0 && e.set(d, S[O - 1], !0);
1150
1986
  }
1151
- const b = [
1987
+ const x = [
1152
1988
  { value: "none", label: "None" },
1153
1989
  { value: "discord", label: "Discord" },
1154
1990
  { value: "telegram", label: "Telegram" },
1155
1991
  { value: "slack", label: "Slack" },
1156
1992
  { value: "matrix", label: "Matrix" }
1157
1993
  ];
1158
- let g = e.state(!1);
1159
- var d = Qt(), L = e.child(d);
1160
- e.each(L, 21, () => P, e.index, (D, N, V) => {
1161
- var r = Rt(), q = e.first_child(r);
1162
- let c;
1163
- var z = e.child(q), B = e.child(z);
1994
+ let p = e.state(!1);
1995
+ var m = Ka(), A = e.child(m);
1996
+ e.each(A, 21, () => S, e.index, (O, L, U) => {
1997
+ var u = Pa(), G = e.first_child(u);
1998
+ let T;
1999
+ var C = e.child(G), R = e.child(C);
1164
2000
  {
1165
- var a = (A) => {
1166
- var F = Ft();
1167
- e.append(A, F);
1168
- }, s = (A) => {
1169
- var F = e.text();
1170
- F.nodeValue = V + 1, e.append(A, F);
2001
+ var o = (V) => {
2002
+ var Y = Ea();
2003
+ e.append(V, Y);
2004
+ }, i = (V) => {
2005
+ var Y = e.text();
2006
+ Y.nodeValue = U + 1, e.append(V, Y);
1171
2007
  };
1172
- e.if(B, (A) => {
1173
- V < e.get(M) ? A(a) : A(s, !1);
2008
+ e.if(R, (V) => {
2009
+ U < e.get(I) ? V(o) : V(i, !1);
1174
2010
  });
1175
2011
  }
1176
- e.reset(z);
1177
- var n = e.sibling(z, 2), u = e.child(n, !0);
1178
- e.reset(n), e.reset(q);
1179
- var T = e.sibling(q, 2);
2012
+ e.reset(C);
2013
+ var b = e.sibling(C, 2), z = e.child(b, !0);
2014
+ e.reset(b), e.reset(G);
2015
+ var E = e.sibling(G, 2);
1180
2016
  {
1181
- var O = (A) => {
1182
- var F = Ht(), J = e.child(F);
1183
- let W;
1184
- e.reset(F), e.template_effect(() => W = e.set_style(J, "", W, { width: V < e.get(M) ? "100%" : "0%" })), e.append(A, F);
2017
+ var q = (V) => {
2018
+ var Y = Sa(), J = e.child(Y);
2019
+ let Z;
2020
+ e.reset(Y), e.template_effect(() => Z = e.set_style(J, "", Z, { width: U < e.get(I) ? "100%" : "0%" })), e.append(V, Y);
1185
2021
  };
1186
- e.if(T, (A) => {
1187
- V < P.length - 1 && A(O);
2022
+ e.if(E, (V) => {
2023
+ U < S.length - 1 && V(q);
1188
2024
  });
1189
2025
  }
1190
2026
  e.template_effect(() => {
1191
- c = e.set_class(q, 1, "wizard__step svelte-nud89b", null, c, {
1192
- "wizard__step--active": e.get(N) === e.get(f),
1193
- "wizard__step--done": V < e.get(M)
1194
- }), e.set_attribute(q, "aria-current", e.get(N) === e.get(f) ? "step" : void 0), e.set_text(u, R[e.get(N)]);
1195
- }), e.append(D, r);
1196
- }), e.reset(L);
1197
- var h = e.sibling(L, 2), m = e.child(h);
2027
+ T = e.set_class(G, 1, "wizard__step svelte-nud89b", null, T, {
2028
+ "wizard__step--active": e.get(L) === e.get(d),
2029
+ "wizard__step--done": U < e.get(I)
2030
+ }), e.set_attribute(G, "aria-current", e.get(L) === e.get(d) ? "step" : void 0), e.set_text(z, H[e.get(L)]);
2031
+ }), e.append(O, u);
2032
+ }), e.reset(A);
2033
+ var v = e.sibling(A, 2), h = e.child(v);
1198
2034
  {
1199
- var i = (D) => {
1200
- var N = Kt(), V = e.sibling(e.child(N), 4), r = e.sibling(e.child(V), 2);
1201
- e.remove_input_defaults(r), e.reset(V), e.reset(N), e.delegated("keydown", r, (q) => q.key === "Enter" && e.get(C)() && U()), e.bind_value(r, () => e.get(l), (q) => e.set(l, q)), e.append(D, N);
1202
- }, _ = (D) => {
1203
- var N = Ot(), V = e.sibling(e.child(N), 4), r = e.sibling(e.child(V), 2);
1204
- e.remove_input_defaults(r), e.reset(V);
1205
- var q = e.sibling(V, 2), c = e.sibling(e.child(q), 2), z = e.child(c);
1206
- e.remove_input_defaults(z);
1207
- var B = e.sibling(z, 2), a = e.child(B, !0);
1208
- e.reset(B), e.reset(c), e.reset(q);
1209
- var s = e.sibling(q, 2), n = e.sibling(e.child(s), 2);
1210
- e.remove_input_defaults(n), e.reset(s), e.reset(N), e.template_effect(() => {
1211
- e.set_attribute(z, "type", e.get(g) ? "text" : "password"), e.set_attribute(B, "aria-label", e.get(g) ? "Hide API key" : "Show API key"), e.set_text(a, e.get(g) ? "🙈" : "👁");
1212
- }), e.bind_value(r, () => e.get(x), (u) => e.set(x, u)), e.bind_value(z, () => e.get(y), (u) => e.set(y, u)), e.delegated("click", B, () => e.set(g, !e.get(g))), e.delegated("keydown", n, (u) => u.key === "Enter" && e.get(C)() && U()), e.bind_value(n, () => e.get(p), (u) => e.set(p, u)), e.append(D, N);
1213
- }, k = (D) => {
1214
- var N = jt(), V = e.sibling(e.child(N), 4), r = e.sibling(e.child(V), 2);
1215
- e.each(r, 21, () => b, e.index, (z, B) => {
1216
- var a = qt(), s = e.child(a, !0);
1217
- e.reset(a);
1218
- var n = {};
2035
+ var l = (O) => {
2036
+ var L = Ia(), U = e.sibling(e.child(L), 4), u = e.sibling(e.child(U), 2);
2037
+ e.remove_input_defaults(u), e.reset(U), e.reset(L), e.delegated("keydown", u, (G) => G.key === "Enter" && e.get(y)() && P()), e.bind_value(u, () => e.get(n), (G) => e.set(n, G)), e.append(O, L);
2038
+ }, a = (O) => {
2039
+ var L = Na(), U = e.sibling(e.child(L), 4), u = e.sibling(e.child(U), 2);
2040
+ e.remove_input_defaults(u), e.reset(U);
2041
+ var G = e.sibling(U, 2), T = e.sibling(e.child(G), 2), C = e.child(T);
2042
+ e.remove_input_defaults(C);
2043
+ var R = e.sibling(C, 2), o = e.child(R, !0);
2044
+ e.reset(R), e.reset(T), e.reset(G);
2045
+ var i = e.sibling(G, 2), b = e.sibling(e.child(i), 2);
2046
+ e.remove_input_defaults(b), e.reset(i), e.reset(L), e.template_effect(() => {
2047
+ e.set_attribute(C, "type", e.get(p) ? "text" : "password"), e.set_attribute(R, "aria-label", e.get(p) ? "Hide API key" : "Show API key"), e.set_text(o, e.get(p) ? "🙈" : "👁");
2048
+ }), e.bind_value(u, () => e.get(_), (z) => e.set(_, z)), e.bind_value(C, () => e.get(f), (z) => e.set(f, z)), e.delegated("click", R, () => e.set(p, !e.get(p))), e.delegated("keydown", b, (z) => z.key === "Enter" && e.get(y)() && P()), e.bind_value(b, () => e.get(r), (z) => e.set(r, z)), e.append(O, L);
2049
+ }, s = (O) => {
2050
+ var L = Ba(), U = e.sibling(e.child(L), 4), u = e.sibling(e.child(U), 2);
2051
+ e.each(u, 21, () => x, e.index, (C, R) => {
2052
+ var o = La(), i = e.child(o, !0);
2053
+ e.reset(o);
2054
+ var b = {};
1219
2055
  e.template_effect(() => {
1220
- e.set_text(s, e.get(B).label), n !== (n = e.get(B).value) && (a.value = (a.__value = e.get(B).value) ?? "");
1221
- }), e.append(z, a);
1222
- }), e.reset(r), e.reset(V);
1223
- var q = e.sibling(V, 2);
2056
+ e.set_text(i, e.get(R).label), b !== (b = e.get(R).value) && (o.value = (o.__value = e.get(R).value) ?? "");
2057
+ }), e.append(C, o);
2058
+ }), e.reset(u), e.reset(U);
2059
+ var G = e.sibling(U, 2);
1224
2060
  {
1225
- var c = (z) => {
1226
- var B = Vt(), a = e.sibling(e.child(B), 2);
1227
- e.remove_input_defaults(a), e.reset(B), e.bind_value(a, () => e.get(v), (s) => e.set(v, s)), e.append(z, B);
2061
+ var T = (C) => {
2062
+ var R = Aa(), o = e.sibling(e.child(R), 2);
2063
+ e.remove_input_defaults(o), e.reset(R), e.bind_value(o, () => e.get(g), (i) => e.set(g, i)), e.append(C, R);
1228
2064
  };
1229
- e.if(q, (z) => {
1230
- e.get(w) !== "none" && z(c);
2065
+ e.if(G, (C) => {
2066
+ e.get(w) !== "none" && C(T);
1231
2067
  });
1232
2068
  }
1233
- e.reset(N), e.bind_select_value(r, () => e.get(w), (z) => e.set(w, z)), e.append(D, N);
1234
- }, G = (D) => {
1235
- var N = Gt(), V = e.sibling(e.child(N), 4), r = e.child(V), q = e.child(r, !0);
1236
- e.reset(r), e.next(), e.reset(V);
1237
- var c = e.sibling(V, 2), z = e.sibling(e.child(c), 2), B = e.child(z, !0);
1238
- e.reset(z);
1239
- var a = e.sibling(z, 4), s = e.child(a, !0);
1240
- e.reset(a);
1241
- var n = e.sibling(a, 3), u = e.child(n, !0);
1242
- e.reset(n), e.reset(c), e.reset(N), e.template_effect(() => {
1243
- e.set_text(q, e.get(l)), e.set_text(B, e.get(l)), e.set_text(s, e.get(p) || "—"), e.set_text(u, e.get(w) === "none" ? "None" : e.get(w));
1244
- }), e.append(D, N);
2069
+ e.reset(L), e.bind_select_value(u, () => e.get(w), (C) => e.set(w, C)), e.append(O, L);
2070
+ }, D = (O) => {
2071
+ var L = Ua(), U = e.sibling(e.child(L), 4), u = e.child(U), G = e.child(u, !0);
2072
+ e.reset(u), e.next(), e.reset(U);
2073
+ var T = e.sibling(U, 2), C = e.sibling(e.child(T), 2), R = e.child(C, !0);
2074
+ e.reset(C);
2075
+ var o = e.sibling(C, 4), i = e.child(o, !0);
2076
+ e.reset(o);
2077
+ var b = e.sibling(o, 3), z = e.child(b, !0);
2078
+ e.reset(b), e.reset(T), e.reset(L), e.template_effect(() => {
2079
+ e.set_text(G, e.get(n)), e.set_text(R, e.get(n)), e.set_text(i, e.get(r) || "—"), e.set_text(z, e.get(w) === "none" ? "None" : e.get(w));
2080
+ }), e.append(O, L);
1245
2081
  };
1246
- e.if(m, (D) => {
1247
- e.get(f) === "name" ? D(i) : e.get(f) === "model" ? D(_, 1) : e.get(f) === "channel" ? D(k, 2) : e.get(f) === "done" && D(G, 3);
2082
+ e.if(h, (O) => {
2083
+ e.get(d) === "name" ? O(l) : e.get(d) === "model" ? O(a, 1) : e.get(d) === "channel" ? O(s, 2) : e.get(d) === "done" && O(D, 3);
1248
2084
  });
1249
2085
  }
1250
- e.reset(h);
1251
- var o = e.sibling(h, 2), E = e.child(o);
2086
+ e.reset(v);
2087
+ var c = e.sibling(v, 2), k = e.child(c);
1252
2088
  {
1253
- var K = (D) => {
1254
- var N = Yt();
1255
- e.template_effect(() => N.disabled = e.get(f) === "done"), e.delegated("click", N, I), e.append(D, N);
1256
- }, j = (D) => {
1257
- var N = Jt();
1258
- e.append(D, N);
2089
+ var M = (O) => {
2090
+ var L = Ra();
2091
+ e.template_effect(() => L.disabled = e.get(d) === "done"), e.delegated("click", L, N), e.append(O, L);
2092
+ }, B = (O) => {
2093
+ var L = Fa();
2094
+ e.append(O, L);
1259
2095
  };
1260
- e.if(E, (D) => {
1261
- e.get(f) !== "name" ? D(K) : D(j, !1);
2096
+ e.if(k, (O) => {
2097
+ e.get(d) !== "name" ? O(M) : O(B, !1);
1262
2098
  });
1263
2099
  }
1264
- var Y = e.sibling(E, 2);
2100
+ var j = e.sibling(k, 2);
1265
2101
  {
1266
- var X = (D) => {
1267
- var N = Wt(), V = e.child(N, !0);
1268
- e.reset(N), e.template_effect(
1269
- (r) => {
1270
- N.disabled = r, e.set_text(V, e.get(f) === "channel" && e.get(w) === "none" ? "Skip" : "Next →");
2102
+ var W = (O) => {
2103
+ var L = Ha(), U = e.child(L, !0);
2104
+ e.reset(L), e.template_effect(
2105
+ (u) => {
2106
+ L.disabled = u, e.set_text(U, e.get(d) === "channel" && e.get(w) === "none" ? "Skip" : "Next →");
1271
2107
  },
1272
- [() => !e.get(C)()]
1273
- ), e.delegated("click", N, U), e.append(D, N);
2108
+ [() => !e.get(y)()]
2109
+ ), e.delegated("click", L, P), e.append(O, L);
1274
2110
  };
1275
- e.if(Y, (D) => {
1276
- e.get(f) !== "done" && D(X);
2111
+ e.if(j, (O) => {
2112
+ e.get(d) !== "done" && O(W);
1277
2113
  });
1278
2114
  }
1279
- e.reset(o), e.reset(d), e.template_effect(() => e.set_class(d, 1, `wizard ${S() ?? ""}`, "svelte-nud89b")), e.append(H, d), e.pop();
2115
+ e.reset(c), e.reset(m), e.template_effect(() => e.set_class(m, 1, `wizard ${F() ?? ""}`, "svelte-nud89b")), e.append(K, m), e.pop();
1280
2116
  }
1281
2117
  e.delegate(["keydown", "click"]);
1282
2118
  export {
1283
- $t as Button,
1284
- ia as ChatInput,
1285
- ta as ChatPane,
1286
- la as ChatView,
1287
- oa as FirstRunWizard,
1288
- ea as GlassPanel,
1289
- na as MemorySidebar,
1290
- sa as NerdFont,
1291
- da as ProcedureEditor,
1292
- aa as SearchInput,
1293
- ra as SettingsPanel,
1294
- Ge as Toggle,
1295
- Ke as provideTui,
1296
- me as useTui
2119
+ Ja as Box,
2120
+ Va as Button,
2121
+ ns as ChatInput,
2122
+ ss as ChatPane,
2123
+ is as ChatView,
2124
+ os as FirstRunWizard,
2125
+ yt as GlassPanel,
2126
+ qa as Input,
2127
+ ts as List,
2128
+ Vt as ListItem,
2129
+ rs as MemorySidebar,
2130
+ ls as NerdFont,
2131
+ as as Pane,
2132
+ cs as ProcedureEditor,
2133
+ He as SPRING_PRESETS,
2134
+ Wa as SearchInput,
2135
+ Ga as Select,
2136
+ ds as SettingsPanel,
2137
+ Qa as SplitPane,
2138
+ Xa as StatusBar,
2139
+ Za as StatusBarItem,
2140
+ $a as StatusBarSpacer,
2141
+ es as Table,
2142
+ Ya as Text,
2143
+ lt as Toggle,
2144
+ ge as createSpring,
2145
+ pe as provideTui,
2146
+ ie as useTui
1297
2147
  };