@feedmepos/mf-miniprogram-v2 0.1.0-dev.33 → 0.1.0-dev.34

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.
@@ -1,7 +1,7 @@
1
1
  var Bi = Object.defineProperty;
2
2
  var Fi = (t, e, n) => e in t ? Bi(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
3
  var be = (t, e, n) => Fi(t, typeof e != "symbol" ? e + "" : e, n);
4
- import { defineComponent as pt, ref as ae, computed as B, resolveComponent as je, openBlock as h, createElementBlock as _, normalizeClass as Ae, createElementVNode as f, createVNode as W, toDisplayString as I, createTextVNode as Ke, createCommentVNode as j, watch as Ot, createBlock as Se, Fragment as Te, renderList as Re, normalizeStyle as Pt, reactive as qn, nextTick as $n, onBeforeUnmount as ar, withModifiers as Zn, unref as O, withDirectives as Yn, vModelText as Xn, renderSlot as Ui, onMounted as Rn, withCtx as gt, withKeys as ji } from "vue";
4
+ import { defineComponent as pt, ref as ae, computed as B, resolveComponent as je, openBlock as h, createElementBlock as _, normalizeClass as Ae, createElementVNode as f, createVNode as W, toDisplayString as I, createTextVNode as Ke, createCommentVNode as U, watch as Ot, createBlock as Se, Fragment as Te, renderList as Re, normalizeStyle as Pt, reactive as qn, nextTick as $n, onBeforeUnmount as ar, withModifiers as Zn, unref as O, withDirectives as Yn, vModelText as Xn, renderSlot as Ui, onMounted as Rn, withCtx as gt, withKeys as ji } from "vue";
5
5
  import { useCoreStore as Br, FeedMeAuth as Hi } from "@feedmepos/mf-common";
6
6
  import { useDialog as ba } from "@feedmepos/ui-library";
7
7
  import { _ as Mt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
@@ -211,17 +211,17 @@ ${p}` : p;
211
211
  let y = this.rules.other.nextBulletRegex(c), w = this.rules.other.hrRegex(c), T = this.rules.other.fencesBeginRegex(c), x = this.rules.other.headingBeginRegex(c), $ = this.rules.other.htmlBeginRegex(c), C = this.rules.other.blockquoteBeginRegex(c);
212
212
  for (; t; ) {
213
213
  let M = t.split(`
214
- `, 1)[0], U;
215
- if (m = M, this.options.pedantic ? (m = m.replace(this.rules.other.listReplaceNesting, " "), U = m) : U = m.replace(this.rules.other.tabCharGlobal, " "), T.test(m) || x.test(m) || $.test(m) || C.test(m) || y.test(m) || w.test(m)) break;
216
- if (U.search(this.rules.other.nonSpaceChar) >= c || !m.trim()) p += `
217
- ` + U.slice(c);
214
+ `, 1)[0], j;
215
+ if (m = M, this.options.pedantic ? (m = m.replace(this.rules.other.listReplaceNesting, " "), j = m) : j = m.replace(this.rules.other.tabCharGlobal, " "), T.test(m) || x.test(m) || $.test(m) || C.test(m) || y.test(m) || w.test(m)) break;
216
+ if (j.search(this.rules.other.nonSpaceChar) >= c || !m.trim()) p += `
217
+ ` + j.slice(c);
218
218
  else {
219
219
  if (S || v.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || T.test(v) || x.test(v) || w.test(v)) break;
220
220
  p += `
221
221
  ` + m;
222
222
  }
223
223
  S = !m.trim(), u += M + `
224
- `, t = t.substring(M.length + 1), v = U.slice(c);
224
+ `, t = t.substring(M.length + 1), v = j.slice(c);
225
225
  }
226
226
  }
227
227
  s.loose || (l ? s.loose = !0 : this.rules.other.doubleBlankLine.test(u) && (l = !0)), s.items.push({ type: "list_item", raw: u, task: !!this.options.gfm && this.rules.other.listIsTask.test(p), loose: !1, text: p, tokens: [] }), s.raw += u;
@@ -2200,7 +2200,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`), N = L, me = Y), re ==
2200
2200
  }
2201
2201
  re.name || (re.name = L), e[L] = re, re.rawDefinition = Y.bind(null, t), re.aliases && _e(re.aliases, { languageName: L });
2202
2202
  }
2203
- function U(L) {
2203
+ function j(L) {
2204
2204
  delete e[L];
2205
2205
  for (const Y of Object.keys(n))
2206
2206
  n[Y] === L && delete n[Y];
@@ -2258,7 +2258,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`), N = L, me = Y), re ==
2258
2258
  initHighlighting: T,
2259
2259
  initHighlightingOnLoad: x,
2260
2260
  registerLanguage: M,
2261
- unregisterLanguage: U,
2261
+ unregisterLanguage: j,
2262
2262
  listLanguages: ne,
2263
2263
  getLanguage: ee,
2264
2264
  registerAliases: _e,
@@ -2515,21 +2515,21 @@ function Wa() {
2515
2515
  const J = n.createElement("template");
2516
2516
  J.content && J.content.ownerDocument && (n = J.content.ownerDocument);
2517
2517
  }
2518
- let U, ne = "", ee, _e = !1, Ce = 0;
2518
+ let j, ne = "", ee, _e = !1, Ce = 0;
2519
2519
  const V = function() {
2520
2520
  if (Ce > 0)
2521
2521
  throw Xt('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');
2522
2522
  }, Q = function(d) {
2523
2523
  V(), Ce++;
2524
2524
  try {
2525
- return U.createHTML(d);
2525
+ return j.createHTML(d);
2526
2526
  } finally {
2527
2527
  Ce--;
2528
2528
  }
2529
2529
  }, pe = function(d) {
2530
2530
  V(), Ce++;
2531
2531
  try {
2532
- return U.createScriptURL(d);
2532
+ return j.createScriptURL(d);
2533
2533
  } finally {
2534
2534
  Ce--;
2535
2535
  }
@@ -2621,7 +2621,7 @@ function Wa() {
2621
2621
  const Ze = Oe({}, ["audio", "video", "img", "source", "image", "track"]);
2622
2622
  let xt = null;
2623
2623
  const g = Oe({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), E = "http://www.w3.org/1998/Math/MathML", Z = "http://www.w3.org/2000/svg", se = "http://www.w3.org/1999/xhtml";
2624
- let he = se, b = !1, z = null;
2624
+ let fe = se, b = !1, z = null;
2625
2625
  const De = Oe({}, [E, Z, se], vr), St = ut(["mi", "mo", "mn", "ms", "mtext"]);
2626
2626
  let G = Oe({}, St);
2627
2627
  const mt = ut(["annotation-xml"]);
@@ -2655,21 +2655,21 @@ function Wa() {
2655
2655
  transform: P
2656
2656
  }), de = Kt(d, "FORBID_ATTR", wt({}), {
2657
2657
  transform: P
2658
- }), K = st(d, "USE_PROFILES") ? d.USE_PROFILES && typeof d.USE_PROFILES == "object" ? wt(d.USE_PROFILES) : d.USE_PROFILES : !1, tt = d.ALLOW_ARIA_ATTR !== !1, Ge = d.ALLOW_DATA_ATTR !== !1, Ie = d.ALLOW_UNKNOWN_PROTOCOLS || !1, ht = d.ALLOW_SELF_CLOSE_IN_ATTR !== !1, We = d.SAFE_FOR_TEMPLATES || !1, vt = d.SAFE_FOR_XML !== !1, ot = d.WHOLE_DOCUMENT || !1, Ne = d.RETURN_DOM || !1, Xe = d.RETURN_DOM_FRAGMENT || !1, At = d.RETURN_TRUSTED_TYPE || !1, ke = d.FORCE_BODY || !1, Lt = d.SANITIZE_DOM !== !1, Dt = d.SANITIZE_NAMED_PROPS || !1, R = d.KEEP_CONTENT !== !1, H = d.IN_PLACE || !1, kt = Wl(d.ALLOWED_URI_REGEXP) ? d.ALLOWED_URI_REGEXP : Ws, he = typeof d.NAMESPACE == "string" ? d.NAMESPACE : se, G = st(d, "MATHML_TEXT_INTEGRATION_POINTS") && d.MATHML_TEXT_INTEGRATION_POINTS && typeof d.MATHML_TEXT_INTEGRATION_POINTS == "object" ? wt(d.MATHML_TEXT_INTEGRATION_POINTS) : Oe({}, St), Ut = st(d, "HTML_INTEGRATION_POINTS") && d.HTML_INTEGRATION_POINTS && typeof d.HTML_INTEGRATION_POINTS == "object" ? wt(d.HTML_INTEGRATION_POINTS) : Oe({}, mt);
2658
+ }), K = st(d, "USE_PROFILES") ? d.USE_PROFILES && typeof d.USE_PROFILES == "object" ? wt(d.USE_PROFILES) : d.USE_PROFILES : !1, tt = d.ALLOW_ARIA_ATTR !== !1, Ge = d.ALLOW_DATA_ATTR !== !1, Ie = d.ALLOW_UNKNOWN_PROTOCOLS || !1, ht = d.ALLOW_SELF_CLOSE_IN_ATTR !== !1, We = d.SAFE_FOR_TEMPLATES || !1, vt = d.SAFE_FOR_XML !== !1, ot = d.WHOLE_DOCUMENT || !1, Ne = d.RETURN_DOM || !1, Xe = d.RETURN_DOM_FRAGMENT || !1, At = d.RETURN_TRUSTED_TYPE || !1, ke = d.FORCE_BODY || !1, Lt = d.SANITIZE_DOM !== !1, Dt = d.SANITIZE_NAMED_PROPS || !1, R = d.KEEP_CONTENT !== !1, H = d.IN_PLACE || !1, kt = Wl(d.ALLOWED_URI_REGEXP) ? d.ALLOWED_URI_REGEXP : Ws, fe = typeof d.NAMESPACE == "string" ? d.NAMESPACE : se, G = st(d, "MATHML_TEXT_INTEGRATION_POINTS") && d.MATHML_TEXT_INTEGRATION_POINTS && typeof d.MATHML_TEXT_INTEGRATION_POINTS == "object" ? wt(d.MATHML_TEXT_INTEGRATION_POINTS) : Oe({}, St), Ut = st(d, "HTML_INTEGRATION_POINTS") && d.HTML_INTEGRATION_POINTS && typeof d.HTML_INTEGRATION_POINTS == "object" ? wt(d.HTML_INTEGRATION_POINTS) : Oe({}, mt);
2659
2659
  const A = st(d, "CUSTOM_ELEMENT_HANDLING") && d.CUSTOM_ELEMENT_HANDLING && typeof d.CUSTOM_ELEMENT_HANDLING == "object" ? wt(d.CUSTOM_ELEMENT_HANDLING) : mn(null);
2660
2660
  if (te = mn(null), st(A, "tagNameCheck") && is(A.tagNameCheck) && (te.tagNameCheck = A.tagNameCheck), st(A, "attributeNameCheck") && is(A.attributeNameCheck) && (te.attributeNameCheck = A.attributeNameCheck), st(A, "allowCustomizedBuiltInElements") && typeof A.allowCustomizedBuiltInElements == "boolean" && (te.allowCustomizedBuiltInElements = A.allowCustomizedBuiltInElements), dt(te), We && (Ge = !1), Xe && (Ne = !0), K && ($e = Oe({}, js), D = mn(null), K.html === !0 && (Oe($e, Us), Oe(D, Hs)), K.svg === !0 && (Oe($e, xr), Oe(D, kr), Oe(D, Fn)), K.svgFilters === !0 && (Oe($e, _r), Oe(D, kr), Oe(D, Fn)), K.mathMl === !0 && (Oe($e, wr), Oe(D, Gs), Oe(D, Fn))), le.tagCheck = null, le.attributeCheck = null, st(d, "ADD_TAGS") && (typeof d.ADD_TAGS == "function" ? le.tagCheck = d.ADD_TAGS : Vt(d.ADD_TAGS) && ($e === it && ($e = wt($e)), Oe($e, d.ADD_TAGS, P))), st(d, "ADD_ATTR") && (typeof d.ADD_ATTR == "function" ? le.attributeCheck = d.ADD_ATTR : Vt(d.ADD_ATTR) && (D === ie && (D = wt(D)), Oe(D, d.ADD_ATTR, P))), st(d, "ADD_URI_SAFE_ATTR") && Vt(d.ADD_URI_SAFE_ATTR) && Oe(xt, d.ADD_URI_SAFE_ATTR, P), st(d, "FORBID_CONTENTS") && Vt(d.FORBID_CONTENTS) && (oe === ve && (oe = wt(oe)), Oe(oe, d.FORBID_CONTENTS, P)), st(d, "ADD_FORBID_CONTENTS") && Vt(d.ADD_FORBID_CONTENTS) && (oe === ve && (oe = wt(oe)), Oe(oe, d.ADD_FORBID_CONTENTS, P)), R && ($e["#text"] = !0), ot && Oe($e, ["html", "head", "body"]), $e.table && (Oe($e, ["tbody"]), delete Ue.tbody), d.TRUSTED_TYPES_POLICY) {
2661
2661
  if (typeof d.TRUSTED_TYPES_POLICY.createHTML != "function")
2662
2662
  throw Xt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
2663
2663
  if (typeof d.TRUSTED_TYPES_POLICY.createScriptURL != "function")
2664
2664
  throw Xt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
2665
- const X = U;
2666
- U = d.TRUSTED_TYPES_POLICY;
2665
+ const X = j;
2666
+ j = d.TRUSTED_TYPES_POLICY;
2667
2667
  try {
2668
2668
  ne = Q("");
2669
- } catch (fe) {
2670
- throw U = X, fe;
2669
+ } catch (he) {
2670
+ throw j = X, he;
2671
2671
  }
2672
- } else d.TRUSTED_TYPES_POLICY === null ? (U = void 0, ne = "") : (U === void 0 && (U = we()), U && typeof ne == "string" && (ne = Q("")));
2672
+ } else d.TRUSTED_TYPES_POLICY === null ? (j = void 0, ne = "") : (j === void 0 && (j = we()), j && typeof ne == "string" && (ne = Q("")));
2673
2673
  ut && ut(d), lt = d;
2674
2674
  }, os = Oe({}, [...xr, ..._r, ...Kl]), ls = Oe({}, [...wr, ...Vl]), Ci = function(d, A, X) {
2675
2675
  return A.namespaceURI === se ? d === "svg" : A.namespaceURI === E ? d === "svg" && (X === "annotation-xml" || G[X]) : !!os[d];
@@ -2680,11 +2680,11 @@ function Wa() {
2680
2680
  }, Ii = function(d) {
2681
2681
  let A = T(d);
2682
2682
  (!A || !A.tagName) && (A = {
2683
- namespaceURI: he,
2683
+ namespaceURI: fe,
2684
2684
  tagName: "template"
2685
2685
  });
2686
- const X = Cn(d.tagName), fe = Cn(A.tagName);
2687
- return z[d.namespaceURI] ? d.namespaceURI === Z ? Ci(X, A, fe) : d.namespaceURI === E ? $i(X, A, fe) : d.namespaceURI === se ? Ri(X, A, fe) : !!($t === "application/xhtml+xml" && z[d.namespaceURI]) : !1;
2686
+ const X = Cn(d.tagName), he = Cn(A.tagName);
2687
+ return z[d.namespaceURI] ? d.namespaceURI === Z ? Ci(X, A, he) : d.namespaceURI === E ? $i(X, A, he) : d.namespaceURI === se ? Ri(X, A, he) : !!($t === "application/xhtml+xml" && z[d.namespaceURI]) : !1;
2688
2688
  }, Gt = function(d) {
2689
2689
  fn(e.removed, {
2690
2690
  element: d
@@ -2698,10 +2698,10 @@ function Wa() {
2698
2698
  }, cs = function(d) {
2699
2699
  const A = w(d);
2700
2700
  if (A) {
2701
- const fe = [];
2701
+ const he = [];
2702
2702
  wn(A, (Ee) => {
2703
- fn(fe, Ee);
2704
- }), wn(fe, (Ee) => {
2703
+ fn(he, Ee);
2704
+ }), wn(he, (Ee) => {
2705
2705
  try {
2706
2706
  c(Ee);
2707
2707
  } catch {
@@ -2710,8 +2710,8 @@ function Wa() {
2710
2710
  }
2711
2711
  const X = $(d);
2712
2712
  if (X)
2713
- for (let fe = X.length - 1; fe >= 0; --fe) {
2714
- const Ee = X[fe], Le = Ee && Ee.name;
2713
+ for (let he = X.length - 1; he >= 0; --he) {
2714
+ const Ee = X[he], Le = Ee && Ee.name;
2715
2715
  if (typeof Le == "string")
2716
2716
  try {
2717
2717
  d.removeAttribute(Le);
@@ -2745,7 +2745,7 @@ function Wa() {
2745
2745
  const A = $(d);
2746
2746
  if (A)
2747
2747
  for (let X = A.length - 1; X >= 0; --X) {
2748
- const fe = A[X], Ee = fe && fe.name;
2748
+ const he = A[X], Ee = he && he.name;
2749
2749
  if (!(typeof Ee != "string" || D[P(Ee)]))
2750
2750
  try {
2751
2751
  d.removeAttribute(Ee);
@@ -2770,22 +2770,22 @@ function Wa() {
2770
2770
  const Le = Ds(d, /^[\r\n\t ]+/);
2771
2771
  X = Le && Le[0];
2772
2772
  }
2773
- $t === "application/xhtml+xml" && he === se && (d = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + d + "</body></html>");
2774
- const fe = U ? Q(d) : d;
2775
- if (he === se)
2773
+ $t === "application/xhtml+xml" && fe === se && (d = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + d + "</body></html>");
2774
+ const he = j ? Q(d) : d;
2775
+ if (fe === se)
2776
2776
  try {
2777
- A = new p().parseFromString(fe, $t);
2777
+ A = new p().parseFromString(he, $t);
2778
2778
  } catch {
2779
2779
  }
2780
2780
  if (!A || !A.documentElement) {
2781
- A = L.createDocument(he, "template", null);
2781
+ A = L.createDocument(fe, "template", null);
2782
2782
  try {
2783
- A.documentElement.innerHTML = b ? ne : fe;
2783
+ A.documentElement.innerHTML = b ? ne : he;
2784
2784
  } catch {
2785
2785
  }
2786
2786
  }
2787
2787
  const Ee = A.body || A.documentElement;
2788
- return d && X && Ee.insertBefore(n.createTextNode(X), Ee.childNodes[0] || null), he === se ? me.call(A, ot ? "html" : "body")[0] : ot ? A.documentElement : Ee;
2788
+ return d && X && Ee.insertBefore(n.createTextNode(X), Ee.childNodes[0] || null), fe === se ? me.call(A, ot ? "html" : "body")[0] : ot ? A.documentElement : Ee;
2789
2789
  }, ds = function(d) {
2790
2790
  return Y.call(
2791
2791
  d.ownerDocument || d,
@@ -2806,9 +2806,9 @@ function Wa() {
2806
2806
  i.SHOW_TEXT | i.SHOW_COMMENT | i.SHOW_CDATA_SECTION | i.SHOW_PROCESSING_INSTRUCTION,
2807
2807
  null
2808
2808
  );
2809
- let fe = X.nextNode();
2810
- for (; fe; )
2811
- fe.data = Mn(fe.data), fe = X.nextNode();
2809
+ let he = X.nextNode();
2810
+ for (; he; )
2811
+ he.data = Mn(he.data), he = X.nextNode();
2812
2812
  const Ee = (A = d.querySelectorAll) === null || A === void 0 ? void 0 : A.call(d, "template");
2813
2813
  Ee && wn(Ee, (Le) => {
2814
2814
  un(Le.content) && mr(Le.content);
@@ -2867,11 +2867,11 @@ function Wa() {
2867
2867
  if (!Ue[A] && hs(A) && (te.tagNameCheck instanceof RegExp && ct(te.tagNameCheck, A) || te.tagNameCheck instanceof Function && te.tagNameCheck(A)))
2868
2868
  return !1;
2869
2869
  if (R && !oe[A]) {
2870
- const X = T(d), fe = w(d);
2871
- if (fe && X) {
2872
- const Ee = fe.length;
2870
+ const X = T(d), he = w(d);
2871
+ if (he && X) {
2872
+ const Ee = he.length;
2873
2873
  for (let Le = Ee - 1; Le >= 0; --Le) {
2874
- const rt = H ? fe[Le] : S(fe[Le], !0);
2874
+ const rt = H ? he[Le] : S(he[Le], !0);
2875
2875
  X.insertBefore(rt, y(d));
2876
2876
  }
2877
2877
  }
@@ -2891,19 +2891,19 @@ function Wa() {
2891
2891
  if ((C ? C(d) : d.nodeType) === zt.element && !Ii(d) || (A === "noscript" || A === "noembed" || A === "noframes") && ct(sc, d.innerHTML))
2892
2892
  return Gt(d), !0;
2893
2893
  if (We && d.nodeType === zt.text) {
2894
- const fe = Mn(d.textContent);
2895
- d.textContent !== fe && (fn(e.removed, {
2894
+ const he = Mn(d.textContent);
2895
+ d.textContent !== he && (fn(e.removed, {
2896
2896
  element: d.cloneNode()
2897
- }), d.textContent = fe);
2897
+ }), d.textContent = he);
2898
2898
  }
2899
2899
  return jt(F.afterSanitizeElements, d, null), !1;
2900
2900
  }, fs = function(d, A, X) {
2901
2901
  if (de[A] || Lt && (A === "id" || A === "name") && (X in n || X in Ai))
2902
2902
  return !1;
2903
- const fe = D[A] || le.attributeCheck instanceof Function && le.attributeCheck(A, d);
2903
+ const he = D[A] || le.attributeCheck instanceof Function && le.attributeCheck(A, d);
2904
2904
  if (!(Ge && ct(ze, A))) {
2905
2905
  if (!(tt && ct(qe, A))) {
2906
- if (fe) {
2906
+ if (he) {
2907
2907
  if (!xt[A]) {
2908
2908
  if (!ct(kt, kn(X, ft, ""))) {
2909
2909
  if (!((A === "src" || A === "xlink:href" || A === "href") && d !== "script" && zs(X, "data:") === 0 && Be[d])) {
@@ -2927,18 +2927,18 @@ function Wa() {
2927
2927
  return !0;
2928
2928
  }, Li = Oe({}, ["annotation-xml", "color-profile", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "missing-glyph"]), hs = function(d) {
2929
2929
  return !Li[Cn(d)] && ct(Et, d);
2930
- }, Di = function(d, A, X, fe) {
2931
- if (U && typeof v == "object" && typeof v.getAttributeType == "function" && !X)
2930
+ }, Di = function(d, A, X, he) {
2931
+ if (j && typeof v == "object" && typeof v.getAttributeType == "function" && !X)
2932
2932
  switch (v.getAttributeType(d, A)) {
2933
2933
  case "TrustedHTML":
2934
- return Q(fe);
2934
+ return Q(he);
2935
2935
  case "TrustedScriptURL":
2936
- return pe(fe);
2936
+ return pe(he);
2937
2937
  }
2938
- return fe;
2939
- }, zi = function(d, A, X, fe) {
2938
+ return he;
2939
+ }, zi = function(d, A, X, he) {
2940
2940
  try {
2941
- X ? d.setAttributeNS(X, A, fe) : d.setAttribute(A, fe), Ln(d) ? Gt(d) : Ls(e.removed);
2941
+ X ? d.setAttributeNS(X, A, he) : d.setAttribute(A, he), Ln(d) ? Gt(d) : Ls(e.removed);
2942
2942
  } catch {
2943
2943
  Yt(A, d);
2944
2944
  }
@@ -2954,10 +2954,10 @@ function Wa() {
2954
2954
  allowedAttributes: D,
2955
2955
  forceKeepAttr: void 0
2956
2956
  };
2957
- let fe = A.length;
2957
+ let he = A.length;
2958
2958
  const Ee = P(d.nodeName);
2959
- for (; fe--; ) {
2960
- const Le = A[fe], rt = Le.name, Qe = Le.namespaceURI, Ct = Le.value, Rt = P(rt), br = Ct;
2959
+ for (; he--; ) {
2960
+ const Le = A[he], rt = Le.name, Qe = Le.namespaceURI, Ct = Le.value, Rt = P(rt), br = Ct;
2961
2961
  let _t = rt === "value" ? br : Bl(br);
2962
2962
  if (X.attrName = Rt, X.attrValue = _t, X.keepAttr = !0, X.forceKeepAttr = void 0, jt(F.uponSanitizeAttribute, d, X), _t = X.attrValue, Dt && (Rt === "id" || Rt === "name") && zs(_t, k) !== 0 && (Yt(rt, d), _t = k + _t), vt && ct(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, _t)) {
2963
2963
  Yt(rt, d);
@@ -3004,7 +3004,7 @@ function Wa() {
3004
3004
  Dn(X.shadow);
3005
3005
  continue;
3006
3006
  }
3007
- const fe = X.node, Le = (C ? C(fe) : fe.nodeType) === zt.element, rt = w(fe);
3007
+ const he = X.node, Le = (C ? C(he) : he.nodeType) === zt.element, rt = w(he);
3008
3008
  if (rt)
3009
3009
  for (let Qe = rt.length - 1; Qe >= 0; --Qe)
3010
3010
  A.push({
@@ -3012,9 +3012,9 @@ function Wa() {
3012
3012
  shadow: null
3013
3013
  });
3014
3014
  if (Le) {
3015
- const Qe = M ? M(fe) : null;
3015
+ const Qe = M ? M(he) : null;
3016
3016
  if (typeof Qe == "string" && P(Qe) === "template") {
3017
- const Ct = fe.content;
3017
+ const Ct = he.content;
3018
3018
  un(Ct) && A.push({
3019
3019
  node: Ct,
3020
3020
  shadow: null
@@ -3022,7 +3022,7 @@ function Wa() {
3022
3022
  }
3023
3023
  }
3024
3024
  if (Le) {
3025
- const Qe = x(fe);
3025
+ const Qe = x(he);
3026
3026
  un(Qe) && A.push({
3027
3027
  node: null,
3028
3028
  shadow: Qe
@@ -3034,7 +3034,7 @@ function Wa() {
3034
3034
  }
3035
3035
  };
3036
3036
  return e.sanitize = function(J) {
3037
- let d = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, A = null, X = null, fe = null, Ee = null;
3037
+ let d = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, A = null, X = null, he = null, Ee = null;
3038
3038
  if (b = !J, b && (J = "<!-->"), typeof J != "string" && !xn(J) && (J = Gl(J), typeof J != "string"))
3039
3039
  throw Xt("dirty is not a string, aborting");
3040
3040
  if (!e.isSupported)
@@ -3060,15 +3060,15 @@ function Wa() {
3060
3060
  else {
3061
3061
  if (!Ne && !We && !ot && // eslint-disable-next-line unicorn/prefer-includes
3062
3062
  J.indexOf("<") === -1)
3063
- return U && At ? Q(J) : J;
3063
+ return j && At ? Q(J) : J;
3064
3064
  if (A = us(J), !A)
3065
3065
  return Ne ? null : At ? ne : "";
3066
3066
  }
3067
3067
  A && ke && Gt(A.firstChild);
3068
3068
  const rt = ds(Le ? J : A);
3069
3069
  try {
3070
- for (; fe = rt.nextNode(); )
3071
- ps(fe), ms(fe), un(fe.content) && Dn(fe.content);
3070
+ for (; he = rt.nextNode(); )
3071
+ ps(he), ms(he), un(he.content) && Dn(he.content);
3072
3072
  } catch (Ct) {
3073
3073
  throw Le && cs(J), Ct;
3074
3074
  }
@@ -3086,16 +3086,16 @@ function Wa() {
3086
3086
  }
3087
3087
  let Qe = ot ? A.outerHTML : A.innerHTML;
3088
3088
  return ot && $e["!doctype"] && A.ownerDocument && A.ownerDocument.doctype && A.ownerDocument.doctype.name && ct(tc, A.ownerDocument.doctype.name) && (Qe = "<!DOCTYPE " + A.ownerDocument.doctype.name + `>
3089
- ` + Qe), We && (Qe = Mn(Qe)), U && At ? Q(Qe) : Qe;
3089
+ ` + Qe), We && (Qe = Mn(Qe)), j && At ? Q(Qe) : Qe;
3090
3090
  }, e.setConfig = function() {
3091
3091
  let J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
3092
3092
  hr(J), q = !0, ce = $e, ye = D;
3093
3093
  }, e.clearConfig = function() {
3094
- lt = null, q = !1, ce = null, ye = null, U = ee, ne = "";
3094
+ lt = null, q = !1, ce = null, ye = null, j = ee, ne = "";
3095
3095
  }, e.isValidAttribute = function(J, d, A) {
3096
3096
  lt || hr({});
3097
- const X = P(J), fe = P(d);
3098
- return fs(X, fe, A);
3097
+ const X = P(J), he = P(d);
3098
+ return fs(X, he, A);
3099
3099
  }, e.addHook = function(J, d) {
3100
3100
  typeof d == "function" && st(F, J) && fn(F[J], d);
3101
3101
  }, e.removeHook = function(J, d) {
@@ -3449,7 +3449,7 @@ function lc(t) {
3449
3449
  keywords: a,
3450
3450
  contains: ["self"].concat(C)
3451
3451
  }
3452
- ]), U = {
3452
+ ]), j = {
3453
3453
  className: "params",
3454
3454
  // convert this to negative lookbehind in v12
3455
3455
  begin: /(\s*)\(/,
@@ -3544,7 +3544,7 @@ function lc(t) {
3544
3544
  3: "title.function"
3545
3545
  },
3546
3546
  label: "func.def",
3547
- contains: [U],
3547
+ contains: [j],
3548
3548
  illegal: /%/
3549
3549
  }, V = {
3550
3550
  relevance: 0,
@@ -3592,7 +3592,7 @@ function lc(t) {
3592
3592
  // eat to avoid empty params
3593
3593
  begin: /\(\)/
3594
3594
  },
3595
- U
3595
+ j
3596
3596
  ]
3597
3597
  }, L = "(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|" + t.UNDERSCORE_IDENT_RE + ")\\s*=>", Y = {
3598
3598
  match: [
@@ -3611,7 +3611,7 @@ function lc(t) {
3611
3611
  3: "title.function"
3612
3612
  },
3613
3613
  contains: [
3614
- U
3614
+ j
3615
3615
  ]
3616
3616
  };
3617
3617
  return {
@@ -3735,7 +3735,7 @@ function lc(t) {
3735
3735
  returnBegin: !0,
3736
3736
  label: "func.def",
3737
3737
  contains: [
3738
- U,
3738
+ j,
3739
3739
  t.inherit(t.TITLE_MODE, { begin: r, className: "title.function" })
3740
3740
  ]
3741
3741
  },
@@ -3755,7 +3755,7 @@ function lc(t) {
3755
3755
  {
3756
3756
  match: [/\bconstructor(?=\s*\()/],
3757
3757
  className: { 1: "title.function" },
3758
- contains: [U]
3758
+ contains: [j]
3759
3759
  },
3760
3760
  pe,
3761
3761
  V,
@@ -4199,7 +4199,7 @@ function si(t) {
4199
4199
  keywords: a,
4200
4200
  contains: ["self"].concat(C)
4201
4201
  }
4202
- ]), U = {
4202
+ ]), j = {
4203
4203
  className: "params",
4204
4204
  // convert this to negative lookbehind in v12
4205
4205
  begin: /(\s*)\(/,
@@ -4294,7 +4294,7 @@ function si(t) {
4294
4294
  3: "title.function"
4295
4295
  },
4296
4296
  label: "func.def",
4297
- contains: [U],
4297
+ contains: [j],
4298
4298
  illegal: /%/
4299
4299
  }, V = {
4300
4300
  relevance: 0,
@@ -4342,7 +4342,7 @@ function si(t) {
4342
4342
  // eat to avoid empty params
4343
4343
  begin: /\(\)/
4344
4344
  },
4345
- U
4345
+ j
4346
4346
  ]
4347
4347
  }, L = "(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|" + t.UNDERSCORE_IDENT_RE + ")\\s*=>", Y = {
4348
4348
  match: [
@@ -4361,7 +4361,7 @@ function si(t) {
4361
4361
  3: "title.function"
4362
4362
  },
4363
4363
  contains: [
4364
- U
4364
+ j
4365
4365
  ]
4366
4366
  };
4367
4367
  return {
@@ -4485,7 +4485,7 @@ function si(t) {
4485
4485
  returnBegin: !0,
4486
4486
  label: "func.def",
4487
4487
  contains: [
4488
- U,
4488
+ j,
4489
4489
  t.inherit(t.TITLE_MODE, { begin: r, className: "title.function" })
4490
4490
  ]
4491
4491
  },
@@ -4505,7 +4505,7 @@ function si(t) {
4505
4505
  {
4506
4506
  match: [/\bconstructor(?=\s*\()/],
4507
4507
  className: { 1: "title.function" },
4508
- contains: [U]
4508
+ contains: [j]
4509
4509
  },
4510
4510
  pe,
4511
4511
  V,
@@ -6365,8 +6365,8 @@ const Tc = { class: "min-w-0 flex-1 truncate text-[11px] leading-[16px] text-fm-
6365
6365
  class: "tool-card__block hljs",
6366
6366
  innerHTML: v.value
6367
6367
  }, null, 8, Ic)
6368
- ])) : j("", !0)
6369
- ])) : j("", !0)
6368
+ ])) : U("", !0)
6369
+ ])) : U("", !0)
6370
6370
  ], 2);
6371
6371
  };
6372
6372
  }
@@ -6433,7 +6433,7 @@ const Tc = { class: "min-w-0 flex-1 truncate text-[11px] leading-[16px] text-fm-
6433
6433
  key: m.id,
6434
6434
  part: m
6435
6435
  }, null, 8, ["part"]))), 128))
6436
- ])) : j("", !0)
6436
+ ])) : U("", !0)
6437
6437
  ], 2);
6438
6438
  };
6439
6439
  }
@@ -6750,17 +6750,17 @@ const cu = { class: "flex min-w-0 flex-col gap-6" }, uu = { class: "flex items-c
6750
6750
  key: o.id,
6751
6751
  class: "min-w-0 rounded-md bg-white/15 px-[8px] py-[6px]"
6752
6752
  }, [
6753
- o.note ? (h(), _("div", du, I(o.note), 1)) : j("", !0),
6753
+ o.note ? (h(), _("div", du, I(o.note), 1)) : U("", !0),
6754
6754
  f("div", pu, [
6755
6755
  f("span", fu, I(o.label), 1),
6756
- o.route && o.route !== "/" ? (h(), _("span", hu, I(o.route), 1)) : j("", !0),
6757
- o.device ? (h(), _("span", mu, I(o.device), 1)) : j("", !0),
6756
+ o.route && o.route !== "/" ? (h(), _("span", hu, I(o.route), 1)) : U("", !0),
6757
+ o.device ? (h(), _("span", mu, I(o.device), 1)) : U("", !0),
6758
6758
  o.source ? (h(), _("span", {
6759
6759
  key: 2,
6760
6760
  class: "min-w-0 truncate font-mono",
6761
6761
  title: o.source
6762
- }, I(o.source), 9, gu)) : j("", !0),
6763
- !((l = o.changes) != null && l.length) && o.hasProperties ? (h(), _("span", bu, "properties")) : j("", !0)
6762
+ }, I(o.source), 9, gu)) : U("", !0),
6763
+ !((l = o.changes) != null && l.length) && o.hasProperties ? (h(), _("span", bu, "properties")) : U("", !0)
6764
6764
  ]),
6765
6765
  (a = o.changes) != null && a.length ? (h(), _("ul", yu, [
6766
6766
  (h(!0), _(Te, null, Re(o.changes, (i) => (h(), _("li", {
@@ -6773,19 +6773,19 @@ const cu = { class: "flex min-w-0 flex-col gap-6" }, uu = { class: "flex items-c
6773
6773
  key: 0,
6774
6774
  class: "annotation-message__swatch",
6775
6775
  style: Pt({ background: e(i.before) })
6776
- }, null, 4)) : j("", !0),
6776
+ }, null, 4)) : U("", !0),
6777
6777
  Ke(I(i.before) + " ", 1),
6778
6778
  r[0] || (r[0] = f("span", { class: "opacity-70" }, "→", -1)),
6779
6779
  e(i.after) ? (h(), _("span", {
6780
6780
  key: 1,
6781
6781
  class: "annotation-message__swatch",
6782
6782
  style: Pt({ background: e(i.after) })
6783
- }, null, 4)) : j("", !0),
6783
+ }, null, 4)) : U("", !0),
6784
6784
  Ke(I(i.after), 1)
6785
6785
  ]),
6786
- i.token ? (h(), _("span", _u, I(i.token), 1)) : j("", !0)
6786
+ i.token ? (h(), _("span", _u, I(i.token), 1)) : U("", !0)
6787
6787
  ]))), 128))
6788
- ])) : j("", !0)
6788
+ ])) : U("", !0)
6789
6789
  ]);
6790
6790
  }), 128))
6791
6791
  ]);
@@ -7135,7 +7135,7 @@ const Du = { class: "my-8 flex flex-col gap-8 rounded-lg border border-fm-color-
7135
7135
  }, null, 4),
7136
7136
  f("span", Hu, I(v.value), 1)
7137
7137
  ], 8, ju))), 128))
7138
- ])) : j("", !0),
7138
+ ])) : U("", !0),
7139
7139
  o.value.length ? (h(), _("div", Gu, [
7140
7140
  (h(!0), _(Te, null, Re(o.value, (v) => (h(), _("span", {
7141
7141
  key: v.label,
@@ -7144,8 +7144,8 @@ const Du = { class: "my-8 flex flex-col gap-8 rounded-lg border border-fm-color-
7144
7144
  Ke(I(v.label) + ": ", 1),
7145
7145
  f("span", Wu, I(v.value), 1)
7146
7146
  ]))), 128))
7147
- ])) : j("", !0),
7148
- r.value ? (h(), _("p", Ku, " Loaded into the BrandKit panel — review the fields there and press Save to make it live. ")) : j("", !0)
7147
+ ])) : U("", !0),
7148
+ r.value ? (h(), _("p", Ku, " Loaded into the BrandKit panel — review the fields there and press Save to make it live. ")) : U("", !0)
7149
7149
  ]);
7150
7150
  };
7151
7151
  }
@@ -7264,17 +7264,17 @@ class td {
7264
7264
  let $;
7265
7265
  const C = S[x - 1], M = S[x + 1];
7266
7266
  C && (S[x - 1] = void 0);
7267
- let U = !1;
7267
+ let j = !1;
7268
7268
  if (M) {
7269
7269
  const ee = M.oldPos - x;
7270
- U = M && 0 <= ee && ee < a;
7270
+ j = M && 0 <= ee && ee < a;
7271
7271
  }
7272
7272
  const ne = C && C.oldPos + 1 < i;
7273
- if (!U && !ne) {
7273
+ if (!j && !ne) {
7274
7274
  S[x] = void 0;
7275
7275
  continue;
7276
7276
  }
7277
- if (!ne || U && C.oldPos < M.oldPos ? $ = this.addToPath(M, !0, !1, 0, r) : $ = this.addToPath(C, !1, !0, 1, r), c = this.extractCommon($, n, e, x, r), $.oldPos + 1 >= i && c + 1 >= a)
7277
+ if (!ne || j && C.oldPos < M.oldPos ? $ = this.addToPath(M, !0, !1, 0, r) : $ = this.addToPath(C, !1, !0, 1, r), c = this.extractCommon($, n, e, x, r), $.oldPos + 1 >= i && c + 1 >= a)
7278
7278
  return l(this.buildValues($.lastComponent, n, e)) || !0;
7279
7279
  S[x] = $, $.oldPos + 1 >= i && (w = Math.min(w, x - 1)), c + 1 >= a && (y = Math.max(y, x + 1));
7280
7280
  }
@@ -7429,8 +7429,8 @@ function ad(t) {
7429
7429
  C && (y.oldFileName = "a/" + p(C[1]), y.isRename = !0);
7430
7430
  const M = /^rename to (.*)/.exec($);
7431
7431
  M && (y.newFileName = "b/" + p(M[1]), y.isRename = !0);
7432
- const U = /^copy from (.*)/.exec($);
7433
- U && (y.oldFileName = "a/" + p(U[1]), y.isCopy = !0);
7432
+ const j = /^copy from (.*)/.exec($);
7433
+ j && (y.oldFileName = "a/" + p(j[1]), y.isCopy = !0);
7434
7434
  const ne = /^copy to (.*)/.exec($);
7435
7435
  ne && (y.newFileName = "b/" + p(ne[1]), y.isCopy = !0);
7436
7436
  const ee = /^new file mode (\d+)/.exec($);
@@ -7659,14 +7659,14 @@ function id(t, e, n, r, s, o, l) {
7659
7659
  const M = Math.min(C.length, i);
7660
7660
  for (const ne of v(C.slice(0, M)))
7661
7661
  y.push(ne);
7662
- const U = {
7662
+ const j = {
7663
7663
  oldStart: S,
7664
7664
  oldLines: w - S + M,
7665
7665
  newStart: c,
7666
7666
  newLines: T - c + M,
7667
7667
  lines: y
7668
7668
  };
7669
- m.push(U), S = 0, c = 0, y = [];
7669
+ m.push(j), S = 0, c = 0, y = [];
7670
7670
  }
7671
7671
  w += C.length, T += C.length;
7672
7672
  }
@@ -7725,23 +7725,23 @@ const ld = { class: "diff-card my-[6px] min-w-0 max-w-full overflow-hidden round
7725
7725
  let T = c.oldStart, x = c.newStart;
7726
7726
  if (c.lines.forEach((C, M) => {
7727
7727
  y.push({ oldNumber: T, newNumber: x });
7728
- const U = C[0] ?? " ";
7729
- (U === "+" || U === "-") && w.push(M), U !== "+" && U !== "\\" && T++, U !== "-" && U !== "\\" && x++;
7728
+ const j = C[0] ?? " ";
7729
+ (j === "+" || j === "-") && w.push(M), j !== "+" && j !== "\\" && T++, j !== "-" && j !== "\\" && x++;
7730
7730
  }), !w.length) return [];
7731
7731
  const $ = [];
7732
7732
  for (const C of w) {
7733
- const M = Math.max(0, C - S), U = Math.min(c.lines.length - 1, C + S), ne = $[$.length - 1];
7734
- ne && M <= ne.end + 1 ? ne.end = Math.max(ne.end, U) : $.push({ start: M, end: U });
7733
+ const M = Math.max(0, C - S), j = Math.min(c.lines.length - 1, C + S), ne = $[$.length - 1];
7734
+ ne && M <= ne.end + 1 ? ne.end = Math.max(ne.end, j) : $.push({ start: M, end: j });
7735
7735
  }
7736
7736
  return $.map(({ start: C, end: M }) => {
7737
7737
  var ne, ee;
7738
- const U = c.lines.slice(C, M + 1);
7738
+ const j = c.lines.slice(C, M + 1);
7739
7739
  return {
7740
7740
  oldStart: ((ne = y[C]) == null ? void 0 : ne.oldNumber) ?? c.oldStart,
7741
7741
  newStart: ((ee = y[C]) == null ? void 0 : ee.newNumber) ?? c.newStart,
7742
- oldLines: U.filter((_e) => _e[0] !== "+" && _e[0] !== "\\").length,
7743
- newLines: U.filter((_e) => _e[0] !== "-" && _e[0] !== "\\").length,
7744
- lines: U
7742
+ oldLines: j.filter((_e) => _e[0] !== "+" && _e[0] !== "\\").length,
7743
+ newLines: j.filter((_e) => _e[0] !== "-" && _e[0] !== "\\").length,
7744
+ lines: j
7745
7745
  };
7746
7746
  });
7747
7747
  });
@@ -7805,7 +7805,7 @@ const ld = { class: "diff-card my-[6px] min-w-0 max-w-full overflow-hidden round
7805
7805
  t.diffs.length ? (h(), _("span", dd, [
7806
7806
  f("span", pd, "+" + I(i.value), 1),
7807
7807
  f("span", fd, "-" + I(u.value), 1)
7808
- ])) : j("", !0),
7808
+ ])) : U("", !0),
7809
7809
  W(y, {
7810
7810
  name: "expand_more",
7811
7811
  size: "sm",
@@ -7862,7 +7862,7 @@ const ld = { class: "diff-card my-[6px] min-w-0 max-w-full overflow-hidden round
7862
7862
  ])
7863
7863
  ], 2))), 128))
7864
7864
  ]))), 128)),
7865
- w.hunks.length === 0 ? (h(), _("div", Cd, " No textual changes to display. ")) : j("", !0)
7865
+ w.hunks.length === 0 ? (h(), _("div", Cd, " No textual changes to display. ")) : U("", !0)
7866
7866
  ])
7867
7867
  ], 8, md))), 128)) : (h(), _("div", $d, [
7868
7868
  (h(!0), _(Te, null, Re(t.files, (w) => (h(), _("div", {
@@ -7879,9 +7879,9 @@ const ld = { class: "diff-card my-[6px] min-w-0 max-w-full overflow-hidden round
7879
7879
  title: w
7880
7880
  }, I(w), 9, Rd)
7881
7881
  ]))), 128)),
7882
- t.loading ? (h(), _("p", Id, " The readable diff will appear when the agent finishes this step. ")) : j("", !0)
7882
+ t.loading ? (h(), _("p", Id, " The readable diff will appear when the agent finishes this step. ")) : U("", !0)
7883
7883
  ]))
7884
- ])) : j("", !0)
7884
+ ])) : U("", !0)
7885
7885
  ]);
7886
7886
  };
7887
7887
  }
@@ -7945,22 +7945,22 @@ const ld = { class: "diff-card my-[6px] min-w-0 max-w-full overflow-hidden round
7945
7945
  size: "sm"
7946
7946
  }),
7947
7947
  f("span", null, I(c.part.filename ?? c.part.mime), 1)
7948
- ])) : j("", !0)
7948
+ ])) : U("", !0)
7949
7949
  ], 64))), 128)),
7950
7950
  !s.value && (t.message.changedFiles.length || t.message.diffs.length) ? (h(), Se(Od, {
7951
7951
  key: 0,
7952
7952
  files: t.message.changedFiles,
7953
7953
  diffs: t.message.diffs,
7954
7954
  loading: t.message.busy && t.message.diffs.length === 0
7955
- }, null, 8, ["files", "diffs", "loading"])) : j("", !0),
7955
+ }, null, 8, ["files", "diffs", "loading"])) : U("", !0),
7956
7956
  a.value ? (h(), _("div", Ld, [
7957
7957
  W(m, {
7958
7958
  size: "md",
7959
7959
  color: "neutral-gray-300"
7960
7960
  }),
7961
7961
  p[1] || (p[1] = f("span", null, "Thinking…", -1))
7962
- ])) : j("", !0),
7963
- t.message.errorText ? (h(), _("div", Dd, I(t.message.errorText), 1)) : j("", !0),
7962
+ ])) : U("", !0),
7963
+ t.message.errorText ? (h(), _("div", Dd, I(t.message.errorText), 1)) : U("", !0),
7964
7964
  !s.value && t.canUndo ? (h(), _("div", zd, [
7965
7965
  W(S, {
7966
7966
  label: "Undo this turn",
@@ -7970,7 +7970,7 @@ const ld = { class: "diff-card my-[6px] min-w-0 max-w-full overflow-hidden round
7970
7970
  disabled: t.undoing,
7971
7971
  onClick: p[0] || (p[0] = (c) => r("undo"))
7972
7972
  }, null, 8, ["loading", "disabled"])
7973
- ])) : j("", !0)
7973
+ ])) : U("", !0)
7974
7974
  ], 2),
7975
7975
  s.value && i.value ? (h(), _("div", {
7976
7976
  key: 0,
@@ -7991,7 +7991,7 @@ const ld = { class: "diff-card my-[6px] min-w-0 max-w-full overflow-hidden round
7991
7991
  size: "sm"
7992
7992
  })),
7993
7993
  f("span", null, I(i.value), 1)
7994
- ], 10, Bd)) : j("", !0)
7994
+ ], 10, Bd)) : U("", !0)
7995
7995
  ], 2);
7996
7996
  };
7997
7997
  }
@@ -8123,7 +8123,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8123
8123
  const { added: Q, error: pe } = await gi(V, r.value.length);
8124
8124
  r.value = [...r.value, ...Q], s.value = pe;
8125
8125
  }
8126
- function U() {
8126
+ function j() {
8127
8127
  var V;
8128
8128
  i.value || r.value.length >= rn || (V = a.value) == null || V.click();
8129
8129
  }
@@ -8175,7 +8175,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8175
8175
  }, null, 8, ["name"]),
8176
8176
  f("p", Kd, I(Ce.value.title), 1),
8177
8177
  f("p", Vd, I(Ce.value.text), 1)
8178
- ])) : j("", !0)
8178
+ ])) : U("", !0)
8179
8179
  ], 544),
8180
8180
  t.chat.canUnrevert ? (h(), _("div", qd, [
8181
8181
  Q[1] || (Q[1] = f("span", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, "The last agent turn was undone.", -1)),
@@ -8186,7 +8186,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8186
8186
  loading: t.chat.checkpointSaving,
8187
8187
  onClick: t.chat.unrevertTurn
8188
8188
  }, null, 8, ["loading", "onClick"])
8189
- ])) : j("", !0),
8189
+ ])) : U("", !0),
8190
8190
  f("form", {
8191
8191
  class: "shrink-0 border-t border-fm-color-neutral-gray-100 p-12",
8192
8192
  onSubmit: Zn($, ["prevent"])
@@ -8216,7 +8216,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8216
8216
  })
8217
8217
  ], 8, Xd)
8218
8218
  ]))), 128))
8219
- ])) : j("", !0),
8219
+ ])) : U("", !0),
8220
8220
  f("div", Jd, [
8221
8221
  f("input", {
8222
8222
  ref_key: "fileInputEl",
@@ -8234,7 +8234,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8234
8234
  disabled: i.value || r.value.length >= O(rn),
8235
8235
  title: `Attach image (up to ${O(rn)})`,
8236
8236
  "aria-label": "Attach image",
8237
- onClick: U
8237
+ onClick: j
8238
8238
  }, null, 8, ["disabled", "title"]),
8239
8239
  Yn(f("textarea", {
8240
8240
  ref_key: "textareaEl",
@@ -8256,7 +8256,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8256
8256
  variant: "secondary",
8257
8257
  type: "button",
8258
8258
  onClick: t.chat.abort
8259
- }, null, 8, ["onClick"])) : j("", !0),
8259
+ }, null, 8, ["onClick"])) : U("", !0),
8260
8260
  W(we, {
8261
8261
  label: p.value,
8262
8262
  type: "submit",
@@ -8264,7 +8264,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8264
8264
  }, null, 8, ["label", "disabled"])
8265
8265
  ])
8266
8266
  ], 2),
8267
- s.value ? (h(), _("p", ep, I(s.value), 1)) : j("", !0)
8267
+ s.value ? (h(), _("p", ep, I(s.value), 1)) : U("", !0)
8268
8268
  ], 32)
8269
8269
  ]);
8270
8270
  };
@@ -8364,7 +8364,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8364
8364
  color: "typo-primary"
8365
8365
  }),
8366
8366
  v[3] || (v[3] = Ke(" BrandKit ", -1)),
8367
- O(r).dirtyCount.value ? (h(), _("span", ap, I(O(r).dirtyCount.value) + " unsaved ", 1)) : j("", !0)
8367
+ O(r).dirtyCount.value ? (h(), _("span", ap, I(O(r).dirtyCount.value) + " unsaved ", 1)) : U("", !0)
8368
8368
  ]),
8369
8369
  f("div", ip, [
8370
8370
  f("button", {
@@ -8404,7 +8404,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8404
8404
  color: "typo-warning"
8405
8405
  }),
8406
8406
  f("span", cp, "“" + I(O(r).state.appliedProposal) + "” applied — review the changes, then Save.", 1)
8407
- ])) : j("", !0),
8407
+ ])) : U("", !0),
8408
8408
  O(r).state.loading ? (h(), _("div", up, [
8409
8409
  W(S, {
8410
8410
  size: "lg",
@@ -8426,7 +8426,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8426
8426
  class: "w-[84px] shrink-0 fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
8427
8427
  }, [
8428
8428
  Ke(I(w.label) + " ", 1),
8429
- l("colors", w.path) ? (h(), _("span", mp, "•")) : j("", !0)
8429
+ l("colors", w.path) ? (h(), _("span", mp, "•")) : U("", !0)
8430
8430
  ], 8, hp),
8431
8431
  f("input", {
8432
8432
  type: "color",
@@ -8459,7 +8459,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8459
8459
  class: "w-[84px] shrink-0 fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
8460
8460
  }, [
8461
8461
  Ke(I(y.label) + " ", 1),
8462
- l("fonts", y.path) ? (h(), _("span", _p, "•")) : j("", !0)
8462
+ l("fonts", y.path) ? (h(), _("span", _p, "•")) : U("", !0)
8463
8463
  ], 8, xp),
8464
8464
  Yn(f("input", {
8465
8465
  id: `bk-font-${y.path}`,
@@ -8473,7 +8473,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8473
8473
  ])
8474
8474
  ], 8, vp))), 128))
8475
8475
  ]),
8476
- O(r).state.error ? (h(), _("p", kp, I(O(r).state.error), 1)) : j("", !0)
8476
+ O(r).state.error ? (h(), _("p", kp, I(O(r).state.error), 1)) : U("", !0)
8477
8477
  ])),
8478
8478
  f("footer", Sp, [
8479
8479
  O(r).state.revertKit ? (h(), Se(c, {
@@ -8554,7 +8554,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8554
8554
  style: Pt({ background: a.value })
8555
8555
  }, null, 4)
8556
8556
  ], 2),
8557
- l.value ? (h(), _("span", Ip, I(l.value.label), 1)) : j("", !0),
8557
+ l.value ? (h(), _("span", Ip, I(l.value.label), 1)) : U("", !0),
8558
8558
  f("span", {
8559
8559
  class: Ae(["color-field__caption", { "color-field__caption--muted": l.value }])
8560
8560
  }, I(i.value), 3),
@@ -8623,9 +8623,9 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8623
8623
  size: "sm",
8624
8624
  color: "typo-secondary"
8625
8625
  })
8626
- ], 8, Bp)) : j("", !0)
8626
+ ], 8, Bp)) : U("", !0)
8627
8627
  ])
8628
- ])) : j("", !0)
8628
+ ])) : U("", !0)
8629
8629
  ]);
8630
8630
  };
8631
8631
  }
@@ -8681,7 +8681,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8681
8681
  }), $ = B(() => {
8682
8682
  var D;
8683
8683
  return ((D = Jt(T.value.top)) == null ? void 0 : D.unit) ?? m.value;
8684
- }), C = B(() => n.spec.control === "box" && (w.value || !x.value)), M = B(() => n.spec.control === "box"), U = B(() => M.value ? $.value : S.value), ne = B(() => {
8684
+ }), C = B(() => n.spec.control === "box" && (w.value || !x.value)), M = B(() => n.spec.control === "box"), j = B(() => M.value ? $.value : S.value), ne = B(() => {
8685
8685
  var D;
8686
8686
  return M.value ? ((D = Jt(T.value.top)) == null ? void 0 : D.value) ?? 0 : c.value ?? "";
8687
8687
  }), ee = B(() => {
@@ -8781,7 +8781,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8781
8781
  function it(D, ie) {
8782
8782
  if (u.value) return;
8783
8783
  const te = (n.spec.step ?? 1) * (ie.shiftKey ? 10 : 1);
8784
- r("update", Tn(Y(ee.value + D * te), U.value));
8784
+ r("update", Tn(Y(ee.value + D * te), j.value));
8785
8785
  }
8786
8786
  return (D, ie) => {
8787
8787
  var Ue;
@@ -8811,7 +8811,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8811
8811
  size: "sm",
8812
8812
  color: "typo-secondary"
8813
8813
  }, null, 8, ["name"])
8814
- ], 10, Wp)) : j("", !0),
8814
+ ], 10, Wp)) : U("", !0),
8815
8815
  C.value ? (h(), _("span", Kp, I(O(Un)(T.value)), 1)) : (h(), _(Te, { key: 2 }, [
8816
8816
  f("button", {
8817
8817
  type: "button",
@@ -8855,7 +8855,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8855
8855
  ], 8, Zp)
8856
8856
  ], 64)),
8857
8857
  f("select", {
8858
- value: U.value,
8858
+ value: j.value,
8859
8859
  disabled: t.disabled,
8860
8860
  class: "style-control__unit",
8861
8861
  "aria-label": `${t.spec.label} unit`,
@@ -8892,7 +8892,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8892
8892
  }, null, 40, ef)
8893
8893
  ]);
8894
8894
  }), 64))
8895
- ])) : j("", !0),
8895
+ ])) : U("", !0),
8896
8896
  (Ue = t.spec.presets) != null && Ue.length ? (h(), _("div", tf, [
8897
8897
  (h(!0), _(Te, null, Re(t.spec.presets, (de) => (h(), _("button", {
8898
8898
  key: de,
@@ -8902,7 +8902,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8902
8902
  title: de,
8903
8903
  onClick: (le) => r("update", de)
8904
8904
  }, I(yt(de)), 11, nf))), 128))
8905
- ])) : j("", !0)
8905
+ ])) : U("", !0)
8906
8906
  ])) : t.spec.control === "ratio" ? (h(), _("div", rf, [
8907
8907
  f("input", {
8908
8908
  value: y.value,
@@ -8975,8 +8975,8 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
8975
8975
  class: "style-control__text",
8976
8976
  "aria-label": `Custom ${t.spec.label}`,
8977
8977
  onChange: ie[4] || (ie[4] = (de) => r("update", de.target.value))
8978
- }, null, 40, hf)) : j("", !0)
8979
- ])) : j("", !0);
8978
+ }, null, 40, hf)) : U("", !0)
8979
+ ])) : U("", !0);
8980
8980
  };
8981
8981
  }
8982
8982
  }), gf = /* @__PURE__ */ Mt(mf, [["__scopeId", "data-v-a36ef5b0"]]), bf = { class: "properties" }, yf = {
@@ -9048,7 +9048,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
9048
9048
  color: "typo-tertiary"
9049
9049
  })
9050
9050
  ], 8, xf)
9051
- ])) : j("", !0),
9051
+ ])) : U("", !0),
9052
9052
  v.value ? (h(), _("div", _f, [
9053
9053
  f("img", {
9054
9054
  src: v.value.src,
@@ -9062,7 +9062,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
9062
9062
  }, I(v.value.name), 9, Sf),
9063
9063
  f("div", Tf, I(v.value.alt || "no alt text"), 1)
9064
9064
  ])
9065
- ])) : j("", !0),
9065
+ ])) : U("", !0),
9066
9066
  t.element.canEditText ? (h(), _("div", Ef, [
9067
9067
  f("div", Af, [
9068
9068
  x[3] || (x[3] = f("span", null, "Content", -1)),
@@ -9080,7 +9080,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
9080
9080
  size: "sm",
9081
9081
  color: "typo-tertiary"
9082
9082
  })
9083
- ], 8, Cf)) : j("", !0)
9083
+ ], 8, Cf)) : U("", !0)
9084
9084
  ]),
9085
9085
  f("textarea", {
9086
9086
  value: t.textValue,
@@ -9090,7 +9090,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
9090
9090
  "aria-label": "Element text",
9091
9091
  onInput: x[2] || (x[2] = (C) => r("change", { key: "text", value: C.target.value }))
9092
9092
  }, null, 40, $f)
9093
- ])) : j("", !0),
9093
+ ])) : U("", !0),
9094
9094
  (h(!0), _(Te, null, Re(p.value, (C) => (h(), _("div", {
9095
9095
  key: C.key,
9096
9096
  class: "properties__section"
@@ -9107,7 +9107,7 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
9107
9107
  color: "typo-tertiary"
9108
9108
  }, null, 8, ["name"]),
9109
9109
  f("span", null, I(C.label), 1),
9110
- c(C.keys) ? (h(), _("span", If, I(c(C.keys)), 1)) : j("", !0)
9110
+ c(C.keys) ? (h(), _("span", If, I(c(C.keys)), 1)) : U("", !0)
9111
9111
  ], 8, Rf),
9112
9112
  m.value.has(C.key) ? (h(), _("div", Nf, [
9113
9113
  (h(!0), _(Te, null, Re(C.keys, (M) => (h(), _("div", {
@@ -9125,14 +9125,14 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
9125
9125
  disabled: t.disabled,
9126
9126
  title: y(M),
9127
9127
  "aria-label": y(M),
9128
- onClick: (U) => r("reset", { key: M })
9128
+ onClick: (j) => r("reset", { key: M })
9129
9129
  }, [
9130
9130
  W($, {
9131
9131
  name: "undo",
9132
9132
  size: "sm",
9133
9133
  color: "typo-tertiary"
9134
9134
  })
9135
- ], 8, Mf)) : j("", !0)
9135
+ ], 8, Mf)) : U("", !0)
9136
9136
  ]),
9137
9137
  f("div", Lf, [
9138
9138
  O(Ht)(M).control === "color" ? (h(), Se(Up, {
@@ -9141,18 +9141,18 @@ const Gd = { class: "flex h-full min-w-0 flex-col bg-fm-color-neutral-white" },
9141
9141
  label: O(Ht)(M).label,
9142
9142
  presets: s.value,
9143
9143
  disabled: t.disabled,
9144
- onUpdate: (U) => r("change", { key: M, value: U })
9144
+ onUpdate: (j) => r("change", { key: M, value: j })
9145
9145
  }, null, 8, ["value", "label", "presets", "disabled", "onUpdate"])) : (h(), Se(gf, {
9146
9146
  key: 1,
9147
9147
  spec: O(Ht)(M),
9148
9148
  value: t.values[M] ?? "",
9149
9149
  "font-presets": o.value,
9150
9150
  disabled: t.disabled,
9151
- onUpdate: (U) => r("change", { key: M, value: U })
9151
+ onUpdate: (j) => r("change", { key: M, value: j })
9152
9152
  }, null, 8, ["spec", "value", "font-presets", "disabled", "onUpdate"]))
9153
9153
  ])
9154
9154
  ], 2))), 128))
9155
- ])) : j("", !0)
9155
+ ])) : U("", !0)
9156
9156
  ]))), 128))
9157
9157
  ]);
9158
9158
  };
@@ -9192,28 +9192,31 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9192
9192
  }, Wf = { class: "flex h-[40px] items-center justify-between gap-8 border-b border-fm-color-neutral-gray-100 px-[10px]" }, Kf = { class: "min-w-0 truncate fm-typo-en-body-sm-600 text-fm-color-typo-primary" }, Vf = { class: "flex shrink-0 items-center gap-4" }, qf = ["disabled"], Zf = {
9193
9193
  key: 0,
9194
9194
  class: "m-0 shrink-0 bg-fm-color-error-light px-[10px] py-[5px] text-[11px] leading-[15px] text-fm-color-error"
9195
- }, Yf = { class: "flex min-h-0 flex-col gap-6 overflow-y-auto p-[8px]" }, Xf = { class: "flex min-w-0 items-center gap-6" }, Jf = ["aria-label", "onClick"], Qf = ["onClick"], eh = ["aria-pressed", "aria-label", "onClick"], th = {
9195
+ }, Yf = { class: "flex min-h-0 flex-col gap-6 overflow-y-auto p-[8px]" }, Xf = { class: "flex min-w-0 items-center gap-6" }, Jf = ["aria-label", "onClick"], Qf = ["onClick"], eh = ["onClick"], th = { class: "relative min-w-0" }, nh = ["onUpdate:modelValue", "placeholder", "onPaste", "onDrop"], rh = ["disabled", "title", "aria-label", "onClick"], sh = {
9196
9196
  key: 0,
9197
- class: "preview__mini-dot"
9198
- }, nh = ["onClick"], rh = ["onUpdate:modelValue", "placeholder", "onPaste", "onDrop"], sh = { class: "flex flex-wrap items-center gap-[6px]" }, ah = ["disabled", "title", "aria-label", "onClick"], ih = ["src", "alt"], oh = ["aria-label", "onClick"], lh = {
9197
+ class: "flex flex-wrap items-center gap-[6px]"
9198
+ }, ah = ["src", "alt"], ih = ["aria-label", "onClick"], oh = ["aria-expanded", "aria-label", "onClick"], lh = {
9199
+ key: 0,
9200
+ class: "preview__toggle-dot"
9201
+ }, ch = {
9199
9202
  key: 2,
9200
9203
  class: "preview__error-tray"
9201
- }, ch = ["aria-expanded"], uh = {
9204
+ }, uh = ["aria-expanded"], dh = {
9202
9205
  key: 0,
9203
9206
  class: "preview__error-list"
9204
- }, dh = { class: "flex items-center justify-between gap-8" }, ph = { key: 0 }, fh = {
9207
+ }, ph = { class: "flex items-center justify-between gap-8" }, fh = { key: 0 }, hh = {
9205
9208
  key: 0,
9206
9209
  class: "truncate"
9207
- }, hh = {
9210
+ }, mh = {
9208
9211
  key: 3,
9209
9212
  class: "preview__device-wrap"
9210
- }, mh = { class: "preview__device" }, gh = ["src"], bh = {
9213
+ }, gh = { class: "preview__device" }, bh = ["src"], yh = {
9211
9214
  class: "preview__overlays",
9212
9215
  "aria-hidden": "true"
9213
- }, yh = {
9216
+ }, vh = {
9214
9217
  key: 4,
9215
9218
  class: "flex h-full items-center justify-center p-24 text-center"
9216
- }, vh = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, xh = { class: "preview__bottom-controls" }, Hn = 20, _h = 0.35, oa = "mpv2:annotation-style-editor-open", wh = /* @__PURE__ */ pt({
9219
+ }, xh = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, _h = { class: "preview__bottom-controls" }, Hn = 20, wh = 0.35, oa = "mpv2:annotation-style-editor-open", kh = /* @__PURE__ */ pt({
9217
9220
  __name: "PreviewPanel",
9218
9221
  props: {
9219
9222
  chat: {}
@@ -9228,7 +9231,7 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9228
9231
  { key: "iphone-15", label: "iPhone 15", width: 393, height: 852 },
9229
9232
  { key: "pixel-8", label: "Pixel 8", width: 412, height: 915 },
9230
9233
  { key: "galaxy-s24", label: "Galaxy S24", width: 360, height: 780 }
9231
- ], U = M.map((g) => ({ label: `${g.label} · ${g.width}×${g.height}`, value: g.key })), ne = B(() => M.find((g) => g.key === o.value) ?? M[0]), ee = B(() => {
9234
+ ], j = M.map((g) => ({ label: `${g.label} · ${g.width}×${g.height}`, value: g.key })), ne = B(() => M.find((g) => g.key === o.value) ?? M[0]), ee = B(() => {
9232
9235
  const g = ne.value.width + Hn, E = ne.value.height + Hn;
9233
9236
  return {
9234
9237
  "--device-width": `${ne.value.width}px`,
@@ -9264,12 +9267,12 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9264
9267
  ]), re = /* @__PURE__ */ new Map([["brand", "Brand"], ["heading", "Heading"], ["body", "Body"]]);
9265
9268
  function me(g) {
9266
9269
  if (!g) return null;
9267
- const { width: E, height: Z } = ne.value, se = Math.max(0, Math.min(E, g.x)), he = Math.max(0, Math.min(Z, g.y));
9270
+ const { width: E, height: Z } = ne.value, se = Math.max(0, Math.min(E, g.x)), fe = Math.max(0, Math.min(Z, g.y));
9268
9271
  return {
9269
9272
  left: se,
9270
- top: he,
9273
+ top: fe,
9271
9274
  width: Math.max(0, Math.min(E, g.x + g.width) - se),
9272
- height: Math.max(0, Math.min(Z, g.y + g.height) - he)
9275
+ height: Math.max(0, Math.min(Z, g.y + g.height) - fe)
9273
9276
  };
9274
9277
  }
9275
9278
  function N(g) {
@@ -9287,7 +9290,7 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9287
9290
  const g = p.value;
9288
9291
  if (!g) return;
9289
9292
  const E = ne.value.width + Hn, Z = ne.value.height + Hn, se = Math.min(1, Math.max(0, g.clientWidth - ue() * 2) / E, Math.max(0, g.clientHeight - ue() * 2) / Z);
9290
- v.value = Number(Math.max(_h, se).toFixed(4));
9293
+ v.value = Number(Math.max(wh, se).toFixed(4));
9291
9294
  }
9292
9295
  function Me() {
9293
9296
  try {
@@ -9300,7 +9303,7 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9300
9303
  var se;
9301
9304
  const E = Me();
9302
9305
  if (!E || !((se = u.value) != null && se.contentWindow)) return !1;
9303
- const Z = Object.fromEntries(Object.entries({ source: "opencode-poc", ...g }).map(([he, b]) => !b || typeof b != "object" || Array.isArray(b) ? [he, b] : [he, Object.fromEntries(Object.entries(b))]));
9306
+ const Z = Object.fromEntries(Object.entries({ source: "opencode-poc", ...g }).map(([fe, b]) => !b || typeof b != "object" || Array.isArray(b) ? [fe, b] : [fe, Object.fromEntries(Object.entries(b))]));
9304
9307
  try {
9305
9308
  return u.value.contentWindow.postMessage(Z, E), !0;
9306
9309
  } catch {
@@ -9382,7 +9385,7 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9382
9385
  }, 1800);
9383
9386
  }
9384
9387
  function le(g) {
9385
- var se, he, b, z, De, St, G;
9388
+ var se, fe, b, z, De, St, G;
9386
9389
  if (g.source !== ((se = u.value) == null ? void 0 : se.contentWindow) || g.origin !== Me()) return;
9387
9390
  const E = g.data;
9388
9391
  if (E.source !== "opencode-preview-bridge") return;
@@ -9391,7 +9394,7 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9391
9394
  return;
9392
9395
  }
9393
9396
  if (E.type === "annotation-hover") {
9394
- tt.value = (he = E.payload) != null && he.matched ? E.payload.element : null;
9397
+ tt.value = (fe = E.payload) != null && fe.matched ? E.payload.element : null;
9395
9398
  return;
9396
9399
  }
9397
9400
  if (E.type === "annotation-pick") {
@@ -9457,8 +9460,8 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9457
9460
  E.value = "";
9458
9461
  const se = m.value.find((b) => b.id === w);
9459
9462
  if (w = null, !se) return;
9460
- const he = Z.filter((b) => pr.has(b.type));
9461
- he.length ? We(se, he) : Z.length && (c.value = "Only PNG, JPEG, WebP, or GIF images are supported.");
9463
+ const fe = Z.filter((b) => pr.has(b.type));
9464
+ fe.length ? We(se, fe) : Z.length && (c.value = "Only PNG, JPEG, WebP, or GIF images are supported.");
9462
9465
  }
9463
9466
  function ke(g) {
9464
9467
  return l.value && i.value === g;
@@ -9472,8 +9475,8 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9472
9475
  if (!E) return;
9473
9476
  const { styles: Z, appliedKeys: se } = su(g.beforeStyles, g.draftStyles, g.appliedStyleKeys);
9474
9477
  g.appliedStyleKeys = se;
9475
- const he = !!E.canEditText && g.draftText !== g.beforeText, b = he || g.textApplied;
9476
- g.textApplied = he, g.changed = !!(se.length || he), !(!Object.keys(Z).length && !b) && ze({
9478
+ const fe = !!E.canEditText && g.draftText !== g.beforeText, b = fe || g.textApplied;
9479
+ g.textApplied = fe, g.changed = !!(se.length || fe), !(!Object.keys(Z).length && !b) && ze({
9477
9480
  type: "annotation-preview",
9478
9481
  requestId: g.id,
9479
9482
  styles: Z,
@@ -9514,11 +9517,11 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9514
9517
  }
9515
9518
  }
9516
9519
  function K(g) {
9517
- var se, he;
9520
+ var se, fe;
9518
9521
  const E = ((se = g.payload) == null ? void 0 : se.element) ?? null, Z = Js(g.beforeStyles, g.draftStyles, Ce.value);
9519
9522
  return lu({
9520
9523
  id: g.id,
9521
- route: H(((he = g.payload) == null ? void 0 : he.url) ?? e.chat.previewUrl),
9524
+ route: H(((fe = g.payload) == null ? void 0 : fe.url) ?? e.chat.previewUrl),
9522
9525
  device: `${g.device.label} · ${g.device.width}×${g.device.height}`,
9523
9526
  element: E,
9524
9527
  note: g.feedback,
@@ -9530,11 +9533,11 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9530
9533
  }
9531
9534
  function oe(g) {
9532
9535
  var Z, se;
9533
- const E = Js(g.beforeStyles, g.draftStyles, Ce.value).map((he) => ({
9534
- label: Ht(he.property).label,
9535
- before: he.before || "unset",
9536
- after: he.after || "unset",
9537
- ...he.token ? { token: he.token } : {}
9536
+ const E = Js(g.beforeStyles, g.draftStyles, Ce.value).map((fe) => ({
9537
+ label: Ht(fe.property).label,
9538
+ before: fe.before || "unset",
9539
+ after: fe.after || "unset",
9540
+ ...fe.token ? { token: fe.token } : {}
9538
9541
  }));
9539
9542
  return (se = (Z = g.payload) == null ? void 0 : Z.element) != null && se.canEditText && g.draftText !== g.beforeText && E.unshift({
9540
9543
  label: "Content",
@@ -9543,8 +9546,8 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9543
9546
  }), E;
9544
9547
  }
9545
9548
  function ve(g) {
9546
- var se, he, b, z;
9547
- const E = (he = (se = g.payload) == null ? void 0 : se.element) == null ? void 0 : he.sourceInspector, Z = oe(g);
9549
+ var se, fe, b, z;
9550
+ const E = (fe = (se = g.payload) == null ? void 0 : se.element) == null ? void 0 : fe.sourceInspector, Z = oe(g);
9548
9551
  return {
9549
9552
  id: g.id,
9550
9553
  note: g.feedback.trim(),
@@ -9559,10 +9562,10 @@ const Uf = { class: "relative flex h-full min-w-0 flex-col bg-fm-color-neutral-w
9559
9562
  const g = m.value.filter((se) => se.status !== "inspecting" && (se.feedback.trim() || se.changed || se.attachments.length));
9560
9563
  if (!g.length || e.chat.status !== "ready") return;
9561
9564
  const E = g.flatMap(
9562
- (se) => se.attachments.map((he) => ({
9563
- mime: he.mime,
9564
- filename: Hd(se.id, he.filename),
9565
- url: he.url
9565
+ (se) => se.attachments.map((fe) => ({
9566
+ mime: fe.mime,
9567
+ filename: Hd(se.id, fe.filename),
9568
+ url: fe.url
9566
9569
  }))
9567
9570
  ), Z = `I marked ${g.length} preview annotation${g.length === 1 ? "" : "s"}. Apply the requested intent in the owning Vue source or design tokens, preserving dynamic and responsive semantics.
9568
9571
 
@@ -9597,13 +9600,13 @@ ${Yu(g.map(ve))}`;
9597
9600
  R(), tt.value = null, a.value = !1;
9598
9601
  }), (g, E) => {
9599
9602
  var b, z, De, St;
9600
- const Z = je("FmSelect"), se = je("FmButton"), he = je("FmIcon");
9603
+ const Z = je("FmSelect"), se = je("FmButton"), fe = je("FmIcon");
9601
9604
  return h(), _("div", Uf, [
9602
9605
  f("header", jf, [
9603
9606
  W(Z, {
9604
9607
  modelValue: o.value,
9605
9608
  "onUpdate:modelValue": E[0] || (E[0] = (G) => o.value = G),
9606
- items: O(U),
9609
+ items: O(j),
9607
9610
  width: 188,
9608
9611
  disabled: !e.chat.previewUrl,
9609
9612
  placeholder: "Device"
@@ -9637,7 +9640,7 @@ ${Yu(g.map(ve))}`;
9637
9640
  rel: "noopener",
9638
9641
  "aria-label": "Open preview"
9639
9642
  }, [
9640
- W(he, {
9643
+ W(fe, {
9641
9644
  name: "open_in_new",
9642
9645
  size: "md",
9643
9646
  color: e.chat.previewUrl ? "typo-primary" : "typo-disabled"
@@ -9654,7 +9657,7 @@ ${Yu(g.map(ve))}`;
9654
9657
  class: "preview__brandkit-panel",
9655
9658
  onSaved: E[1] || (E[1] = (G) => e.chat.previewUrl && $e()),
9656
9659
  onClose: E[2] || (E[2] = (G) => O(r).state.panelOpen = !1)
9657
- })) : j("", !0),
9660
+ })) : U("", !0),
9658
9661
  m.value.length ? (h(), _("section", Gf, [
9659
9662
  f("div", Wf, [
9660
9663
  f("span", Kf, I(m.value.length) + " annotation" + I(m.value.length === 1 ? "" : "s"), 1),
@@ -9665,7 +9668,7 @@ ${Yu(g.map(ve))}`;
9665
9668
  "aria-label": "Clear annotations",
9666
9669
  onClick: R
9667
9670
  }, [
9668
- W(he, {
9671
+ W(fe, {
9669
9672
  name: "delete_sweep",
9670
9673
  size: "sm",
9671
9674
  color: "typo-secondary"
@@ -9677,7 +9680,7 @@ ${Yu(g.map(ve))}`;
9677
9680
  disabled: !V.value || t.chat.sending,
9678
9681
  onClick: Be
9679
9682
  }, [
9680
- W(he, {
9683
+ W(fe, {
9681
9684
  name: "send",
9682
9685
  size: "sm",
9683
9686
  color: "typo-white"
@@ -9695,7 +9698,7 @@ ${Yu(g.map(ve))}`;
9695
9698
  class: "hidden",
9696
9699
  onChange: ye
9697
9700
  }, null, 544),
9698
- c.value ? (h(), _("p", Zf, I(c.value), 1)) : j("", !0),
9701
+ c.value ? (h(), _("p", Zf, I(c.value), 1)) : U("", !0),
9699
9702
  f("div", Yf, [
9700
9703
  (h(!0), _(Te, null, Re(m.value, (G) => {
9701
9704
  var mt, Ut, Zt, $t;
@@ -9724,23 +9727,7 @@ ${Yu(g.map(ve))}`;
9724
9727
  Ke(I(kt(G.status)), 1)
9725
9728
  ]),
9726
9729
  _: 2
9727
- }, 1032, ["variant"])) : j("", !0),
9728
- (Ut = G.payload) != null && Ut.element ? (h(), _("button", {
9729
- key: 1,
9730
- type: "button",
9731
- class: Ae(["preview__mini-icon-button", { "preview__mini-icon-button--active": ke(G.id) }]),
9732
- "aria-pressed": ke(G.id),
9733
- "aria-label": `Edit properties for annotation #${G.id}`,
9734
- title: "Edit properties",
9735
- onClick: (Je) => Ne(G.id)
9736
- }, [
9737
- W(he, {
9738
- name: "tune",
9739
- size: "sm",
9740
- color: ke(G.id) ? "primary" : "typo-secondary"
9741
- }, null, 8, ["color"]),
9742
- G.changed && !ke(G.id) ? (h(), _("span", th)) : j("", !0)
9743
- ], 10, eh)) : j("", !0),
9730
+ }, 1032, ["variant"])) : U("", !0),
9744
9731
  f("button", {
9745
9732
  type: "button",
9746
9733
  class: "preview__mini-icon-button preview__mini-icon-button--danger",
@@ -9748,26 +9735,26 @@ ${Yu(g.map(ve))}`;
9748
9735
  "aria-label": "Remove annotation",
9749
9736
  onClick: (Je) => k(G.id)
9750
9737
  }, [
9751
- W(he, {
9738
+ W(fe, {
9752
9739
  name: "close",
9753
9740
  size: "sm",
9754
9741
  color: "typo-tertiary"
9755
9742
  })
9756
- ], 8, nh)
9757
- ]),
9758
- Yn(f("textarea", {
9759
- "onUpdate:modelValue": (Je) => G.feedback = Je,
9760
- rows: "2",
9761
- placeholder: (Zt = G.payload) != null && Zt.element && O(cr)(G.payload.element) === "media" ? "Describe the change, or paste/drop the replacement image…" : "Describe what should change here…",
9762
- class: "min-h-[36px] max-h-[88px] w-full resize-y rounded-md border border-fm-color-neutral-gray-200 px-[10px] py-[7px] fm-typo-en-body-sm-400 outline-none focus:border-fm-color-primary",
9763
- onPaste: (Je) => vt(Je, G),
9764
- onDragover: E[3] || (E[3] = Zn(() => {
9765
- }, ["prevent"])),
9766
- onDrop: (Je) => ot(Je, G)
9767
- }, null, 40, rh), [
9768
- [Xn, G.feedback]
9743
+ ], 8, eh)
9769
9744
  ]),
9770
- f("div", sh, [
9745
+ f("div", th, [
9746
+ Yn(f("textarea", {
9747
+ "onUpdate:modelValue": (Je) => G.feedback = Je,
9748
+ rows: "2",
9749
+ placeholder: (Ut = G.payload) != null && Ut.element && O(cr)(G.payload.element) === "media" ? "Describe the change, or paste/drop the replacement image…" : "Describe what should change here…",
9750
+ class: "min-h-[62px] max-h-[120px] w-full resize-y rounded-md border border-fm-color-neutral-gray-200 px-[10px] pb-[30px] pt-[7px] fm-typo-en-body-sm-400 outline-none focus:border-fm-color-primary",
9751
+ onPaste: (Je) => vt(Je, G),
9752
+ onDragover: E[3] || (E[3] = Zn(() => {
9753
+ }, ["prevent"])),
9754
+ onDrop: (Je) => ot(Je, G)
9755
+ }, null, 40, nh), [
9756
+ [Xn, G.feedback]
9757
+ ]),
9771
9758
  f("button", {
9772
9759
  type: "button",
9773
9760
  class: "preview__attachment-add",
@@ -9776,13 +9763,14 @@ ${Yu(g.map(ve))}`;
9776
9763
  "aria-label": `Attach an image to annotation #${G.id}`,
9777
9764
  onClick: (Je) => ce(G)
9778
9765
  }, [
9779
- W(he, {
9766
+ W(fe, {
9780
9767
  name: "add_photo_alternate",
9781
9768
  size: "sm",
9782
9769
  color: pe.value || t.chat.sending ? "typo-disabled" : "typo-secondary"
9783
- }, null, 8, ["color"]),
9784
- E[7] || (E[7] = f("span", null, "Image", -1))
9785
- ], 8, ah),
9770
+ }, null, 8, ["color"])
9771
+ ], 8, rh)
9772
+ ]),
9773
+ G.attachments.length ? (h(), _("div", sh, [
9786
9774
  (h(!0), _(Te, null, Re(G.attachments, (Je) => (h(), _("div", {
9787
9775
  key: Je.id,
9788
9776
  class: "relative"
@@ -9791,23 +9779,45 @@ ${Yu(g.map(ve))}`;
9791
9779
  src: Je.url,
9792
9780
  alt: Je.filename || "attached image",
9793
9781
  class: "preview__attachment"
9794
- }, null, 8, ih),
9782
+ }, null, 8, ah),
9795
9783
  f("button", {
9796
9784
  type: "button",
9797
9785
  class: "preview__attachment-remove",
9798
9786
  "aria-label": `Remove ${Je.filename || "image"}`,
9799
9787
  onClick: (vn) => q(G, Je.id)
9800
9788
  }, [
9801
- W(he, {
9789
+ W(fe, {
9802
9790
  name: "close",
9803
9791
  size: "sm",
9804
9792
  color: "typo-white"
9805
9793
  })
9806
- ], 8, oh)
9794
+ ], 8, ih)
9807
9795
  ]))), 128))
9808
- ]),
9796
+ ])) : U("", !0),
9797
+ (Zt = G.payload) != null && Zt.element ? (h(), _("button", {
9798
+ key: 1,
9799
+ type: "button",
9800
+ class: Ae(["preview__properties-toggle", { "preview__properties-toggle--active": ke(G.id) }]),
9801
+ "aria-expanded": ke(G.id),
9802
+ "aria-label": `Edit properties for annotation #${G.id}`,
9803
+ onClick: (Je) => Ne(G.id)
9804
+ }, [
9805
+ W(fe, {
9806
+ name: "tune",
9807
+ size: "sm",
9808
+ color: ke(G.id) ? "primary" : "typo-tertiary"
9809
+ }, null, 8, ["color"]),
9810
+ E[7] || (E[7] = f("span", null, "Properties", -1)),
9811
+ G.changed && !ke(G.id) ? (h(), _("span", lh)) : U("", !0),
9812
+ W(fe, {
9813
+ class: "ml-auto",
9814
+ name: ke(G.id) ? "expand_less" : "expand_more",
9815
+ size: "sm",
9816
+ color: "typo-tertiary"
9817
+ }, null, 8, ["name"])
9818
+ ], 10, oh)) : U("", !0),
9809
9819
  ke(G.id) && (($t = G.payload) != null && $t.element) ? (h(), Se(zf, {
9810
- key: 0,
9820
+ key: 2,
9811
9821
  element: G.payload.element,
9812
9822
  values: G.draftStyles,
9813
9823
  "before-values": G.beforeStyles,
@@ -9818,12 +9828,12 @@ ${Yu(g.map(ve))}`;
9818
9828
  onChange: At,
9819
9829
  onReset: Lt,
9820
9830
  onResetAll: Dt
9821
- }, null, 8, ["element", "values", "before-values", "text-value", "before-text", "presets", "disabled"])) : j("", !0)
9831
+ }, null, 8, ["element", "values", "before-values", "text-value", "before-text", "presets", "disabled"])) : U("", !0)
9822
9832
  ], 2);
9823
9833
  }), 128))
9824
9834
  ])
9825
- ])) : j("", !0),
9826
- S.value.length ? (h(), _("section", lh, [
9835
+ ])) : U("", !0),
9836
+ S.value.length ? (h(), _("section", ch, [
9827
9837
  f("button", {
9828
9838
  type: "button",
9829
9839
  class: "preview__error-summary",
@@ -9831,26 +9841,26 @@ ${Yu(g.map(ve))}`;
9831
9841
  onClick: E[4] || (E[4] = (G) => T.value = !T.value)
9832
9842
  }, [
9833
9843
  f("span", null, I(ge.value), 1),
9834
- W(he, {
9844
+ W(fe, {
9835
9845
  name: "expand_more",
9836
9846
  size: "sm",
9837
9847
  color: "typo-secondary"
9838
9848
  })
9839
- ], 8, ch),
9840
- T.value ? (h(), _("div", uh, [
9849
+ ], 8, uh),
9850
+ T.value ? (h(), _("div", dh, [
9841
9851
  (h(!0), _(Te, null, Re(S.value, (G) => (h(), _("div", {
9842
9852
  key: G.id,
9843
9853
  class: "preview__error-item"
9844
9854
  }, [
9845
- f("div", dh, [
9855
+ f("div", ph, [
9846
9856
  f("strong", null, I(G.kind), 1),
9847
9857
  f("span", null, I(Ue(G.timestamp)), 1)
9848
9858
  ]),
9849
9859
  f("div", null, [
9850
9860
  Ke(I(G.message), 1),
9851
- G.count > 1 ? (h(), _("span", ph, " ×" + I(G.count), 1)) : j("", !0)
9861
+ G.count > 1 ? (h(), _("span", fh, " ×" + I(G.count), 1)) : U("", !0)
9852
9862
  ]),
9853
- te(G) ? (h(), _("div", fh, I(te(G)), 1)) : j("", !0)
9863
+ te(G) ? (h(), _("div", hh, I(te(G)), 1)) : U("", !0)
9854
9864
  ]))), 128)),
9855
9865
  f("button", {
9856
9866
  type: "button",
@@ -9860,14 +9870,14 @@ ${Yu(g.map(ve))}`;
9860
9870
  S.value = [], T.value = !1;
9861
9871
  })
9862
9872
  }, "Clear")
9863
- ])) : j("", !0)
9864
- ])) : j("", !0),
9865
- e.chat.previewUrl ? (h(), _("div", hh, [
9873
+ ])) : U("", !0)
9874
+ ])) : U("", !0),
9875
+ e.chat.previewUrl ? (h(), _("div", mh, [
9866
9876
  f("div", {
9867
9877
  class: "preview__device-stage",
9868
9878
  style: Pt(ee.value)
9869
9879
  }, [
9870
- f("div", mh, [
9880
+ f("div", gh, [
9871
9881
  E[9] || (E[9] = f("div", { class: "preview__speaker" }, null, -1)),
9872
9882
  (h(), _("iframe", {
9873
9883
  ref_key: "iframeEl",
@@ -9878,15 +9888,15 @@ ${Yu(g.map(ve))}`;
9878
9888
  title: "merchant preview",
9879
9889
  allow: "camera",
9880
9890
  onLoad: qe
9881
- }, null, 40, gh)),
9882
- f("div", bh, [
9891
+ }, null, 40, bh)),
9892
+ f("div", yh, [
9883
9893
  a.value && ((b = tt.value) != null && b.rect) ? (h(), _("div", {
9884
9894
  key: 0,
9885
9895
  class: Ae(["preview__annotation-hover", { "preview__annotation-tag-inside": F(tt.value.rect) }]),
9886
9896
  style: Pt(Ge.value)
9887
9897
  }, [...E[8] || (E[8] = [
9888
9898
  f("span", null, "Inspect", -1)
9889
- ])], 6)) : j("", !0),
9899
+ ])], 6)) : U("", !0),
9890
9900
  (h(!0), _(Te, null, Re(m.value, (G) => (h(), _("div", {
9891
9901
  key: `marker-${G.id}`,
9892
9902
  class: Ae(["preview__annotation-marker", { "preview__annotation-marker--selected": i.value === G.id }]),
@@ -9898,21 +9908,21 @@ ${Yu(g.map(ve))}`;
9898
9908
  style: Pt(Ie.value)
9899
9909
  }, [
9900
9910
  f("span", null, "#" + I(_e.value.id), 1)
9901
- ], 6)) : j("", !0)
9911
+ ], 6)) : U("", !0)
9902
9912
  ])
9903
9913
  ])
9904
9914
  ], 4)
9905
- ])) : (h(), _("div", yh, [
9915
+ ])) : (h(), _("div", vh, [
9906
9916
  f("div", null, [
9907
- W(he, {
9917
+ W(fe, {
9908
9918
  name: "visibility",
9909
9919
  size: "xl",
9910
9920
  color: "typo-tertiary"
9911
9921
  }),
9912
- f("p", vh, I(L.value), 1)
9922
+ f("p", xh, I(L.value), 1)
9913
9923
  ])
9914
9924
  ])),
9915
- f("div", xh, [
9925
+ f("div", _h, [
9916
9926
  W(se, {
9917
9927
  size: "md",
9918
9928
  variant: "secondary",
@@ -9926,7 +9936,7 @@ ${Yu(g.map(ve))}`;
9926
9936
  ]);
9927
9937
  };
9928
9938
  }
9929
- }), kh = /* @__PURE__ */ Mt(wh, [["__scopeId", "data-v-7597f131"]]), Sh = { class: "flex justify-end gap-8" }, Th = /* @__PURE__ */ pt({
9939
+ }), Sh = /* @__PURE__ */ Mt(kh, [["__scopeId", "data-v-503eef4f"]]), Th = { class: "flex justify-end gap-8" }, Eh = /* @__PURE__ */ pt({
9930
9940
  __name: "RenameSessionDialog",
9931
9941
  props: {
9932
9942
  initialTitle: {}
@@ -9952,7 +9962,7 @@ ${Yu(g.map(ve))}`;
9952
9962
  placeholder: "e.g. Homepage banner redesign",
9953
9963
  rules: [(m) => !!m.trim() || "Name is required"]
9954
9964
  }, null, 8, ["modelValue", "rules"]),
9955
- f("div", Sh, [
9965
+ f("div", Th, [
9956
9966
  W(u, {
9957
9967
  label: "Cancel",
9958
9968
  variant: "tertiary",
@@ -9972,7 +9982,7 @@ ${Yu(g.map(ve))}`;
9972
9982
  });
9973
9983
  };
9974
9984
  }
9975
- }), Eh = ({ onSseError: t, onSseEvent: e, responseTransformer: n, responseValidator: r, sseDefaultRetryDelay: s, sseMaxRetryAttempts: o, sseMaxRetryDelay: l, sseSleepFn: a, url: i, ...u }) => {
9985
+ }), Ah = ({ onSseError: t, onSseEvent: e, responseTransformer: n, responseValidator: r, sseDefaultRetryDelay: s, sseMaxRetryAttempts: o, sseMaxRetryDelay: l, sseSleepFn: a, url: i, ...u }) => {
9976
9986
  let p;
9977
9987
  const v = a ?? ((c) => new Promise((y) => setTimeout(y, c)));
9978
9988
  return { stream: async function* () {
@@ -9999,8 +10009,8 @@ ${Yu(g.map(ve))}`;
9999
10009
  w.addEventListener("abort", M);
10000
10010
  try {
10001
10011
  for (; ; ) {
10002
- const { done: U, value: ne } = await $.read();
10003
- if (U)
10012
+ const { done: j, value: ne } = await $.read();
10013
+ if (j)
10004
10014
  break;
10005
10015
  C += ne;
10006
10016
  const ee = C.split(`
@@ -10052,13 +10062,13 @@ ${Yu(g.map(ve))}`;
10052
10062
  }
10053
10063
  }
10054
10064
  }() };
10055
- }, Ah = async (t, e) => {
10065
+ }, Ch = async (t, e) => {
10056
10066
  const n = typeof e == "function" ? await e(t) : e;
10057
10067
  if (n)
10058
10068
  return t.scheme === "bearer" ? `Bearer ${n}` : t.scheme === "basic" ? `Basic ${btoa(n)}` : n;
10059
- }, Ch = {
10069
+ }, $h = {
10060
10070
  bodySerializer: (t) => JSON.stringify(t, (e, n) => typeof n == "bigint" ? n.toString() : n)
10061
- }, $h = (t) => {
10071
+ }, Rh = (t) => {
10062
10072
  switch (t) {
10063
10073
  case "label":
10064
10074
  return ".";
@@ -10069,7 +10079,7 @@ ${Yu(g.map(ve))}`;
10069
10079
  default:
10070
10080
  return "&";
10071
10081
  }
10072
- }, Rh = (t) => {
10082
+ }, Ih = (t) => {
10073
10083
  switch (t) {
10074
10084
  case "form":
10075
10085
  return ",";
@@ -10080,7 +10090,7 @@ ${Yu(g.map(ve))}`;
10080
10090
  default:
10081
10091
  return ",";
10082
10092
  }
10083
- }, Ih = (t) => {
10093
+ }, Nh = (t) => {
10084
10094
  switch (t) {
10085
10095
  case "label":
10086
10096
  return ".";
@@ -10093,7 +10103,7 @@ ${Yu(g.map(ve))}`;
10093
10103
  }
10094
10104
  }, vi = ({ allowReserved: t, explode: e, name: n, style: r, value: s }) => {
10095
10105
  if (!e) {
10096
- const a = (t ? s : s.map((i) => encodeURIComponent(i))).join(Rh(r));
10106
+ const a = (t ? s : s.map((i) => encodeURIComponent(i))).join(Ih(r));
10097
10107
  switch (r) {
10098
10108
  case "label":
10099
10109
  return `.${a}`;
@@ -10105,7 +10115,7 @@ ${Yu(g.map(ve))}`;
10105
10115
  return `${n}=${a}`;
10106
10116
  }
10107
10117
  }
10108
- const o = $h(r), l = s.map((a) => r === "label" || r === "simple" ? t ? a : encodeURIComponent(a) : fr({
10118
+ const o = Rh(r), l = s.map((a) => r === "label" || r === "simple" ? t ? a : encodeURIComponent(a) : fr({
10109
10119
  allowReserved: t,
10110
10120
  name: n,
10111
10121
  value: a
@@ -10137,15 +10147,15 @@ ${Yu(g.map(ve))}`;
10137
10147
  return u;
10138
10148
  }
10139
10149
  }
10140
- const l = Ih(r), a = Object.entries(s).map(([i, u]) => fr({
10150
+ const l = Nh(r), a = Object.entries(s).map(([i, u]) => fr({
10141
10151
  allowReserved: t,
10142
10152
  name: r === "deepObject" ? `${n}[${i}]` : i,
10143
10153
  value: u
10144
10154
  })).join(l);
10145
10155
  return r === "label" || r === "matrix" ? l + a : a;
10146
- }, Nh = /\{[^{}]+\}/g, Oh = ({ path: t, url: e }) => {
10156
+ }, Oh = /\{[^{}]+\}/g, Ph = ({ path: t, url: e }) => {
10147
10157
  let n = e;
10148
- const r = e.match(Nh);
10158
+ const r = e.match(Oh);
10149
10159
  if (r)
10150
10160
  for (const s of r) {
10151
10161
  let o = !1, l = s.substring(1, s.length - 1), a = "simple";
@@ -10178,10 +10188,10 @@ ${Yu(g.map(ve))}`;
10178
10188
  n = n.replace(s, u);
10179
10189
  }
10180
10190
  return n;
10181
- }, Ph = ({ baseUrl: t, path: e, query: n, querySerializer: r, url: s }) => {
10191
+ }, Mh = ({ baseUrl: t, path: e, query: n, querySerializer: r, url: s }) => {
10182
10192
  const o = s.startsWith("/") ? s : `/${s}`;
10183
10193
  let l = (t ?? "") + o;
10184
- e && (l = Oh({ path: e, url: l }));
10194
+ e && (l = Ph({ path: e, url: l }));
10185
10195
  let a = n ? r(n) : "";
10186
10196
  return a.startsWith("?") && (a = a.substring(1)), a && (l += `?${a}`), l;
10187
10197
  }, _i = ({ allowReserved: t, array: e, object: n } = {}) => (s) => {
@@ -10220,7 +10230,7 @@ ${Yu(g.map(ve))}`;
10220
10230
  }
10221
10231
  }
10222
10232
  return o.join("&");
10223
- }, Mh = (t) => {
10233
+ }, Lh = (t) => {
10224
10234
  var n;
10225
10235
  if (!t)
10226
10236
  return "stream";
@@ -10235,14 +10245,14 @@ ${Yu(g.map(ve))}`;
10235
10245
  if (e.startsWith("text/"))
10236
10246
  return "text";
10237
10247
  }
10238
- }, Lh = (t, e) => {
10248
+ }, Dh = (t, e) => {
10239
10249
  var n, r;
10240
10250
  return e ? !!(t.headers.has(e) || (n = t.query) != null && n[e] || (r = t.headers.get("Cookie")) != null && r.includes(`${e}=`)) : !1;
10241
- }, Dh = async ({ security: t, ...e }) => {
10251
+ }, zh = async ({ security: t, ...e }) => {
10242
10252
  for (const n of t) {
10243
- if (Lh(e, n.name))
10253
+ if (Dh(e, n.name))
10244
10254
  continue;
10245
- const r = await Ah(n, e.auth);
10255
+ const r = await Ch(n, e.auth);
10246
10256
  if (!r)
10247
10257
  continue;
10248
10258
  const s = n.name ?? "Authorization";
@@ -10259,7 +10269,7 @@ ${Yu(g.map(ve))}`;
10259
10269
  break;
10260
10270
  }
10261
10271
  }
10262
- }, la = (t) => Ph({
10272
+ }, la = (t) => Mh({
10263
10273
  baseUrl: t.baseUrl,
10264
10274
  path: t.path,
10265
10275
  query: t.query,
@@ -10312,11 +10322,11 @@ class Tr {
10312
10322
  return this._fns = [...this._fns, e], this._fns.length - 1;
10313
10323
  }
10314
10324
  }
10315
- const zh = () => ({
10325
+ const Bh = () => ({
10316
10326
  error: new Tr(),
10317
10327
  request: new Tr(),
10318
10328
  response: new Tr()
10319
- }), Bh = _i({
10329
+ }), Fh = _i({
10320
10330
  allowReserved: !1,
10321
10331
  array: {
10322
10332
  explode: !0,
@@ -10326,17 +10336,17 @@ const zh = () => ({
10326
10336
  explode: !0,
10327
10337
  style: "deepObject"
10328
10338
  }
10329
- }), Fh = {
10339
+ }), Uh = {
10330
10340
  "Content-Type": "application/json"
10331
10341
  }, ki = (t = {}) => ({
10332
- ...Ch,
10333
- headers: Fh,
10342
+ ...$h,
10343
+ headers: Uh,
10334
10344
  parseAs: "auto",
10335
- querySerializer: Bh,
10345
+ querySerializer: Fh,
10336
10346
  ...t
10337
10347
  }), Si = (t = {}) => {
10338
10348
  let e = ca(ki(), t);
10339
- const n = () => ({ ...e }), r = (i) => (e = ca(e, i), n()), s = zh(), o = async (i) => {
10349
+ const n = () => ({ ...e }), r = (i) => (e = ca(e, i), n()), s = Bh(), o = async (i) => {
10340
10350
  const u = {
10341
10351
  ...e,
10342
10352
  ...i,
@@ -10344,7 +10354,7 @@ const zh = () => ({
10344
10354
  headers: wi(e.headers, i.headers),
10345
10355
  serializedBody: void 0
10346
10356
  };
10347
- u.security && await Dh({
10357
+ u.security && await zh({
10348
10358
  ...u,
10349
10359
  security: u.security
10350
10360
  }), u.requestValidator && await u.requestValidator(u), u.body && u.bodySerializer && (u.serializedBody = u.bodySerializer(u.body)), (u.serializedBody === void 0 || u.serializedBody === "") && u.headers.delete("Content-Type");
@@ -10373,7 +10383,7 @@ const zh = () => ({
10373
10383
  data: {},
10374
10384
  ...y
10375
10385
  };
10376
- const C = (u.parseAs === "auto" ? Mh(c.headers.get("Content-Type")) : u.parseAs) ?? "json";
10386
+ const C = (u.parseAs === "auto" ? Lh(c.headers.get("Content-Type")) : u.parseAs) ?? "json";
10377
10387
  let M;
10378
10388
  switch (C) {
10379
10389
  case "arrayBuffer":
@@ -10414,7 +10424,7 @@ const zh = () => ({
10414
10424
  const u = (p) => l({ ...p, method: i });
10415
10425
  return u.sse = async (p) => {
10416
10426
  const { opts: v, url: m } = await o(p);
10417
- return Eh({
10427
+ return Ah({
10418
10428
  ...v,
10419
10429
  body: v.body,
10420
10430
  headers: v.headers,
@@ -10439,16 +10449,16 @@ const zh = () => ({
10439
10449
  setConfig: r,
10440
10450
  trace: a("TRACE")
10441
10451
  };
10442
- }, Uh = Si(ki({
10452
+ }, jh = Si(ki({
10443
10453
  baseUrl: "http://localhost:4096"
10444
10454
  }));
10445
10455
  class Ve {
10446
10456
  constructor(e) {
10447
- be(this, "_client", Uh);
10457
+ be(this, "_client", jh);
10448
10458
  e != null && e.client && (this._client = e.client);
10449
10459
  }
10450
10460
  }
10451
- class jh extends Ve {
10461
+ class Hh extends Ve {
10452
10462
  /**
10453
10463
  * Get events
10454
10464
  */
@@ -10459,7 +10469,7 @@ class jh extends Ve {
10459
10469
  });
10460
10470
  }
10461
10471
  }
10462
- class Hh extends Ve {
10472
+ class Gh extends Ve {
10463
10473
  /**
10464
10474
  * List all projects
10465
10475
  */
@@ -10479,7 +10489,7 @@ class Hh extends Ve {
10479
10489
  });
10480
10490
  }
10481
10491
  }
10482
- class Gh extends Ve {
10492
+ class Wh extends Ve {
10483
10493
  /**
10484
10494
  * List all PTY sessions
10485
10495
  */
@@ -10543,7 +10553,7 @@ class Gh extends Ve {
10543
10553
  });
10544
10554
  }
10545
10555
  }
10546
- class Wh extends Ve {
10556
+ class Kh extends Ve {
10547
10557
  /**
10548
10558
  * Get config info
10549
10559
  */
@@ -10576,7 +10586,7 @@ class Wh extends Ve {
10576
10586
  });
10577
10587
  }
10578
10588
  }
10579
- class Kh extends Ve {
10589
+ class Vh extends Ve {
10580
10590
  /**
10581
10591
  * List all tool IDs (including built-in and dynamically registered)
10582
10592
  */
@@ -10596,7 +10606,7 @@ class Kh extends Ve {
10596
10606
  });
10597
10607
  }
10598
10608
  }
10599
- class Vh extends Ve {
10609
+ class qh extends Ve {
10600
10610
  /**
10601
10611
  * Dispose the current instance
10602
10612
  */
@@ -10607,7 +10617,7 @@ class Vh extends Ve {
10607
10617
  });
10608
10618
  }
10609
10619
  }
10610
- class qh extends Ve {
10620
+ class Zh extends Ve {
10611
10621
  /**
10612
10622
  * Get the current path
10613
10623
  */
@@ -10618,7 +10628,7 @@ class qh extends Ve {
10618
10628
  });
10619
10629
  }
10620
10630
  }
10621
- class Zh extends Ve {
10631
+ class Yh extends Ve {
10622
10632
  /**
10623
10633
  * Get VCS info for the current instance
10624
10634
  */
@@ -10629,7 +10639,7 @@ class Zh extends Ve {
10629
10639
  });
10630
10640
  }
10631
10641
  }
10632
- class Yh extends Ve {
10642
+ class Xh extends Ve {
10633
10643
  /**
10634
10644
  * List all sessions
10635
10645
  */
@@ -10878,7 +10888,7 @@ class Yh extends Ve {
10878
10888
  });
10879
10889
  }
10880
10890
  }
10881
- class Xh extends Ve {
10891
+ class Jh extends Ve {
10882
10892
  /**
10883
10893
  * List all commands
10884
10894
  */
@@ -10889,7 +10899,7 @@ class Xh extends Ve {
10889
10899
  });
10890
10900
  }
10891
10901
  }
10892
- class Jh extends Ve {
10902
+ class Qh extends Ve {
10893
10903
  /**
10894
10904
  * Authorize a provider using OAuth
10895
10905
  */
@@ -10917,10 +10927,10 @@ class Jh extends Ve {
10917
10927
  });
10918
10928
  }
10919
10929
  }
10920
- class Qh extends Ve {
10930
+ class em extends Ve {
10921
10931
  constructor() {
10922
10932
  super(...arguments);
10923
- be(this, "oauth", new Jh({ client: this._client }));
10933
+ be(this, "oauth", new Qh({ client: this._client }));
10924
10934
  }
10925
10935
  /**
10926
10936
  * List all providers
@@ -10941,7 +10951,7 @@ class Qh extends Ve {
10941
10951
  });
10942
10952
  }
10943
10953
  }
10944
- class em extends Ve {
10954
+ class tm extends Ve {
10945
10955
  /**
10946
10956
  * Find text in files
10947
10957
  */
@@ -10970,7 +10980,7 @@ class em extends Ve {
10970
10980
  });
10971
10981
  }
10972
10982
  }
10973
- class tm extends Ve {
10983
+ class nm extends Ve {
10974
10984
  /**
10975
10985
  * List files and directories
10976
10986
  */
@@ -10999,7 +11009,7 @@ class tm extends Ve {
10999
11009
  });
11000
11010
  }
11001
11011
  }
11002
- class nm extends Ve {
11012
+ class rm extends Ve {
11003
11013
  /**
11004
11014
  * Write a log entry to the server logs
11005
11015
  */
@@ -11078,7 +11088,7 @@ class Ti extends Ve {
11078
11088
  });
11079
11089
  }
11080
11090
  }
11081
- class rm extends Ve {
11091
+ class sm extends Ve {
11082
11092
  constructor() {
11083
11093
  super(...arguments);
11084
11094
  be(this, "auth", new Ti({ client: this._client }));
@@ -11124,7 +11134,7 @@ class rm extends Ve {
11124
11134
  });
11125
11135
  }
11126
11136
  }
11127
- class sm extends Ve {
11137
+ class am extends Ve {
11128
11138
  /**
11129
11139
  * Get LSP server status
11130
11140
  */
@@ -11135,7 +11145,7 @@ class sm extends Ve {
11135
11145
  });
11136
11146
  }
11137
11147
  }
11138
- class am extends Ve {
11148
+ class im extends Ve {
11139
11149
  /**
11140
11150
  * Get formatter status
11141
11151
  */
@@ -11146,7 +11156,7 @@ class am extends Ve {
11146
11156
  });
11147
11157
  }
11148
11158
  }
11149
- class im extends Ve {
11159
+ class om extends Ve {
11150
11160
  /**
11151
11161
  * Get the next TUI request from the queue
11152
11162
  */
@@ -11170,10 +11180,10 @@ class im extends Ve {
11170
11180
  });
11171
11181
  }
11172
11182
  }
11173
- class om extends Ve {
11183
+ class lm extends Ve {
11174
11184
  constructor() {
11175
11185
  super(...arguments);
11176
- be(this, "control", new im({ client: this._client }));
11186
+ be(this, "control", new om({ client: this._client }));
11177
11187
  }
11178
11188
  /**
11179
11189
  * Append prompt to the TUI
@@ -11282,7 +11292,7 @@ class om extends Ve {
11282
11292
  });
11283
11293
  }
11284
11294
  }
11285
- class lm extends Ve {
11295
+ class cm extends Ve {
11286
11296
  /**
11287
11297
  * Get events
11288
11298
  */
@@ -11293,29 +11303,29 @@ class lm extends Ve {
11293
11303
  });
11294
11304
  }
11295
11305
  }
11296
- class cm extends Ve {
11306
+ class um extends Ve {
11297
11307
  constructor() {
11298
11308
  super(...arguments);
11299
- be(this, "global", new jh({ client: this._client }));
11300
- be(this, "project", new Hh({ client: this._client }));
11301
- be(this, "pty", new Gh({ client: this._client }));
11302
- be(this, "config", new Wh({ client: this._client }));
11303
- be(this, "tool", new Kh({ client: this._client }));
11304
- be(this, "instance", new Vh({ client: this._client }));
11305
- be(this, "path", new qh({ client: this._client }));
11306
- be(this, "vcs", new Zh({ client: this._client }));
11307
- be(this, "session", new Yh({ client: this._client }));
11308
- be(this, "command", new Xh({ client: this._client }));
11309
- be(this, "provider", new Qh({ client: this._client }));
11310
- be(this, "find", new em({ client: this._client }));
11311
- be(this, "file", new tm({ client: this._client }));
11312
- be(this, "app", new nm({ client: this._client }));
11313
- be(this, "mcp", new rm({ client: this._client }));
11314
- be(this, "lsp", new sm({ client: this._client }));
11315
- be(this, "formatter", new am({ client: this._client }));
11316
- be(this, "tui", new om({ client: this._client }));
11309
+ be(this, "global", new Hh({ client: this._client }));
11310
+ be(this, "project", new Gh({ client: this._client }));
11311
+ be(this, "pty", new Wh({ client: this._client }));
11312
+ be(this, "config", new Kh({ client: this._client }));
11313
+ be(this, "tool", new Vh({ client: this._client }));
11314
+ be(this, "instance", new qh({ client: this._client }));
11315
+ be(this, "path", new Zh({ client: this._client }));
11316
+ be(this, "vcs", new Yh({ client: this._client }));
11317
+ be(this, "session", new Xh({ client: this._client }));
11318
+ be(this, "command", new Jh({ client: this._client }));
11319
+ be(this, "provider", new em({ client: this._client }));
11320
+ be(this, "find", new tm({ client: this._client }));
11321
+ be(this, "file", new nm({ client: this._client }));
11322
+ be(this, "app", new rm({ client: this._client }));
11323
+ be(this, "mcp", new sm({ client: this._client }));
11324
+ be(this, "lsp", new am({ client: this._client }));
11325
+ be(this, "formatter", new im({ client: this._client }));
11326
+ be(this, "tui", new lm({ client: this._client }));
11317
11327
  be(this, "auth", new Ti({ client: this._client }));
11318
- be(this, "event", new lm({ client: this._client }));
11328
+ be(this, "event", new cm({ client: this._client }));
11319
11329
  }
11320
11330
  /**
11321
11331
  * Respond to a permission request
@@ -11331,7 +11341,7 @@ class cm extends Ve {
11331
11341
  });
11332
11342
  }
11333
11343
  }
11334
- function um(t, e, n, r) {
11344
+ function dm(t, e, n, r) {
11335
11345
  var o;
11336
11346
  if (!(r != null && r.throwOnError) || t instanceof Error)
11337
11347
  return t;
@@ -11350,14 +11360,14 @@ function ua(t, e) {
11350
11360
  const n = (t == null ? void 0 : t.method) ?? "?", r = (t == null ? void 0 : t.url) ?? "?", s = e == null ? void 0 : e.status, o = e == null ? void 0 : e.statusText;
11351
11361
  return `${n} ${r}${s ? " → " + s : ""}${o ? " " + o : ""}`;
11352
11362
  }
11353
- function dm(t, e) {
11363
+ function pm(t, e) {
11354
11364
  if (t)
11355
11365
  return e && (t === e || t === encodeURIComponent(e)) ? e : t;
11356
11366
  }
11357
- function pm(t, e) {
11367
+ function fm(t, e) {
11358
11368
  if (t.method !== "GET" && t.method !== "HEAD")
11359
11369
  return t;
11360
- const n = dm(t.headers.get("x-opencode-directory"), e);
11370
+ const n = pm(t.headers.get("x-opencode-directory"), e);
11361
11371
  if (!n)
11362
11372
  return t;
11363
11373
  const r = new URL(t.url);
@@ -11365,7 +11375,7 @@ function pm(t, e) {
11365
11375
  const s = new Request(r, t);
11366
11376
  return s.headers.delete("x-opencode-directory"), s;
11367
11377
  }
11368
- function fm(t) {
11378
+ function hm(t) {
11369
11379
  t != null && t.fetch || (t = {
11370
11380
  ...t,
11371
11381
  fetch: (r) => (r.timeout = !1, fetch(r))
@@ -11374,15 +11384,15 @@ function fm(t) {
11374
11384
  "x-opencode-directory": encodeURIComponent(t.directory)
11375
11385
  });
11376
11386
  const e = Si(t);
11377
- return e.interceptors.request.use((n) => pm(n, t == null ? void 0 : t.directory)), e.interceptors.error.use(um), new cm({ client: e });
11387
+ return e.interceptors.request.use((n) => fm(n, t == null ? void 0 : t.directory)), e.interceptors.error.use(dm), new um({ client: e });
11378
11388
  }
11379
11389
  function da() {
11380
11390
  return { pending: [], active: null };
11381
11391
  }
11382
- function hm(t, e) {
11392
+ function mm(t, e) {
11383
11393
  return { ...t, pending: [...t.pending, e] };
11384
11394
  }
11385
- function mm(t) {
11395
+ function gm(t) {
11386
11396
  if (t.active || t.pending.length === 0) return { queue: t, item: null };
11387
11397
  const e = t.pending[0];
11388
11398
  return {
@@ -11396,11 +11406,11 @@ function pa(t) {
11396
11406
  item: t.active
11397
11407
  };
11398
11408
  }
11399
- function gm() {
11409
+ function bm() {
11400
11410
  return { lastTimestamp: 0, counter: 0 };
11401
11411
  }
11402
11412
  const fa = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", Gn = 14;
11403
- function bm(t, e = Date.now(), n) {
11413
+ function ym(t, e = Date.now(), n) {
11404
11414
  e !== t.lastTimestamp && (t.lastTimestamp = e, t.counter = 0), t.counter++;
11405
11415
  const s = (BigInt(e) * 0x1000n + BigInt(t.counter)).toString(16).padStart(12, "0").slice(-12), o = crypto.getRandomValues(new Uint8Array(Gn));
11406
11416
  if (o.length < Gn)
@@ -11410,7 +11420,7 @@ function bm(t, e = Date.now(), n) {
11410
11420
  l += fa[o[a] % fa.length];
11411
11421
  return `msg_${s}${l}`;
11412
11422
  }
11413
- const ym = 200, vm = 50, xm = 4 * 60 * 1e3, _m = 6 * 60 * 1e3, ha = 10;
11423
+ const vm = 200, xm = 50, _m = 4 * 60 * 1e3, wm = 6 * 60 * 1e3, ha = 10;
11414
11424
  function En(t) {
11415
11425
  if (t && typeof t == "object" && "name" in t && "data" in t) {
11416
11426
  const { name: e, data: n } = t, r = typeof n.message == "string" ? n.message : void 0;
@@ -11418,13 +11428,13 @@ function En(t) {
11418
11428
  }
11419
11429
  return "Unknown error";
11420
11430
  }
11421
- function wm(t) {
11431
+ function km(t) {
11422
11432
  return t.type === "text" ? { kind: "text", id: t.id, text: t.text } : t.type === "reasoning" ? { kind: "reasoning", id: t.id, text: t.text } : t.type === "tool" ? { kind: "tool", id: t.id, tool: t.tool, state: t.state } : t.type === "file" ? { kind: "file", id: t.id, mime: t.mime, filename: t.filename, url: t.url } : null;
11423
11433
  }
11424
- function km() {
11425
- const t = ae("idle"), e = ae("No session selected"), n = ae(null), r = ae(!1), s = ae(null), o = ae(!1), l = ae(!1), a = ae(null), i = ae(null), u = ae(null), p = ae(!1), v = ae(!1), m = ae(0), S = ae(null), c = ae(!1), y = ae(!1), w = ae([]), T = qn({}), x = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Set(), C = ae(da()), M = B(() => C.value.pending.map((k) => k.message)), U = ae(0);
11434
+ function Sm() {
11435
+ const t = ae("idle"), e = ae("No session selected"), n = ae(null), r = ae(!1), s = ae(null), o = ae(!1), l = ae(!1), a = ae(null), i = ae(null), u = ae(null), p = ae(!1), v = ae(!1), m = ae(0), S = ae(null), c = ae(!1), y = ae(!1), w = ae([]), T = qn({}), x = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Set(), C = ae(da()), M = B(() => C.value.pending.map((k) => k.message)), j = ae(0);
11426
11436
  let ne = null, ee = 0, _e = 0, Ce = !1;
11427
- const V = gm(), Q = /* @__PURE__ */ new Map();
11437
+ const V = bm(), Q = /* @__PURE__ */ new Map();
11428
11438
  let pe = null, we = null;
11429
11439
  function ge() {
11430
11440
  pe !== null && (clearTimeout(pe), pe = null), we !== null && (cancelAnimationFrame(we), we = null);
@@ -11439,7 +11449,7 @@ function km() {
11439
11449
  const ve = oe.parts.find((Be) => Be.id === K.partID);
11440
11450
  ve && (ve.kind === "text" || ve.kind === "reasoning") ? ve.text += K.text : ve || oe.parts.push({ kind: "text", id: K.partID, text: K.text }), R = !0;
11441
11451
  }
11442
- Q.size === 0 && ge(), R && U.value++;
11452
+ Q.size === 0 && ge(), R && j.value++;
11443
11453
  }
11444
11454
  function Y() {
11445
11455
  Q.clear(), ge();
@@ -11449,12 +11459,12 @@ function km() {
11449
11459
  pe = null, we = requestAnimationFrame(() => {
11450
11460
  we = null, L();
11451
11461
  });
11452
- }, vm));
11462
+ }, xm));
11453
11463
  }
11454
11464
  function me() {
11455
11465
  Y(), w.value = [];
11456
11466
  for (const k of Object.keys(T)) delete T[k];
11457
- x.clear(), $.clear(), U.value++;
11467
+ x.clear(), $.clear(), j.value++;
11458
11468
  }
11459
11469
  function N() {
11460
11470
  _e++, C.value = da(), Ce = !1, o.value = !1, l.value = !1;
@@ -11476,7 +11486,7 @@ function km() {
11476
11486
  diffs: [],
11477
11487
  busy: !0
11478
11488
  };
11479
- return T[k] = oe, w.value.push(k), x.set(k, k), U.value++, oe;
11489
+ return T[k] = oe, w.value.push(k), x.set(k, k), j.value++, oe;
11480
11490
  }
11481
11491
  function Fe(k) {
11482
11492
  return w.value.map((R) => T[R]).filter((R) => (R == null ? void 0 : R.role) === "assistant" && R.parentId === k);
@@ -11510,17 +11520,17 @@ function km() {
11510
11520
  const H = Fe(k), K = H[H.length - 1];
11511
11521
  if (!K) return;
11512
11522
  const oe = R.map(ze).filter((ve) => !!ve);
11513
- K.diffs = oe, K.changedFiles = oe.map((ve) => ve.file), U.value++;
11523
+ K.diffs = oe, K.changedFiles = oe.map((ve) => ve.file), j.value++;
11514
11524
  }
11515
11525
  function yt(k, R) {
11516
11526
  if (R.type === "patch") {
11517
- k.changedFiles = [.../* @__PURE__ */ new Set([...k.changedFiles, ...R.files])], k.parentId && Me(k.parentId), U.value++;
11527
+ k.changedFiles = [.../* @__PURE__ */ new Set([...k.changedFiles, ...R.files])], k.parentId && Me(k.parentId), j.value++;
11518
11528
  return;
11519
11529
  }
11520
- const H = wm(R);
11530
+ const H = km(R);
11521
11531
  if (!H) return;
11522
11532
  const K = k.parts.findIndex((oe) => oe.id === H.id);
11523
- K === -1 ? k.parts.push(H) : k.parts[K] = H, U.value++;
11533
+ K === -1 ? k.parts.push(H) : k.parts[K] = H, j.value++;
11524
11534
  }
11525
11535
  function ft(k) {
11526
11536
  if (k.sessionID !== a.value) return;
@@ -11542,7 +11552,7 @@ function km() {
11542
11552
  if (!ne) return;
11543
11553
  const { data: R, error: H } = await ne.session.messages({
11544
11554
  path: { id: k },
11545
- query: { limit: ym }
11555
+ query: { limit: vm }
11546
11556
  });
11547
11557
  if (H) throw new Error(En(H));
11548
11558
  Et(R ?? []);
@@ -11593,7 +11603,7 @@ function km() {
11593
11603
  const R = pa(C.value);
11594
11604
  C.value = R.queue;
11595
11605
  const H = R.item;
11596
- H && (H.failureText ? (H.message.promptState = "failed", H.message.errorText = H.failureText) : delete H.message.promptState, U.value++), k && Ne();
11606
+ H && (H.failureText ? (H.message.promptState = "failed", H.message.errorText = H.failureText) : delete H.message.promptState, j.value++), k && Ne();
11597
11607
  }
11598
11608
  function de() {
11599
11609
  let k = null;
@@ -11603,7 +11613,7 @@ function km() {
11603
11613
  (K == null ? void 0 : K.role) === "assistant" && (K.busy = !1);
11604
11614
  }
11605
11615
  const R = C.value.active;
11606
- R ? R.accepted ? (k = R.message.id, Ue(!1)) : R.idleObserved = !0 : Ne(), k && le(k).finally(() => Ne()), U.value++;
11616
+ R ? R.accepted ? (k = R.message.id, Ue(!1)) : R.idleObserved = !0 : Ne(), k && le(k).finally(() => Ne()), j.value++;
11607
11617
  }
11608
11618
  async function le(k) {
11609
11619
  if (!(!u.value || !i.value || p.value)) {
@@ -11671,7 +11681,7 @@ function km() {
11671
11681
  t.value === "ready" && (e.value = "Ready"), de();
11672
11682
  else if (K.type === "session.error" && (!K.properties.sessionID || K.properties.sessionID === a.value)) {
11673
11683
  const ve = En(K.properties.error), Be = C.value.active;
11674
- Be && (Be.failureText = ve, Be.message.promptState = "failed", U.value++), e.value = `Session error: ${ve}`;
11684
+ Be && (Be.failureText = ve, Be.message.promptState = "failed", j.value++), e.value = `Session error: ${ve}`;
11675
11685
  }
11676
11686
  }
11677
11687
  if (k !== ee) return;
@@ -11718,7 +11728,7 @@ function km() {
11718
11728
  try {
11719
11729
  const H = new URLSearchParams();
11720
11730
  k.businessId && H.set("businessId", k.businessId), k.sessionId && H.set("sessionId", k.sessionId);
11721
- const K = new AbortController(), oe = window.setTimeout(() => K.abort(), xm);
11731
+ const K = new AbortController(), oe = window.setTimeout(() => K.abort(), _m);
11722
11732
  let ve;
11723
11733
  try {
11724
11734
  ve = await en(Qt(`/api/start${H.size ? `?${H}` : ""}`), {
@@ -11737,12 +11747,12 @@ function km() {
11737
11747
  "x-miniprogram-business-id": k.businessId ?? "",
11738
11748
  "x-miniprogram-session-id": Ze
11739
11749
  };
11740
- E && (Z.Authorization = E), ne = fm({
11750
+ E && (Z.Authorization = E), ne = hm({
11741
11751
  baseUrl: Qt("/api/opencode"),
11742
11752
  headers: Z,
11743
11753
  fetch: (se) => {
11744
- const he = new Request(se);
11745
- return he.headers.set("x-miniprogram-business-id", k.businessId ?? ""), he.headers.set("x-miniprogram-session-id", Ze), he.timeout = !1, en(he);
11754
+ const fe = new Request(se);
11755
+ return fe.headers.set("x-miniprogram-business-id", k.businessId ?? ""), fe.headers.set("x-miniprogram-session-id", Ze), fe.timeout = !1, en(fe);
11746
11756
  }
11747
11757
  }), a.value = g, await kt(g), ee++, Ie(ee), t.value = "ready", e.value = "Ready";
11748
11758
  } catch (H) {
@@ -11767,7 +11777,7 @@ function km() {
11767
11777
  if (!u.value || !i.value || !n.value || p.value)
11768
11778
  return s.value = "A live session is required to restart the preview server.", !1;
11769
11779
  r.value = !0, s.value = null;
11770
- const k = new AbortController(), R = window.setTimeout(() => k.abort(), _m);
11780
+ const k = new AbortController(), R = window.setTimeout(() => k.abort(), wm);
11771
11781
  try {
11772
11782
  const H = await en(
11773
11783
  Qt(
@@ -11800,16 +11810,16 @@ function km() {
11800
11810
  }
11801
11811
  function ye(k) {
11802
11812
  const { message: R } = k;
11803
- T[R.key] = R, w.value.push(R.key), U.value++;
11813
+ T[R.key] = R, w.value.push(R.key), j.value++;
11804
11814
  }
11805
11815
  function ke(k, R) {
11806
11816
  k.failureText = Ye(R), k.message.promptState = "failed", k.message.errorText = k.failureText, l.value = !1;
11807
11817
  const H = pa(C.value);
11808
- C.value = H.queue, e.value = `Failed to send: ${k.failureText}`, U.value++;
11818
+ C.value = H.queue, e.value = `Failed to send: ${k.failureText}`, j.value++;
11809
11819
  }
11810
11820
  async function Ne() {
11811
11821
  if (Ce || C.value.active || l.value || c.value || !ne || !a.value || p.value || t.value !== "ready") return;
11812
- const k = mm(C.value);
11822
+ const k = gm(C.value);
11813
11823
  if (!k.item) return;
11814
11824
  C.value = k.queue;
11815
11825
  const R = k.item, H = _e, K = ne, oe = a.value;
@@ -11820,7 +11830,7 @@ function km() {
11820
11830
  if (H !== _e || ne !== K || a.value !== oe || C.value.active !== R) return;
11821
11831
  const Be = ve.length ? `[The attached image file${ve.length > 1 ? "s are" : " is"} saved on this machine at: ${ve.join(", ")} (outside the repo). If the task needs the actual file as an asset, move it into the app (e.g. src/assets/) — do not try to recreate it. If it is only a visual reference, leave it where it is.]` : "", Ze = [R.text.trim(), Be].filter(Boolean).join(`
11822
11832
 
11823
- `), xt = bm(V);
11833
+ `), xt = ym(V);
11824
11834
  R.message.id = xt, x.set(xt, R.message.key), $.add(xt), l.value = !0;
11825
11835
  const { error: g } = await K.session.promptAsync({
11826
11836
  path: { id: oe },
@@ -11838,7 +11848,7 @@ function km() {
11838
11848
  }
11839
11849
  });
11840
11850
  if (g) throw new Error(En(g));
11841
- R.accepted = !0, R.message.promptState = R.failureText ? "failed" : "running", U.value++, R.idleObserved && (Ue(!1), le(xt).finally(() => Ne()));
11851
+ R.accepted = !0, R.message.promptState = R.failureText ? "failed" : "running", j.value++, R.idleObserved && (Ue(!1), le(xt).finally(() => Ne()));
11842
11852
  } catch (ve) {
11843
11853
  H === _e && C.value.active === R && ke(R, ve);
11844
11854
  } finally {
@@ -11872,13 +11882,13 @@ function km() {
11872
11882
  busy: !1,
11873
11883
  promptState: "queued"
11874
11884
  };
11875
- return C.value = hm(C.value, {
11885
+ return C.value = mm(C.value, {
11876
11886
  message: oe,
11877
11887
  text: H,
11878
11888
  attachments: R,
11879
11889
  accepted: !1,
11880
11890
  idleObserved: !1
11881
- }), U.value++, Ne(), !0;
11891
+ }), j.value++, Ne(), !0;
11882
11892
  }
11883
11893
  async function At(k) {
11884
11894
  if (!u.value || !i.value || !a.value || p.value || l.value || c.value) return !1;
@@ -11940,7 +11950,7 @@ function km() {
11940
11950
  messagesOrder: w,
11941
11951
  messagesByKey: T,
11942
11952
  queuedMessages: M,
11943
- revision: U,
11953
+ revision: j,
11944
11954
  init: We,
11945
11955
  reset: F,
11946
11956
  suspend: vt,
@@ -11952,12 +11962,12 @@ function km() {
11952
11962
  restartPreviewServer: q
11953
11963
  });
11954
11964
  }
11955
- const ma = ["pointerdown", "pointermove", "keydown", "wheel", "touchstart"], Sm = 6e4, Tm = 1e3;
11956
- function Em(t) {
11965
+ const ma = ["pointerdown", "pointermove", "keydown", "wheel", "touchstart"], Tm = 6e4, Em = 1e3;
11966
+ function Am(t) {
11957
11967
  let e = Date.now(), n = 0, r = null;
11958
11968
  function s() {
11959
11969
  const l = Date.now();
11960
- l - n < Tm || (n = l, e = l);
11970
+ l - n < Em || (n = l, e = l);
11961
11971
  }
11962
11972
  function o() {
11963
11973
  if (!t.isEligible() || t.isActive()) {
@@ -11969,7 +11979,7 @@ function Em(t) {
11969
11979
  Rn(() => {
11970
11980
  e = Date.now();
11971
11981
  for (const l of ma) window.addEventListener(l, s, { passive: !0 });
11972
- r = window.setInterval(o, Sm);
11982
+ r = window.setInterval(o, Tm);
11973
11983
  }), ar(() => {
11974
11984
  for (const l of ma) window.removeEventListener(l, s);
11975
11985
  r !== null && window.clearInterval(r);
@@ -11981,10 +11991,10 @@ function Er(t) {
11981
11991
  function Ar(t) {
11982
11992
  return t === "active" ? "Active" : t === "needs_attention" ? "Needs attention" : "Archived";
11983
11993
  }
11984
- function Am(t) {
11994
+ function Cm(t) {
11985
11995
  return t === "succeeded" ? "success" : t === "failed" ? "error" : t === "queued" || t === "running" ? "info" : "neutral";
11986
11996
  }
11987
- function Cm(t) {
11997
+ function $m(t) {
11988
11998
  switch (t) {
11989
11999
  case "queued":
11990
12000
  return "Queued";
@@ -11998,7 +12008,7 @@ function Cm(t) {
11998
12008
  return "No build yet";
11999
12009
  }
12000
12010
  }
12001
- function $m(t) {
12011
+ function Rm(t) {
12002
12012
  switch (t) {
12003
12013
  case "ready":
12004
12014
  return "Ready";
@@ -12010,20 +12020,20 @@ function $m(t) {
12010
12020
  return "Not set up";
12011
12021
  }
12012
12022
  }
12013
- const Rm = ["preview", "published", "rolled_back"];
12023
+ const Im = ["preview", "published", "rolled_back"];
12014
12024
  function Ei(t) {
12015
- return Rm.includes(t.status);
12025
+ return Im.includes(t.status);
12016
12026
  }
12017
- function Im(t) {
12027
+ function Nm(t) {
12018
12028
  return t.is_live === 1 ? "Live" : t.build_status === "queued" || t.build_status === "running" ? "Building" : t.build_status === "failed" ? "Failed" : t.build_status === "succeeded" ? "Ready" : "Draft";
12019
12029
  }
12020
- function Nm(t) {
12030
+ function Om(t) {
12021
12031
  return t.is_live === 1 ? "primary" : t.build_status === "succeeded" ? "success" : t.build_status === "queued" || t.build_status === "running" ? "info" : t.build_status === "failed" ? "error" : "neutral";
12022
12032
  }
12023
- function Om(t) {
12033
+ function Pm(t) {
12024
12034
  return t === "ready" ? "success" : t === "error" ? "error" : t === "idle" ? "neutral" : "warning";
12025
12035
  }
12026
- function Pm() {
12036
+ function Mm() {
12027
12037
  const t = ae(an() || Dr), e = ae(null), n = ae([]), r = ae([]), s = ae(null), o = ae([]), l = ae(!1), a = ae(!1), i = ae("Project ready"), u = ae(null), p = ae(null), v = B(() => r.value[0] ?? null), m = B(() => {
12028
12038
  var N;
12029
12039
  return ((N = e.value) == null ? void 0 : N.provisioningStatus) === "ready";
@@ -12094,7 +12104,7 @@ function Pm() {
12094
12104
  const F = r.value.find((ue) => ue.id === N);
12095
12105
  u.value = N, await C(F);
12096
12106
  }
12097
- async function U(N = {}) {
12107
+ async function j(N = {}) {
12098
12108
  if (c(), !m.value)
12099
12109
  throw new Error("Set up the v2 project before creating a session");
12100
12110
  a.value = !0;
@@ -12301,7 +12311,7 @@ function Pm() {
12301
12311
  refreshSessions: T,
12302
12312
  refreshReleases: x,
12303
12313
  selectRelease: M,
12304
- createSession: U,
12314
+ createSession: j,
12305
12315
  sessionChanges: ne,
12306
12316
  refreshWorkspaceState: ee,
12307
12317
  refreshCheckpoints: _e,
@@ -12316,90 +12326,90 @@ function Pm() {
12316
12326
  rollbackToV1: re
12317
12327
  });
12318
12328
  }
12319
- const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, Dm = ["title", "onClick"], zm = {
12329
+ const Lm = ["aria-label", "title"], Dm = { class: "flex flex-col gap-[4px]" }, zm = ["title", "onClick"], Bm = {
12320
12330
  key: 0,
12321
12331
  class: "min-w-0 flex-1 truncate fm-typo-en-body-md-600"
12322
- }, Bm = {
12332
+ }, Fm = {
12323
12333
  key: 1,
12324
12334
  class: "rounded-full bg-fm-color-neutral-gray-100 px-[8px] py-[2px] fm-typo-en-body-xs-600 text-fm-color-typo-secondary"
12325
- }, Fm = { class: "mt-auto flex flex-col gap-[8px]" }, Um = ["title"], jm = {
12335
+ }, Um = { class: "mt-auto flex flex-col gap-[8px]" }, jm = ["title"], Hm = {
12326
12336
  key: 2,
12327
12337
  class: "min-w-0 truncate"
12328
- }, Hm = {
12338
+ }, Gm = {
12329
12339
  key: 0,
12330
12340
  class: "flex min-w-0 flex-1 flex-col overflow-auto bg-fm-color-neutral-white"
12331
- }, Gm = { class: "flex shrink-0 items-center justify-between gap-16 border-b border-fm-color-neutral-gray-100 px-24 py-16" }, Wm = { class: "flex w-full max-w-[760px] flex-col gap-16 p-24" }, Km = { class: "rounded-lg border border-fm-color-neutral-gray-100 bg-fm-color-neutral-white p-16" }, Vm = { class: "flex items-center justify-between gap-16" }, qm = { class: "min-w-0" }, Zm = { class: "m-0 fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Ym = { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, Xm = {
12341
+ }, Wm = { class: "flex shrink-0 items-center justify-between gap-16 border-b border-fm-color-neutral-gray-100 px-24 py-16" }, Km = { class: "flex w-full max-w-[760px] flex-col gap-16 p-24" }, Vm = { class: "rounded-lg border border-fm-color-neutral-gray-100 bg-fm-color-neutral-white p-16" }, qm = { class: "flex items-center justify-between gap-16" }, Zm = { class: "min-w-0" }, Ym = { class: "m-0 fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Xm = { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, Jm = {
12332
12342
  key: 0,
12333
12343
  class: "m-0 mt-12 break-words fm-typo-en-body-sm-400 text-fm-color-typo-error"
12334
- }, Jm = {
12344
+ }, Qm = {
12335
12345
  key: 1,
12336
12346
  class: "workspace__workspace-main flex min-w-0 flex-1 flex-col"
12337
- }, Qm = { class: "relative flex h-[52px] shrink-0 items-center justify-between gap-8 border-b border-fm-color-neutral-gray-100 px-16" }, eg = { class: "flex min-w-0 items-center gap-8" }, tg = { class: "min-w-0 truncate fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, ng = { class: "truncate" }, rg = { class: "flex shrink-0 items-center gap-4" }, sg = { class: "max-w-[280px] truncate" }, ag = { class: "absolute left-16 top-[52px] z-20 max-h-[360px] w-[320px] overflow-y-auto rounded-lg border border-fm-color-neutral-gray-200 bg-fm-color-neutral-white py-[4px] shadow-lg" }, ig = ["onClick"], og = { class: "min-w-0 flex-1" }, lg = { class: "truncate fm-typo-en-body-md-600 text-fm-color-typo-primary" }, cg = { class: "mt-2 truncate fm-typo-en-body-xs-400 text-fm-color-typo-tertiary" }, ug = {
12347
+ }, eg = { class: "relative flex h-[52px] shrink-0 items-center justify-between gap-8 border-b border-fm-color-neutral-gray-100 px-16" }, tg = { class: "flex min-w-0 items-center gap-8" }, ng = { class: "min-w-0 truncate fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, rg = { class: "truncate" }, sg = { class: "flex shrink-0 items-center gap-4" }, ag = { class: "max-w-[280px] truncate" }, ig = { class: "absolute left-16 top-[52px] z-20 max-h-[360px] w-[320px] overflow-y-auto rounded-lg border border-fm-color-neutral-gray-200 bg-fm-color-neutral-white py-[4px] shadow-lg" }, og = ["onClick"], lg = { class: "min-w-0 flex-1" }, cg = { class: "truncate fm-typo-en-body-md-600 text-fm-color-typo-primary" }, ug = { class: "mt-2 truncate fm-typo-en-body-xs-400 text-fm-color-typo-tertiary" }, dg = {
12338
12348
  key: 0,
12339
12349
  class: "px-[12px] py-[10px] fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
12340
- }, dg = {
12350
+ }, pg = {
12341
12351
  key: 0,
12342
12352
  class: "max-h-[320px] shrink-0 overflow-y-auto border-b border-fm-color-neutral-gray-100 bg-fm-color-neutral-white"
12343
- }, pg = { class: "flex items-center justify-between gap-12 border-b border-fm-color-neutral-gray-100 px-16 py-10" }, fg = {
12353
+ }, fg = { class: "flex items-center justify-between gap-12 border-b border-fm-color-neutral-gray-100 px-16 py-10" }, hg = {
12344
12354
  key: 0,
12345
12355
  class: "border-b border-fm-color-system-error-100 bg-fm-color-system-error-50 px-16 py-8 fm-typo-en-body-sm-400 text-fm-color-typo-error"
12346
- }, hg = {
12356
+ }, mg = {
12347
12357
  key: 1,
12348
12358
  class: "divide-y divide-fm-color-neutral-gray-100"
12349
- }, mg = { class: "min-w-0" }, gg = { class: "flex min-w-0 flex-wrap items-center gap-6" }, bg = { class: "fm-typo-en-body-md-600 text-fm-color-typo-primary" }, yg = { class: "mt-3 flex flex-wrap items-center gap-8 fm-typo-en-body-xs-400 text-fm-color-typo-secondary" }, vg = { class: "font-mono" }, xg = {
12359
+ }, gg = { class: "min-w-0" }, bg = { class: "flex min-w-0 flex-wrap items-center gap-6" }, yg = { class: "fm-typo-en-body-md-600 text-fm-color-typo-primary" }, vg = { class: "mt-3 flex flex-wrap items-center gap-8 fm-typo-en-body-xs-400 text-fm-color-typo-secondary" }, xg = { class: "font-mono" }, _g = {
12350
12360
  key: 0,
12351
12361
  class: "font-mono"
12352
- }, _g = { key: 1 }, wg = {
12362
+ }, wg = { key: 1 }, kg = {
12353
12363
  key: 0,
12354
12364
  class: "m-0 mt-3 truncate fm-typo-en-body-xs-400 text-fm-color-typo-secondary"
12355
- }, kg = {
12365
+ }, Sg = {
12356
12366
  key: 1,
12357
12367
  class: "m-0 mt-3 truncate fm-typo-en-body-xs-400 text-fm-color-typo-error"
12358
- }, Sg = {
12368
+ }, Tg = {
12359
12369
  key: 2,
12360
12370
  class: "px-16 py-14 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
12361
- }, Tg = {
12371
+ }, Eg = {
12362
12372
  key: 1,
12363
12373
  class: "flex shrink-0 items-center justify-between gap-16 border-b border-fm-color-system-warning-300 bg-fm-color-system-warning-50 px-16 py-8"
12364
- }, Eg = { class: "min-w-0 truncate fm-typo-en-body-sm-400 text-fm-color-typo-warning" }, Ag = {
12374
+ }, Ag = { class: "min-w-0 truncate fm-typo-en-body-sm-400 text-fm-color-typo-warning" }, Cg = {
12365
12375
  key: 0,
12366
12376
  class: "absolute inset-0 z-20 cursor-col-resize"
12367
- }, Cg = {
12377
+ }, $g = {
12368
12378
  key: 1,
12369
12379
  class: "workspace__suspend-overlay absolute inset-0 z-40 flex items-center justify-center p-24"
12370
- }, $g = { class: "flex w-full max-w-[400px] flex-col items-center gap-12 rounded-lg border border-fm-color-neutral-gray-200 bg-fm-color-neutral-white p-24 text-center shadow-lg" }, Rg = ["aria-valuenow"], Ig = {
12380
+ }, Rg = { class: "flex w-full max-w-[400px] flex-col items-center gap-12 rounded-lg border border-fm-color-neutral-gray-200 bg-fm-color-neutral-white p-24 text-center shadow-lg" }, Ig = ["aria-valuenow"], Ng = {
12371
12381
  key: 2,
12372
12382
  class: "flex min-w-0 flex-1 flex-col overflow-auto bg-fm-color-neutral-white"
12373
- }, Ng = { class: "flex shrink-0 items-center justify-between gap-16 border-b border-fm-color-neutral-gray-100 px-24 py-16" }, Og = { class: "flex shrink-0 items-center gap-8" }, Pg = { class: "flex w-full max-w-[920px] flex-col gap-24 p-24" }, Mg = { class: "rounded-lg border border-fm-color-neutral-gray-100 bg-fm-color-neutral-white" }, Lg = { class: "flex flex-col gap-16 p-16" }, Dg = { class: "flex items-center justify-between gap-16" }, zg = { class: "min-w-0" }, Bg = { class: "m-0 fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Fg = { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, Ug = { class: "flex shrink-0 items-center gap-6" }, jg = { class: "flex flex-wrap items-center gap-8" }, Hg = { class: "rounded-lg border border-fm-color-neutral-gray-100 bg-fm-color-neutral-white" }, Gg = { class: "flex items-center justify-between gap-16 border-b border-fm-color-neutral-gray-100 px-16 py-12" }, Wg = { class: "flex items-center gap-12" }, Kg = {
12383
+ }, Og = { class: "flex shrink-0 items-center justify-between gap-16 border-b border-fm-color-neutral-gray-100 px-24 py-16" }, Pg = { class: "flex shrink-0 items-center gap-8" }, Mg = { class: "flex w-full max-w-[920px] flex-col gap-24 p-24" }, Lg = { class: "rounded-lg border border-fm-color-neutral-gray-100 bg-fm-color-neutral-white" }, Dg = { class: "flex flex-col gap-16 p-16" }, zg = { class: "flex items-center justify-between gap-16" }, Bg = { class: "min-w-0" }, Fg = { class: "m-0 fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Ug = { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, jg = { class: "flex shrink-0 items-center gap-6" }, Hg = { class: "flex flex-wrap items-center gap-8" }, Gg = { class: "rounded-lg border border-fm-color-neutral-gray-100 bg-fm-color-neutral-white" }, Wg = { class: "flex items-center justify-between gap-16 border-b border-fm-color-neutral-gray-100 px-16 py-12" }, Kg = { class: "flex items-center gap-12" }, Vg = {
12374
12384
  key: 0,
12375
12385
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
12376
- }, Vg = { class: "font-mono text-fm-color-typo-secondary" }, qg = {
12386
+ }, qg = { class: "font-mono text-fm-color-typo-secondary" }, Zg = {
12377
12387
  key: 0,
12378
12388
  class: "flex flex-col items-center gap-6 p-24 text-center"
12379
- }, Zg = {
12389
+ }, Yg = {
12380
12390
  key: 1,
12381
12391
  class: "divide-y divide-fm-color-neutral-gray-100"
12382
- }, Yg = ["onClick"], Xg = { class: "flex min-w-0 flex-wrap items-center gap-[6px]" }, Jg = { class: "inline-flex min-w-0 items-center gap-[4px] truncate fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Qg = { class: "mt-4 flex min-w-0 flex-wrap items-center gap-8 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, eb = { class: "font-mono text-fm-color-typo-tertiary" }, tb = { class: "font-mono text-fm-color-typo-tertiary" }, nb = { class: "flex shrink-0 flex-wrap items-center justify-end gap-4" }, rb = { class: "rounded-lg border border-fm-color-system-warning-300 bg-fm-color-neutral-white" }, sb = { class: "flex items-center justify-between gap-16 p-16" }, ab = {
12392
+ }, Xg = ["onClick"], Jg = { class: "flex min-w-0 flex-wrap items-center gap-[6px]" }, Qg = { class: "inline-flex min-w-0 items-center gap-[4px] truncate fm-typo-en-body-md-600 text-fm-color-typo-primary" }, eb = { class: "mt-4 flex min-w-0 flex-wrap items-center gap-8 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, tb = { class: "font-mono text-fm-color-typo-tertiary" }, nb = { class: "font-mono text-fm-color-typo-tertiary" }, rb = { class: "flex shrink-0 flex-wrap items-center justify-end gap-4" }, sb = { class: "rounded-lg border border-fm-color-system-warning-300 bg-fm-color-neutral-white" }, ab = { class: "flex items-center justify-between gap-16 p-16" }, ib = {
12383
12393
  key: 3,
12384
12394
  class: "flex min-w-0 flex-1 flex-col overflow-auto bg-fm-color-neutral-white"
12385
- }, ib = { class: "flex shrink-0 items-center justify-between gap-16 border-b border-fm-color-neutral-gray-100 px-24 py-16" }, ob = { class: "flex w-full max-w-[920px] flex-col gap-8 p-24" }, lb = ["onClick", "onKeydown"], cb = { class: "min-w-0" }, ub = { class: "flex min-w-0 flex-wrap items-center gap-[6px]" }, db = { class: "truncate fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, pb = { class: "mt-4 flex flex-wrap items-center gap-x-8 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, fb = {
12395
+ }, ob = { class: "flex shrink-0 items-center justify-between gap-16 border-b border-fm-color-neutral-gray-100 px-24 py-16" }, lb = { class: "flex w-full max-w-[920px] flex-col gap-8 p-24" }, cb = ["onClick", "onKeydown"], ub = { class: "min-w-0" }, db = { class: "flex min-w-0 flex-wrap items-center gap-[6px]" }, pb = { class: "truncate fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, fb = { class: "mt-4 flex flex-wrap items-center gap-x-8 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, hb = {
12386
12396
  key: 0,
12387
12397
  class: "font-mono"
12388
- }, hb = {
12398
+ }, mb = {
12389
12399
  key: 1,
12390
12400
  class: "text-fm-color-typo-error"
12391
- }, mb = {
12401
+ }, gb = {
12392
12402
  key: 0,
12393
12403
  class: "mt-4 truncate fm-typo-en-body-sm-400 text-fm-color-typo-error"
12394
- }, gb = { class: "flex shrink-0 items-center gap-4" }, bb = {
12404
+ }, bb = { class: "flex shrink-0 items-center gap-4" }, yb = {
12395
12405
  key: 0,
12396
12406
  class: "flex flex-col items-center gap-8 rounded-lg border border-dashed border-fm-color-neutral-gray-200 p-24 text-center"
12397
- }, ga = "mpv2:sidebar-collapsed", Cr = "mpv2:chat-column-width", yb = 440, Wn = 320, $r = 720, vb = 360, xb = 30 * 60 * 1e3, _b = /* @__PURE__ */ pt({
12407
+ }, ga = "mpv2:sidebar-collapsed", Cr = "mpv2:chat-column-width", vb = 440, Wn = 320, $r = 720, xb = 360, _b = 30 * 60 * 1e3, wb = /* @__PURE__ */ pt({
12398
12408
  __name: "ControlPlaneView",
12399
12409
  setup(t) {
12400
- const e = Br(), n = km(), r = Pm(), s = ba(), o = ae("workspace"), l = ae(!1), a = ae(yi(ga, !1)), i = ae(!1), u = ae(null), p = ae(Bf(Cr, yb)), v = ae(!1);
12410
+ const e = Br(), n = Sm(), r = Mm(), s = ba(), o = ae("workspace"), l = ae(!1), a = ae(yi(ga, !1)), i = ae(!1), u = ae(null), p = ae(Bf(Cr, vb)), v = ae(!1);
12401
12411
  let m = null, S = null, c = null, y = "", w = "", T = null;
12402
- const x = B(() => r.sessions.find((b) => b.status === "active") ?? null), $ = ae(!1), C = ae(!1), M = ae(!1), U = ae(!1), ne = ae(!1), ee = B(
12412
+ const x = B(() => r.sessions.find((b) => b.status === "active") ?? null), $ = ae(!1), C = ae(!1), M = ae(!1), j = ae(!1), ne = ae(!1), ee = B(
12403
12413
  () => r.sessions.find((b) => b.id === n.workspaceSessionId) ?? x.value
12404
12414
  ), _e = B(
12405
12415
  () => ee.value ? se(ee.value) : "Workspace"
@@ -12422,7 +12432,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12422
12432
  return ((b = r.project) == null ? void 0 : b.provisioningError) ?? null;
12423
12433
  }), Y = B(() => r.busy || l.value), re = B(() => !!(x.value && r.isProvisioned && !Y.value && !n.agentBusy && !n.checkpointSaving && !r.checkpointBusy)), me = B(() => {
12424
12434
  const b = r.workspaceState;
12425
- return !ee.value || ee.value.status !== "active" ? "Read-only history" : b ? n.status === "starting" && b.syncState === "unavailable" ? b.lastDurableCommitSha ? `Starting workspace · saved ${b.lastDurableCommitSha.slice(0, 7)}` : "Starting workspace" : b.syncState === "unavailable" ? b.lastDurableCommitSha ? `Workspace unavailable · saved ${b.lastDurableCommitSha.slice(0, 7)}` : "Workspace unavailable" : b.syncState === "diverged" ? "Workspace diverged from main" : b.syncState === "behind" ? `${b.commitsBehindOrigin} commit${b.commitsBehindOrigin === 1 ? "" : "s"} behind main` : b.syncState === "uncommitted" ? `${b.statusCount} local change${b.statusCount === 1 ? "" : "s"} · awaiting save` : b.syncState === "unpushed" ? `${b.commitsAheadOrigin} local commit${b.commitsAheadOrigin === 1 ? "" : "s"} · not pushed` : b.syncState === "saving" || n.checkpointSaving || r.checkpointBusy ? "Saving checkpoint…" : b.syncState === "save_failed" ? "Save failed · retry scheduled" : b.lastDurableCommitSha ? `Saved to GitHub${b.lastPushedAt ? ` · ${he(b.lastPushedAt)}` : ""} · ${b.lastDurableCommitSha.slice(0, 7)}` : "No durable checkpoint yet" : "Checking save status…";
12435
+ return !ee.value || ee.value.status !== "active" ? "Read-only history" : b ? n.status === "starting" && b.syncState === "unavailable" ? b.lastDurableCommitSha ? `Starting workspace · saved ${b.lastDurableCommitSha.slice(0, 7)}` : "Starting workspace" : b.syncState === "unavailable" ? b.lastDurableCommitSha ? `Workspace unavailable · saved ${b.lastDurableCommitSha.slice(0, 7)}` : "Workspace unavailable" : b.syncState === "diverged" ? "Workspace diverged from main" : b.syncState === "behind" ? `${b.commitsBehindOrigin} commit${b.commitsBehindOrigin === 1 ? "" : "s"} behind main` : b.syncState === "uncommitted" ? `${b.statusCount} local change${b.statusCount === 1 ? "" : "s"} · awaiting save` : b.syncState === "unpushed" ? `${b.commitsAheadOrigin} local commit${b.commitsAheadOrigin === 1 ? "" : "s"} · not pushed` : b.syncState === "saving" || n.checkpointSaving || r.checkpointBusy ? "Saving checkpoint…" : b.syncState === "save_failed" ? "Save failed · retry scheduled" : b.lastDurableCommitSha ? `Saved to GitHub${b.lastPushedAt ? ` · ${fe(b.lastPushedAt)}` : ""} · ${b.lastDurableCommitSha.slice(0, 7)}` : "No durable checkpoint yet" : "Checking save status…";
12426
12436
  }), N = B(() => {
12427
12437
  var z;
12428
12438
  const b = (z = r.workspaceState) == null ? void 0 : z.syncState;
@@ -12437,7 +12447,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12437
12447
  function Me() {
12438
12448
  var z;
12439
12449
  const b = ((z = u.value) == null ? void 0 : z.clientWidth) ?? 0;
12440
- return b ? Math.max(Wn, Math.min($r, b - vb)) : $r;
12450
+ return b ? Math.max(Wn, Math.min($r, b - xb)) : $r;
12441
12451
  }
12442
12452
  function ze(b) {
12443
12453
  return Math.round(Math.min(Me(), Math.max(Wn, b)));
@@ -12485,7 +12495,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12485
12495
  ]);
12486
12496
  }
12487
12497
  async function te() {
12488
- if (U.value = !1, r.syncBusiness(), await r.refreshProject().catch((z) => {
12498
+ if (j.value = !1, r.syncBusiness(), await r.refreshProject().catch((z) => {
12489
12499
  r.statusText = Ye(z);
12490
12500
  }), !r.isProvisioned) {
12491
12501
  r.sessions = [], r.releases = [];
@@ -12541,7 +12551,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12541
12551
  async function Ue(b = "save") {
12542
12552
  if (!r.isProvisioned) return;
12543
12553
  const z = await r.createSession({ archiveCodeAction: b });
12544
- o.value = "workspace", M.value = !1, U.value = !1, await n.init({ businessId: r.businessId, sessionId: z.sessionId }), await ie().catch(() => {
12554
+ o.value = "workspace", M.value = !1, j.value = !1, await n.init({ businessId: r.businessId, sessionId: z.sessionId }), await ie().catch(() => {
12545
12555
  });
12546
12556
  }
12547
12557
  async function de() {
@@ -12705,22 +12715,22 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12705
12715
  return b.status === "rolled_back" ? "Restore live" : "Set live";
12706
12716
  }
12707
12717
  async function oe(b) {
12708
- $.value = !1, o.value = "workspace", M.value = !1, U.value = !1, await n.init({ businessId: r.businessId, sessionId: b.id, readOnly: b.status !== "active" }), await ie().catch(() => {
12718
+ $.value = !1, o.value = "workspace", M.value = !1, j.value = !1, await n.init({ businessId: r.businessId, sessionId: b.id, readOnly: b.status !== "active" }), await ie().catch(() => {
12709
12719
  });
12710
12720
  }
12711
12721
  async function ve(b) {
12712
- $.value = !1, await r.resumeSession(b.id), o.value = "workspace", M.value = !1, U.value = !1, await n.init({ businessId: r.businessId, sessionId: b.id }), await ie().catch(() => {
12722
+ $.value = !1, await r.resumeSession(b.id), o.value = "workspace", M.value = !1, j.value = !1, await n.init({ businessId: r.businessId, sessionId: b.id }), await ie().catch(() => {
12713
12723
  });
12714
12724
  }
12715
12725
  async function Be() {
12716
12726
  const b = n.workspaceSessionId;
12717
- b && (await r.resumeSession(b), M.value = !1, U.value = !1, await n.init({ businessId: r.businessId, sessionId: b }), await ie().catch(() => {
12727
+ b && (await r.resumeSession(b), M.value = !1, j.value = !1, await n.init({ businessId: r.businessId, sessionId: b }), await ie().catch(() => {
12718
12728
  }));
12719
12729
  }
12720
12730
  function Ze(b) {
12721
12731
  s.open({
12722
12732
  title: "Rename session",
12723
- dialogComponent: Th,
12733
+ dialogComponent: Eh,
12724
12734
  dialogComponentProps: {
12725
12735
  initialTitle: b.title,
12726
12736
  onSubmit: (z) => {
@@ -12732,7 +12742,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12732
12742
  });
12733
12743
  }
12734
12744
  function xt() {
12735
- U.value = !0, n.suspend("Paused after 30 minutes of inactivity");
12745
+ j.value = !0, n.suspend("Paused after 30 minutes of inactivity");
12736
12746
  }
12737
12747
  async function g() {
12738
12748
  if (!ne.value) {
@@ -12740,23 +12750,23 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12740
12750
  try {
12741
12751
  const b = n.workspaceSessionId;
12742
12752
  if (!b) {
12743
- U.value = !1, await te();
12753
+ j.value = !1, await te();
12744
12754
  return;
12745
12755
  }
12746
12756
  await r.refreshSessions().catch(() => {
12747
12757
  });
12748
12758
  const z = r.sessions.find((De) => De.id === b);
12749
- U.value = !1, z && z.status !== "active" ? (M.value = !0, await n.init({ businessId: r.businessId, sessionId: b, readOnly: !0 })) : await n.init({ businessId: r.businessId, sessionId: b });
12759
+ j.value = !1, z && z.status !== "active" ? (M.value = !0, await n.init({ businessId: r.businessId, sessionId: b, readOnly: !0 })) : await n.init({ businessId: r.businessId, sessionId: b });
12750
12760
  } finally {
12751
12761
  ne.value = !1;
12752
12762
  }
12753
12763
  }
12754
12764
  }
12755
- Em({
12756
- timeoutMs: xb,
12765
+ Am({
12766
+ timeoutMs: _b,
12757
12767
  // Only a live workspace generates keep-alive traffic worth stopping; the
12758
12768
  // read-only/empty states are already quiet.
12759
- isEligible: () => !U.value && !n.readOnly && !!n.workspaceSessionId && n.status === "ready",
12769
+ isEligible: () => !j.value && !n.readOnly && !!n.workspaceSessionId && n.status === "ready",
12760
12770
  // Submission is short-lived now that prompts use promptAsync; agentBusy and
12761
12771
  // queued prompts keep idle suspension from interrupting FIFO work.
12762
12772
  isActive: () => n.sending || n.agentBusy || n.queuedMessages.length > 0 || Y.value || ne.value,
@@ -12783,7 +12793,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12783
12793
  var z;
12784
12794
  return ((z = b.title) == null ? void 0 : z.trim()) || Z(b);
12785
12795
  }
12786
- function he(b) {
12796
+ function fe(b) {
12787
12797
  if (!b) return "No timestamp";
12788
12798
  const z = new Date(b);
12789
12799
  return Number.isNaN(z.getTime()) ? "No timestamp" : new Intl.DateTimeFormat(void 0, {
@@ -12817,9 +12827,9 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12817
12827
  size: "md",
12818
12828
  color: "typo-secondary"
12819
12829
  }, null, 8, ["name"])
12820
- ], 8, Mm)
12830
+ ], 8, Lm)
12821
12831
  ], 2),
12822
- f("nav", Lm, [
12832
+ f("nav", Dm, [
12823
12833
  (h(), _(Te, null, Re(Fe, (P) => f("button", {
12824
12834
  key: P.key,
12825
12835
  type: "button",
@@ -12835,11 +12845,11 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12835
12845
  color: o.value === P.key ? "primary" : "typo-secondary",
12836
12846
  size: "md"
12837
12847
  }, null, 8, ["name", "color"]),
12838
- F.value ? j("", !0) : (h(), _("span", zm, I(P.label), 1)),
12839
- !F.value && P.key === "sessions" ? (h(), _("span", Bm, I(O(r).sessions.length), 1)) : j("", !0)
12840
- ], 10, Dm)), 64))
12848
+ F.value ? U("", !0) : (h(), _("span", Bm, I(P.label), 1)),
12849
+ !F.value && P.key === "sessions" ? (h(), _("span", Fm, I(O(r).sessions.length), 1)) : U("", !0)
12850
+ ], 10, zm)), 64))
12841
12851
  ]),
12842
- f("div", Fm, [
12852
+ f("div", Um, [
12843
12853
  O(r).statusText ? (h(), _("p", {
12844
12854
  key: 0,
12845
12855
  class: Ae(["m-0 flex items-center rounded-md bg-fm-color-neutral-gray-100 fm-typo-en-body-xs-400 text-fm-color-typo-secondary", F.value ? "justify-center px-[6px] py-[8px]" : "gap-[6px] px-[10px] py-[6px]"]),
@@ -12854,10 +12864,10 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12854
12864
  name: "info",
12855
12865
  size: "sm",
12856
12866
  color: "typo-secondary"
12857
- })) : j("", !0),
12858
- F.value ? j("", !0) : (h(), _("span", jm, I(O(r).statusText), 1))
12859
- ], 10, Um)) : j("", !0),
12860
- O(r).isProvisioned ? j("", !0) : (h(), Se(G, {
12867
+ })) : U("", !0),
12868
+ F.value ? U("", !0) : (h(), _("span", Hm, I(O(r).statusText), 1))
12869
+ ], 10, jm)) : U("", !0),
12870
+ O(r).isProvisioned ? U("", !0) : (h(), Se(G, {
12861
12871
  key: 1,
12862
12872
  icon: "source",
12863
12873
  label: F.value ? void 0 : "Set up v2 project",
@@ -12875,9 +12885,9 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12875
12885
  }, null, 8, ["label", "disabled", "loading", "title"])
12876
12886
  ])
12877
12887
  ], 2),
12878
- O(r).isProvisioned ? o.value === "workspace" ? (h(), _("main", Jm, [
12879
- f("div", Qm, [
12880
- f("div", eg, [
12888
+ O(r).isProvisioned ? o.value === "workspace" ? (h(), _("main", Qm, [
12889
+ f("div", eg, [
12890
+ f("div", tg, [
12881
12891
  f("button", {
12882
12892
  type: "button",
12883
12893
  class: "flex min-w-0 cursor-pointer items-center gap-[6px] rounded-md border-0 bg-transparent px-[8px] py-[6px] text-left hover:bg-fm-color-neutral-gray-100",
@@ -12888,7 +12898,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12888
12898
  color: "primary",
12889
12899
  size: "md"
12890
12900
  }),
12891
- f("span", tg, I(_e.value), 1),
12901
+ f("span", ng, I(_e.value), 1),
12892
12902
  ee.value ? (h(), Se(Tt, {
12893
12903
  key: 0,
12894
12904
  variant: O(Er)(ee.value.status)
@@ -12897,7 +12907,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12897
12907
  Ke(I(O(Ar)(ee.value.status)), 1)
12898
12908
  ]),
12899
12909
  _: 1
12900
- }, 8, ["variant"])) : j("", !0),
12910
+ }, 8, ["variant"])) : U("", !0),
12901
12911
  W(De, {
12902
12912
  name: "expand_more",
12903
12913
  color: "typo-secondary",
@@ -12911,10 +12921,10 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12911
12921
  title: "Rename session",
12912
12922
  "aria-label": "Rename session",
12913
12923
  onClick: z[1] || (z[1] = (P) => Ze(ee.value))
12914
- })) : j("", !0),
12915
- O(n).readOnly ? j("", !0) : (h(), Se(Tt, {
12924
+ })) : U("", !0),
12925
+ O(n).readOnly ? U("", !0) : (h(), Se(Tt, {
12916
12926
  key: 1,
12917
- variant: O(Om)(O(n).status),
12927
+ variant: O(Pm)(O(n).status),
12918
12928
  class: "min-w-0 max-w-[240px]"
12919
12929
  }, {
12920
12930
  default: gt(() => [
@@ -12922,13 +12932,13 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12922
12932
  key: 0,
12923
12933
  size: "md",
12924
12934
  color: "system-warning-300"
12925
- })) : j("", !0),
12926
- f("span", ng, I(O(n).statusText), 1)
12935
+ })) : U("", !0),
12936
+ f("span", rg, I(O(n).statusText), 1)
12927
12937
  ]),
12928
12938
  _: 1
12929
12939
  }, 8, ["variant"]))
12930
12940
  ]),
12931
- f("div", rg, [
12941
+ f("div", sg, [
12932
12942
  ee.value ? (h(), _("button", {
12933
12943
  key: 0,
12934
12944
  type: "button",
@@ -12942,12 +12952,12 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12942
12952
  key: 0,
12943
12953
  size: "md",
12944
12954
  color: "neutral-gray-300"
12945
- })) : j("", !0),
12946
- f("span", sg, I(me.value), 1)
12955
+ })) : U("", !0),
12956
+ f("span", ag, I(me.value), 1)
12947
12957
  ]),
12948
12958
  _: 1
12949
12959
  }, 8, ["variant"])
12950
- ])) : j("", !0),
12960
+ ])) : U("", !0),
12951
12961
  ee.value && ee.value.status === "active" ? (h(), Se(G, {
12952
12962
  key: 1,
12953
12963
  icon: "save",
@@ -12956,7 +12966,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12956
12966
  loading: O(r).checkpointBusy,
12957
12967
  disabled: O(n).agentBusy || O(n).checkpointSaving || O(r).checkpointBusy,
12958
12968
  onClick: Ge
12959
- }, null, 8, ["loading", "disabled"])) : j("", !0),
12969
+ }, null, 8, ["loading", "disabled"])) : U("", !0),
12960
12970
  ee.value && ee.value.status === "active" ? (h(), Se(G, {
12961
12971
  key: 2,
12962
12972
  icon: "build",
@@ -12965,23 +12975,23 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12965
12975
  disabled: !re.value,
12966
12976
  loading: O(r).busy,
12967
12977
  onClick: tt
12968
- }, null, 8, ["disabled", "loading"])) : j("", !0)
12978
+ }, null, 8, ["disabled", "loading"])) : U("", !0)
12969
12979
  ]),
12970
12980
  $.value ? (h(), _(Te, { key: 0 }, [
12971
12981
  f("div", {
12972
12982
  class: "fixed inset-0 z-10",
12973
12983
  onClick: z[2] || (z[2] = (P) => $.value = !1)
12974
12984
  }),
12975
- f("div", ag, [
12985
+ f("div", ig, [
12976
12986
  (h(!0), _(Te, null, Re(O(r).sessions, (P) => (h(), _("button", {
12977
12987
  key: P.id,
12978
12988
  type: "button",
12979
12989
  class: Ae(["flex w-full cursor-pointer items-center gap-8 border-0 bg-transparent px-[12px] py-[8px] text-left hover:bg-fm-color-neutral-gray-100", P.id === O(n).workspaceSessionId ? "bg-fm-color-primary-oats" : ""]),
12980
12990
  onClick: (lt) => oe(P)
12981
12991
  }, [
12982
- f("div", og, [
12983
- f("div", lg, I(se(P)), 1),
12984
- f("div", cg, I(he(P.updated_at)), 1)
12992
+ f("div", lg, [
12993
+ f("div", cg, I(se(P)), 1),
12994
+ f("div", ug, I(fe(P.updated_at)), 1)
12985
12995
  ]),
12986
12996
  W(Tt, {
12987
12997
  variant: O(Er)(P.status)
@@ -12991,13 +13001,13 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
12991
13001
  ]),
12992
13002
  _: 2
12993
13003
  }, 1032, ["variant"])
12994
- ], 10, ig))), 128)),
12995
- O(r).sessions.length ? j("", !0) : (h(), _("div", ug, " No sessions yet. "))
13004
+ ], 10, og))), 128)),
13005
+ O(r).sessions.length ? U("", !0) : (h(), _("div", dg, " No sessions yet. "))
12996
13006
  ])
12997
- ], 64)) : j("", !0)
13007
+ ], 64)) : U("", !0)
12998
13008
  ]),
12999
- C.value && ee.value ? (h(), _("section", dg, [
13000
- f("div", pg, [
13009
+ C.value && ee.value ? (h(), _("section", pg, [
13010
+ f("div", fg, [
13001
13011
  z[6] || (z[6] = f("div", { class: "min-w-0" }, [
13002
13012
  f("p", { class: "m-0 fm-typo-en-body-md-600 text-fm-color-typo-primary" }, "Checkpoint history"),
13003
13013
  f("p", { class: "m-0 mt-2 fm-typo-en-body-xs-400 text-fm-color-typo-secondary" }, " Code and agent context are tracked separately. Restoring code creates a new commit on main. ")
@@ -13009,15 +13019,15 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13009
13019
  onClick: z[3] || (z[3] = (P) => ie(!0))
13010
13020
  }, null, 8, ["loading"])
13011
13021
  ]),
13012
- (Zt = O(r).workspaceState) != null && Zt.checkpointError || O(n).checkpointError ? (h(), _("div", fg, I((($t = O(r).workspaceState) == null ? void 0 : $t.checkpointError) || O(n).checkpointError), 1)) : j("", !0),
13013
- O(r).checkpoints.length ? (h(), _("div", hg, [
13022
+ (Zt = O(r).workspaceState) != null && Zt.checkpointError || O(n).checkpointError ? (h(), _("div", hg, I((($t = O(r).workspaceState) == null ? void 0 : $t.checkpointError) || O(n).checkpointError), 1)) : U("", !0),
13023
+ O(r).checkpoints.length ? (h(), _("div", mg, [
13014
13024
  (h(!0), _(Te, null, Re(O(r).checkpoints, (P) => (h(), _("div", {
13015
13025
  key: P.id,
13016
13026
  class: "flex items-center justify-between gap-16 px-16 py-10"
13017
13027
  }, [
13018
- f("div", mg, [
13019
- f("div", gg, [
13020
- f("span", bg, I(ht(P)), 1),
13028
+ f("div", gg, [
13029
+ f("div", bg, [
13030
+ f("span", yg, I(ht(P)), 1),
13021
13031
  W(Tt, {
13022
13032
  variant: vt(P),
13023
13033
  size: "sm"
@@ -13037,14 +13047,14 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13037
13047
  _: 2
13038
13048
  }, 1032, ["variant"])
13039
13049
  ]),
13040
- f("div", yg, [
13041
- f("span", null, I(he(P.created_at)), 1),
13042
- f("span", vg, I(P.id), 1),
13043
- P.verified_remote_sha ? (h(), _("span", xg, I(P.verified_remote_sha.slice(0, 7)), 1)) : j("", !0),
13044
- P.file_count ? (h(), _("span", _g, I(P.file_count) + " file" + I(P.file_count === 1 ? "" : "s") + " · +" + I(P.additions) + " −" + I(P.deletions), 1)) : j("", !0)
13050
+ f("div", vg, [
13051
+ f("span", null, I(fe(P.created_at)), 1),
13052
+ f("span", xg, I(P.id), 1),
13053
+ P.verified_remote_sha ? (h(), _("span", _g, I(P.verified_remote_sha.slice(0, 7)), 1)) : U("", !0),
13054
+ P.file_count ? (h(), _("span", wg, I(P.file_count) + " file" + I(P.file_count === 1 ? "" : "s") + " · +" + I(P.additions) + " −" + I(P.deletions), 1)) : U("", !0)
13045
13055
  ]),
13046
- P.summary ? (h(), _("p", wg, I(P.summary), 1)) : j("", !0),
13047
- P.error_message ? (h(), _("p", kg, I(P.error_stage) + ": " + I(P.error_message), 1)) : j("", !0)
13056
+ P.summary ? (h(), _("p", kg, I(P.summary), 1)) : U("", !0),
13057
+ P.error_message ? (h(), _("p", Sg, I(P.error_stage) + ": " + I(P.error_message), 1)) : U("", !0)
13048
13058
  ]),
13049
13059
  W(G, {
13050
13060
  label: "Restore",
@@ -13054,26 +13064,26 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13054
13064
  onClick: (lt) => q(P)
13055
13065
  }, null, 8, ["disabled", "onClick"])
13056
13066
  ]))), 128))
13057
- ])) : (h(), _("div", Sg, " No checkpoints yet. Save manually or complete an agent turn to create one. "))
13058
- ])) : j("", !0),
13059
- O(n).readOnly && O(n).workspaceSessionId ? (h(), _("div", Tg, [
13060
- f("span", Eg, I(M.value ? "This session was archived after being idle. Resume it to keep working with the agent." : "You are viewing an archived session. Resume it to continue working with the agent."), 1),
13067
+ ])) : (h(), _("div", Tg, " No checkpoints yet. Save manually or complete an agent turn to create one. "))
13068
+ ])) : U("", !0),
13069
+ O(n).readOnly && O(n).workspaceSessionId ? (h(), _("div", Eg, [
13070
+ f("span", Ag, I(M.value ? "This session was archived after being idle. Resume it to keep working with the agent." : "You are viewing an archived session. Resume it to continue working with the agent."), 1),
13061
13071
  W(G, {
13062
13072
  label: "Resume session",
13063
13073
  icon: "restart_alt",
13064
13074
  loading: O(r).busy,
13065
13075
  onClick: Be
13066
13076
  }, null, 8, ["loading"])
13067
- ])) : j("", !0),
13077
+ ])) : U("", !0),
13068
13078
  f("div", {
13069
13079
  ref_key: "workspaceSplitEl",
13070
13080
  ref: u,
13071
13081
  class: "workspace__split relative flex min-h-0 min-w-0 flex-1",
13072
13082
  style: Pt(ue.value)
13073
13083
  }, [
13074
- v.value ? (h(), _("div", Ag)) : j("", !0),
13075
- U.value ? (h(), _("div", Cg, [
13076
- f("div", $g, [
13084
+ v.value ? (h(), _("div", Cg)) : U("", !0),
13085
+ j.value ? (h(), _("div", $g, [
13086
+ f("div", Rg, [
13077
13087
  W(De, {
13078
13088
  name: "pause_circle",
13079
13089
  size: "xl",
@@ -13088,7 +13098,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13088
13098
  onClick: g
13089
13099
  }, null, 8, ["loading"])
13090
13100
  ])
13091
- ])) : j("", !0),
13101
+ ])) : U("", !0),
13092
13102
  W(tp, {
13093
13103
  chat: O(n),
13094
13104
  class: "workspace__chat shrink-0"
@@ -13107,19 +13117,19 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13107
13117
  }, [...z[9] || (z[9] = [
13108
13118
  f("span", { class: "w-px bg-fm-color-neutral-gray-100 transition group-hover:bg-fm-color-primary group-focus-visible:bg-fm-color-primary" }, null, -1),
13109
13119
  f("span", { class: "pointer-events-none absolute inset-y-0 left-1/2 hidden w-[3px] -translate-x-1/2 rounded-full bg-fm-color-primary opacity-20 group-hover:block group-focus-visible:block" }, null, -1)
13110
- ])], 40, Rg),
13111
- W(kh, {
13120
+ ])], 40, Ig),
13121
+ W(Sh, {
13112
13122
  chat: O(n),
13113
13123
  class: "min-w-0 flex-1"
13114
13124
  }, null, 8, ["chat"])
13115
13125
  ], 4)
13116
- ])) : o.value === "releases" ? (h(), _("main", Ig, [
13117
- f("header", Ng, [
13126
+ ])) : o.value === "releases" ? (h(), _("main", Ng, [
13127
+ f("header", Og, [
13118
13128
  z[10] || (z[10] = f("div", { class: "min-w-0" }, [
13119
13129
  f("h2", { class: "m-0 fm-typo-en-title-sm-600 text-fm-color-typo-primary" }, "Releases"),
13120
13130
  f("p", { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, " Build from the active session, preview the release, then publish when it is ready. ")
13121
13131
  ], -1)),
13122
- f("div", Og, [
13132
+ f("div", Pg, [
13123
13133
  W(G, {
13124
13134
  label: "Open live app",
13125
13135
  icon: "open_in_new",
@@ -13136,18 +13146,18 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13136
13146
  }, null, 8, ["disabled", "loading"])
13137
13147
  ])
13138
13148
  ]),
13139
- f("div", Pg, [
13140
- f("section", Mg, [
13149
+ f("div", Mg, [
13150
+ f("section", Lg, [
13141
13151
  z[12] || (z[12] = f("div", { class: "border-b border-fm-color-neutral-gray-100 px-16 py-12" }, [
13142
13152
  f("h3", { class: "m-0 fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, "Latest release")
13143
13153
  ], -1)),
13144
- f("div", Lg, [
13145
- f("div", Dg, [
13146
- f("div", zg, [
13147
- f("p", Bg, I(Ce.value), 1),
13148
- f("p", Fg, I(V.value), 1)
13154
+ f("div", Dg, [
13155
+ f("div", zg, [
13156
+ f("div", Bg, [
13157
+ f("p", Fg, I(Ce.value), 1),
13158
+ f("p", Ug, I(V.value), 1)
13149
13159
  ]),
13150
- f("div", Ug, [
13160
+ f("div", jg, [
13151
13161
  ((Je = O(r).latestRelease) == null ? void 0 : Je.id) === ((vn = we.value) == null ? void 0 : vn.id) ? (h(), Se(Tt, {
13152
13162
  key: 0,
13153
13163
  variant: "primary",
@@ -13157,19 +13167,19 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13157
13167
  Ke(" Live ", -1)
13158
13168
  ])]),
13159
13169
  _: 1
13160
- })) : j("", !0),
13170
+ })) : U("", !0),
13161
13171
  W(Tt, {
13162
- variant: O(Am)(Q.value),
13172
+ variant: O(Cm)(Q.value),
13163
13173
  size: "sm"
13164
13174
  }, {
13165
13175
  default: gt(() => [
13166
- Ke(I(O(Cm)(Q.value)), 1)
13176
+ Ke(I(O($m)(Q.value)), 1)
13167
13177
  ]),
13168
13178
  _: 1
13169
13179
  }, 8, ["variant"])
13170
13180
  ])
13171
13181
  ]),
13172
- f("div", jg, [
13182
+ f("div", Hg, [
13173
13183
  W(G, {
13174
13184
  label: O(r).latestRelease ? K(O(r).latestRelease) : "Set live",
13175
13185
  icon: "publish",
@@ -13190,18 +13200,18 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13190
13200
  icon: "open_in_new",
13191
13201
  variant: "tertiary",
13192
13202
  onClick: ke
13193
- })) : j("", !0)
13203
+ })) : U("", !0)
13194
13204
  ])
13195
13205
  ])
13196
13206
  ]),
13197
- f("section", Hg, [
13198
- f("div", Gg, [
13207
+ f("section", Gg, [
13208
+ f("div", Wg, [
13199
13209
  z[14] || (z[14] = f("h3", { class: "m-0 fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, "Recent releases", -1)),
13200
- f("div", Wg, [
13201
- we.value ? (h(), _("div", Kg, [
13210
+ f("div", Kg, [
13211
+ we.value ? (h(), _("div", Vg, [
13202
13212
  z[13] || (z[13] = Ke(" Live: ", -1)),
13203
- f("span", Vg, I(we.value.id), 1)
13204
- ])) : j("", !0),
13213
+ f("span", qg, I(we.value.id), 1)
13214
+ ])) : U("", !0),
13205
13215
  W(G, {
13206
13216
  label: "Refresh",
13207
13217
  icon: "refresh",
@@ -13211,7 +13221,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13211
13221
  }, null, 8, ["loading"])
13212
13222
  ])
13213
13223
  ]),
13214
- O(r).releases.length === 0 ? (h(), _("div", qg, [
13224
+ O(r).releases.length === 0 ? (h(), _("div", Zg, [
13215
13225
  W(De, {
13216
13226
  name: "rocket_launch",
13217
13227
  size: "xl",
@@ -13219,7 +13229,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13219
13229
  }),
13220
13230
  z[15] || (z[15] = f("p", { class: "m-0 fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, "No releases yet", -1)),
13221
13231
  z[16] || (z[16] = f("p", { class: "m-0 fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, " Build from the active session to create a release you can preview and publish. ", -1))
13222
- ])) : (h(), _("div", Zg, [
13232
+ ])) : (h(), _("div", Yg, [
13223
13233
  (h(!0), _(Te, null, Re(O(r).releases, (P) => (h(), _("div", {
13224
13234
  key: P.id,
13225
13235
  class: Ae(["flex items-center gap-16 px-16 py-12", E(P)])
@@ -13229,8 +13239,8 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13229
13239
  class: "min-w-0 flex-1 cursor-pointer border-0 bg-transparent p-0 text-left",
13230
13240
  onClick: (lt) => Dt(P)
13231
13241
  }, [
13232
- f("div", Xg, [
13233
- f("span", Jg, [
13242
+ f("div", Jg, [
13243
+ f("span", Qg, [
13234
13244
  W(De, {
13235
13245
  name: "space_dashboard",
13236
13246
  color: "typo-tertiary",
@@ -13239,22 +13249,22 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13239
13249
  Ke(" " + I(P.session_title || "Manual release"), 1)
13240
13250
  ]),
13241
13251
  W(Tt, {
13242
- variant: O(Nm)(P),
13252
+ variant: O(Om)(P),
13243
13253
  size: "sm"
13244
13254
  }, {
13245
13255
  default: gt(() => [
13246
- Ke(I(O(Im)(P)), 1)
13256
+ Ke(I(O(Nm)(P)), 1)
13247
13257
  ]),
13248
13258
  _: 2
13249
13259
  }, 1032, ["variant"])
13250
13260
  ]),
13251
- f("div", Qg, [
13252
- f("span", null, I(he(P.created_at)), 1),
13253
- f("span", eb, I(P.id), 1),
13254
- f("span", tb, I(P.source_commit_sha.slice(0, 7)), 1)
13261
+ f("div", eb, [
13262
+ f("span", null, I(fe(P.created_at)), 1),
13263
+ f("span", tb, I(P.id), 1),
13264
+ f("span", nb, I(P.source_commit_sha.slice(0, 7)), 1)
13255
13265
  ])
13256
- ], 8, Yg),
13257
- f("div", nb, [
13266
+ ], 8, Xg),
13267
+ f("div", rb, [
13258
13268
  W(G, {
13259
13269
  icon: "open_in_new",
13260
13270
  variant: "tertiary",
@@ -13273,13 +13283,13 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13273
13283
  icon: "receipt_long",
13274
13284
  variant: "tertiary",
13275
13285
  onClick: (lt) => R(P)
13276
- }, null, 8, ["onClick"])) : j("", !0)
13286
+ }, null, 8, ["onClick"])) : U("", !0)
13277
13287
  ])
13278
13288
  ], 2))), 128))
13279
13289
  ]))
13280
13290
  ]),
13281
- f("section", rb, [
13282
- f("div", sb, [
13291
+ f("section", sb, [
13292
+ f("div", ab, [
13283
13293
  z[17] || (z[17] = f("div", { class: "min-w-0" }, [
13284
13294
  f("h3", { class: "m-0 fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, "Fallback"),
13285
13295
  f("p", { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, " Restore the merchant back to the current v1 miniprogram. ")
@@ -13295,8 +13305,8 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13295
13305
  ])
13296
13306
  ])
13297
13307
  ])
13298
- ])) : (h(), _("main", ab, [
13299
- f("header", ib, [
13308
+ ])) : (h(), _("main", ib, [
13309
+ f("header", ob, [
13300
13310
  z[18] || (z[18] = f("div", { class: "min-w-0" }, [
13301
13311
  f("h2", { class: "m-0 fm-typo-en-title-sm-600 text-fm-color-typo-primary" }, "Sessions"),
13302
13312
  f("p", { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, " Switch between active and archived sessions without exposing internal identifiers. ")
@@ -13309,7 +13319,7 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13309
13319
  onClick: le
13310
13320
  }, null, 8, ["disabled", "loading"])
13311
13321
  ]),
13312
- f("div", ob, [
13322
+ f("div", lb, [
13313
13323
  (h(!0), _(Te, null, Re(O(r).sessions, (P) => (h(), _("div", {
13314
13324
  key: P.id,
13315
13325
  role: "button",
@@ -13318,9 +13328,9 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13318
13328
  onClick: (lt) => oe(P),
13319
13329
  onKeydown: ji((lt) => oe(P), ["enter"])
13320
13330
  }, [
13321
- f("div", cb, [
13322
- f("div", ub, [
13323
- f("span", db, I(se(P)), 1),
13331
+ f("div", ub, [
13332
+ f("div", db, [
13333
+ f("span", pb, I(se(P)), 1),
13324
13334
  P.has_live_release ? (h(), Se(Tt, {
13325
13335
  key: 0,
13326
13336
  variant: "primary",
@@ -13339,16 +13349,16 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13339
13349
  Ke(I(P.release_count) + " release" + I(P.release_count > 1 ? "s" : ""), 1)
13340
13350
  ]),
13341
13351
  _: 2
13342
- }, 1024)) : j("", !0)
13352
+ }, 1024)) : U("", !0)
13343
13353
  ]),
13344
- f("div", pb, [
13345
- f("span", null, "Updated " + I(he(P.updated_at)), 1),
13346
- P.last_durable_commit_sha ? (h(), _("span", fb, " Saved " + I(P.last_durable_commit_sha.slice(0, 7)), 1)) : j("", !0),
13347
- P.checkpoint_status === "local_only" || P.checkpoint_status === "failed" ? (h(), _("span", hb, " Save incomplete ")) : j("", !0)
13354
+ f("div", fb, [
13355
+ f("span", null, "Updated " + I(fe(P.updated_at)), 1),
13356
+ P.last_durable_commit_sha ? (h(), _("span", hb, " Saved " + I(P.last_durable_commit_sha.slice(0, 7)), 1)) : U("", !0),
13357
+ P.checkpoint_status === "local_only" || P.checkpoint_status === "failed" ? (h(), _("span", mb, " Save incomplete ")) : U("", !0)
13348
13358
  ]),
13349
- P.status === "needs_attention" && P.attention_error ? (h(), _("div", mb, I(P.attention_action) + ": " + I(P.attention_error), 1)) : j("", !0)
13359
+ P.status === "needs_attention" && P.attention_error ? (h(), _("div", gb, I(P.attention_action) + ": " + I(P.attention_error), 1)) : U("", !0)
13350
13360
  ]),
13351
- f("div", gb, [
13361
+ f("div", bb, [
13352
13362
  W(Tt, {
13353
13363
  variant: O(Er)(P.status)
13354
13364
  }, {
@@ -13368,15 +13378,15 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13368
13378
  variant: "tertiary",
13369
13379
  disabled: O(r).busy,
13370
13380
  onClick: Zn((lt) => ve(P), ["stop"])
13371
- }, null, 8, ["disabled", "onClick"])) : j("", !0),
13381
+ }, null, 8, ["disabled", "onClick"])) : U("", !0),
13372
13382
  W(De, {
13373
13383
  name: "chevron_right",
13374
13384
  color: "typo-secondary",
13375
13385
  size: "md"
13376
13386
  })
13377
13387
  ])
13378
- ], 42, lb))), 128)),
13379
- O(r).sessions.length ? j("", !0) : (h(), _("div", bb, [
13388
+ ], 42, cb))), 128)),
13389
+ O(r).sessions.length ? U("", !0) : (h(), _("div", yb, [
13380
13390
  W(De, {
13381
13391
  name: "history",
13382
13392
  size: "xl",
@@ -13394,8 +13404,8 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13394
13404
  }, null, 8, ["disabled", "loading"])
13395
13405
  ]))
13396
13406
  ])
13397
- ])) : (h(), _("main", Hm, [
13398
- f("header", Gm, [
13407
+ ])) : (h(), _("main", Gm, [
13408
+ f("header", Wm, [
13399
13409
  z[5] || (z[5] = f("div", { class: "min-w-0" }, [
13400
13410
  f("h2", { class: "m-0 fm-typo-en-title-sm-600 text-fm-color-typo-primary" }, "Set up v2 project"),
13401
13411
  f("p", { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, " Create the merchant app repository and prepare live previews. Live traffic stays on v1 until a release is published. ")
@@ -13407,12 +13417,12 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13407
13417
  onClick: de
13408
13418
  }, null, 8, ["loading"])
13409
13419
  ]),
13410
- f("div", Wm, [
13411
- f("section", Km, [
13412
- f("div", Vm, [
13413
- f("div", qm, [
13414
- f("p", Zm, I(((mt = O(r).project) == null ? void 0 : mt.provisioningStatus) === "failed" ? "Setup failed" : "Project is not set up yet"), 1),
13415
- f("p", Ym, I(((Ut = O(r).project) == null ? void 0 : Ut.repoName) ?? "miniprogram repository"), 1)
13420
+ f("div", Km, [
13421
+ f("section", Vm, [
13422
+ f("div", qm, [
13423
+ f("div", Zm, [
13424
+ f("p", Ym, I(((mt = O(r).project) == null ? void 0 : mt.provisioningStatus) === "failed" ? "Setup failed" : "Project is not set up yet"), 1),
13425
+ f("p", Xm, I(((Ut = O(r).project) == null ? void 0 : Ut.repoName) ?? "miniprogram repository"), 1)
13416
13426
  ]),
13417
13427
  W(Tt, {
13418
13428
  variant: O(r).provisioningFailed ? "error" : "neutral"
@@ -13420,20 +13430,20 @@ const Mm = ["aria-label", "title"], Lm = { class: "flex flex-col gap-[4px]" }, D
13420
13430
  default: gt(() => {
13421
13431
  var P;
13422
13432
  return [
13423
- Ke(I(O($m)((P = O(r).project) == null ? void 0 : P.provisioningStatus)), 1)
13433
+ Ke(I(O(Rm)((P = O(r).project) == null ? void 0 : P.provisioningStatus)), 1)
13424
13434
  ];
13425
13435
  }),
13426
13436
  _: 1
13427
13437
  }, 8, ["variant"])
13428
13438
  ]),
13429
- L.value ? (h(), _("p", Xm, I(L.value), 1)) : j("", !0)
13439
+ L.value ? (h(), _("p", Jm, I(L.value), 1)) : U("", !0)
13430
13440
  ])
13431
13441
  ])
13432
13442
  ]))
13433
13443
  ], 2);
13434
13444
  };
13435
13445
  }
13436
- }), Ab = /* @__PURE__ */ Mt(_b, [["__scopeId", "data-v-7c371ce3"]]);
13446
+ }), Cb = /* @__PURE__ */ Mt(wb, [["__scopeId", "data-v-7c371ce3"]]);
13437
13447
  export {
13438
- Ab as default
13448
+ Cb as default
13439
13449
  };