@8wave/ai-elements 0.119.0-beta.54 → 0.119.0-beta.56

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,6 +1,6 @@
1
1
  (function(){try{var __b=new URL(".",import.meta.url).href;if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-209F,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AE,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F8D0-1F8D8,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FAC6,U+1FAC8,U+1FACC-1FADD,U+1FADF-1FAEB,U+1FAEF-1FAFA,U+1FB00-1FBFF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-209F,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AE,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F8D0-1F8D8,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FAC6,U+1FAC8,U+1FACC-1FADD,U+1FADF-1FAEB,U+1FAEF-1FAFA,U+1FB00-1FBFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("+__b+"assets/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
2
2
  import { C as e, E as t, S as n, T as r, _ as i, a, b as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, w as x, x as S, y as ee } from "./_chunks/zod-Dd1GFq_6.js";
3
- import { $ as C, B as te, C as w, Ct as T, D as ne, Dt as E, E as D, Et as re, F as ie, G as ae, H as oe, I as O, J as k, K as se, L as A, M as ce, N as le, O as j, P as ue, R as de, S as M, St as N, T as P, Tt as fe, X as F, Z as pe, _ as I, _t as me, b as L, bt as R, ct as z, d as B, dt as he, ft as ge, g as V, gt as _e, h as H, it as U, j as ve, k as ye, l as be, lt as xe, m as W, mt as G, n as Se, nt as Ce, ot as we, q as Te, r as Ee, rt as De, st as Oe, t as K, u as ke, ut as Ae, v as q, vt as je, w as Me, wt as J, x as Y, xt as Ne, y as Pe, yt as Fe, z as Ie } from "./_chunks/vue.runtime.esm-bundler-DKVd2gci.js";
3
+ import { $ as C, B as te, C as w, Ct as T, D as ne, Dt as E, E as D, Et as re, F as ie, G as ae, H as oe, I as O, J as k, K as se, L as A, M as ce, N as le, O as j, P as ue, R as de, S as M, St as N, T as P, Tt as fe, X as F, Z as pe, _ as I, _t as L, b as R, bt as z, ct as me, d as B, dt as he, ft as ge, g as V, gt as _e, h as H, it as U, j as ve, k as ye, l as be, lt as xe, m as W, mt as G, n as Se, nt as Ce, ot as we, q as Te, r as Ee, rt as De, st as Oe, t as K, u as ke, ut as Ae, v as q, vt as je, w as Me, wt as J, x as Y, xt as Ne, y as Pe, yt as Fe, z as Ie } from "./_chunks/vue.runtime.esm-bundler-DKVd2gci.js";
4
4
  import { n as Le, r as Re, t as ze } from "./_chunks/vue-i18n-CooVjJjT.js";
5
5
  import { i as Be, n as Ve, r as He } from "./_chunks/iconify-CgyW1o4B.js";
6
6
  import { A as Ue, C as We, D as Ge, E as Ke, F as qe, I as Je, L as Ye, M as Xe, N as Ze, O as Qe, P as $e, S as et, T as tt, _ as nt, a as rt, b as it, c as at, d as ot, f as st, g as ct, h as lt, i as ut, j as dt, k as ft, m as pt, n as mt, o as ht, p as gt, r as _t, s as vt, t as yt, v as bt, w as xt, x as St, y as Ct } from "./_chunks/PkStreamingMarkdown-pEgm7m-B.js";
@@ -139,10 +139,10 @@ function Hn(e, t) {
139
139
  for (let n in t) {
140
140
  if (!Object.hasOwn(t, n)) continue;
141
141
  let r = t[n], i = e[n];
142
- if (Sn(i) && Sn(r) && Object.hasOwn(e, n) && !z(r) && !we(r)) {
142
+ if (Sn(i) && Sn(r) && Object.hasOwn(e, n) && !me(r) && !we(r)) {
143
143
  e[n] = Hn(i, r);
144
- let t = me(e)[n];
145
- z(t) && xe(t) && Ne(t);
144
+ let t = L(e)[n];
145
+ me(t) && xe(t) && Ne(t);
146
146
  } else e[n] = r;
147
147
  }
148
148
  return e;
@@ -153,7 +153,7 @@ function Wn(e) {
153
153
  }
154
154
  var { assign: Gn } = Object;
155
155
  function Kn(e) {
156
- return !!(z(e) && e.effect);
156
+ return !!(me(e) && e.effect);
157
157
  }
158
158
  function qn(e, t, n, r) {
159
159
  let { state: i, actions: a, getters: o } = t, s = n.state.value[e], c;
@@ -250,9 +250,9 @@ function Jn(e, t, n = {}, r, i, a) {
250
250
  let S = (r._a && r._a.runWithContext || zn)(() => r._e.run(() => (o = Ce()).run(() => t({ action: y }))));
251
251
  for (let t in S) {
252
252
  let n = S[t];
253
- z(n) && !Kn(n) || we(n) ? a || (m && Wn(n) && (z(n) ? n.value = m[t] : ((n instanceof Set || n instanceof Map) && n.clear(), Hn(n, m[t]))), r.state.value[e][t] = n) : typeof n == "function" && (S[t] = y(n, t), s.actions[t] = n);
253
+ me(n) && !Kn(n) || we(n) ? a || (m && Wn(n) && (me(n) ? n.value = m[t] : ((n instanceof Set || n instanceof Map) && n.clear(), Hn(n, m[t]))), r.state.value[e][t] = n) : typeof n == "function" && (S[t] = y(n, t), s.actions[t] = n);
254
254
  }
255
- return Gn(x, S), Gn(me(x), S), Object.defineProperty(x, "$state", {
255
+ return Gn(x, S), Gn(L(x), S), Object.defineProperty(x, "$state", {
256
256
  get: () => r.state.value[e],
257
257
  set: (e) => {
258
258
  g((t) => {
@@ -279,7 +279,7 @@ function Yn(e, t, n) {
279
279
  return a.$id = e, a;
280
280
  }
281
281
  function Xn(e) {
282
- let t = me(e), n = {};
282
+ let t = L(e), n = {};
283
283
  for (let r in t) {
284
284
  let i = t[r];
285
285
  i?.effect ? n[r] = W({
@@ -287,7 +287,7 @@ function Xn(e) {
287
287
  set(t) {
288
288
  e[r] = t;
289
289
  }
290
- }) : (z(i) || we(i)) && (n[r] = je(e, r));
290
+ }) : (me(i) || we(i)) && (n[r] = je(e, r));
291
291
  }
292
292
  return n;
293
293
  }
@@ -593,8 +593,8 @@ var Zn = {
593
593
  public: "Pubblico"
594
594
  },
595
595
  visibilityHint: {
596
- organization: "I membri di questa organizzazione abilitati all'agente.",
597
- private: "Chiunque abbia un account sulla piattaforma, di qualsiasi organizzazione.",
596
+ organization: "I membri dell'organizzazione abilitati all'agente.",
597
+ private: "Chi ha un account, di qualsiasi organizzazione.",
598
598
  public: "Chiunque, anche senza accedere."
599
599
  }
600
600
  },
@@ -1183,7 +1183,7 @@ var Zn = {
1183
1183
  webSourceRemoveMissing: "Per una sitemap completa. Molte rimozioni ti aspettano.",
1184
1184
  webSourceRemoveMissingExplained: "Per un sito tuo, la cui sitemap elenca tutto ciò che è pubblicato. Se ne mancano troppe in una volta non rimuove niente e chiede conferma."
1185
1185
  },
1186
- hint: /* @__PURE__ */ JSON.parse("{\"agentModel\":\"Pre-selezionato alla creazione di un nuovo agente.\",\"agentOnOwnEndpoint\":\"Questo agente gira sull’endpoint della tua organizzazione.\",\"allowedDomains\":\"Cerca solo all'interno di questi domini.\",\"approvalChannels\":\"Un tool può chiedere conferma all'utente prima di eseguire: espandi il tool per attivarla. Via API o in esecuzioni schedulate la chiamata viene rifiutata.\",\"audience\":\"L'aud atteso nel JWT. Vuoto: non verificato.\",\"blockedDomains\":\"Escludi questi domini dai risultati.\",\"channel\":{\"app\":\"L'agente è accessibile tramite la pagina pubblica dedicata.\",\"frontoffice\":\"L'agente è visibile nel pannello Frontoffice.\",\"widget\":\"L'agente è incorporabile nei siti web tramite embed script.\"},\"channelAppDisabled\":\"Il canale App è disabilitato: il link diretto e l'iframe non funzioneranno.\",\"channelWidgetDisabled\":\"Il canale Widget è disabilitato: il codice embed e il loader non funzioneranno.\",\"costSourceEndpoint\":\"I modelli sull’endpoint della tua organizzazione: li fattura il tuo fornitore, qui il costo è una stima a prezzi di listino.\",\"customCss\":\"CSS iniettato nello shadow DOM del widget. Permette di personalizzare l'interfaccia della chat dall'esterno.\",\"disallowPromptTraining\":\"Instrada le richieste solo verso provider che non usano i dati per addestrare i modelli AI.\",\"dismissableNotice\":\"Verrà nascosto dopo il primo messaggio.\",\"documentFolderManaged\":\"Cartella sincronizzata da {provider}: il contenuto si modifica alla sorgente.\",\"documentRefresh\":\"Rilegge la pagina alla scadenza e rigenera solo ciò che è cambiato.\",\"documentRefreshTriggerOff\":\"Questa pagina si aggiorna da sola, e salvando un testo vostro si spegne.\",\"documentSelectionHasManaged\":\"La selezione contiene documenti che arrivano da una sorgente collegata e non si possono modificare a mano.\",\"documentSourceInterval\":\"Ogni quanto la cartella viene riletta.\",\"documentSourceIntervalExplained\":\"Ogni quanto la cartella viene riletta. I file invariati non vengono riconvertiti.\",\"documentSourceName\":\"Il nome con cui la cartella compare qui. Quello remoto non cambia.\",\"emailClaim\":\"Il claim JWT che contiene l'email dell'utente (default: email).\",\"embedCode\":\"Copia e incolla questo codice per incorporare l'agente nel tuo sito web.\",\"embedding\":\"I vettori della base di conoscenza, dei file degli utenti e delle memorie. Si calcolano sul gateway AI della piattaforma, oppure sul tuo endpoint con uno dei due modelli ammessi.\",\"embeddingActivation\":\"Prima di salvare, l’endpoint calcola il vettore di una frase di prova, che viene confrontato con quello del modello: un modello diverso viene rifiutato. Passare a un altro modello ricalcola la base di conoscenza e le memorie, e finché non ha finito le ricerche trovano solo ciò che è già nel modello nuovo.\",\"embeddingEndpointModel\":\"L’id con cui il tuo endpoint serve il modello\",\"embeddingEndpointOff\":\"Accendi l’endpoint per calcolarci i vettori\",\"embeddingFamily\":\"Fra quelli che il tuo endpoint serve\",\"embeddingFamilyUnknown\":\"L’endpoint non lo dichiara: lo verifica il salvataggio\",\"embeddingModelsServed\":\"Il tuo endpoint serve anche questi. Non possono rispondere a un agente: quello con cui si calcolano i vettori si sceglie nella sezione Embedding.\",\"embeddingNotConfigured\":\"La base di conoscenza, le risposte corrette, le memorie e l’elaborazione dei documenti sono ferme, perché nessuno calcola i loro vettori. Attiva un modello di embedding sul tuo endpoint per farle ripartire.\",\"embeddingReindexing\":\"Finché la reindicizzazione non finisce, le ricerche nella base di conoscenza e nelle memorie trovano solo ciò che è già nel modello nuovo: risultati parziali, mai sbagliati. Non serve fare niente, e se si interrompe riparte da dove era arrivata.\",\"embeddingStopped\":\"L’endpoint che calcola i vettori è spento: la base di conoscenza, le risposte corrette, le memorie e l’elaborazione dei documenti sono ferme finché non lo riaccendi.\",\"embeddingWithoutEndpoint\":\"I vettori della base di conoscenza, dei file degli utenti e delle memorie si calcolano sul gateway AI della piattaforma. Collega il tuo endpoint per calcolarli lì.\",\"embedIframe\":\"Incorpora l'interfaccia della chat direttamente con un iframe.\",\"embedPreview\":\"L'agente sarà accessibile al seguente URL.\",\"embeddingWithoutEndpointOrGateway\":\"I vettori della base di conoscenza, dei file degli utenti e delle memorie non si calcolano: questa organizzazione non usa il gateway AI della piattaforma. Collega il tuo endpoint per calcolarli lì.\",\"embeddingWithoutGateway\":\"I vettori della base di conoscenza, dei file degli utenti e delle memorie. Questa organizzazione non usa il gateway AI della piattaforma, quindi si calcolano solo sul tuo endpoint, con uno dei due modelli ammessi.\",\"externalContextSchema\":\"Definisci quali dati contestuali il sito ospitante può inviare all'agente.\",\"externalContextSchemaToggle\":\"Abilita la ricezione di dati contestuali dal sito ospitante.\",\"feature\":{\"apiTools\":\"Gli agenti chiamano come tool le API dell’organizzazione.\",\"byok\":\"L’organizzazione collega un suo endpoint compatibile OpenAI e ne usa i modelli.\",\"endpoints\":\"Gli agenti rispondono via REST ad altri sistemi.\",\"fileUpload\":\"Gli utenti allegano file ai messaggi in chat.\",\"gateway\":\"I modelli del gateway AI, e con loro l’embedding della piattaforma, le utility e l’AI dei documenti che li usano.\",\"hubspot\":\"I lead raccolti dagli agenti vanno nel CRM HubSpot dell’organizzazione.\",\"leads\":\"Gli agenti raccolgono i contatti con un modulo in chat, e la pagina Contatti li elenca.\",\"mcpServers\":\"Gli agenti usano i tool di server MCP esterni.\",\"proactiveAutomations\":\"Gli agenti ricontrollano da soli quello che l’utente chiede di tenere d’occhio. Spente, i controlli in corso si fermano al giro successivo.\",\"salesforce\":\"I lead raccolti dagli agenti vanno nel CRM Salesforce dell’organizzazione.\",\"sharepoint\":\"Gli agenti leggono i file di cartelle SharePoint tenute sincronizzate.\",\"subAgents\":\"Un agente ne chiama un altro come tool.\",\"teams\":\"Gli agenti rispondono nelle chat di Teams.\",\"voice\":\"Gli agenti parlano con l’utente in tempo reale.\",\"whatsapp\":\"Gli agenti rispondono su WhatsApp Business.\"},\"fallbackModels\":\"Modelli alternativi tentati in ordine se il modello primario non è disponibile.\",\"fieldMappingFallback\":\"Valore usato se il campo sorgente è vuoto o assente.\",\"fieldMappingSource\":\"Supporta percorsi annidati (es. metadata.urgency).\",\"fieldMappingTransformExtractDomainCompany\":\"Estrae il nome azienda dal dominio email (es. mario{'@'}acme.it → Acme). Ignora i provider gratuiti (gmail, outlook, ecc.).\",\"fieldMappingTransformJoinArray\":\"Unisce i valori di un array separandoli con virgola.\",\"fieldMappingTransformMapValues\":\"Sostituisce il valore usando la tabella di mappatura.\",\"fieldMappingTransformNone\":\"Copia il valore così com'è.\",\"fieldMappingTransformSplitFirstLast\":\"Divide il testo sugli spazi.\",\"fileUploadDisabledHint\":\"Il caricamento file non è abilitato per questo agente. Puoi abilitarlo nelle impostazioni dell'agente.\",\"fileUploadEnabled\":\"Permetti agli utenti di allegare file ai messaggi.\",\"freshnessBoost\":\"Applica un boost basandosi su quanto recentemente il documento è stato aggiornato.\",\"freshnessScale\":\"Scala temporale spinta (Giorni)\",\"freshnessScaleExplanationDays\":\"Un documento modificato oggi ottiene un bonus di +{weight}. Il bonus si dimezza a +{halfWeight} dopo {half} giorni e si azzera praticamente (+{zeroWeight}) dopo {zero} giorni.\",\"freshnessScaleExplanationMonths\":\"Un documento modificato oggi ottiene un bonus di +{weight}. Il bonus si dimezza a +{halfWeight} dopo {half} giorni e si azzera praticamente (+{zeroWeight}) dopo {zero} giorni (circa {months} mesi).\",\"freshnessScaleTooltip\":\"Il tempo di dimezzamento (half-life) del decadimento esponenziale. Un documento vecchio esattamente quanto questo valore riceverà il 50% del boost massimo. Più è basso, più i documenti vecchi perderanno rapidamente il boost.\",\"freshnessWeight\":\"Moltiplicatore del peso del boost di freschezza nella formula.\",\"freshnessWeightTooltip\":\"Bonus massimo aggiunto allo score per i documenti appena modificati. Un peso di 0.1 significa che un documento freschissimo otterrà un vantaggio di +0.10 sullo score. Questo vantaggio decadrà esponenzialmente col tempo fino a azzerarsi.\",\"gatewayCatalog\":\"I modelli messi a disposizione dalla piattaforma, con il prezzo per milione di token, la dimensione del contesto e le garanzie sulla riservatezza dei dati. Spegni quelli che la tua organizzazione non usa: escono dalla scelta, e un agente che ne usa ancora uno risponde con il modello predefinito.\",\"gatewayOffDisconnected\":\"Se il suo endpoint non è acceso e con dei modelli, l’organizzazione è scollegata: nessun agente risponde.\",\"gatewayOffNoByok\":\"Anche i modelli propri (BYOK) sono spenti: l’amministratore non può né configurare un endpoint né accenderlo o spegnerlo, e nemmeno spostare l’embedding.\",\"gatewayOffStops\":\"Spento, niente di questa organizzazione passa più dal gateway, entro trenta secondi: i modelli del gateway smettono di rispondere, e con loro le utility interne che li usano; la ricerca web si ferma. La base di conoscenza, le risposte corrette, le memorie e l’elaborazione dei documenti continuano solo se l’embedding è sull’endpoint dell’organizzazione: se è sulla piattaforma, si fermano.\",\"gatewayOffTodo\":\"L’amministratore deve spostare sull’endpoint dell’organizzazione entrambi i modelli predefiniti, altrimenti non si creano agenti nuovi, e l’embedding (Modelli, sezione Embedding), altrimenti la base di conoscenza e le memorie restano ferme. L’inferenza non scala più il credito; i minuti di voce e l’OCR dei documenti sì.\",\"guaranteeAll\":\"{name}: garantita su tutti i provider.\",\"guaranteeNone\":\"{name}: non garantita.\",\"guaranteeSome\":\"{name}: garantita solo su alcuni provider, il gateway instrada di conseguenza.\",\"includeThoughts\":\"Invia i pensieri del modello al client insieme alla risposta.\",\"inputSchema\":\"JSON Schema (draft-07) dei parametri di input che l'LLM può fornire.\",\"integrationOAuthAdminConsent\":\"Potrebbe servire un amministratore Microsoft 365 della vostra organizzazione.\",\"integrationAppCredentialScope\":\"Con Sites.Read.All l'app può leggere ogni sito del tenant. Il connettore legge solo le cartelle che collegate.\",\"integrationAppCredentialSteps\":\"In Microsoft Entra ID: Registrazioni app, Nuova registrazione. Poi Autorizzazioni API, Microsoft Graph, Autorizzazioni applicazione, Sites.Read.All, e Concedi consenso amministratore. Poi Certificati e segreti, Nuovo segreto client (annotate la scadenza). Copiate qui l'ID directory (tenant), l'ID applicazione (client) e il valore del segreto.\",\"interactiveLogin\":\"Permette agli utenti anonimi di accedere dalla chat. L'external token resta sempre attivo.\",\"issuer\":\"L'URL dell'issuer del token JWT (iss).\",\"jwksUrl\":\"L'URL dell'endpoint JWKS per la verifica della firma JWT.\",\"loadDelay\":\"Attesa prima di caricare il widget, per loader AMD lenti.\",\"loaderStrategy\":{\"dynamic-import\":\"Usa import() all'interno di un <script> classico. Fallback per pagine dove gli script module sono bloccati o intercettati da loader legacy.\",\"inline-module\":\"Inietta un <script type=\\\"module\\\"> inline con un import statico. Bypassa RequireJS e altri loader AMD. Consigliata per la maggior parte dei siti.\",\"script-src\":\"Carica il bundle tramite <script type=\\\"module\\\" src=\\\"...\\\">. Usala su siti con Content Security Policy (CSP) restrittiva che blocca gli script inline.\"},\"mcpServerHealthCheckPath\":\"L'endpoint utilizzato per verificare lo stato del Server MCP (es: /api/health).\",\"mcpStatelessServer\":\"Forza il client a connettersi in modalità stateless.\",\"mcpHeadersOriginChanged\":\"L'URL punta a un altro host: riscrivi i valori degli header, quelli salvati restano legati all'host precedente.\",\"mmr\":\"Bilancia la rilevanza semantica e la diversità dei documenti nei risultati di ricerca per evitare contenuti ridondanti.\",\"mmrCandidatesLimit\":\"Numero massimo di chunk candidati pre-selezionati prima di applicare l'MMR.\",\"mmrCandidatesLimitTooltip\":\"Quanti risultati pre-selezionare dal database prima di filtrare e diversificare. Esempio: se impostato a 100, il sistema cercherà i 100 chunk più pertinenti e poi estrarrà tra questi quelli più diversi tra loro fino a raggiungere il limite finale per la chat.\",\"mmrDiversity\":\"Tradeoff tra rilevanza (0.0) e diversità (1.0).\",\"mmrDiversityTooltip\":\"Determina quanto spazio dare a informazioni diverse. Un valore vicino a 0 predilige i risultati più pertinenti anche se simili tra loro. Un valore vicino a 1 forza l'inserimento di risultati con dettagli e temi differenti, riducendo la ripetitività.\",\"modelContextWindow\":\"Finestra di contesto: {count}k token.\",\"modelDefaultNoneAvailable\":\"Nessun modello disponibile: attiva almeno un modello del tuo endpoint qui sotto.\",\"modelDefaultOutsideCatalog\":\"Questo modello non è tra quelli disponibili per la tua organizzazione: scegline un altro. Nel frattempo i nuovi agenti partono con il modello standard della piattaforma.\",\"modelDefaults\":\"Valgono per tutta l'organizzazione. Ogni agente può comunque usare un modello diverso, scelto nelle sue impostazioni.\",\"modelDisabledForOrganization\":\"Spento per questa organizzazione: gli agenti che lo usano ancora rispondono con il modello predefinito, e non si può scegliere per uno nuovo.\",\"modelEndpointBaseUrl\":\"L'indirizzo base dell'API compatibile OpenAI.\",\"modelEndpointHttp\":\"Con http la chiave viaggia senza cifratura: usalo solo se l'endpoint è raggiungibile esclusivamente dalla tua rete interna.\",\"modelEndpointHttpTitle\":\"Connessione non cifrata (http)\",\"modelEndpointKey\":\"Viene salvata cifrata e non viene mai mostrata.\",\"modelEndpointKeyStored\":\"Già salvata. Lascia il campo vuoto per non cambiarla.\",\"modelEndpointName\":\"Il nome con cui lo riconoscerai nella scelta dei modelli.\",\"modelEndpointOffWithEmbedding\":\"Endpoint spento: i suoi modelli non sono disponibili, gli agenti che li usano smettono di rispondere, e con lui si fermano la base di conoscenza, le memorie e i documenti, perché calcola i loro vettori. Riaccendilo per farli ripartire.\",\"modelEndpointOnWithoutGateway\":\"Endpoint acceso: i modelli che attivi sono gli unici che gli agenti possono usare, perché questa organizzazione non usa il gateway della piattaforma, e possono essere i predefiniti.\",\"modelNotOnEndpoint\":\"Non disponibile per questa organizzazione: il suo endpoint non ha più questo modello, quindi un agente che lo usa non risponde finché non passa a un altro modello.\",\"modelSourceEndpoint\":\"Gira su {name}, l’endpoint della tua organizzazione: lo fattura il tuo fornitore, e i costi che vedi qui sono stimati dal listino.\",\"modelSourceOff\":\"Non disponibile per questa organizzazione: la sorgente su cui gira è spenta, quindi un agente che lo usa non risponde finché non passa a un altro modello o la sorgente non viene riaccesa.\",\"modelSourcePlatform\":\"Gira sul gateway AI della piattaforma e si paga con il credito della tua organizzazione.\",\"ownEndpoint\":\"Usa i tuoi modelli accanto a quelli della piattaforma: collega un endpoint compatibile con le API OpenAI e la tua chiave. Gli agenti che usano i suoi modelli non consumano il credito.\",\"modelEndpointOn\":\"Endpoint acceso: i modelli che attivi sono a disposizione degli agenti accanto a quelli della piattaforma, e possono essere i predefiniti.\",\"modelEndpointOff\":\"Endpoint spento: i suoi modelli non sono disponibili, e gli agenti che li usano smettono di rispondere. Attiva qui sotto i modelli che ti servono, poi accendilo.\",\"addModelsRule\":\"Attiva i modelli che i tuoi agenti potranno usare. Il prezzo viene preso dal listino della piattaforma; se un modello non è in listino, ti chiederemo di indicarlo.\",\"modelPriceAsk\":\"Questo modello non è nel listino della piattaforma. Scegli un modello del catalogo con un costo simile, oppure inserisci i prezzi per milione di token.\",\"modelPriceUnknown\":\"Non è nel listino della piattaforma: indica un prezzo.\",\"modelGuaranteedOnSome\":\"Le garanzie che hai acceso valgono solo su alcuni provider di questo modello: il gateway instrada di conseguenza.\",\"modelIdByHand\":\"Il nome tecnico con cui l'endpoint identifica il modello.\",\"modelNotCompatible\":\"Non compatibile con i flag di riservatezza di questo agente.\",\"modelPriceFromListing\":\"Prezzo preso da {id} nel listino della piattaforma.\",\"modelPriceListing\":\"Listino della piattaforma, voce {id}, aggiornato il {date}.\",\"modelPriceManual\":\"Prezzo inserito a mano il {date}.\",\"modelPriceReference\":\"Stesso prezzo di {id}, aggiornato il {date}.\",\"modelReference\":\"Un modello del catalogo a cui questo assomiglia.\",\"modelRetired\":\"Non più disponibile sulla piattaforma: sposta su un altro modello gli agenti che lo usano.\",\"moveDocument\":\"Scegli la cartella di destinazione per «{name}».\",\"moveDocuments\":\"Scegli la cartella di destinazione per {n} documento. | Scegli la cartella di destinazione per {n} documenti.\",\"multipleChoiceAllowCustomAnswer\":\"Mostra un campo di testo libero sotto le opzioni per consentire all'utente di inserire una risposta personalizzata.\",\"multipleChoiceMaxOptions\":\"Numero massimo di opzioni che l'AI può generare (min. 2, max. 10).\",\"nameClaim\":\"Claim con il nome dell'utente (default: name).\",\"oauthCallbackUrl\":\"Configura questa URL come Callback URL (Redirect URI) nel provider OAuth.\",\"outputSchema\":\"JSON Schema (draft-07) della risposta attesa. Solo documentativo.\",\"passphrase\":\"Inserisci {passphrase} per confermare l'operazione\",\"platformSupported\":\"Resa nativa su WhatsApp e Teams\",\"privacyPolicyNotice\":\"Compare in fondo al modulo di contatto. Supporta il Markdown.\",\"providerOrganizationId\":\"Per Microsoft si riferisce all'identificativo del tenant (tenant ID). Per gli altri inserire il dominio dell'e-mail (es. company.com).\",\"providerTimeoutMs\":\"Prima del provider successivo: da 1000 a 789000, solo BYOK.\",\"reasoningDefault\":\"Valore predefinito della piattaforma, si applica finché non scegli un valore diverso.\",\"reasoningNotSupported\":\"Il reasoning non è supportato per il provider selezionato.\",\"reasoningVisibility\":\"Un agente reasoning è sempre visibile solo ai membri dell'organizzazione.\",\"sessionExpiresIn\":\"Secondi, almeno 60. Vuoto: 8 ore.\",\"showExtendedSteps\":\"Visualizza la timeline con il ragionamento e gli strumenti nella chat.\",\"smoothStream\":\"Uniforma lo streaming del testo creando un'esperienza di lettura più naturale.\",\"subAgentName\":\"Sono consentiti solo lettere, numeri, underscore (_) e trattini (-).\",\"teamsAccentColor\":\"Per impostazione predefinita usa il colore del tema dell'agente.\",\"teamsAppVersion\":\"Aumentala e reinstalla per applicare il manifest.\",\"tool\":{\"fetchTeamsChannelHistory\":\"Sui canali Teams, permette all'agente di leggere su richiesta la conversazione più ampia del canale. Richiede la reinstallazione dell'app Teams.\",\"geocode\":\"Converte nomi di luoghi in coordinate geografiche e viceversa.\",\"getWeather\":\"Recupera i dati meteo attuali e le previsioni per una località specifica.\",\"querySpreadsheet\":\"Risponde alle domande sui file Excel e CSV della knowledge base con ricerche esatte, conteggi e totali, invece di cercarne il testo. Se lo spegni, l'agente non legge affatto questi file. I fogli allegati in chat si interrogano con lo strumento Fogli di calcolo.\",\"readDocumentFile\":\"Permette all'agente di leggere il file originale dei documenti PDF/DOCX dalla knowledge base. Utile per tabelle, grafici e contenuti visivi.\",\"requestGeolocation\":\"Richiede la posizione GPS dell'utente tramite il browser.\",\"retrieveRevisedAnswers\":\"Recupera le risposte verificate dagli amministratori e le usa come fonte primaria.\",\"runWorker\":\"Permette all'agente di avviare worker generici che ereditano i suoi tool per gestire sotto-attività indipendenti in parallelo.\",\"scheduleWakeup\":\"Quando l'utente lo chiede, l'agente ricontrolla qualcosa da solo a intervalli (da un minuto a un'ora) e scrive nella stessa chat quando trova una novità.\",\"searchInKnowledgeBase\":\"Cerca nei documenti caricati nella knowledge base per fornire risposte contestuali.\",\"searchInUserFiles\":\"Cerca nei file che l'utente ha caricato personalmente in chat (i suoi file privati), separati dalla knowledge base dell'agente.\",\"showArtifact\":\"Mostra contenuti strutturati come testi formattati, codice o documenti.\",\"showCalendarEvent\":\"Mostra un evento calendario con opzioni per Google Calendar, Outlook e download .ics.\",\"showComparison\":\"Confronta da 2 a 4 elementi affiancati per facilitare la scelta.\",\"showContactForm\":\"Mostra un modulo di contatto per raccogliere i dati dell'utente.\",\"showDiagram\":\"Mostra un grafico o un diagramma (flusso, sequenza, classe, ER, stato).\",\"showEmail\":\"Compone un'email pronta da inviare dal client di posta dell'utente.\",\"showForm\":\"Permette di raccogliere input strutturati (testo, numeri, date, scelte) tramite form multi-step.\",\"showImageGallery\":\"Raccoglie le immagini in una galleria navigabile con zoom e lightbox.\",\"showLocation\":\"Mostra una mappa interattiva con segnaposto e indicazioni stradali.\",\"showMessage\":\"Compone un messaggio da inviare tramite WhatsApp, Telegram o SMS.\",\"showMultipleChoice\":\"Propone opzioni selezionabili per guidare il flusso della conversazione.\",\"showProductList\":\"Mostra un elenco di prodotti con immagini, descrizioni e link d'acquisto.\",\"showQrCode\":\"Genera un codice QR a partire da testo, URL o dati strutturati.\",\"showSources\":\"Mostra i riferimenti ai documenti della knowledge base utilizzati nella risposta.\",\"showSuggestedReply\":\"Suggerisce risposte cliccabili per proseguire la conversazione. Per averle dopo ogni risposta, chiedilo nelle istruzioni dell'agente.\",\"showVideo\":\"Riproduce video inline: file diretti (MP4/WebM) o link YouTube/Vimeo.\",\"showWeather\":\"Mostra un widget con le previsioni meteo direttamente nella chat.\",\"showWebPages\":\"Suggerisce link a pagine web pertinenti alla domanda dell'utente.\",\"spreadsheet\":\"Legge, cerca e modifica i file Excel (.xlsx) che l'utente allega nella chat web o nel widget, e restituisce ogni modifica come nuova versione da scaricare. Richiede il caricamento dei file con il tipo Fogli di calcolo.\",\"useAllUserFiles\":\"Cerca in tutti i file dell'utente, anche quelli caricati su altri agenti, non solo in quelli di questo agente.\",\"useAllUserKb\":\"Legge le memorie che l'utente ha condiviso con tutti gli agenti di questa organizzazione, non solo con questo. La scrittura resta legata a questo agente.\",\"userMemory\":\"Permette all'agente di ricordare e richiamare informazioni che l'utente condivide tra le conversazioni (nome, preferenze, ecc.).\"},\"toolRequiresApproval\":\"Prima di eseguire, l'agente attende l'approvazione in chat.\",\"apiToolSecretParameters\":\"Inviati a ogni chiamata, nella query string o nel body JSON, e mai mostrati al modello. Dopo il salvataggio il valore non si vede più: lascialo vuoto per tenerlo.\",\"apiToolSecretParametersNew\":\"Inviati a ogni chiamata, nella query string o nel body JSON, e mai mostrati al modello. Scrivi ogni valore: dopo il salvataggio non si vede più.\",\"apiToolSecretStored\":\"Salvato: lascialo vuoto per tenerlo\",\"apiToolCredentialInSchema\":\"Questi parametri sembrano credenziali, e li compila il modello: {names}. Spostali fra i parametri segreti e toglili dallo schema di input.\",\"apiToolCredentialBadge\":\"Un parametro che sembra una credenziale viene compilato dal modello\",\"apiToolSecretsOriginChanged\":\"L'URL punta a un altro host: riscrivi i valori degli header e dei parametri segreti, quelli salvati restano legati all'host precedente.\",\"apiToolSecretBodyMethod\":\"Una richiesta {method} non ha body\",\"toolWorkingSetMode\":{\"active\":\"Prima di ogni risposta un modello di valutazione (TypeSafe Jev) sceglie i server MCP, gli API Tools e i sotto-agenti che servono al messaggio, e l’agente vede solo quelli. Se gliene serve un altro, lo riattiva da solo. Ogni valutazione è addebitata all’organizzazione.\",\"off\":\"L’agente vede tutti i tool a ogni risposta.\",\"shadow\":\"Il modello di valutazione sceglie i tool che servono a ogni messaggio, ma l’agente li vede comunque tutti: la scelta viene solo registrata nel dettaglio del messaggio, per confrontarla con i tool usati davvero prima di attivarla. Ogni valutazione è addebitata all’organizzazione.\"},\"useColorsForAgentHeader\":\"Colora l'intestazione dell'agente in base al colore principale.\",\"userFeedbackComment\":\"L'utente ha lasciato un commento su questa risposta\",\"userFeedbackNegative\":\"L'utente ha valutato negativamente questa risposta\",\"userFeedbackPositive\":\"L'utente ha valutato positivamente questa risposta\",\"userFeedbackReaction\":\"L'utente ha reagito a questa risposta\",\"utilityModel\":\"Usato dietro le quinte per compiti come riformulare le domande degli utenti e aggiornare le memorie.\",\"voiceApprovalRefused\":\"Durante una chiamata queste azioni non partono: l'approvazione si dà a schermo e al telefono non c'è nessuno a cui chiederla, quindi l'agente le rifiuta e lo dice. Riguarda: {tools}.\",\"voiceCascadeTimeoutSeconds\":\"Quanto il fornitore aspetta noi prima di annullare il turno. Deve stare sopra al turno più lento dell'agente: knowledge base, tool e modelli lenti lo allungano.\",\"voiceEnabled\":\"Permette di parlare con questo agente. La risposta resta sua, con la sua knowledge base e i suoi strumenti.\",\"voiceFillerAfterSeconds\":\"Dice che sta lavorando quando la risposta tarda. Vuoto: quattro secondi.\",\"voiceFillerMessage\":\"Vuoto: una frase predefinita nella lingua della voce.\",\"voiceFirstMessage\":\"Detta appena si apre la chiamata. Copre anche il primo turno, il più lento.\",\"voiceId\":\"Le voci clonate non sono in elenco: il fornitore non le ammette qui.\",\"voiceIgnoreBackgroundVoices\":\"Ascolta solo chi parla. Da tenere attivo dove il microfono sente la stanza.\",\"voiceLanguage\":\"Usata per riconoscere il parlato e per parlare.\",\"voiceMaxSessionSeconds\":\"Una chiamata si paga a minuto e si chiude da sola a questo limite.\",\"voiceRemaining\":\"Tempo che resta in questa chiamata\",\"voiceSlowAgentOnCall\":\"Una knowledge base grande o server MCP collegati possono far metterci diversi secondi all'agente, e in chiamata quei secondi sono silenzio: le due impostazioni qui sotto sono ciò che tiene compagnia a chi chiama mentre lavora. Se le chiamate sembrano lente, la risposta si accorcia anche con meno passi, un limite di retrieval più basso o un modello più rapido.\",\"voiceTurnEagerness\":\"Pronto risponde prima, paziente ti aspetta.\",\"voiceTurnTimeoutSeconds\":\"Quanto l’agente aspetta il chiamante zitto prima di riprendere la parola. Niente a che vedere con la sua velocità di risposta.\",\"webSearchEnabled\":\"Permetti all'agente di cercare informazioni sul web durante le conversazioni.\",\"webSearchNative\":\"Usa le funzionalità di ricerca web integrate di {provider}.\",\"webSearchNativeFallback\":\"Questo modello non ha una ricerca web integrata: le ricerche passano da Perplexity.\",\"webhookUrl\":\"Incolla questo URL nella configurazione del webhook / endpoint di messaggistica della piattaforma.\",\"welcomePopup\":\"Mostra un popup di benvenuto con il messaggio iniziale prima che la chat venga aperta.\",\"whatsappVerifyToken\":\"Incolla questo token nella configurazione webhook di Meta.\",\"zeroDataRetention\":\"Instrada le richieste solo verso provider con accordi ZDR. Restringe il pool di provider disponibili.\",\"webSourceUnselected\":\"Le pagine non selezionate arriveranno con i prossimi controlli della sorgente.\",\"webSourceInterval\":\"Le pagine nuove seguono la frequenza qui sopra.\",\"webPagesRefresh\":\"Alla scadenza si rigenera solo ciò che è cambiato.\",\"documentFolderWebSource\":\"Cartella di un sito web: le pagine nuove arrivano da sole e restano modificabili.\",\"invitationLanguage\":\"La lingua dell'email che riceve la persona invitata.\"}"),
1186
+ hint: /* @__PURE__ */ JSON.parse("{\"agentModel\":\"Pre-selezionato alla creazione di un nuovo agente.\",\"agentOnOwnEndpoint\":\"Questo agente gira sull’endpoint della tua organizzazione.\",\"allowedDomains\":\"Cerca solo all'interno di questi domini.\",\"approvalChannels\":\"Un tool può chiedere conferma all'utente prima di eseguire: espandi il tool per attivarla. Via API o in esecuzioni schedulate la chiamata viene rifiutata.\",\"audience\":\"L'aud atteso nel JWT. Vuoto: non verificato.\",\"blockedDomains\":\"Escludi questi domini dai risultati.\",\"channel\":{\"app\":\"L'agente è accessibile tramite la pagina pubblica dedicata.\",\"frontoffice\":\"L'agente è visibile nel pannello Frontoffice.\",\"widget\":\"L'agente è incorporabile nei siti web tramite embed script.\"},\"channelAppDisabled\":\"Il canale App è disabilitato: il link diretto e l'iframe non funzioneranno.\",\"channelWidgetDisabled\":\"Il canale Widget è disabilitato: il codice embed e il loader non funzioneranno.\",\"costSourceEndpoint\":\"I modelli sull’endpoint della tua organizzazione: li fattura il tuo fornitore, qui il costo è una stima a prezzi di listino.\",\"customCss\":\"CSS iniettato nello shadow DOM del widget. Permette di personalizzare l'interfaccia della chat dall'esterno.\",\"disallowPromptTraining\":\"Instrada le richieste solo verso provider che non usano i dati per addestrare i modelli AI.\",\"dismissableNotice\":\"Verrà nascosto dopo il primo messaggio.\",\"documentFolderManaged\":\"Cartella sincronizzata da {provider}: il contenuto si modifica alla sorgente.\",\"documentRefresh\":\"Rilegge la pagina alla scadenza e rigenera solo ciò che è cambiato.\",\"documentRefreshTriggerOff\":\"Questa pagina si aggiorna da sola, e salvando un testo vostro si spegne.\",\"documentSelectionHasManaged\":\"La selezione contiene documenti che arrivano da una sorgente collegata e non si possono modificare a mano.\",\"documentSourceInterval\":\"Ogni quanto la cartella viene riletta.\",\"documentSourceIntervalExplained\":\"Ogni quanto la cartella viene riletta. I file invariati non vengono riconvertiti.\",\"documentSourceName\":\"Il nome con cui la cartella compare qui. Quello remoto non cambia.\",\"emailClaim\":\"Il claim JWT che contiene l'email dell'utente (default: email).\",\"embedCode\":\"Copia e incolla questo codice per incorporare l'agente nel tuo sito web.\",\"embedding\":\"I vettori della base di conoscenza, dei file degli utenti e delle memorie. Si calcolano sul gateway AI della piattaforma, oppure sul tuo endpoint con uno dei due modelli ammessi.\",\"embeddingActivation\":\"Prima di salvare, l’endpoint calcola il vettore di una frase di prova, che viene confrontato con quello del modello: un modello diverso viene rifiutato. Passare a un altro modello ricalcola la base di conoscenza e le memorie, e finché non ha finito le ricerche trovano solo ciò che è già nel modello nuovo.\",\"embeddingEndpointModel\":\"L’id con cui il tuo endpoint serve il modello\",\"embeddingEndpointOff\":\"Accendi l’endpoint per calcolarci i vettori\",\"embeddingFamily\":\"Fra quelli che il tuo endpoint serve\",\"embeddingFamilyUnknown\":\"L’endpoint non lo dichiara: lo verifica il salvataggio\",\"embeddingModelsServed\":\"Il tuo endpoint serve anche questi. Non possono rispondere a un agente: quello con cui si calcolano i vettori si sceglie nella sezione Embedding.\",\"embeddingNotConfigured\":\"La base di conoscenza, le risposte corrette, le memorie e l’elaborazione dei documenti sono ferme, perché nessuno calcola i loro vettori. Attiva un modello di embedding sul tuo endpoint per farle ripartire.\",\"embeddingReindexing\":\"Finché la reindicizzazione non finisce, le ricerche nella base di conoscenza e nelle memorie trovano solo ciò che è già nel modello nuovo: risultati parziali, mai sbagliati. Non serve fare niente, e se si interrompe riparte da dove era arrivata.\",\"embeddingStopped\":\"L’endpoint che calcola i vettori è spento: la base di conoscenza, le risposte corrette, le memorie e l’elaborazione dei documenti sono ferme finché non lo riaccendi.\",\"embeddingWithoutEndpoint\":\"I vettori della base di conoscenza, dei file degli utenti e delle memorie si calcolano sul gateway AI della piattaforma. Collega il tuo endpoint per calcolarli lì.\",\"embedIframe\":\"Incorpora l'interfaccia della chat direttamente con un iframe.\",\"embedPreview\":\"L'agente sarà accessibile al seguente URL.\",\"embeddingWithoutEndpointOrGateway\":\"I vettori della base di conoscenza, dei file degli utenti e delle memorie non si calcolano: questa organizzazione non usa il gateway AI della piattaforma. Collega il tuo endpoint per calcolarli lì.\",\"embeddingWithoutGateway\":\"I vettori della base di conoscenza, dei file degli utenti e delle memorie. Questa organizzazione non usa il gateway AI della piattaforma, quindi si calcolano solo sul tuo endpoint, con uno dei due modelli ammessi.\",\"externalContextSchema\":\"Definisci quali dati contestuali il sito ospitante può inviare all'agente.\",\"externalContextSchemaToggle\":\"Abilita la ricezione di dati contestuali dal sito ospitante.\",\"feature\":{\"apiTools\":\"Gli agenti chiamano come tool le API dell’organizzazione.\",\"byok\":\"L’organizzazione collega un suo endpoint compatibile OpenAI e ne usa i modelli.\",\"endpoints\":\"Gli agenti rispondono via REST ad altri sistemi.\",\"fileUpload\":\"Gli utenti allegano file ai messaggi in chat.\",\"gateway\":\"I modelli del gateway AI, e con loro l’embedding della piattaforma, le utility e l’AI dei documenti che li usano.\",\"hubspot\":\"I lead raccolti dagli agenti vanno nel CRM HubSpot dell’organizzazione.\",\"leads\":\"Gli agenti raccolgono i contatti con un modulo in chat, e la pagina Contatti li elenca.\",\"mcpServers\":\"Gli agenti usano i tool di server MCP esterni.\",\"proactiveAutomations\":\"Gli agenti ricontrollano da soli quello che l’utente chiede di tenere d’occhio. Spente, i controlli in corso si fermano al giro successivo.\",\"salesforce\":\"I lead raccolti dagli agenti vanno nel CRM Salesforce dell’organizzazione.\",\"sharepoint\":\"Gli agenti leggono i file di cartelle SharePoint tenute sincronizzate.\",\"subAgents\":\"Un agente ne chiama un altro come tool.\",\"teams\":\"Gli agenti rispondono nelle chat di Teams.\",\"voice\":\"Gli agenti parlano con l’utente in tempo reale.\",\"whatsapp\":\"Gli agenti rispondono su WhatsApp Business.\"},\"fallbackModels\":\"Modelli alternativi tentati in ordine se il modello primario non è disponibile.\",\"fieldMappingFallback\":\"Valore usato se il campo sorgente è vuoto o assente.\",\"fieldMappingSource\":\"Supporta percorsi annidati (es. metadata.urgency).\",\"fieldMappingTransformExtractDomainCompany\":\"Estrae il nome azienda dal dominio email (es. mario{'@'}acme.it → Acme). Ignora i provider gratuiti (gmail, outlook, ecc.).\",\"fieldMappingTransformJoinArray\":\"Unisce i valori di un array separandoli con virgola.\",\"fieldMappingTransformMapValues\":\"Sostituisce il valore usando la tabella di mappatura.\",\"fieldMappingTransformNone\":\"Copia il valore così com'è.\",\"fieldMappingTransformSplitFirstLast\":\"Divide il testo sugli spazi.\",\"fileUploadDisabledHint\":\"Il caricamento file non è abilitato per questo agente. Puoi abilitarlo nelle impostazioni dell'agente.\",\"fileUploadEnabled\":\"Permetti agli utenti di allegare file ai messaggi.\",\"freshnessBoost\":\"Applica un boost basandosi su quanto recentemente il documento è stato aggiornato.\",\"freshnessScale\":\"Scala temporale spinta (Giorni)\",\"freshnessScaleExplanationDays\":\"Un documento modificato oggi ottiene un bonus di +{weight}. Il bonus si dimezza a +{halfWeight} dopo {half} giorni e si azzera praticamente (+{zeroWeight}) dopo {zero} giorni.\",\"freshnessScaleExplanationMonths\":\"Un documento modificato oggi ottiene un bonus di +{weight}. Il bonus si dimezza a +{halfWeight} dopo {half} giorni e si azzera praticamente (+{zeroWeight}) dopo {zero} giorni (circa {months} mesi).\",\"freshnessScaleTooltip\":\"Il tempo di dimezzamento (half-life) del decadimento esponenziale. Un documento vecchio esattamente quanto questo valore riceverà il 50% del boost massimo. Più è basso, più i documenti vecchi perderanno rapidamente il boost.\",\"freshnessWeight\":\"Moltiplicatore del peso del boost di freschezza nella formula.\",\"freshnessWeightTooltip\":\"Bonus massimo aggiunto allo score per i documenti appena modificati. Un peso di 0.1 significa che un documento freschissimo otterrà un vantaggio di +0.10 sullo score. Questo vantaggio decadrà esponenzialmente col tempo fino a azzerarsi.\",\"gatewayCatalog\":\"I modelli messi a disposizione dalla piattaforma, con il prezzo per milione di token, la dimensione del contesto e le garanzie sulla riservatezza dei dati. Spegni quelli che la tua organizzazione non usa: escono dalla scelta, e un agente che ne usa ancora uno risponde con il modello predefinito.\",\"gatewayOffDisconnected\":\"Se il suo endpoint non è acceso e con dei modelli, l’organizzazione è scollegata: nessun agente risponde.\",\"gatewayOffNoByok\":\"Anche i modelli propri (BYOK) sono spenti: l’amministratore non può né configurare un endpoint né accenderlo o spegnerlo, e nemmeno spostare l’embedding.\",\"gatewayOffStops\":\"Spento, niente di questa organizzazione passa più dal gateway, entro trenta secondi: i modelli del gateway smettono di rispondere, e con loro le utility interne che li usano; la ricerca web si ferma. La base di conoscenza, le risposte corrette, le memorie e l’elaborazione dei documenti continuano solo se l’embedding è sull’endpoint dell’organizzazione: se è sulla piattaforma, si fermano.\",\"gatewayOffTodo\":\"L’amministratore deve spostare sull’endpoint dell’organizzazione entrambi i modelli predefiniti, altrimenti non si creano agenti nuovi, e l’embedding (Modelli, sezione Embedding), altrimenti la base di conoscenza e le memorie restano ferme. L’inferenza non scala più il credito; i minuti di voce e l’OCR dei documenti sì.\",\"guaranteeAll\":\"{name}: garantita su tutti i provider.\",\"guaranteeNone\":\"{name}: non garantita.\",\"guaranteeSome\":\"{name}: garantita solo su alcuni provider, il gateway instrada di conseguenza.\",\"includeThoughts\":\"Invia i pensieri del modello al client insieme alla risposta.\",\"inputSchema\":\"JSON Schema (draft-07) dei parametri di input che l'LLM può fornire.\",\"integrationOAuthAdminConsent\":\"Potrebbe servire un amministratore Microsoft 365 della vostra organizzazione.\",\"integrationAppCredentialScope\":\"Con Sites.Read.All l'app può leggere ogni sito del tenant. Il connettore legge solo le cartelle che collegate.\",\"integrationAppCredentialSteps\":\"In Microsoft Entra ID: Registrazioni app, Nuova registrazione. Poi Autorizzazioni API, Microsoft Graph, Autorizzazioni applicazione, Sites.Read.All, e Concedi consenso amministratore. Poi Certificati e segreti, Nuovo segreto client (annotate la scadenza). Copiate qui l'ID directory (tenant), l'ID applicazione (client) e il valore del segreto.\",\"interactiveLogin\":\"Permette agli utenti anonimi di accedere dalla chat. L'external token resta sempre attivo.\",\"issuer\":\"L'URL dell'issuer del token JWT (iss).\",\"jwksUrl\":\"L'URL dell'endpoint JWKS per la verifica della firma JWT.\",\"loadDelay\":\"Attesa prima di caricare il widget, per loader AMD lenti.\",\"loaderStrategy\":{\"dynamic-import\":\"Usa import() all'interno di un <script> classico. Fallback per pagine dove gli script module sono bloccati o intercettati da loader legacy.\",\"inline-module\":\"Inietta un <script type=\\\"module\\\"> inline con un import statico. Bypassa RequireJS e altri loader AMD. Consigliata per la maggior parte dei siti.\",\"script-src\":\"Carica il bundle tramite <script type=\\\"module\\\" src=\\\"...\\\">. Usala su siti con Content Security Policy (CSP) restrittiva che blocca gli script inline.\"},\"mcpServerHealthCheckPath\":\"L'endpoint utilizzato per verificare lo stato del Server MCP (es: /api/health).\",\"mcpStatelessServer\":\"Forza il client a connettersi in modalità stateless.\",\"mcpHeadersOriginChanged\":\"L'URL punta a un altro host: riscrivi i valori degli header, quelli salvati restano legati all'host precedente.\",\"mmr\":\"Bilancia la rilevanza semantica e la diversità dei documenti nei risultati di ricerca per evitare contenuti ridondanti.\",\"mmrCandidatesLimit\":\"Numero massimo di chunk candidati pre-selezionati prima di applicare l'MMR.\",\"mmrCandidatesLimitTooltip\":\"Quanti risultati pre-selezionare dal database prima di filtrare e diversificare. Esempio: se impostato a 100, il sistema cercherà i 100 chunk più pertinenti e poi estrarrà tra questi quelli più diversi tra loro fino a raggiungere il limite finale per la chat.\",\"mmrDiversity\":\"Tradeoff tra rilevanza (0.0) e diversità (1.0).\",\"mmrDiversityTooltip\":\"Determina quanto spazio dare a informazioni diverse. Un valore vicino a 0 predilige i risultati più pertinenti anche se simili tra loro. Un valore vicino a 1 forza l'inserimento di risultati con dettagli e temi differenti, riducendo la ripetitività.\",\"modelContextWindow\":\"Finestra di contesto: {count}k token.\",\"modelDefaultNoneAvailable\":\"Nessun modello disponibile: attiva almeno un modello del tuo endpoint qui sotto.\",\"modelDefaultOutsideCatalog\":\"Questo modello non è tra quelli disponibili per la tua organizzazione: scegline un altro. Nel frattempo i nuovi agenti partono con il modello standard della piattaforma.\",\"modelDefaults\":\"Valgono per tutta l'organizzazione. Ogni agente può comunque usare un modello diverso, scelto nelle sue impostazioni.\",\"modelDisabledForOrganization\":\"Spento per questa organizzazione: gli agenti che lo usano ancora rispondono con il modello predefinito, e non si può scegliere per uno nuovo.\",\"modelEndpointBaseUrl\":\"L'indirizzo base dell'API compatibile OpenAI.\",\"modelEndpointHttp\":\"Con http la chiave viaggia senza cifratura: usalo solo se l'endpoint è raggiungibile esclusivamente dalla tua rete interna.\",\"modelEndpointHttpTitle\":\"Connessione non cifrata (http)\",\"modelEndpointKey\":\"Viene salvata cifrata e non viene mai mostrata.\",\"modelEndpointKeyStored\":\"Già salvata. Lascia il campo vuoto per non cambiarla.\",\"modelEndpointName\":\"Il nome con cui lo riconoscerai nella scelta dei modelli.\",\"modelEndpointOffWithEmbedding\":\"Endpoint spento: i suoi modelli non sono disponibili, gli agenti che li usano smettono di rispondere, e con lui si fermano la base di conoscenza, le memorie e i documenti, perché calcola i loro vettori. Riaccendilo per farli ripartire.\",\"modelEndpointOnWithoutGateway\":\"Endpoint acceso: i modelli che attivi sono gli unici che gli agenti possono usare, perché questa organizzazione non usa il gateway della piattaforma, e possono essere i predefiniti.\",\"modelNotOnEndpoint\":\"Non disponibile per questa organizzazione: il suo endpoint non ha più questo modello, quindi un agente che lo usa non risponde finché non passa a un altro modello.\",\"modelSourceEndpoint\":\"Gira su {name}, l’endpoint della tua organizzazione: lo fattura il tuo fornitore, e i costi che vedi qui sono stimati dal listino.\",\"modelSourceOff\":\"Non disponibile per questa organizzazione: la sorgente su cui gira è spenta, quindi un agente che lo usa non risponde finché non passa a un altro modello o la sorgente non viene riaccesa.\",\"modelSourcePlatform\":\"Gira sul gateway AI della piattaforma e si paga con il credito della tua organizzazione.\",\"ownEndpoint\":\"Usa i tuoi modelli accanto a quelli della piattaforma: collega un endpoint compatibile con le API OpenAI e la tua chiave. Gli agenti che usano i suoi modelli non consumano il credito.\",\"modelEndpointOn\":\"Endpoint acceso: i modelli che attivi sono a disposizione degli agenti accanto a quelli della piattaforma, e possono essere i predefiniti.\",\"modelEndpointOff\":\"Endpoint spento: i suoi modelli non sono disponibili, e gli agenti che li usano smettono di rispondere. Attiva qui sotto i modelli che ti servono, poi accendilo.\",\"addModelsRule\":\"Attiva i modelli che i tuoi agenti potranno usare. Il prezzo viene preso dal listino della piattaforma; se un modello non è in listino, ti chiederemo di indicarlo.\",\"modelPriceAsk\":\"Questo modello non è nel listino della piattaforma. Scegli un modello del catalogo con un costo simile, oppure inserisci i prezzi per milione di token.\",\"modelPriceUnknown\":\"Non è nel listino della piattaforma: indica un prezzo.\",\"modelGuaranteedOnSome\":\"Le garanzie che hai acceso valgono solo su alcuni provider di questo modello: il gateway instrada di conseguenza.\",\"modelIdByHand\":\"Il nome tecnico con cui l'endpoint identifica il modello.\",\"modelNotCompatible\":\"Non compatibile con i flag di riservatezza di questo agente.\",\"modelPriceFromListing\":\"Prezzo preso da {id} nel listino della piattaforma.\",\"modelPriceListing\":\"Listino della piattaforma, voce {id}, aggiornato il {date}.\",\"modelPriceManual\":\"Prezzo inserito a mano il {date}.\",\"modelPriceReference\":\"Stesso prezzo di {id}, aggiornato il {date}.\",\"modelReference\":\"Un modello del catalogo a cui questo assomiglia.\",\"modelRetired\":\"Non più disponibile sulla piattaforma: sposta su un altro modello gli agenti che lo usano.\",\"moveDocument\":\"Scegli la cartella di destinazione per «{name}».\",\"moveDocuments\":\"Scegli la cartella di destinazione per {n} documento. | Scegli la cartella di destinazione per {n} documenti.\",\"multipleChoiceAllowCustomAnswer\":\"Mostra un campo di testo libero sotto le opzioni per consentire all'utente di inserire una risposta personalizzata.\",\"multipleChoiceMaxOptions\":\"Numero massimo di opzioni che l'AI può generare (min. 2, max. 10).\",\"nameClaim\":\"Claim con il nome dell'utente (default: name).\",\"oauthCallbackUrl\":\"Configura questa URL come Callback URL (Redirect URI) nel provider OAuth.\",\"outputSchema\":\"JSON Schema (draft-07) della risposta attesa. Solo documentativo.\",\"passphrase\":\"Inserisci {passphrase} per confermare l'operazione\",\"platformSupported\":\"Resa nativa su WhatsApp e Teams\",\"privacyPolicyNotice\":\"Compare in fondo al modulo di contatto. Supporta il Markdown.\",\"providerOrganizationId\":\"Per Microsoft si riferisce all'identificativo del tenant (tenant ID). Per gli altri inserire il dominio dell'e-mail (es. company.com).\",\"providerTimeoutMs\":\"Prima del provider successivo: da 1000 a 789000, solo BYOK.\",\"reasoningDefault\":\"Valore predefinito della piattaforma, si applica finché non scegli un valore diverso.\",\"reasoningNotSupported\":\"Il reasoning non è supportato per il provider selezionato.\",\"reasoningVisibility\":\"Un agente reasoning è visibile solo all'organizzazione.\",\"sessionExpiresIn\":\"Secondi, almeno 60. Vuoto: 8 ore.\",\"showExtendedSteps\":\"Visualizza la timeline con il ragionamento e gli strumenti nella chat.\",\"smoothStream\":\"Uniforma lo streaming del testo creando un'esperienza di lettura più naturale.\",\"subAgentName\":\"Sono consentiti solo lettere, numeri, underscore (_) e trattini (-).\",\"teamsAccentColor\":\"Per impostazione predefinita usa il colore del tema dell'agente.\",\"teamsAppVersion\":\"Aumentala e reinstalla per applicare il manifest.\",\"tool\":{\"fetchTeamsChannelHistory\":\"Sui canali Teams, permette all'agente di leggere su richiesta la conversazione più ampia del canale. Richiede la reinstallazione dell'app Teams.\",\"geocode\":\"Converte nomi di luoghi in coordinate geografiche e viceversa.\",\"getWeather\":\"Recupera i dati meteo attuali e le previsioni per una località specifica.\",\"querySpreadsheet\":\"Risponde alle domande sui file Excel e CSV della knowledge base con ricerche esatte, conteggi e totali, invece di cercarne il testo. Se lo spegni, l'agente non legge affatto questi file. I fogli allegati in chat si interrogano con lo strumento Fogli di calcolo.\",\"readDocumentFile\":\"Permette all'agente di leggere il file originale dei documenti PDF/DOCX dalla knowledge base. Utile per tabelle, grafici e contenuti visivi.\",\"requestGeolocation\":\"Richiede la posizione GPS dell'utente tramite il browser.\",\"retrieveRevisedAnswers\":\"Recupera le risposte verificate dagli amministratori e le usa come fonte primaria.\",\"runWorker\":\"Permette all'agente di avviare worker generici che ereditano i suoi tool per gestire sotto-attività indipendenti in parallelo.\",\"scheduleWakeup\":\"Quando l'utente lo chiede, l'agente ricontrolla qualcosa da solo a intervalli (da un minuto a un'ora) e scrive nella stessa chat quando trova una novità.\",\"searchInKnowledgeBase\":\"Cerca nei documenti caricati nella knowledge base per fornire risposte contestuali.\",\"searchInUserFiles\":\"Cerca nei file che l'utente ha caricato personalmente in chat (i suoi file privati), separati dalla knowledge base dell'agente.\",\"showArtifact\":\"Mostra contenuti strutturati come testi formattati, codice o documenti.\",\"showCalendarEvent\":\"Mostra un evento calendario con opzioni per Google Calendar, Outlook e download .ics.\",\"showComparison\":\"Confronta da 2 a 4 elementi affiancati per facilitare la scelta.\",\"showContactForm\":\"Mostra un modulo di contatto per raccogliere i dati dell'utente.\",\"showDiagram\":\"Mostra un grafico o un diagramma (flusso, sequenza, classe, ER, stato).\",\"showEmail\":\"Compone un'email pronta da inviare dal client di posta dell'utente.\",\"showForm\":\"Permette di raccogliere input strutturati (testo, numeri, date, scelte) tramite form multi-step.\",\"showImageGallery\":\"Raccoglie le immagini in una galleria navigabile con zoom e lightbox.\",\"showLocation\":\"Mostra una mappa interattiva con segnaposto e indicazioni stradali.\",\"showMessage\":\"Compone un messaggio da inviare tramite WhatsApp, Telegram o SMS.\",\"showMultipleChoice\":\"Propone opzioni selezionabili per guidare il flusso della conversazione.\",\"showProductList\":\"Mostra un elenco di prodotti con immagini, descrizioni e link d'acquisto.\",\"showQrCode\":\"Genera un codice QR a partire da testo, URL o dati strutturati.\",\"showSources\":\"Mostra i riferimenti ai documenti della knowledge base utilizzati nella risposta.\",\"showSuggestedReply\":\"Suggerisce risposte cliccabili per proseguire la conversazione. Per averle dopo ogni risposta, chiedilo nelle istruzioni dell'agente.\",\"showVideo\":\"Riproduce video inline: file diretti (MP4/WebM) o link YouTube/Vimeo.\",\"showWeather\":\"Mostra un widget con le previsioni meteo direttamente nella chat.\",\"showWebPages\":\"Suggerisce link a pagine web pertinenti alla domanda dell'utente.\",\"spreadsheet\":\"Legge, cerca e modifica i file Excel (.xlsx) che l'utente allega nella chat web o nel widget, e restituisce ogni modifica come nuova versione da scaricare. Richiede il caricamento dei file con il tipo Fogli di calcolo.\",\"useAllUserFiles\":\"Cerca in tutti i file dell'utente, anche quelli caricati su altri agenti, non solo in quelli di questo agente.\",\"useAllUserKb\":\"Legge le memorie che l'utente ha condiviso con tutti gli agenti di questa organizzazione, non solo con questo. La scrittura resta legata a questo agente.\",\"userMemory\":\"Permette all'agente di ricordare e richiamare informazioni che l'utente condivide tra le conversazioni (nome, preferenze, ecc.).\"},\"toolRequiresApproval\":\"Prima di eseguire, l'agente attende l'approvazione in chat.\",\"apiToolSecretParameters\":\"Inviati a ogni chiamata, nella query string o nel body JSON, e mai mostrati al modello. Dopo il salvataggio il valore non si vede più: lascialo vuoto per tenerlo.\",\"apiToolSecretParametersNew\":\"Inviati a ogni chiamata, nella query string o nel body JSON, e mai mostrati al modello. Scrivi ogni valore: dopo il salvataggio non si vede più.\",\"apiToolSecretStored\":\"Salvato: lascialo vuoto per tenerlo\",\"apiToolCredentialInSchema\":\"Questi parametri sembrano credenziali, e li compila il modello: {names}. Spostali fra i parametri segreti e toglili dallo schema di input.\",\"apiToolCredentialBadge\":\"Un parametro che sembra una credenziale viene compilato dal modello\",\"apiToolSecretsOriginChanged\":\"L'URL punta a un altro host: riscrivi i valori degli header e dei parametri segreti, quelli salvati restano legati all'host precedente.\",\"apiToolSecretBodyMethod\":\"Una richiesta {method} non ha body\",\"toolWorkingSetMode\":{\"active\":\"Prima di ogni risposta un modello di valutazione (TypeSafe Jev) sceglie i server MCP, gli API Tools e i sotto-agenti che servono al messaggio, e l’agente vede solo quelli. Se gliene serve un altro, lo riattiva da solo. Ogni valutazione è addebitata all’organizzazione.\",\"off\":\"L’agente vede tutti i tool a ogni risposta.\",\"shadow\":\"Il modello di valutazione sceglie i tool che servono a ogni messaggio, ma l’agente li vede comunque tutti: la scelta viene solo registrata nel dettaglio del messaggio, per confrontarla con i tool usati davvero prima di attivarla. Ogni valutazione è addebitata all’organizzazione.\"},\"useColorsForAgentHeader\":\"Colora l'intestazione dell'agente in base al colore principale.\",\"userFeedbackComment\":\"L'utente ha lasciato un commento su questa risposta\",\"userFeedbackNegative\":\"L'utente ha valutato negativamente questa risposta\",\"userFeedbackPositive\":\"L'utente ha valutato positivamente questa risposta\",\"userFeedbackReaction\":\"L'utente ha reagito a questa risposta\",\"utilityModel\":\"Usato dietro le quinte per compiti come riformulare le domande degli utenti e aggiornare le memorie.\",\"voiceApprovalRefused\":\"Durante una chiamata queste azioni non partono: l'approvazione si dà a schermo e al telefono non c'è nessuno a cui chiederla, quindi l'agente le rifiuta e lo dice. Riguarda: {tools}.\",\"voiceCascadeTimeoutSeconds\":\"Quanto il fornitore aspetta noi prima di annullare il turno. Deve stare sopra al turno più lento dell'agente: knowledge base, tool e modelli lenti lo allungano.\",\"voiceEnabled\":\"Permette di parlare con questo agente. La risposta resta sua, con la sua knowledge base e i suoi strumenti.\",\"voiceFillerAfterSeconds\":\"Dice che sta lavorando quando la risposta tarda. Vuoto: quattro secondi.\",\"voiceFillerMessage\":\"Vuoto: una frase predefinita nella lingua della voce.\",\"voiceFirstMessage\":\"Detta appena si apre la chiamata. Copre anche il primo turno, il più lento.\",\"voiceId\":\"Le voci clonate non sono in elenco: il fornitore non le ammette qui.\",\"voiceIgnoreBackgroundVoices\":\"Ascolta solo chi parla. Da tenere attivo dove il microfono sente la stanza.\",\"voiceLanguage\":\"Usata per riconoscere il parlato e per parlare.\",\"voiceMaxSessionSeconds\":\"Una chiamata si paga a minuto e si chiude da sola a questo limite.\",\"voiceRemaining\":\"Tempo che resta in questa chiamata\",\"voiceSlowAgentOnCall\":\"Una knowledge base grande o server MCP collegati possono far metterci diversi secondi all'agente, e in chiamata quei secondi sono silenzio: le due impostazioni qui sotto sono ciò che tiene compagnia a chi chiama mentre lavora. Se le chiamate sembrano lente, la risposta si accorcia anche con meno passi, un limite di retrieval più basso o un modello più rapido.\",\"voiceTurnEagerness\":\"Pronto risponde prima, paziente ti aspetta.\",\"voiceTurnTimeoutSeconds\":\"Quanto l’agente aspetta il chiamante zitto prima di riprendere la parola. Niente a che vedere con la sua velocità di risposta.\",\"webSearchEnabled\":\"Permetti all'agente di cercare informazioni sul web durante le conversazioni.\",\"webSearchNative\":\"Usa le funzionalità di ricerca web integrate di {provider}.\",\"webSearchNativeFallback\":\"Questo modello non ha una ricerca web integrata: le ricerche passano da Perplexity.\",\"webhookUrl\":\"Incolla questo URL nella configurazione del webhook / endpoint di messaggistica della piattaforma.\",\"welcomePopup\":\"Mostra un popup di benvenuto con il messaggio iniziale prima che la chat venga aperta.\",\"whatsappVerifyToken\":\"Incolla questo token nella configurazione webhook di Meta.\",\"zeroDataRetention\":\"Instrada le richieste solo verso provider con accordi ZDR. Restringe il pool di provider disponibili.\",\"webSourceUnselected\":\"Le pagine non selezionate arriveranno con i prossimi controlli della sorgente.\",\"webSourceInterval\":\"Le pagine nuove seguono la frequenza qui sopra.\",\"webPagesRefresh\":\"Alla scadenza si rigenera solo ciò che è cambiato.\",\"documentFolderWebSource\":\"Cartella di un sito web: le pagine nuove arrivano da sole e restano modificabili.\",\"invitationLanguage\":\"La lingua dell'email che riceve la persona invitata.\"}"),
1187
1187
  integrationProvider: {
1188
1188
  hubspot: "HubSpot",
1189
1189
  salesforce: "Salesforce",
@@ -2378,8 +2378,8 @@ var Zn = {
2378
2378
  public: "Public"
2379
2379
  },
2380
2380
  visibilityHint: {
2381
- organization: "The members of this organization who can use the agent.",
2382
- private: "Anyone with an account on the platform, from any organization.",
2381
+ organization: "Organization members with access to the agent.",
2382
+ private: "Anyone with an account, from any organization.",
2383
2383
  public: "Anyone, even without signing in."
2384
2384
  }
2385
2385
  },
@@ -2968,7 +2968,7 @@ var Zn = {
2968
2968
  webSourceRemoveMissing: "For a complete sitemap. Many removals wait for you.",
2969
2969
  webSourceRemoveMissingExplained: "For a site of your own, whose sitemap lists everything published. If too many go missing at once, nothing is removed until you confirm."
2970
2970
  },
2971
- hint: /* @__PURE__ */ JSON.parse("{\"agentModel\":\"Pre-selected when you create a new agent.\",\"agentOnOwnEndpoint\":\"This agent runs on your organization's endpoint.\",\"allowedDomains\":\"Only search within these domains.\",\"approvalChannels\":\"A tool can ask the user to confirm before it runs: expand a tool to turn it on. On API endpoints and scheduled runs the call is refused.\",\"audience\":\"Expected aud of the JWT. Empty: not checked.\",\"blockedDomains\":\"Exclude these domains from results.\",\"channel\":{\"app\":\"The agent is accessible via the dedicated public page.\",\"frontoffice\":\"The agent is visible in the Frontoffice panel.\",\"widget\":\"The agent can be embedded in websites via embed script.\"},\"channelAppDisabled\":\"The App channel is disabled: the direct link and iframe will not work.\",\"channelWidgetDisabled\":\"The Widget channel is disabled: the embed code and loader will not work.\",\"costSourceEndpoint\":\"The models on your organization's endpoint: your provider bills them, the cost here is a list-price estimate.\",\"customCss\":\"CSS injected into the widget shadow DOM. Allows styling the chat interface from the outside.\",\"disallowPromptTraining\":\"Route requests only to providers that do not use your data to train AI models.\",\"dismissableNotice\":\"It will be hidden after the first message.\",\"documentFolderManaged\":\"Folder synced from {provider}: its content is changed at the source.\",\"documentRefresh\":\"Reads the page again when due and regenerates only what changed.\",\"documentRefreshTriggerOff\":\"This page updates itself, and saving your own text stops that.\",\"documentSelectionHasManaged\":\"The selection contains documents that come from a connected source and cannot be changed by hand.\",\"documentSourceInterval\":\"How often the folder is read again.\",\"documentSourceIntervalExplained\":\"How often the folder is read again. Files that have not changed are not converted again.\",\"documentSourceName\":\"The name this folder has here. The remote one does not change.\",\"emailClaim\":\"The JWT claim containing the user email (default: email).\",\"embedCode\":\"Copy and paste this code to embed the agent in your website.\",\"embedding\":\"The vectors of the knowledge base, of the users' files and of the memories. They are computed on the platform AI gateway, or on your endpoint with one of the two models it can serve.\",\"embeddingActivation\":\"Before saving, the endpoint embeds a test sentence and its vector is compared with the model's own: a different model is refused. Moving to another model embeds the knowledge base and the memories again, and until it is done the searches find only what is already in the new model.\",\"embeddingEndpointModel\":\"The id your endpoint serves the model under\",\"embeddingEndpointOff\":\"Switch the endpoint on to compute the vectors there\",\"embeddingFamily\":\"Among those your endpoint serves\",\"embeddingFamilyUnknown\":\"Your endpoint does not declare it: the save checks it\",\"embeddingModelsServed\":\"Your endpoint serves these too. They cannot answer an agent: the one the vectors are computed with is chosen in the Embedding section.\",\"embeddingNotConfigured\":\"The knowledge base, the corrected answers, the memories and the document processing are stopped, because nothing computes their vectors. Activate an embedding model on your endpoint to start them again.\",\"embeddingReindexing\":\"Until the reindex ends, the searches in the knowledge base and in the memories find only what is already in the new model: partial results, never wrong ones. Nothing has to be done, and an interrupted run picks up where it stopped.\",\"embeddingStopped\":\"The endpoint that computes the vectors is off: the knowledge base, the corrected answers, the memories and the document processing are stopped until you switch it back on.\",\"embeddingWithoutEndpoint\":\"The vectors of the knowledge base, of the users' files and of the memories are computed on the platform AI gateway. Connect your endpoint to compute them there.\",\"embedIframe\":\"Embed the chat interface directly using an iframe. \",\"embedPreview\":\"The agent will be accessible at the following URL.\",\"embeddingWithoutEndpointOrGateway\":\"The vectors of the knowledge base, of the users' files and of the memories are not computed: this organization does not use the platform AI gateway. Connect your endpoint to compute them there.\",\"embeddingWithoutGateway\":\"The vectors of the knowledge base, of the users' files and of the memories. This organization does not use the platform AI gateway, so they are computed only on your endpoint, with one of the two models allowed.\",\"externalContextSchema\":\"Define which contextual data the hosting site can send to the agent.\",\"externalContextSchemaToggle\":\"Enable receiving contextual data from the hosting site.\",\"feature\":{\"apiTools\":\"Agents call the organization's own APIs as tools.\",\"byok\":\"The organization connects its own OpenAI compatible endpoint and uses its models.\",\"endpoints\":\"Agents answer other systems over REST.\",\"fileUpload\":\"Users attach files to their chat messages.\",\"gateway\":\"The AI gateway models, and with them the platform's embedding, and the utilities and the document AI that use them.\",\"hubspot\":\"Leads collected by the agents go to the organization's HubSpot CRM.\",\"leads\":\"Agents collect contacts with a form in the chat, and the Contacts page lists them.\",\"mcpServers\":\"Agents use the tools of external MCP servers.\",\"proactiveAutomations\":\"Agents check again by themselves what the user asks them to keep an eye on. Off, the checks under way stop at their next round.\",\"salesforce\":\"Leads collected by the agents go to the organization's Salesforce CRM.\",\"sharepoint\":\"Agents read the files of SharePoint folders kept in sync.\",\"subAgents\":\"An agent calls another one as a tool.\",\"teams\":\"Agents answer in Teams chats.\",\"voice\":\"Agents talk with the user in real time.\",\"whatsapp\":\"Agents answer on WhatsApp Business.\"},\"fallbackModels\":\"Alternative models tried in order if the primary model is unavailable.\",\"fieldMappingFallback\":\"Value used if the source field is empty or missing.\",\"fieldMappingSource\":\"Supports nested paths (e.g. metadata.urgency).\",\"fieldMappingTransformExtractDomainCompany\":\"Extracts the company name from the email domain (e.g. mario{'@'}acme.com → Acme). Skips free providers (gmail, outlook, etc.).\",\"fieldMappingTransformJoinArray\":\"Joins array values into a comma-separated string.\",\"fieldMappingTransformMapValues\":\"Replaces the value using the value map lookup table.\",\"fieldMappingTransformNone\":\"Copies the value as-is.\",\"fieldMappingTransformSplitFirstLast\":\"Splits text on spaces.\",\"fileUploadDisabledHint\":\"File upload is not enabled for this agent. You can enable it in the agent settings.\",\"fileUploadEnabled\":\"Allow users to attach files to their messages.\",\"freshnessBoost\":\"Applies a boost based on how recently the document was updated.\",\"freshnessScale\":\"Freshness scale (days)\",\"freshnessScaleExplanationDays\":\"A document updated today gets a +{weight} bonus. This bonus halves to +{halfWeight} after {half} days and practically drops to zero (+{zeroWeight}) after {zero} days.\",\"freshnessScaleExplanationMonths\":\"A document updated today gets a +{weight} bonus. This bonus halves to +{halfWeight} after {half} days and practically drops to zero (+{zeroWeight}) after {zero} days (approx. {months} months).\",\"freshnessScaleTooltip\":\"The half-life of the exponential decay. A document as old as this value will receive 50% of the maximum boost. Lower values cause older documents to lose the boost more quickly.\",\"freshnessWeight\":\"Weight multiplier of the freshness boost in the formula.\",\"freshnessWeightTooltip\":\"Maximum score bonus added to newly updated documents. A weight of 0.1 means a brand new document gets a +0.10 score advantage. This bonus decays exponentially over time until it reaches zero.\",\"gatewayCatalog\":\"The models the platform makes available, with the price per million tokens, the context size and the data privacy guarantees. Switch off the ones your organization does not use: they leave the pickers, and an agent still on one answers with the default model.\",\"gatewayOffDisconnected\":\"Unless its own endpoint is on and serves models, the organization is disconnected: no agent answers.\",\"gatewayOffNoByok\":\"Own models (BYOK) are off too: its administrator can neither set up an endpoint nor switch one on or off, nor move the embedding.\",\"gatewayOffStops\":\"Switched off, nothing of this organization reaches the gateway, within thirty seconds: the gateway models stop answering, and so do the internal utilities on them; the web search stops. The knowledge base, the corrected answers, the memories and the document processing go on only if the embedding is on the organization's own endpoint: on the platform's, they stop.\",\"gatewayOffTodo\":\"The administrator has to move both default models to the organization's own endpoint, or new agents cannot be created, and the embedding too (Models, Embedding section), or the knowledge base and the memories stay stopped. The inference is no longer charged to the credit; the voice minutes and the document OCR still are.\",\"guaranteeAll\":\"{name}: guaranteed on every provider.\",\"guaranteeNone\":\"{name}: not guaranteed.\",\"guaranteeSome\":\"{name}: guaranteed on some providers only, the gateway routes accordingly.\",\"includeThoughts\":\"Streams the model's thoughts to the client along with the response.\",\"inputSchema\":\"JSON Schema (draft-07) of the input parameters the LLM can provide.\",\"integrationOAuthAdminConsent\":\"A Microsoft 365 administrator of your organization may need to approve this.\",\"integrationAppCredentialScope\":\"With Sites.Read.All the app can read every site of the tenant. The connector reads only the folders you link.\",\"integrationAppCredentialSteps\":\"In Microsoft Entra ID: App registrations, New registration. Then API permissions, Microsoft Graph, Application permissions, Sites.Read.All, and Grant admin consent. Then Certificates & secrets, New client secret (note when it expires). Copy the Directory (tenant) ID, the Application (client) ID and the secret value here.\",\"interactiveLogin\":\"Lets anonymous users sign in from the chat. The external token stays active.\",\"issuer\":\"The issuer URL of the JWT token (iss).\",\"jwksUrl\":\"The JWKS endpoint URL for JWT signature verification.\",\"loadDelay\":\"Wait before loading the widget, for slow AMD loaders.\",\"loaderStrategy\":{\"dynamic-import\":\"Uses import() inside a classic <script>. Fallback for pages where module scripts are blocked or intercepted by legacy loaders.\",\"inline-module\":\"Injects an inline <script type=\\\"module\\\"> with a static import. Bypasses RequireJS and other AMD loaders. Recommended for most sites.\",\"script-src\":\"Loads the bundle via <script type=\\\"module\\\" src=\\\"...\\\">. Use this on sites with strict Content Security Policy (CSP) that block inline scripts.\"},\"mcpServerHealthCheckPath\":\"The endpoint used to check the health of the MCP Server (e.g., /api/health).\",\"mcpStatelessServer\":\"Force the client to connect in stateless mode.\",\"mcpHeadersOriginChanged\":\"The URL points to another host: type the values of the headers again, the saved ones stay with the previous host.\",\"mmr\":\"Balances semantic relevance and document diversity in search results to avoid redundant content.\",\"mmrCandidatesLimit\":\"Maximum number of candidate chunks pre-selected before applying MMR.\",\"mmrCandidatesLimitTooltip\":\"The number of top candidate chunks retrieved from the database before applying the MMR diversity filter. For example, if set to 100, the system selects the 100 highest-scoring chunks first, then filters them to find the most diverse subset.\",\"mmrDiversity\":\"Tradeoff between relevance (0.0) and diversity (1.0).\",\"mmrDiversityTooltip\":\"Controls how diverse the search results should be. A value near 0 focuses solely on relevance (even if results are similar). A value near 1 forces the inclusion of results with different details and themes, reducing redundancy.\",\"modelContextWindow\":\"Context window: {count}k tokens.\",\"modelDefaultNoneAvailable\":\"No model available: switch on at least one model of your endpoint below.\",\"modelDefaultOutsideCatalog\":\"This model is not among those available to your organization: pick another one. Meanwhile new agents start on the platform's standard model.\",\"modelDefaults\":\"They apply to the whole organization. Each agent can still use a different model, chosen in its own settings.\",\"modelDisabledForOrganization\":\"Switched off for this organization: the agents still on it answer with the default model, and it cannot be picked for a new one.\",\"modelEndpointBaseUrl\":\"The base address of the OpenAI compatible API.\",\"modelEndpointHttp\":\"Over http the key travels unencrypted: use it only if the endpoint is reachable from your internal network alone.\",\"modelEndpointHttpTitle\":\"Unencrypted connection (http)\",\"modelEndpointKey\":\"It is stored encrypted and never shown again.\",\"modelEndpointKeyStored\":\"Already saved. Leave the field empty to keep it.\",\"modelEndpointName\":\"The name you will recognise it by when choosing models.\",\"modelEndpointOffWithEmbedding\":\"Endpoint off: its models are not available, the agents on them stop answering, and the knowledge base, the memories and the documents stop with it, because it computes their vectors. Turn it back on to start them again.\",\"modelEndpointOnWithoutGateway\":\"Endpoint on: the models you switch on are the only ones the agents can use, since this organization does not use the platform gateway, and can be the defaults.\",\"modelNotOnEndpoint\":\"Not available to this organization: its endpoint no longer has this model, so an agent on it does not answer until it is moved to another model.\",\"modelSourceEndpoint\":\"Runs on {name}, your organization's own endpoint: your provider bills it, and the costs shown here are estimated from the price list.\",\"modelSourceOff\":\"Not available to this organization: the source it runs on is switched off, so an agent on it does not answer until it is moved to another model or the source is switched back on.\",\"modelSourcePlatform\":\"Runs on the platform AI gateway and is paid with your organization's credit.\",\"ownEndpoint\":\"Use your own models next to the platform ones: connect an OpenAI compatible endpoint with your own key. The agents that run on its models are not charged to your credit.\",\"modelEndpointOn\":\"Endpoint on: the models you switch on are available to the agents next to the platform ones, and can be the defaults.\",\"modelEndpointOff\":\"Endpoint off: its models are not available, and the agents on them stop answering. Switch on the models you need below, then turn it on.\",\"addModelsRule\":\"Switch on the models your agents will be able to use. The price comes from the platform price list; if a model is not in the list, you will be asked to enter it.\",\"modelPriceAsk\":\"This model is not in the platform price list. Pick a catalog model with a similar cost, or enter the prices per million tokens.\",\"modelPriceUnknown\":\"Not in the platform price list: enter a price.\",\"modelGuaranteedOnSome\":\"The guarantees you switched on hold only on some providers of this model: the gateway routes accordingly.\",\"modelIdByHand\":\"The technical name the endpoint uses to identify the model.\",\"modelNotCompatible\":\"Not compatible with the privacy flags of this agent.\",\"modelPriceFromListing\":\"Price taken from {id} in the platform price list.\",\"modelPriceListing\":\"Platform price list, entry {id}, updated on {date}.\",\"modelPriceManual\":\"Price typed by hand on {date}.\",\"modelPriceReference\":\"Same price as {id}, updated on {date}.\",\"modelReference\":\"A catalog model this one costs like.\",\"modelRetired\":\"No longer available on the platform: move the agents using it to another model.\",\"moveDocument\":\"Choose the destination folder for «{name}».\",\"moveDocuments\":\"Choose the destination folder for {n} document. | Choose the destination folder for {n} documents.\",\"multipleChoiceAllowCustomAnswer\":\"Show a free-text field below the options so the user can type a custom answer.\",\"multipleChoiceMaxOptions\":\"Maximum number of options the AI can generate (min. 2, max. 10).\",\"nameClaim\":\"Claim with the user name (default: name).\",\"oauthCallbackUrl\":\"Set this URL as the Callback URL (Redirect URI) in the OAuth provider.\",\"outputSchema\":\"JSON Schema (draft-07) of the expected response. Informational only.\",\"passphrase\":\"Enter {passphrase} to confirm the operation\",\"platformSupported\":\"Renders natively on WhatsApp and Teams\",\"privacyPolicyNotice\":\"Displayed at the bottom of the contact form. Supports Markdown.\",\"providerOrganizationId\":\"For Microsoft this refers to the tenant identifier (tenant ID). \\nFor others, enter the email domain (e.g. company.com).\",\"providerTimeoutMs\":\"Before the next provider: 1000 to 789000, BYOK only.\",\"reasoningDefault\":\"Platform default, applied until you choose a different value.\",\"reasoningNotSupported\":\"Reasoning is not supported for the selected provider.\",\"reasoningVisibility\":\"A reasoning agent is always visible to the members of its organization only.\",\"sessionExpiresIn\":\"Seconds, at least 60. Empty: 8 hours.\",\"showExtendedSteps\":\"Shows reasoning and tool calls as an expandable timeline in the chat.\",\"smoothStream\":\"Smooths text streaming creating a more natural reading experience.\",\"subAgentName\":\"Only letters, numbers, underscores (_) and hyphens (-) are allowed.\",\"teamsAccentColor\":\"Defaults to the agent's theme color.\",\"teamsAppVersion\":\"Raise it and reinstall to apply manifest changes.\",\"tool\":{\"fetchTeamsChannelHistory\":\"On Teams channels, lets the agent read the wider channel conversation on demand. Requires reinstalling the Teams app.\",\"geocode\":\"Converts place names to geographic coordinates and vice versa.\",\"getWeather\":\"Fetches current weather data and forecasts for a specific location.\",\"querySpreadsheet\":\"Answers questions on the Excel and CSV files of the knowledge base with exact searches, counts and totals, instead of searching their text. Turned off, the agent does not read these files at all. The spreadsheets attached in the chat are queried with the Spreadsheets tool.\",\"readDocumentFile\":\"Allows the agent to read the original file of PDF/DOCX documents from the knowledge base. Useful for tables, charts, and visual content.\",\"requestGeolocation\":\"Requests the user's GPS location via the browser.\",\"retrieveRevisedAnswers\":\"Retrieves administrator-verified answers and uses them as the primary source of truth.\",\"runWorker\":\"Lets the agent run generic workers that inherit its tools to handle independent sub-tasks in parallel.\",\"scheduleWakeup\":\"When the user asks for it, the agent checks something again by itself at intervals (from one minute to one hour) and writes in the same chat when it finds news.\",\"searchInKnowledgeBase\":\"Searches uploaded documents in the knowledge base to provide contextual answers.\",\"searchInUserFiles\":\"Searches the files this user personally uploaded in chat (their private files), kept separate from the agent knowledge base.\",\"showArtifact\":\"Displays structured content such as formatted text, code, or documents.\",\"showCalendarEvent\":\"Shows a calendar event with options for Google Calendar, Outlook, and .ics download.\",\"showComparison\":\"Compares 2 to 4 items side by side to help the user decide.\",\"showContactForm\":\"Displays a contact form to collect user information.\",\"showDiagram\":\"Renders a chart or a diagram (flowchart, sequence, class, ER, state).\",\"showEmail\":\"Composes a ready-to-send email from the user's email client.\",\"showForm\":\"Allows collecting structured input (text, numbers, dates, choices) via multi-step forms.\",\"showImageGallery\":\"Collects images in a browsable gallery with zoom and lightbox.\",\"showLocation\":\"Displays an interactive map with a marker and directions.\",\"showMessage\":\"Composes a message to send via WhatsApp, Telegram, or SMS.\",\"showMultipleChoice\":\"Presents selectable options to guide the conversation flow.\",\"showProductList\":\"Shows a product list with images, descriptions, and purchase links.\",\"showQrCode\":\"Generates a QR code from text, URLs, or structured data.\",\"showSources\":\"Shows references to the knowledge base documents used in the response.\",\"showSuggestedReply\":\"Suggests clickable replies to continue the conversation. To have them after every answer, ask for it in the agent's instructions.\",\"showVideo\":\"Plays videos inline: direct files (MP4/WebM) or YouTube/Vimeo links.\",\"showWeather\":\"Displays a weather forecast widget directly in the chat.\",\"showWebPages\":\"Suggests links to web pages relevant to the user's question.\",\"spreadsheet\":\"Reads, searches and edits the Excel files (.xlsx) users attach in the web chat or the widget, and returns each edit as a new version to download. Needs file uploads with the Spreadsheets type.\",\"useAllUserFiles\":\"Searches all the user's files, including those uploaded on other agents, not just this agent's.\",\"useAllUserKb\":\"Reads the memories the user shared with every agent of this organization, not just this one. Writing stays scoped to this agent.\",\"userMemory\":\"Lets the agent remember and recall facts the user shares across conversations (name, preferences, etc.).\"},\"toolRequiresApproval\":\"The agent waits for approval in the chat before running.\",\"apiToolSecretParameters\":\"Sent with every call, in the query string or in the JSON body, and never shown to the model. Once saved a value is not shown again: leave it empty to keep it.\",\"apiToolSecretParametersNew\":\"Sent with every call, in the query string or in the JSON body, and never shown to the model. Type every value: once saved it is not shown again.\",\"apiToolSecretStored\":\"Saved: leave it empty to keep it\",\"apiToolCredentialInSchema\":\"These parameters look like credentials, and the model fills them in: {names}. Move them to the secret parameters and remove them from the input schema.\",\"apiToolCredentialBadge\":\"A parameter that looks like a credential is filled in by the model\",\"apiToolSecretsOriginChanged\":\"The URL points to another host: type the values of the headers and of the secret parameters again, the saved ones stay with the previous host.\",\"apiToolSecretBodyMethod\":\"A {method} request sends no body\",\"toolWorkingSetMode\":{\"active\":\"Before each reply, an evaluation model (TypeSafe Jev) picks the MCP servers, API tools and sub-agents the message needs, and the agent sees only those. When it needs another one, it brings it back on its own. Each evaluation is charged to the organization.\",\"off\":\"The agent sees every tool on every reply.\",\"shadow\":\"The evaluation model picks the tools each message needs, but the agent still sees them all: the choice is only recorded in the message detail, to compare it with the tools actually used before turning it on. Each evaluation is charged to the organization.\"},\"useColorsForAgentHeader\":\"Color the agent header based on the main color.\",\"userFeedbackComment\":\"The user left a comment on this answer\",\"userFeedbackNegative\":\"The user rated this answer negatively\",\"userFeedbackPositive\":\"The user rated this answer positively\",\"userFeedbackReaction\":\"The user reacted to this answer\",\"utilityModel\":\"Used behind the scenes for tasks such as rephrasing user questions and updating memories.\",\"voiceApprovalRefused\":\"During a call these actions do not run: approval is given on screen and on the phone there is nobody to ask, so the agent refuses them and says so. Affected: {tools}.\",\"voiceCascadeTimeoutSeconds\":\"How long the provider waits for us before cancelling the turn. It must sit above the agent's slowest turn: a knowledge base, tools and slow models all stretch it.\",\"voiceEnabled\":\"Let people talk to this agent. The answer is still this agent, with its knowledge and tools.\",\"voiceFillerAfterSeconds\":\"Says it is working when the answer is late. Empty: four seconds.\",\"voiceFillerMessage\":\"Empty: a default sentence in the voice language.\",\"voiceFirstMessage\":\"Said as soon as the call opens. It also covers the slower first turn.\",\"voiceId\":\"Cloned voices are not listed: the provider forbids them here.\",\"voiceIgnoreBackgroundVoices\":\"Listen only to who is talking. Leave on where the microphone hears a room.\",\"voiceLanguage\":\"Used to recognise speech and to speak.\",\"voiceMaxSessionSeconds\":\"A call is billed by the minute and stops on its own at this limit.\",\"voiceRemaining\":\"Time left in this call\",\"voiceSlowAgentOnCall\":\"A large knowledge base or connected MCP servers can take an agent several seconds to answer, and on a call those seconds are silence: the two settings below are what keeps the caller company while it works. If your calls feel slow, the answer itself gets shorter with fewer steps, a smaller retrieval limit or a faster model.\",\"voiceTurnEagerness\":\"Eager answers sooner, patient waits for you.\",\"voiceTurnTimeoutSeconds\":\"How long the agent lets the caller stay silent before speaking again. Nothing to do with how fast it answers.\",\"webSearchEnabled\":\"Allow the agent to search the web during conversations.\",\"webSearchNative\":\"Uses {provider}'s built-in web search capabilities.\",\"webSearchNativeFallback\":\"This model has no built-in web search: searches go through Perplexity.\",\"webhookUrl\":\"Paste this URL into the platform's webhook / messaging endpoint configuration.\",\"welcomePopup\":\"Show a welcome popup with the initial message before the chat is opened.\",\"whatsappVerifyToken\":\"Paste this token into the Meta webhook configuration.\",\"zeroDataRetention\":\"Route requests only to ZDR-compliant providers. Restricts the pool of available providers.\",\"webSourceUnselected\":\"Pages you leave unselected will arrive with the next checks of the source.\",\"webSourceInterval\":\"New pages follow the schedule above.\",\"webPagesRefresh\":\"When due, only what changed is regenerated.\",\"documentFolderWebSource\":\"Website folder: new pages arrive on their own and stay editable.\",\"invitationLanguage\":\"The language of the email the invited person receives.\"}"),
2971
+ hint: /* @__PURE__ */ JSON.parse("{\"agentModel\":\"Pre-selected when you create a new agent.\",\"agentOnOwnEndpoint\":\"This agent runs on your organization's endpoint.\",\"allowedDomains\":\"Only search within these domains.\",\"approvalChannels\":\"A tool can ask the user to confirm before it runs: expand a tool to turn it on. On API endpoints and scheduled runs the call is refused.\",\"audience\":\"Expected aud of the JWT. Empty: not checked.\",\"blockedDomains\":\"Exclude these domains from results.\",\"channel\":{\"app\":\"The agent is accessible via the dedicated public page.\",\"frontoffice\":\"The agent is visible in the Frontoffice panel.\",\"widget\":\"The agent can be embedded in websites via embed script.\"},\"channelAppDisabled\":\"The App channel is disabled: the direct link and iframe will not work.\",\"channelWidgetDisabled\":\"The Widget channel is disabled: the embed code and loader will not work.\",\"costSourceEndpoint\":\"The models on your organization's endpoint: your provider bills them, the cost here is a list-price estimate.\",\"customCss\":\"CSS injected into the widget shadow DOM. Allows styling the chat interface from the outside.\",\"disallowPromptTraining\":\"Route requests only to providers that do not use your data to train AI models.\",\"dismissableNotice\":\"It will be hidden after the first message.\",\"documentFolderManaged\":\"Folder synced from {provider}: its content is changed at the source.\",\"documentRefresh\":\"Reads the page again when due and regenerates only what changed.\",\"documentRefreshTriggerOff\":\"This page updates itself, and saving your own text stops that.\",\"documentSelectionHasManaged\":\"The selection contains documents that come from a connected source and cannot be changed by hand.\",\"documentSourceInterval\":\"How often the folder is read again.\",\"documentSourceIntervalExplained\":\"How often the folder is read again. Files that have not changed are not converted again.\",\"documentSourceName\":\"The name this folder has here. The remote one does not change.\",\"emailClaim\":\"The JWT claim containing the user email (default: email).\",\"embedCode\":\"Copy and paste this code to embed the agent in your website.\",\"embedding\":\"The vectors of the knowledge base, of the users' files and of the memories. They are computed on the platform AI gateway, or on your endpoint with one of the two models it can serve.\",\"embeddingActivation\":\"Before saving, the endpoint embeds a test sentence and its vector is compared with the model's own: a different model is refused. Moving to another model embeds the knowledge base and the memories again, and until it is done the searches find only what is already in the new model.\",\"embeddingEndpointModel\":\"The id your endpoint serves the model under\",\"embeddingEndpointOff\":\"Switch the endpoint on to compute the vectors there\",\"embeddingFamily\":\"Among those your endpoint serves\",\"embeddingFamilyUnknown\":\"Your endpoint does not declare it: the save checks it\",\"embeddingModelsServed\":\"Your endpoint serves these too. They cannot answer an agent: the one the vectors are computed with is chosen in the Embedding section.\",\"embeddingNotConfigured\":\"The knowledge base, the corrected answers, the memories and the document processing are stopped, because nothing computes their vectors. Activate an embedding model on your endpoint to start them again.\",\"embeddingReindexing\":\"Until the reindex ends, the searches in the knowledge base and in the memories find only what is already in the new model: partial results, never wrong ones. Nothing has to be done, and an interrupted run picks up where it stopped.\",\"embeddingStopped\":\"The endpoint that computes the vectors is off: the knowledge base, the corrected answers, the memories and the document processing are stopped until you switch it back on.\",\"embeddingWithoutEndpoint\":\"The vectors of the knowledge base, of the users' files and of the memories are computed on the platform AI gateway. Connect your endpoint to compute them there.\",\"embedIframe\":\"Embed the chat interface directly using an iframe. \",\"embedPreview\":\"The agent will be accessible at the following URL.\",\"embeddingWithoutEndpointOrGateway\":\"The vectors of the knowledge base, of the users' files and of the memories are not computed: this organization does not use the platform AI gateway. Connect your endpoint to compute them there.\",\"embeddingWithoutGateway\":\"The vectors of the knowledge base, of the users' files and of the memories. This organization does not use the platform AI gateway, so they are computed only on your endpoint, with one of the two models allowed.\",\"externalContextSchema\":\"Define which contextual data the hosting site can send to the agent.\",\"externalContextSchemaToggle\":\"Enable receiving contextual data from the hosting site.\",\"feature\":{\"apiTools\":\"Agents call the organization's own APIs as tools.\",\"byok\":\"The organization connects its own OpenAI compatible endpoint and uses its models.\",\"endpoints\":\"Agents answer other systems over REST.\",\"fileUpload\":\"Users attach files to their chat messages.\",\"gateway\":\"The AI gateway models, and with them the platform's embedding, and the utilities and the document AI that use them.\",\"hubspot\":\"Leads collected by the agents go to the organization's HubSpot CRM.\",\"leads\":\"Agents collect contacts with a form in the chat, and the Contacts page lists them.\",\"mcpServers\":\"Agents use the tools of external MCP servers.\",\"proactiveAutomations\":\"Agents check again by themselves what the user asks them to keep an eye on. Off, the checks under way stop at their next round.\",\"salesforce\":\"Leads collected by the agents go to the organization's Salesforce CRM.\",\"sharepoint\":\"Agents read the files of SharePoint folders kept in sync.\",\"subAgents\":\"An agent calls another one as a tool.\",\"teams\":\"Agents answer in Teams chats.\",\"voice\":\"Agents talk with the user in real time.\",\"whatsapp\":\"Agents answer on WhatsApp Business.\"},\"fallbackModels\":\"Alternative models tried in order if the primary model is unavailable.\",\"fieldMappingFallback\":\"Value used if the source field is empty or missing.\",\"fieldMappingSource\":\"Supports nested paths (e.g. metadata.urgency).\",\"fieldMappingTransformExtractDomainCompany\":\"Extracts the company name from the email domain (e.g. mario{'@'}acme.com → Acme). Skips free providers (gmail, outlook, etc.).\",\"fieldMappingTransformJoinArray\":\"Joins array values into a comma-separated string.\",\"fieldMappingTransformMapValues\":\"Replaces the value using the value map lookup table.\",\"fieldMappingTransformNone\":\"Copies the value as-is.\",\"fieldMappingTransformSplitFirstLast\":\"Splits text on spaces.\",\"fileUploadDisabledHint\":\"File upload is not enabled for this agent. You can enable it in the agent settings.\",\"fileUploadEnabled\":\"Allow users to attach files to their messages.\",\"freshnessBoost\":\"Applies a boost based on how recently the document was updated.\",\"freshnessScale\":\"Freshness scale (days)\",\"freshnessScaleExplanationDays\":\"A document updated today gets a +{weight} bonus. This bonus halves to +{halfWeight} after {half} days and practically drops to zero (+{zeroWeight}) after {zero} days.\",\"freshnessScaleExplanationMonths\":\"A document updated today gets a +{weight} bonus. This bonus halves to +{halfWeight} after {half} days and practically drops to zero (+{zeroWeight}) after {zero} days (approx. {months} months).\",\"freshnessScaleTooltip\":\"The half-life of the exponential decay. A document as old as this value will receive 50% of the maximum boost. Lower values cause older documents to lose the boost more quickly.\",\"freshnessWeight\":\"Weight multiplier of the freshness boost in the formula.\",\"freshnessWeightTooltip\":\"Maximum score bonus added to newly updated documents. A weight of 0.1 means a brand new document gets a +0.10 score advantage. This bonus decays exponentially over time until it reaches zero.\",\"gatewayCatalog\":\"The models the platform makes available, with the price per million tokens, the context size and the data privacy guarantees. Switch off the ones your organization does not use: they leave the pickers, and an agent still on one answers with the default model.\",\"gatewayOffDisconnected\":\"Unless its own endpoint is on and serves models, the organization is disconnected: no agent answers.\",\"gatewayOffNoByok\":\"Own models (BYOK) are off too: its administrator can neither set up an endpoint nor switch one on or off, nor move the embedding.\",\"gatewayOffStops\":\"Switched off, nothing of this organization reaches the gateway, within thirty seconds: the gateway models stop answering, and so do the internal utilities on them; the web search stops. The knowledge base, the corrected answers, the memories and the document processing go on only if the embedding is on the organization's own endpoint: on the platform's, they stop.\",\"gatewayOffTodo\":\"The administrator has to move both default models to the organization's own endpoint, or new agents cannot be created, and the embedding too (Models, Embedding section), or the knowledge base and the memories stay stopped. The inference is no longer charged to the credit; the voice minutes and the document OCR still are.\",\"guaranteeAll\":\"{name}: guaranteed on every provider.\",\"guaranteeNone\":\"{name}: not guaranteed.\",\"guaranteeSome\":\"{name}: guaranteed on some providers only, the gateway routes accordingly.\",\"includeThoughts\":\"Streams the model's thoughts to the client along with the response.\",\"inputSchema\":\"JSON Schema (draft-07) of the input parameters the LLM can provide.\",\"integrationOAuthAdminConsent\":\"A Microsoft 365 administrator of your organization may need to approve this.\",\"integrationAppCredentialScope\":\"With Sites.Read.All the app can read every site of the tenant. The connector reads only the folders you link.\",\"integrationAppCredentialSteps\":\"In Microsoft Entra ID: App registrations, New registration. Then API permissions, Microsoft Graph, Application permissions, Sites.Read.All, and Grant admin consent. Then Certificates & secrets, New client secret (note when it expires). Copy the Directory (tenant) ID, the Application (client) ID and the secret value here.\",\"interactiveLogin\":\"Lets anonymous users sign in from the chat. The external token stays active.\",\"issuer\":\"The issuer URL of the JWT token (iss).\",\"jwksUrl\":\"The JWKS endpoint URL for JWT signature verification.\",\"loadDelay\":\"Wait before loading the widget, for slow AMD loaders.\",\"loaderStrategy\":{\"dynamic-import\":\"Uses import() inside a classic <script>. Fallback for pages where module scripts are blocked or intercepted by legacy loaders.\",\"inline-module\":\"Injects an inline <script type=\\\"module\\\"> with a static import. Bypasses RequireJS and other AMD loaders. Recommended for most sites.\",\"script-src\":\"Loads the bundle via <script type=\\\"module\\\" src=\\\"...\\\">. Use this on sites with strict Content Security Policy (CSP) that block inline scripts.\"},\"mcpServerHealthCheckPath\":\"The endpoint used to check the health of the MCP Server (e.g., /api/health).\",\"mcpStatelessServer\":\"Force the client to connect in stateless mode.\",\"mcpHeadersOriginChanged\":\"The URL points to another host: type the values of the headers again, the saved ones stay with the previous host.\",\"mmr\":\"Balances semantic relevance and document diversity in search results to avoid redundant content.\",\"mmrCandidatesLimit\":\"Maximum number of candidate chunks pre-selected before applying MMR.\",\"mmrCandidatesLimitTooltip\":\"The number of top candidate chunks retrieved from the database before applying the MMR diversity filter. For example, if set to 100, the system selects the 100 highest-scoring chunks first, then filters them to find the most diverse subset.\",\"mmrDiversity\":\"Tradeoff between relevance (0.0) and diversity (1.0).\",\"mmrDiversityTooltip\":\"Controls how diverse the search results should be. A value near 0 focuses solely on relevance (even if results are similar). A value near 1 forces the inclusion of results with different details and themes, reducing redundancy.\",\"modelContextWindow\":\"Context window: {count}k tokens.\",\"modelDefaultNoneAvailable\":\"No model available: switch on at least one model of your endpoint below.\",\"modelDefaultOutsideCatalog\":\"This model is not among those available to your organization: pick another one. Meanwhile new agents start on the platform's standard model.\",\"modelDefaults\":\"They apply to the whole organization. Each agent can still use a different model, chosen in its own settings.\",\"modelDisabledForOrganization\":\"Switched off for this organization: the agents still on it answer with the default model, and it cannot be picked for a new one.\",\"modelEndpointBaseUrl\":\"The base address of the OpenAI compatible API.\",\"modelEndpointHttp\":\"Over http the key travels unencrypted: use it only if the endpoint is reachable from your internal network alone.\",\"modelEndpointHttpTitle\":\"Unencrypted connection (http)\",\"modelEndpointKey\":\"It is stored encrypted and never shown again.\",\"modelEndpointKeyStored\":\"Already saved. Leave the field empty to keep it.\",\"modelEndpointName\":\"The name you will recognise it by when choosing models.\",\"modelEndpointOffWithEmbedding\":\"Endpoint off: its models are not available, the agents on them stop answering, and the knowledge base, the memories and the documents stop with it, because it computes their vectors. Turn it back on to start them again.\",\"modelEndpointOnWithoutGateway\":\"Endpoint on: the models you switch on are the only ones the agents can use, since this organization does not use the platform gateway, and can be the defaults.\",\"modelNotOnEndpoint\":\"Not available to this organization: its endpoint no longer has this model, so an agent on it does not answer until it is moved to another model.\",\"modelSourceEndpoint\":\"Runs on {name}, your organization's own endpoint: your provider bills it, and the costs shown here are estimated from the price list.\",\"modelSourceOff\":\"Not available to this organization: the source it runs on is switched off, so an agent on it does not answer until it is moved to another model or the source is switched back on.\",\"modelSourcePlatform\":\"Runs on the platform AI gateway and is paid with your organization's credit.\",\"ownEndpoint\":\"Use your own models next to the platform ones: connect an OpenAI compatible endpoint with your own key. The agents that run on its models are not charged to your credit.\",\"modelEndpointOn\":\"Endpoint on: the models you switch on are available to the agents next to the platform ones, and can be the defaults.\",\"modelEndpointOff\":\"Endpoint off: its models are not available, and the agents on them stop answering. Switch on the models you need below, then turn it on.\",\"addModelsRule\":\"Switch on the models your agents will be able to use. The price comes from the platform price list; if a model is not in the list, you will be asked to enter it.\",\"modelPriceAsk\":\"This model is not in the platform price list. Pick a catalog model with a similar cost, or enter the prices per million tokens.\",\"modelPriceUnknown\":\"Not in the platform price list: enter a price.\",\"modelGuaranteedOnSome\":\"The guarantees you switched on hold only on some providers of this model: the gateway routes accordingly.\",\"modelIdByHand\":\"The technical name the endpoint uses to identify the model.\",\"modelNotCompatible\":\"Not compatible with the privacy flags of this agent.\",\"modelPriceFromListing\":\"Price taken from {id} in the platform price list.\",\"modelPriceListing\":\"Platform price list, entry {id}, updated on {date}.\",\"modelPriceManual\":\"Price typed by hand on {date}.\",\"modelPriceReference\":\"Same price as {id}, updated on {date}.\",\"modelReference\":\"A catalog model this one costs like.\",\"modelRetired\":\"No longer available on the platform: move the agents using it to another model.\",\"moveDocument\":\"Choose the destination folder for «{name}».\",\"moveDocuments\":\"Choose the destination folder for {n} document. | Choose the destination folder for {n} documents.\",\"multipleChoiceAllowCustomAnswer\":\"Show a free-text field below the options so the user can type a custom answer.\",\"multipleChoiceMaxOptions\":\"Maximum number of options the AI can generate (min. 2, max. 10).\",\"nameClaim\":\"Claim with the user name (default: name).\",\"oauthCallbackUrl\":\"Set this URL as the Callback URL (Redirect URI) in the OAuth provider.\",\"outputSchema\":\"JSON Schema (draft-07) of the expected response. Informational only.\",\"passphrase\":\"Enter {passphrase} to confirm the operation\",\"platformSupported\":\"Renders natively on WhatsApp and Teams\",\"privacyPolicyNotice\":\"Displayed at the bottom of the contact form. Supports Markdown.\",\"providerOrganizationId\":\"For Microsoft this refers to the tenant identifier (tenant ID). \\nFor others, enter the email domain (e.g. company.com).\",\"providerTimeoutMs\":\"Before the next provider: 1000 to 789000, BYOK only.\",\"reasoningDefault\":\"Platform default, applied until you choose a different value.\",\"reasoningNotSupported\":\"Reasoning is not supported for the selected provider.\",\"reasoningVisibility\":\"A reasoning agent is visible to its organization only.\",\"sessionExpiresIn\":\"Seconds, at least 60. Empty: 8 hours.\",\"showExtendedSteps\":\"Shows reasoning and tool calls as an expandable timeline in the chat.\",\"smoothStream\":\"Smooths text streaming creating a more natural reading experience.\",\"subAgentName\":\"Only letters, numbers, underscores (_) and hyphens (-) are allowed.\",\"teamsAccentColor\":\"Defaults to the agent's theme color.\",\"teamsAppVersion\":\"Raise it and reinstall to apply manifest changes.\",\"tool\":{\"fetchTeamsChannelHistory\":\"On Teams channels, lets the agent read the wider channel conversation on demand. Requires reinstalling the Teams app.\",\"geocode\":\"Converts place names to geographic coordinates and vice versa.\",\"getWeather\":\"Fetches current weather data and forecasts for a specific location.\",\"querySpreadsheet\":\"Answers questions on the Excel and CSV files of the knowledge base with exact searches, counts and totals, instead of searching their text. Turned off, the agent does not read these files at all. The spreadsheets attached in the chat are queried with the Spreadsheets tool.\",\"readDocumentFile\":\"Allows the agent to read the original file of PDF/DOCX documents from the knowledge base. Useful for tables, charts, and visual content.\",\"requestGeolocation\":\"Requests the user's GPS location via the browser.\",\"retrieveRevisedAnswers\":\"Retrieves administrator-verified answers and uses them as the primary source of truth.\",\"runWorker\":\"Lets the agent run generic workers that inherit its tools to handle independent sub-tasks in parallel.\",\"scheduleWakeup\":\"When the user asks for it, the agent checks something again by itself at intervals (from one minute to one hour) and writes in the same chat when it finds news.\",\"searchInKnowledgeBase\":\"Searches uploaded documents in the knowledge base to provide contextual answers.\",\"searchInUserFiles\":\"Searches the files this user personally uploaded in chat (their private files), kept separate from the agent knowledge base.\",\"showArtifact\":\"Displays structured content such as formatted text, code, or documents.\",\"showCalendarEvent\":\"Shows a calendar event with options for Google Calendar, Outlook, and .ics download.\",\"showComparison\":\"Compares 2 to 4 items side by side to help the user decide.\",\"showContactForm\":\"Displays a contact form to collect user information.\",\"showDiagram\":\"Renders a chart or a diagram (flowchart, sequence, class, ER, state).\",\"showEmail\":\"Composes a ready-to-send email from the user's email client.\",\"showForm\":\"Allows collecting structured input (text, numbers, dates, choices) via multi-step forms.\",\"showImageGallery\":\"Collects images in a browsable gallery with zoom and lightbox.\",\"showLocation\":\"Displays an interactive map with a marker and directions.\",\"showMessage\":\"Composes a message to send via WhatsApp, Telegram, or SMS.\",\"showMultipleChoice\":\"Presents selectable options to guide the conversation flow.\",\"showProductList\":\"Shows a product list with images, descriptions, and purchase links.\",\"showQrCode\":\"Generates a QR code from text, URLs, or structured data.\",\"showSources\":\"Shows references to the knowledge base documents used in the response.\",\"showSuggestedReply\":\"Suggests clickable replies to continue the conversation. To have them after every answer, ask for it in the agent's instructions.\",\"showVideo\":\"Plays videos inline: direct files (MP4/WebM) or YouTube/Vimeo links.\",\"showWeather\":\"Displays a weather forecast widget directly in the chat.\",\"showWebPages\":\"Suggests links to web pages relevant to the user's question.\",\"spreadsheet\":\"Reads, searches and edits the Excel files (.xlsx) users attach in the web chat or the widget, and returns each edit as a new version to download. Needs file uploads with the Spreadsheets type.\",\"useAllUserFiles\":\"Searches all the user's files, including those uploaded on other agents, not just this agent's.\",\"useAllUserKb\":\"Reads the memories the user shared with every agent of this organization, not just this one. Writing stays scoped to this agent.\",\"userMemory\":\"Lets the agent remember and recall facts the user shares across conversations (name, preferences, etc.).\"},\"toolRequiresApproval\":\"The agent waits for approval in the chat before running.\",\"apiToolSecretParameters\":\"Sent with every call, in the query string or in the JSON body, and never shown to the model. Once saved a value is not shown again: leave it empty to keep it.\",\"apiToolSecretParametersNew\":\"Sent with every call, in the query string or in the JSON body, and never shown to the model. Type every value: once saved it is not shown again.\",\"apiToolSecretStored\":\"Saved: leave it empty to keep it\",\"apiToolCredentialInSchema\":\"These parameters look like credentials, and the model fills them in: {names}. Move them to the secret parameters and remove them from the input schema.\",\"apiToolCredentialBadge\":\"A parameter that looks like a credential is filled in by the model\",\"apiToolSecretsOriginChanged\":\"The URL points to another host: type the values of the headers and of the secret parameters again, the saved ones stay with the previous host.\",\"apiToolSecretBodyMethod\":\"A {method} request sends no body\",\"toolWorkingSetMode\":{\"active\":\"Before each reply, an evaluation model (TypeSafe Jev) picks the MCP servers, API tools and sub-agents the message needs, and the agent sees only those. When it needs another one, it brings it back on its own. Each evaluation is charged to the organization.\",\"off\":\"The agent sees every tool on every reply.\",\"shadow\":\"The evaluation model picks the tools each message needs, but the agent still sees them all: the choice is only recorded in the message detail, to compare it with the tools actually used before turning it on. Each evaluation is charged to the organization.\"},\"useColorsForAgentHeader\":\"Color the agent header based on the main color.\",\"userFeedbackComment\":\"The user left a comment on this answer\",\"userFeedbackNegative\":\"The user rated this answer negatively\",\"userFeedbackPositive\":\"The user rated this answer positively\",\"userFeedbackReaction\":\"The user reacted to this answer\",\"utilityModel\":\"Used behind the scenes for tasks such as rephrasing user questions and updating memories.\",\"voiceApprovalRefused\":\"During a call these actions do not run: approval is given on screen and on the phone there is nobody to ask, so the agent refuses them and says so. Affected: {tools}.\",\"voiceCascadeTimeoutSeconds\":\"How long the provider waits for us before cancelling the turn. It must sit above the agent's slowest turn: a knowledge base, tools and slow models all stretch it.\",\"voiceEnabled\":\"Let people talk to this agent. The answer is still this agent, with its knowledge and tools.\",\"voiceFillerAfterSeconds\":\"Says it is working when the answer is late. Empty: four seconds.\",\"voiceFillerMessage\":\"Empty: a default sentence in the voice language.\",\"voiceFirstMessage\":\"Said as soon as the call opens. It also covers the slower first turn.\",\"voiceId\":\"Cloned voices are not listed: the provider forbids them here.\",\"voiceIgnoreBackgroundVoices\":\"Listen only to who is talking. Leave on where the microphone hears a room.\",\"voiceLanguage\":\"Used to recognise speech and to speak.\",\"voiceMaxSessionSeconds\":\"A call is billed by the minute and stops on its own at this limit.\",\"voiceRemaining\":\"Time left in this call\",\"voiceSlowAgentOnCall\":\"A large knowledge base or connected MCP servers can take an agent several seconds to answer, and on a call those seconds are silence: the two settings below are what keeps the caller company while it works. If your calls feel slow, the answer itself gets shorter with fewer steps, a smaller retrieval limit or a faster model.\",\"voiceTurnEagerness\":\"Eager answers sooner, patient waits for you.\",\"voiceTurnTimeoutSeconds\":\"How long the agent lets the caller stay silent before speaking again. Nothing to do with how fast it answers.\",\"webSearchEnabled\":\"Allow the agent to search the web during conversations.\",\"webSearchNative\":\"Uses {provider}'s built-in web search capabilities.\",\"webSearchNativeFallback\":\"This model has no built-in web search: searches go through Perplexity.\",\"webhookUrl\":\"Paste this URL into the platform's webhook / messaging endpoint configuration.\",\"welcomePopup\":\"Show a welcome popup with the initial message before the chat is opened.\",\"whatsappVerifyToken\":\"Paste this token into the Meta webhook configuration.\",\"zeroDataRetention\":\"Route requests only to ZDR-compliant providers. Restricts the pool of available providers.\",\"webSourceUnselected\":\"Pages you leave unselected will arrive with the next checks of the source.\",\"webSourceInterval\":\"New pages follow the schedule above.\",\"webPagesRefresh\":\"When due, only what changed is regenerated.\",\"documentFolderWebSource\":\"Website folder: new pages arrive on their own and stay editable.\",\"invitationLanguage\":\"The language of the email the invited person receives.\"}"),
2972
2972
  integrationProvider: {
2973
2973
  hubspot: "HubSpot",
2974
2974
  salesforce: "Salesforce",
@@ -10056,7 +10056,7 @@ function Ld(e) {
10056
10056
  }), de = W(() => {
10057
10057
  let e = u.value?.messagePlaceholder;
10058
10058
  return e?.[r.value] ? e[r.value] : n("placeholder.askAnything") ? t("placeholder.askAnything") : "";
10059
- }), M = G([]), N = G(!1), P = G([]), fe = G(!1), I = G("chat"), me = G([]), L = G(), R = G(!1), z = G(!1), B = G(), he = G(!1), ge = G(!1), V = G(), _e = G(""), H = G([]), U = G(""), ve = G(0);
10059
+ }), M = G([]), N = G(!1), P = G([]), fe = G(!1), I = G("chat"), L = G([]), R = G(), z = G(!1), me = G(!1), B = G(), he = G(!1), ge = G(!1), V = G(), _e = G(""), H = G([]), U = G(""), ve = G(0);
10060
10060
  async function ye(e) {
10061
10061
  if (w.value) M.value = [];
10062
10062
  else {
@@ -10123,14 +10123,14 @@ function Ld(e) {
10123
10123
  }
10124
10124
  async function ke(e) {
10125
10125
  try {
10126
- me.value = await O.value.getMessageFeedbacks(e);
10126
+ L.value = await O.value.getMessageFeedbacks(e);
10127
10127
  } catch {
10128
- me.value = [];
10128
+ L.value = [];
10129
10129
  }
10130
10130
  }
10131
10131
  function Ae(e) {
10132
- let t = me.value.findIndex((t) => t.messageId === e.messageId);
10133
- t >= 0 ? me.value[t] = e : me.value.push(e);
10132
+ let t = L.value.findIndex((t) => t.messageId === e.messageId);
10133
+ t >= 0 ? L.value[t] = e : L.value.push(e);
10134
10134
  }
10135
10135
  function q(e) {
10136
10136
  let t = ue.value, n = t.findIndex((t) => t.id === e.id), r = dt(e) ?? "", i = t.slice(0, n).reverse().find((e) => e.role === "user");
@@ -10263,24 +10263,24 @@ function Ld(e) {
10263
10263
  await qe(e, "downvote");
10264
10264
  }
10265
10265
  function Ze(e) {
10266
- z.value = !1, B.value = void 0, L.value = e;
10266
+ me.value = !1, B.value = void 0, R.value = e;
10267
10267
  }
10268
10268
  async function Qe(e) {
10269
- if (L.value) try {
10270
- R.value = !0, z.value = !1, B.value = void 0;
10271
- let { userQuestion: t, assistantMessage: n } = q(L.value);
10269
+ if (R.value) try {
10270
+ z.value = !0, me.value = !1, B.value = void 0;
10271
+ let { userQuestion: t, assistantMessage: n } = q(R.value);
10272
10272
  Ae(await O.value.submitMessageFeedback({
10273
- messageId: L.value.id,
10273
+ messageId: R.value.id,
10274
10274
  chatId: E.value,
10275
10275
  agentId: o.value,
10276
10276
  userQuestion: t,
10277
10277
  assistantMessage: n,
10278
10278
  comment: e
10279
- })), z.value = !0, await ke(E.value);
10279
+ })), me.value = !0, await ke(E.value);
10280
10280
  } catch {
10281
10281
  B.value = n("message.feedbackSubmitError") ? t("message.feedbackSubmitError") : "Failed to submit feedback";
10282
10282
  } finally {
10283
- R.value = !1;
10283
+ z.value = !1;
10284
10284
  }
10285
10285
  }
10286
10286
  async function $e(e) {
@@ -10319,7 +10319,7 @@ function Ld(e) {
10319
10319
  let t = rt;
10320
10320
  if (rt = e, t === void 0) return;
10321
10321
  let n = E.value, r = !w.value && await it(n);
10322
- l.value === e && E.value === n && (r ? ye(o.value) : (M.value = [], me.value = [], P.value = [], await Pe(), _e.value = ""));
10322
+ l.value === e && E.value === n && (r ? ye(o.value) : (M.value = [], L.value = [], P.value = [], await Pe(), _e.value = ""));
10323
10323
  }), {
10324
10324
  apiClient: O,
10325
10325
  baseUrl: i,
@@ -10359,10 +10359,10 @@ function Ld(e) {
10359
10359
  inputMessagePlaceholder: de,
10360
10360
  chatError: D,
10361
10361
  activeView: I,
10362
- messageFeedbacks: me,
10363
- feedbackDialogMessage: L,
10364
- isFeedbackSubmitting: R,
10365
- isFeedbackSubmitted: z,
10362
+ messageFeedbacks: L,
10363
+ feedbackDialogMessage: R,
10364
+ isFeedbackSubmitting: z,
10365
+ isFeedbackSubmitted: me,
10366
10366
  feedbackSubmitError: B,
10367
10367
  isLeadSubmitted: he,
10368
10368
  isLoadingSubmitLead: ge,
@@ -10518,8 +10518,8 @@ j(), U();
10518
10518
  function Yd(e, t) {
10519
10519
  let { locale: n, t: r, te: i } = Re({ useScope: "global" });
10520
10520
  return W(() => {
10521
- let a = R(e);
10522
- return Xd(a?.greeting?.[0]?.[n.value] || a?.initialMessage?.[n.value] || (i("message.defaultAgentWelcome") ? r("message.defaultAgentWelcome") : ""), R(t));
10521
+ let a = z(e);
10522
+ return Xd(a?.greeting?.[0]?.[n.value] || a?.initialMessage?.[n.value] || (i("message.defaultAgentWelcome") ? r("message.defaultAgentWelcome") : ""), z(t));
10523
10523
  });
10524
10524
  }
10525
10525
  function Xd(e, t) {
@@ -10535,7 +10535,7 @@ function Qd(e) {
10535
10535
  return Ir(e?.message)?.payload;
10536
10536
  }
10537
10537
  function $d(e) {
10538
- let t = W(() => Zd(R(e), "context_length_exceeded")), n = W(() => Zd(R(e), "entity-not-found")), r = W(() => Zd(R(e), "rate-limit-exceeded")), i = W(() => Zd(R(e), "origin-not-allowed")), a = W(() => Zd(R(e), "credit-exhausted")), o = W(() => Zd(R(e), "conversation-blocked")), s = W(() => Zd(R(e), "bad request")), c = W(() => Zd(R(e), "internal-server-error")), l = W(() => Lr(R(e)?.message, "GATEWAY_CONFIG")), u = W(() => Zd(R(e), "gateway-disabled")), d = W(() => Zd(R(e), "model-unavailable"));
10538
+ let t = W(() => Zd(z(e), "context_length_exceeded")), n = W(() => Zd(z(e), "entity-not-found")), r = W(() => Zd(z(e), "rate-limit-exceeded")), i = W(() => Zd(z(e), "origin-not-allowed")), a = W(() => Zd(z(e), "credit-exhausted")), o = W(() => Zd(z(e), "conversation-blocked")), s = W(() => Zd(z(e), "bad request")), c = W(() => Zd(z(e), "internal-server-error")), l = W(() => Lr(z(e)?.message, "GATEWAY_CONFIG")), u = W(() => Zd(z(e), "gateway-disabled")), d = W(() => Zd(z(e), "model-unavailable"));
10539
10539
  return {
10540
10540
  isContextWindowError: t,
10541
10541
  isNotFoundError: n,
@@ -11333,7 +11333,7 @@ function Sp() {
11333
11333
  return Array.from(e, (e) => e.toString(16).padStart(2, "0")).join("");
11334
11334
  }
11335
11335
  function Cp(e = {}) {
11336
- let t = G(pp(e.cookieName)), n = W(() => R(e.useHostSession) ?? !1), r = W({
11336
+ let t = G(pp(e.cookieName)), n = W(() => z(e.useHostSession) ?? !1), r = W({
11337
11337
  get: () => t.value,
11338
11338
  set: (n) => {
11339
11339
  fp(n, e.cookieName), t.value = n;
@@ -11363,7 +11363,7 @@ function Cp(e = {}) {
11363
11363
  credentials: n.value ? "include" : t?.credentials
11364
11364
  })
11365
11365
  }
11366
- }), o = a.useSession(), s = G(!1), c = W(() => R(e.externalToken)), l = W(() => R(e.isActive) ?? !0), u = G(c.value), d = W(() => !!c.value || !!e.awaitExternalToken || !!u.value || n.value), f = Promise.resolve();
11366
+ }), o = a.useSession(), s = G(!1), c = W(() => z(e.externalToken)), l = W(() => z(e.isActive) ?? !0), u = G(c.value), d = W(() => !!c.value || !!e.awaitExternalToken || !!u.value || n.value), f = Promise.resolve();
11367
11367
  function p(e) {
11368
11368
  let t = f.then(e, e);
11369
11369
  return f = t, t;
@@ -11605,15 +11605,15 @@ function Ep(e) {
11605
11605
  return {
11606
11606
  user: i,
11607
11607
  canManageProfile: W(() => i.value !== null),
11608
- canSignIn: W(() => R(e.canSignIn) ?? !1),
11609
- isExternalAuth: W(() => R(e.isExternalAuth) ?? !1),
11608
+ canSignIn: W(() => z(e.canSignIn) ?? !1),
11609
+ isExternalAuth: W(() => z(e.isExternalAuth) ?? !1),
11610
11610
  profileUrl: W(() => `${vp}/app/profile`),
11611
11611
  signOut: n,
11612
11612
  eraseConversations: r ? async () => {
11613
11613
  let e = await fetch(`${r.baseUrl}/api/v1/me/conversations/erasure`, {
11614
11614
  method: "POST",
11615
11615
  credentials: "include",
11616
- headers: R(r.headers)
11616
+ headers: z(r.headers)
11617
11617
  });
11618
11618
  if (!e.ok) throw Error(`Conversations erasure failed (${e.status})`);
11619
11619
  let t = await e.json();
@@ -11654,12 +11654,12 @@ j(), U();
11654
11654
  function Op(e) {
11655
11655
  let t = G(), n = G(), r = G(), i = G(), a = G(!1), o = G(!1), s = G(!1);
11656
11656
  async function c() {
11657
- let c = R(e.organizationSlug), l = R(e.agentId);
11657
+ let c = z(e.organizationSlug), l = z(e.agentId);
11658
11658
  if (!c || !l) return;
11659
11659
  let u = qs({
11660
11660
  baseUrl: e.baseUrl ?? "https://ai-api.8wave.it",
11661
11661
  basePath: e.basePath,
11662
- headers: () => R(e.headers)
11662
+ headers: () => z(e.headers)
11663
11663
  });
11664
11664
  s.value = !0;
11665
11665
  try {
@@ -11671,9 +11671,9 @@ function Op(e) {
11671
11671
  s.value = !1;
11672
11672
  }
11673
11673
  }
11674
- F([() => R(e.organizationSlug), () => R(e.agentId)], () => {
11674
+ F([() => z(e.organizationSlug), () => z(e.agentId)], () => {
11675
11675
  c();
11676
- }, { immediate: !0 }), F(() => R(e.headers), () => {
11676
+ }, { immediate: !0 }), F(() => z(e.headers), () => {
11677
11677
  a.value && c();
11678
11678
  });
11679
11679
  let l = W(() => t.value?.interface ?? n.value?.interface), u = W(() => Ke(l.value?.textColor, l.value?.mainColor)), d = W(() => l.value?.mainColor);
@@ -11691,7 +11691,7 @@ function Op(e) {
11691
11691
  themeClass: W(() => {
11692
11692
  let t = l.value?.theme;
11693
11693
  if (t && t !== "auto") return ["theme", `theme--${t}`];
11694
- let n = R(e.systemTheme);
11694
+ let n = z(e.systemTheme);
11695
11695
  return n ? ["theme", `theme--${n}`] : ["theme"];
11696
11696
  }),
11697
11697
  themeStyle: W(() => rt(d.value, u.value))
@@ -11826,7 +11826,7 @@ var jp = ["src"], Mp = /*#__PURE__*/ hn(/* @__PURE__ */ w({
11826
11826
  src: e.imgSrc,
11827
11827
  alt: "avatar",
11828
11828
  onError: n[0] ||= (t) => N(r)(e.imgSrc)
11829
- }, null, 40, jp)) : o.value ? (A(), q(B, { key: 1 }, [L(E(o.value), 1)], 64)) : e.fallbackIcon ? (A(), V(s, {
11829
+ }, null, 40, jp)) : o.value ? (A(), q(B, { key: 1 }, [R(E(o.value), 1)], 64)) : e.fallbackIcon ? (A(), V(s, {
11830
11830
  key: 2,
11831
11831
  name: e.fallbackIcon
11832
11832
  }, null, 8, ["name"])) : I("", !0)]),
@@ -11956,7 +11956,7 @@ var Rp = /* @__PURE__ */ w({
11956
11956
  modifiers: N(g) ? "warning" : "danger",
11957
11957
  class: "rounded-lg"
11958
11958
  }, Pe({
11959
- default: C(() => [L(E(v.value) + " ", 1)]),
11959
+ default: C(() => [R(E(v.value) + " ", 1)]),
11960
11960
  _: 2
11961
11961
  }, [N(g) || !_.value ? {
11962
11962
  name: "footer",
@@ -12018,7 +12018,7 @@ var zp = { class: "border border-surface-3 rounded-xl w-full overflow-hidden bg-
12018
12018
  class: "text-16 text-success"
12019
12019
  }), H("div", null, [H("strong", qp, E(N(n)("message.feedbackSubmittedTitle")), 1), H("p", Jp, E(N(n)("message.feedbackSubmittedMessage")), 1)])])])) : (A(), q("div", Hp, [Y(N(s), {
12020
12020
  modelValue: N(l),
12021
- "onUpdate:modelValue": r[2] ||= (e) => z(l) ? l.value = e : null,
12021
+ "onUpdate:modelValue": r[2] ||= (e) => me(l) ? l.value = e : null,
12022
12022
  onSubmit: u
12023
12023
  }, {
12024
12024
  default: C(() => [H("div", Up, [e.error ? (A(), V(o, {
@@ -12315,7 +12315,7 @@ var bm = {
12315
12315
  }, [Y(d, {
12316
12316
  name: g.value.icon,
12317
12317
  class: "shrink-0"
12318
- }, null, 8, ["name"]), L(" " + E(g.value.message), 1)], 2)) : (A(), V(s, { key: 0 }, {
12318
+ }, null, 8, ["name"]), R(" " + E(g.value.message), 1)], 2)) : (A(), V(s, { key: 0 }, {
12319
12319
  default: C(() => [Y(a, {
12320
12320
  modifiers: "primary-small",
12321
12321
  disabled: !u.value,
@@ -12801,7 +12801,7 @@ var $m = {
12801
12801
  class: "shrink-0"
12802
12802
  })),
12803
12803
  H("span", th, E(N(n)("messagePart.steps")), 1),
12804
- H("span", nh, [L(E(N(n)("messagePart.stepCount", a.value.length)) + " ", 1), s(o.value) ? (A(), q(B, { key: 0 }, [L(" · " + E(s(o.value)), 1)], 64)) : I("", !0)]),
12804
+ H("span", nh, [R(E(N(n)("messagePart.stepCount", a.value.length)) + " ", 1), s(o.value) ? (A(), q(B, { key: 0 }, [R(" · " + E(s(o.value)), 1)], 64)) : I("", !0)]),
12805
12805
  Y(i, {
12806
12806
  name: f.value ? "ri:arrow-up-s-line" : "ri:arrow-down-s-line",
12807
12807
  class: "pk-chatbot-steps__chevron shrink-0 ml-auto"
@@ -13092,7 +13092,7 @@ var xh = ["aria-busy"], Sh = {
13092
13092
  messagesLength: () => n.messages?.length,
13093
13093
  lastMessageRole: () => n.messages?.[n.messages.length - 1]?.role,
13094
13094
  contentEl: () => d.value,
13095
- beforeNewMessageScroll: () => O(),
13095
+ beforeNewMessageScroll: () => j(),
13096
13096
  onScrollUp: () => r("scroll-up"),
13097
13097
  onScrollDown: () => r("scroll-down")
13098
13098
  }), _ = () => {
@@ -13119,72 +13119,78 @@ var xh = ["aria-busy"], Sh = {
13119
13119
  top: t.scrollTop + r.getBoundingClientRect().top - t.getBoundingClientRect().top - Number.parseFloat(getComputedStyle(t).paddingTop),
13120
13120
  behavior: "smooth"
13121
13121
  }));
13122
- }, w = W(() => n.status === "submitted" || n.status === "streaming"), T = G(0), ne = G(!1), D = !1, ae = _e(), O = async () => {
13123
- let e = n.messages;
13124
- if (!e?.length || n.disableHeightAdjustment || !(e[e.length - 1].role === "user" || w.value) || (D = !0, ne.value = !1, await le(), !u.value)) return;
13125
- let { paddingTop: t, paddingBottom: r } = getComputedStyle(u.value), i = u.value.clientHeight - Number.parseFloat(t) - Number.parseFloat(r), a = d.value && Number.parseFloat(getComputedStyle(d.value).rowGap) || 0, o = b();
13126
- ae.value = o[o.length - 1];
13127
- let s = i - (ae.value?.clientHeight ?? 0) - a;
13128
- i > 0 && (T.value = Math.max(s, 0)), await le();
13122
+ }, w = W(() => n.status === "submitted" || n.status === "streaming"), T = G(0), ne = G(!1), D = !1, ae = _e(), O = () => n.messages?.[n.messages.length - 1]?.role === "user" || w.value, se = () => {
13123
+ D = !1, ne.value = !0, T.value = 0;
13124
+ }, j = async () => {
13125
+ if (!n.messages?.length || n.disableHeightAdjustment) return;
13126
+ if (!O()) {
13127
+ D && (await le(), u.value?.scrollHeight, O() || se());
13128
+ return;
13129
+ }
13130
+ if (D = !0, ne.value = !1, await le(), !u.value) return;
13131
+ let { paddingTop: e, paddingBottom: t } = getComputedStyle(u.value), r = u.value.clientHeight - Number.parseFloat(e) - Number.parseFloat(t), i = d.value && Number.parseFloat(getComputedStyle(d.value).rowGap) || 0, a = b();
13132
+ ae.value = a[a.length - 1];
13133
+ let o = r - (ae.value?.clientHeight ?? 0) - i;
13134
+ r > 0 && (T.value = Math.max(o, 0)), await le();
13129
13135
  };
13130
- F([() => n.messages?.length, () => n.messages?.[n.messages.length - 1]?.id], () => O()), Xt([u, ae], () => {
13131
- D && O();
13136
+ F([() => n.messages?.length, () => n.messages?.[n.messages.length - 1]?.id], () => j()), Xt([u, ae], () => {
13137
+ D && j();
13132
13138
  }), ie(() => {
13133
- (w.value || n.awaitingSpokenAnswer) && O();
13139
+ (w.value || n.awaitingSpokenAnswer) && j();
13134
13140
  }), F(w, (e) => {
13135
- e || (D = !1, ne.value = !0, T.value = 0);
13141
+ e || se();
13136
13142
  });
13137
- let se = (e) => n.revisedAnswers?.some((t) => t.messageId === e), j = (e) => n.messageFeedbacks?.find((t) => t.messageId === e), ue = /* @__PURE__ */ new Set(["showContactForm"]), de = (e) => !n.interactive && ue.has(Xe(e)) ? { record: !0 } : {}, M = (e, t) => !n.readonlyFeedback && Ae(e, t), P = (e) => n.readonlyFeedback ? j(e) : void 0, fe = (e) => P(e)?.vote, pe = (e) => {
13138
- let t = P(e);
13143
+ let ue = (e) => n.revisedAnswers?.some((t) => t.messageId === e), de = (e) => n.messageFeedbacks?.find((t) => t.messageId === e), M = /* @__PURE__ */ new Set(["showContactForm"]), P = (e) => !n.interactive && M.has(Xe(e)) ? { record: !0 } : {}, fe = (e, t) => !n.readonlyFeedback && Ne(e, t), pe = (e) => n.readonlyFeedback ? de(e) : void 0, L = (e) => pe(e)?.vote, z = (e) => {
13144
+ let t = pe(e);
13139
13145
  if (t?.vote) return;
13140
13146
  let n = t?.metadata?.reactionEmoji;
13141
13147
  return typeof n == "string" && /\p{Extended_Pictographic}/u.test(n) ? n : void 0;
13142
- }, me = (e) => !!(fe(e) || pe(e)), R = (e) => {
13143
- if (pe(e)) return "pk-chatbot-message__reaction--neutral";
13144
- let t = fe(e);
13148
+ }, me = (e) => !!(L(e) || z(e)), he = (e) => {
13149
+ if (z(e)) return "pk-chatbot-message__reaction--neutral";
13150
+ let t = L(e);
13145
13151
  return t === "upvote" ? "pk-chatbot-message__reaction--positive" : t === "downvote" ? "pk-chatbot-message__reaction--negative" : "pk-chatbot-message__reaction--neutral";
13146
- }, z = (e) => {
13147
- let t = fe(e);
13152
+ }, ge = (e) => {
13153
+ let t = L(e);
13148
13154
  return i(t === "upvote" ? "hint.userFeedbackPositive" : t === "downvote" ? "hint.userFeedbackNegative" : "hint.userFeedbackReaction");
13149
- }, he = (e) => {
13150
- let t = ye(e);
13155
+ }, U = (e) => {
13156
+ let t = xe(e);
13151
13157
  for (let e = t.length - 1; e >= 0; --e) if (qe(t[e])) return e;
13152
13158
  return -1;
13153
- }, ge = W(() => n.messages?.[n.messages.length - 1]), U = W(() => {
13154
- let e = ge.value;
13159
+ }, ve = W(() => n.messages?.[n.messages.length - 1]), ye = W(() => {
13160
+ let e = ve.value;
13155
13161
  return e ? e.parts[e.parts.length - 1] : null;
13156
- }), ve = W(() => {
13162
+ }), be = W(() => {
13157
13163
  let e = /* @__PURE__ */ new Map();
13158
13164
  for (let t of n.messages ?? []) t.role === "assistant" && e.set(t.id, tt(ht(xt(t.parts))));
13159
13165
  return e;
13160
- }), ye = (e) => ve.value.get(e.id) ?? e.parts, be = W(() => n.status === "error"), xe = W(() => n.awaitingSpokenAnswer === !0 && !w.value), Se = W(() => xe.value && ge.value?.role === "user" && !be.value), Ce = W(() => {
13161
- let e = U.value;
13166
+ }), xe = (e) => be.value.get(e.id) ?? e.parts, Se = W(() => n.status === "error"), Ce = W(() => n.awaitingSpokenAnswer === !0 && !w.value), we = W(() => Ce.value && ve.value?.role === "user" && !Se.value), Ee = (e, t) => t(), De = W(() => {
13167
+ let e = ye.value;
13162
13168
  return ct(i, e);
13163
- }), we = W(() => {
13164
- let e = U.value;
13169
+ }), Oe = W(() => {
13170
+ let e = ye.value;
13165
13171
  return st(e);
13166
- }), Ee = (e) => n.messages?.findIndex((t) => t.id === e), De = (e) => e === void 0 || !n.messages ? !1 : e === n.messages.length - 1, Oe = (e) => De(e) && n.status === "ready" && !!n.actions?.includes("regenerate"), Ae = (e, t) => (!De(t) || n.status === "ready") && !!n.actions?.includes(e), je = (e) => {
13172
+ }), Ae = (e) => n.messages?.findIndex((t) => t.id === e), je = (e) => e === void 0 || !n.messages ? !1 : e === n.messages.length - 1, Me = (e) => je(e) && n.status === "ready" && !!n.actions?.includes("regenerate"), Ne = (e, t) => (!je(t) || n.status === "ready") && !!n.actions?.includes(e), Pe = (e) => {
13167
13173
  let t = e.parts[e.parts.length - 1];
13168
13174
  return qe(t);
13169
- }, Me = (e) => e.parts.some((e) => $e(e) || Je(e)), Ne = (e) => !!n.showExtendedSteps && Le(e) && Me(e), Pe = (e) => Je(e) && !St(e) && !!(gm[Xe(e)] || c[e.type] || n.showAllMessageParts), Fe = (e) => e.parts.some((e) => qe(e) && !!e.text.trim() || Ze(e) || it(e) && !St(e) || Pe(e)), Le = (e) => e.role === "assistant", ze = (e) => e.role === "user", Be = (e) => n.messages?.slice(0, e).reverse().find((e) => Le(e)), Ve = (e) => n.messages?.slice(e + 1).find((e) => Le(e)), He = (e) => {
13170
- let t = Be(e)?.metadata?.createdAt, n = Ve(e)?.metadata?.createdAt;
13175
+ }, Fe = (e) => e.parts.some((e) => $e(e) || Je(e)), Le = (e) => !!n.showExtendedSteps && Ve(e) && Fe(e), ze = (e) => Je(e) && !St(e) && !!(gm[Xe(e)] || c[e.type] || n.showAllMessageParts), Be = (e) => e.parts.some((e) => qe(e) && !!e.text.trim() || Ze(e) || it(e) && !St(e) || ze(e)), Ve = (e) => e.role === "assistant", He = (e) => e.role === "user", We = (e) => n.messages?.slice(0, e).reverse().find((e) => Ve(e)), Ge = (e) => n.messages?.slice(e + 1).find((e) => Ve(e)), Ye = (e) => {
13176
+ let t = We(e)?.metadata?.createdAt, n = Ge(e)?.metadata?.createdAt;
13171
13177
  if (!t || !n) return;
13172
13178
  let r = new Date(t), i = new Date(n);
13173
13179
  return r.toDateString() === i.toDateString() ? void 0 : i;
13174
- }, We = W(() => n.showAllMessageParts ? bh([]) : bh(n.messages ?? [], Fe)), Ge = W(() => {
13180
+ }, Qe = W(() => n.showAllMessageParts ? bh([]) : bh(n.messages ?? [], Be)), nt = W(() => {
13175
13181
  let e = 0;
13176
13182
  return (n.messages ?? []).map((t) => t.parts.length > 0 ? ++e : void 0);
13177
- }), Ye = (e, t) => t === 0 || e.role !== "assistant" ? !1 : !!(n.actions?.length || n.showMessageNumber || n.showMessageDateTime && e.metadata?.createdAt !== void 0 || e.metadata?.completedAt !== void 0 || n.showMessageTokensCount && e.metadata?.totalTokens !== void 0), Qe = (e) => {
13183
+ }), rt = (e, t) => t === 0 || e.role !== "assistant" ? !1 : !!(n.actions?.length || n.showMessageNumber || n.showMessageDateTime && e.metadata?.createdAt !== void 0 || e.metadata?.completedAt !== void 0 || n.showMessageTokensCount && e.metadata?.totalTokens !== void 0), at = (e) => {
13178
13184
  let t = new Date(e), n = t.toDateString() === (/* @__PURE__ */ new Date()).toDateString();
13179
13185
  return o(t, n ? "time" : "date-time");
13180
- }, nt = (e) => {
13186
+ }, ut = (e) => {
13181
13187
  let { createdAt: t, completedAt: n } = e.metadata ?? {};
13182
13188
  if (t && n) return ot(s, n - t);
13183
- }, rt = k("feedbackMessageEl");
13189
+ }, dt = k("feedbackMessageEl");
13184
13190
  return F(() => n.feedbackMessageId, async () => {
13185
13191
  if (await le(), !n.feedbackMessageId) return;
13186
- let e = rt.value?.[0]?.$el;
13187
- e && (De(Ee(n.feedbackMessageId)) ? m() : e.scrollIntoView({
13192
+ let e = dt.value?.[0]?.$el;
13193
+ e && (je(Ae(n.feedbackMessageId)) ? m() : e.scrollIntoView({
13188
13194
  behavior: "smooth",
13189
13195
  block: "center"
13190
13196
  }));
@@ -13215,35 +13221,35 @@ var xh = ["aria-busy"], Sh = {
13215
13221
  class: "pk-chatbot-messages__wrapper"
13216
13222
  }, [
13217
13223
  (A(!0), q(B, null, Ie(e.messages, (u, d) => (A(), q(B, { key: u.id }, [
13218
- ze(u) && He(d) ? (A(), q("div", Ch, [H("span", wh, E(N(o)(He(d), "short")), 1)])) : I("", !0),
13219
- We.value.quietRuns.has(u.id) ? (A(), q("div", Th, [Y(r, {
13224
+ He(u) && Ye(d) ? (A(), q("div", Ch, [H("span", wh, E(N(o)(Ye(d), "short")), 1)])) : I("", !0),
13225
+ Qe.value.quietRuns.has(u.id) ? (A(), q("div", Th, [Y(r, {
13220
13226
  name: "ri:alarm-line",
13221
13227
  class: "shrink-0"
13222
13228
  }), H("span", null, E(N(i)("label.wakeupQuietRun", {
13223
- count: We.value.quietRuns.get(u.id).count,
13224
- time: N(o)(We.value.quietRuns.get(u.id).lastAt ?? Date.now(), "time")
13225
- }, We.value.quietRuns.get(u.id).count)), 1)])) : N(Kr)(u) && !We.value.hidden.has(u.id) && !e.showAllMessageParts ? (A(), q("div", {
13229
+ count: Qe.value.quietRuns.get(u.id).count,
13230
+ time: N(o)(Qe.value.quietRuns.get(u.id).lastAt ?? Date.now(), "time")
13231
+ }, Qe.value.quietRuns.get(u.id).count)), 1)])) : N(Kr)(u) && !Qe.value.hidden.has(u.id) && !e.showAllMessageParts ? (A(), q("div", {
13226
13232
  key: 2,
13227
13233
  class: "pk-chatbot-wakeup",
13228
13234
  title: u.metadata?.wakeup?.reason
13229
13235
  }, [Y(r, {
13230
13236
  name: "ri:alarm-line",
13231
13237
  class: "shrink-0"
13232
- }), H("span", null, [L(E(N(i)("label.wakeupCheck")) + " ", 1), u.metadata?.createdAt ? (A(), q(B, { key: 0 }, [L(" · " + E(N(o)(u.metadata.createdAt, "time")), 1)], 64)) : I("", !0)])], 8, Eh)) : I("", !0),
13233
- (!N(Kr)(u) || e.showAllMessageParts) && (!We.value.hidden.has(u.id) || w.value && De(d)) && (u.parts.length || De(d) && w.value && Le(u)) ? (A(), q("div", {
13238
+ }), H("span", null, [R(E(N(i)("label.wakeupCheck")) + " ", 1), u.metadata?.createdAt ? (A(), q(B, { key: 0 }, [R(" · " + E(N(o)(u.metadata.createdAt, "time")), 1)], 64)) : I("", !0)])], 8, Eh)) : I("", !0),
13239
+ (!N(Kr)(u) || e.showAllMessageParts) && (!Qe.value.hidden.has(u.id) || w.value && je(d)) && (u.parts.length || je(d) && w.value && Ve(u)) ? (A(), q("div", {
13234
13240
  key: 3,
13235
- class: J(["pk-chatbot-message", [`pk-chatbot-message--${u.role}`, { "pk-chatbot-message--loading": w.value && De(d) && Le(u) }]]),
13236
- style: re({ minHeight: De(d) && Le(u) && !be.value ? `${T.value}px` : void 0 })
13241
+ class: J(["pk-chatbot-message", [`pk-chatbot-message--${u.role}`, { "pk-chatbot-message--loading": w.value && je(d) && Ve(u) }]]),
13242
+ style: re({ minHeight: je(d) && Ve(u) && !Se.value ? `${T.value}px` : void 0 })
13237
13243
  }, [
13238
13244
  Y(K, {
13239
13245
  appear: "",
13240
13246
  name: "pk-chatbot-part"
13241
13247
  }, {
13242
- default: C(() => [Ne(u) ? (A(), V(dh, {
13248
+ default: C(() => [Le(u) ? (A(), V(dh, {
13243
13249
  key: 0,
13244
13250
  message: u,
13245
- "is-streaming": w.value && De(d),
13246
- "has-content": Fe(u),
13251
+ "is-streaming": w.value && je(d),
13252
+ "has-content": Be(u),
13247
13253
  "is-dark": e.isDark
13248
13254
  }, null, 8, [
13249
13255
  "message",
@@ -13253,7 +13259,7 @@ var xh = ["aria-busy"], Sh = {
13253
13259
  ])) : I("", !0)]),
13254
13260
  _: 2
13255
13261
  }, 1024),
13256
- (A(!0), q(B, null, Ie(ye(u), (n, o) => (A(), q(B, { key: N(vt)(n, o) }, [N(qe)(n) && n.text.trim() ? (A(), V(K, {
13262
+ (A(!0), q(B, null, Ie(xe(u), (n, o) => (A(), q(B, { key: N(vt)(n, o) }, [N(qe)(n) && n.text.trim() ? (A(), V(K, {
13257
13263
  key: 0,
13258
13264
  appear: "",
13259
13265
  name: "pk-chatbot-part"
@@ -13263,23 +13269,23 @@ var xh = ["aria-busy"], Sh = {
13263
13269
  part: n,
13264
13270
  index: d,
13265
13271
  isLoading: w.value
13266
- }), () => [Le(u) ? (A(), V(yt, {
13272
+ }), () => [Ve(u) ? (A(), V(yt, {
13267
13273
  key: 0,
13268
13274
  class: "wysiwyg",
13269
13275
  markdown: n.text,
13270
13276
  "is-dark": e.isDark,
13271
- loading: De(d) && e.status === "streaming"
13277
+ loading: je(d) && e.status === "streaming"
13272
13278
  }, null, 8, [
13273
13279
  "markdown",
13274
13280
  "is-dark",
13275
13281
  "loading"
13276
- ])) : (A(), q(B, { key: 1 }, [L(E(n.text), 1)], 64))]), me(u.id) && !j(u.id)?.comment && o === he(u) ? (A(), q("span", {
13282
+ ])) : (A(), q(B, { key: 1 }, [R(E(n.text), 1)], 64))]), me(u.id) && !de(u.id)?.comment && o === U(u) ? (A(), q("span", {
13277
13283
  key: 0,
13278
- class: J(["pk-chatbot-message__reaction", R(u.id)]),
13279
- title: z(u.id)
13280
- }, [pe(u.id) ? (A(), q("span", kh, E(pe(u.id)), 1)) : (A(), V(r, {
13284
+ class: J(["pk-chatbot-message__reaction", he(u.id)]),
13285
+ title: ge(u.id)
13286
+ }, [z(u.id) ? (A(), q("span", kh, E(z(u.id)), 1)) : (A(), V(r, {
13281
13287
  key: 1,
13282
- name: fe(u.id) === "downvote" ? "ri:thumb-down-fill" : "ri:thumb-up-fill"
13288
+ name: L(u.id) === "downvote" ? "ri:thumb-down-fill" : "ri:thumb-up-fill"
13283
13289
  }, null, 8, ["name"]))], 10, Oh)) : I("", !0)])]),
13284
13290
  _: 2
13285
13291
  }, 1024)) : N(Ze)(n) ? (A(), V(K, {
@@ -13300,7 +13306,7 @@ var xh = ["aria-busy"], Sh = {
13300
13306
  ]), Y(fm, {
13301
13307
  url: n.url,
13302
13308
  transcript: N(Ue)(n),
13303
- pending: e.status === "submitted" && De(d)
13309
+ pending: e.status === "submitted" && je(d)
13304
13310
  }, null, 8, [
13305
13311
  "url",
13306
13312
  "transcript",
@@ -13326,7 +13332,7 @@ var xh = ["aria-busy"], Sh = {
13326
13332
  default: C(() => [(A(), V(xm, {
13327
13333
  key: `approval-${o}`,
13328
13334
  part: n,
13329
- actionable: e.interactive === !0 && (N(et)(n) || De(d)),
13335
+ actionable: e.interactive === !0 && (N(et)(n) || je(d)),
13330
13336
  "call-verdict": e.confirmVerdictsOnCall?.get(n.toolCallId ?? ""),
13331
13337
  onRespond: (e) => l(n, e)
13332
13338
  }, null, 8, [
@@ -13336,7 +13342,7 @@ var xh = ["aria-busy"], Sh = {
13336
13342
  "onRespond"
13337
13343
  ]))]),
13338
13344
  _: 2
13339
- }, 1024)) : Pe(n) ? (A(), V(K, {
13345
+ }, 1024)) : ze(n) ? (A(), V(K, {
13340
13346
  key: 3,
13341
13347
  appear: "",
13342
13348
  name: "pk-chatbot-part"
@@ -13344,7 +13350,7 @@ var xh = ["aria-busy"], Sh = {
13344
13350
  default: C(() => [!N(c)[n.type] && N(gm)[N(Xe)(n)] ? (A(), V(oe(N(gm)[N(Xe)(n)]), ce({
13345
13351
  key: `component-${o}-${N(gt)(n)}`,
13346
13352
  part: n
13347
- }, { ref_for: !0 }, de(n)), null, 16, ["part"])) : te(t.$slots, n.type, ce({ ref_for: !0 }, {
13353
+ }, { ref_for: !0 }, P(n)), null, 16, ["part"])) : te(t.$slots, n.type, ce({ ref_for: !0 }, {
13348
13354
  message: u,
13349
13355
  part: n,
13350
13356
  index: d,
@@ -13359,9 +13365,9 @@ var xh = ["aria-busy"], Sh = {
13359
13365
  })), 1)])])) : I("", !0)], void 0, 1)]),
13360
13366
  _: 2
13361
13367
  }, 1024)) : I("", !0), Y(K, { mode: "out-in" }, {
13362
- default: C(() => [o === he(u) && e.readonlyFeedback && j(u.id)?.comment ? (A(), V($p, {
13368
+ default: C(() => [o === U(u) && e.readonlyFeedback && de(u.id)?.comment ? (A(), V($p, {
13363
13369
  key: 0,
13364
- feedback: j(u.id)
13370
+ feedback: de(u.id)
13365
13371
  }, null, 8, ["feedback"])) : I("", !0)]),
13366
13372
  _: 2
13367
13373
  }, 1024)], 64))), 128)),
@@ -13369,7 +13375,7 @@ var xh = ["aria-busy"], Sh = {
13369
13375
  name: "fade-in",
13370
13376
  mode: "out-in"
13371
13377
  }, {
13372
- default: C(() => [w.value && De(d) && !je(u) && Le(u) && (!Ne(u) || Fe(u)) ? (A(), q("div", {
13378
+ default: C(() => [w.value && je(d) && !Pe(u) && Ve(u) && (!Le(u) || Be(u)) ? (A(), q("div", {
13373
13379
  key: `loading-info-${u.id}`,
13374
13380
  class: "pk-chatbot-message__loading-info"
13375
13381
  }, [H("div", Ph, [
@@ -13378,27 +13384,27 @@ var xh = ["aria-busy"], Sh = {
13378
13384
  class: "shrink-0"
13379
13385
  }),
13380
13386
  Y(K, { mode: "out-in" }, {
13381
- default: C(() => [we.value ? (A(), V(r, {
13382
- key: we.value,
13387
+ default: C(() => [Oe.value ? (A(), V(r, {
13388
+ key: Oe.value,
13383
13389
  class: "shrink-0",
13384
- name: we.value
13390
+ name: Oe.value
13385
13391
  }, null, 8, ["name"])) : I("", !0)]),
13386
13392
  _: 1
13387
13393
  }),
13388
13394
  Y(K, { mode: "out-in" }, {
13389
- default: C(() => [Ce.value ? (A(), q("span", {
13390
- key: Ce.value,
13395
+ default: C(() => [De.value ? (A(), q("span", {
13396
+ key: De.value,
13391
13397
  class: "text-12"
13392
- }, E(Ce.value), 1)) : I("", !0)]),
13398
+ }, E(De.value), 1)) : I("", !0)]),
13393
13399
  _: 1
13394
13400
  })
13395
13401
  ]), Y(K, {
13396
13402
  name: "fade-in",
13397
13403
  mode: "out-in"
13398
13404
  }, {
13399
- default: C(() => [!Ne(u) && U.value && "text" in U.value && U.value.text.trim() ? (A(), V(Cm, {
13405
+ default: C(() => [!Le(u) && ye.value && "text" in ye.value && ye.value.text.trim() ? (A(), V(Cm, {
13400
13406
  key: 0,
13401
- markdown: U.value.text,
13407
+ markdown: ye.value.text,
13402
13408
  "is-dark": e.isDark,
13403
13409
  "tail-length": N(_t),
13404
13410
  "inner-class": "wysiwyg",
@@ -13413,14 +13419,14 @@ var xh = ["aria-busy"], Sh = {
13413
13419
  _: 2
13414
13420
  }, 1024),
13415
13421
  Y(K, { mode: "out-in" }, {
13416
- default: C(() => [Ye(u, d) ? (A(), q("div", Fh, [
13422
+ default: C(() => [rt(u, d) ? (A(), q("div", Fh, [
13417
13423
  Y(m, {
13418
13424
  modifiers: "compact",
13419
13425
  class: "mr-auto shrink-0"
13420
13426
  }, {
13421
13427
  default: C(() => [
13422
13428
  Y(K, { mode: "out-in" }, {
13423
- default: C(() => [Oe(d) ? (A(), V(p, {
13429
+ default: C(() => [Me(d) ? (A(), V(p, {
13424
13430
  key: 0,
13425
13431
  icon: "ri:reset-right-line",
13426
13432
  modifiers: "action-quiet-small",
@@ -13431,7 +13437,7 @@ var xh = ["aria-busy"], Sh = {
13431
13437
  _: 2
13432
13438
  }, 1024),
13433
13439
  Y(K, { mode: "out-in" }, {
13434
- default: C(() => [Ae("show-info", d) ? (A(), V(p, {
13440
+ default: C(() => [Ne("show-info", d) ? (A(), V(p, {
13435
13441
  key: 0,
13436
13442
  icon: "ri:information-line",
13437
13443
  title: N(i)("action.getMoreInfo"),
@@ -13446,13 +13452,13 @@ var xh = ["aria-busy"], Sh = {
13446
13452
  _: 2
13447
13453
  }, 1024),
13448
13454
  Y(K, { mode: "out-in" }, {
13449
- default: C(() => [Ae("revise", d) ? (A(), V(p, {
13455
+ default: C(() => [Ne("revise", d) ? (A(), V(p, {
13450
13456
  key: 0,
13451
- icon: se(u.id) ? "ri:file-edit-fill" : "ri:file-edit-line",
13452
- title: se(u.id) ? N(i)("action.editRevise") : N(i)("action.createRevise"),
13453
- "aria-label": se(u.id) ? N(i)("action.editRevise") : N(i)("action.createRevise"),
13457
+ icon: ue(u.id) ? "ri:file-edit-fill" : "ri:file-edit-line",
13458
+ title: ue(u.id) ? N(i)("action.editRevise") : N(i)("action.createRevise"),
13459
+ "aria-label": ue(u.id) ? N(i)("action.editRevise") : N(i)("action.createRevise"),
13454
13460
  modifiers: "action-quiet-small",
13455
- class: J({ "text-brand-graphic": se(u.id) }),
13461
+ class: J({ "text-brand-graphic": ue(u.id) }),
13456
13462
  onClick: ke((e) => t.$emit("revise", u), ["stop"])
13457
13463
  }, null, 8, [
13458
13464
  "icon",
@@ -13464,9 +13470,9 @@ var xh = ["aria-busy"], Sh = {
13464
13470
  _: 2
13465
13471
  }, 1024),
13466
13472
  Y(K, { mode: "out-in" }, {
13467
- default: C(() => [M("upvote", d) ? (A(), V(p, {
13473
+ default: C(() => [fe("upvote", d) ? (A(), V(p, {
13468
13474
  key: 0,
13469
- icon: j(u.id)?.vote === "upvote" ? "ri:thumb-up-fill" : "ri:thumb-up-line",
13475
+ icon: de(u.id)?.vote === "upvote" ? "ri:thumb-up-fill" : "ri:thumb-up-line",
13470
13476
  title: N(i)("action.upvote"),
13471
13477
  "aria-label": N(i)("action.upvote"),
13472
13478
  modifiers: "action-quiet-small",
@@ -13480,9 +13486,9 @@ var xh = ["aria-busy"], Sh = {
13480
13486
  _: 2
13481
13487
  }, 1024),
13482
13488
  Y(K, { mode: "out-in" }, {
13483
- default: C(() => [M("downvote", d) ? (A(), V(p, {
13489
+ default: C(() => [fe("downvote", d) ? (A(), V(p, {
13484
13490
  key: 0,
13485
- icon: j(u.id)?.vote === "downvote" ? "ri:thumb-down-fill" : "ri:thumb-down-line",
13491
+ icon: de(u.id)?.vote === "downvote" ? "ri:thumb-down-fill" : "ri:thumb-down-line",
13486
13492
  title: N(i)("action.downvote"),
13487
13493
  "aria-label": N(i)("action.downvote"),
13488
13494
  modifiers: "action-quiet-small",
@@ -13496,9 +13502,9 @@ var xh = ["aria-busy"], Sh = {
13496
13502
  _: 2
13497
13503
  }, 1024),
13498
13504
  Y(K, { mode: "out-in" }, {
13499
- default: C(() => [M("feedback", d) ? (A(), V(p, {
13505
+ default: C(() => [fe("feedback", d) ? (A(), V(p, {
13500
13506
  key: 0,
13501
- icon: j(u.id)?.comment ? "ri:feedback-fill" : "ri:feedback-line",
13507
+ icon: de(u.id)?.comment ? "ri:feedback-fill" : "ri:feedback-line",
13502
13508
  title: N(i)("action.feedback"),
13503
13509
  "aria-label": N(i)("action.feedback"),
13504
13510
  modifiers: "action-quiet-small",
@@ -13521,15 +13527,15 @@ var xh = ["aria-busy"], Sh = {
13521
13527
  }, [Y(r, {
13522
13528
  name: "ri:time-line",
13523
13529
  class: "shrink-0"
13524
- }), H("span", Rh, E(Qe(u.metadata.createdAt)), 1)], 8, Lh), nt(u) ? (A(), q("span", zh, [Y(r, {
13530
+ }), H("span", Rh, E(at(u.metadata.createdAt)), 1)], 8, Lh), ut(u) ? (A(), q("span", zh, [Y(r, {
13525
13531
  name: "ri:hourglass-line",
13526
13532
  class: "shrink-0"
13527
- }), H("span", Bh, E(nt(u)), 1)])) : I("", !0)])) : I("", !0),
13533
+ }), H("span", Bh, E(ut(u)), 1)])) : I("", !0)])) : I("", !0),
13528
13534
  e.showMessageNumber ? (A(), q("span", {
13529
13535
  key: 1,
13530
- title: N(i)("label.messageNumber", { n: Ge.value[d] }),
13536
+ title: N(i)("label.messageNumber", { n: nt.value[d] }),
13531
13537
  class: "text-12 text-word-3 tabular-nums"
13532
- }, " #" + E(Ge.value[d]), 9, Vh)) : I("", !0),
13538
+ }, " #" + E(nt.value[d]), 9, Vh)) : I("", !0),
13533
13539
  e.showMessageTokensCount && u.metadata?.totalTokens ? (A(), q("span", Hh, [Y(r, {
13534
13540
  name: "ri:ai-generate-2-line",
13535
13541
  class: "shrink-0"
@@ -13558,7 +13564,7 @@ var xh = ["aria-busy"], Sh = {
13558
13564
  key: 0,
13559
13565
  ref_for: !0,
13560
13566
  ref_key: "feedbackMessageEl",
13561
- ref: rt,
13567
+ ref: dt,
13562
13568
  loading: e.feedbackLoading,
13563
13569
  submitted: e.feedbackSubmitted,
13564
13570
  error: e.feedbackError,
@@ -13575,12 +13581,13 @@ var xh = ["aria-busy"], Sh = {
13575
13581
  ], 64))), 128)),
13576
13582
  Y(K, {
13577
13583
  appear: "",
13578
- name: "pk-chatbot-part"
13584
+ name: "pk-chatbot-part",
13585
+ onLeave: Ee
13579
13586
  }, {
13580
- default: C(() => [xe.value ? (A(), q("div", {
13587
+ default: C(() => [Ce.value ? (A(), q("div", {
13581
13588
  key: 0,
13582
13589
  class: "pk-chatbot-message pk-chatbot-message--assistant pk-chatbot-message--loading",
13583
- style: re({ minHeight: Se.value ? `${T.value}px` : void 0 })
13590
+ style: re({ minHeight: we.value ? `${T.value}px` : void 0 })
13584
13591
  }, [H("div", qh, [H("div", Jh, [Y(r, {
13585
13592
  name: "loading-loop",
13586
13593
  class: "shrink-0"
@@ -13591,7 +13598,7 @@ var xh = ["aria-busy"], Sh = {
13591
13598
  appear: "",
13592
13599
  name: "pk-chatbot-part"
13593
13600
  }, {
13594
- default: C(() => [be.value ? (A(), V(Rp, {
13601
+ default: C(() => [Se.value ? (A(), V(Rp, {
13595
13602
  key: 0,
13596
13603
  error: e.error,
13597
13604
  onRetry: n[3] ||= (e) => t.$emit("auto-retry"),
@@ -13599,7 +13606,7 @@ var xh = ["aria-busy"], Sh = {
13599
13606
  }, null, 8, ["error"])) : I("", !0)]),
13600
13607
  _: 1
13601
13608
  }),
13602
- ge.value?.role === "user" && !Se.value || be.value ? (A(), q("div", {
13609
+ ve.value?.role === "user" && !we.value || Se.value ? (A(), q("div", {
13603
13610
  key: 0,
13604
13611
  class: "pk-chatbot-messages__spacer",
13605
13612
  style: re({ minHeight: `${T.value}px` })
@@ -13813,9 +13820,9 @@ var og = { class: "pk-chatbot-input" }, sg = {
13813
13820
  onDrop: (e) => {
13814
13821
  M.value && e && O(e);
13815
13822
  }
13816
- }), pe = G(!0), me = () => {
13823
+ }), pe = G(!0), L = () => {
13817
13824
  pe.value = !1;
13818
- }, R = W(() => a.attachmentNotice ? {
13825
+ }, z = W(() => a.attachmentNotice ? {
13819
13826
  id: "limit",
13820
13827
  icon: "ri:information-line",
13821
13828
  text: a.attachmentNotice,
@@ -13823,13 +13830,13 @@ var og = { class: "pk-chatbot-input" }, sg = {
13823
13830
  } : a.dismissableNotice && pe.value ? {
13824
13831
  id: "dismissable",
13825
13832
  markdown: a.dismissableNotice,
13826
- dismiss: me
13827
- } : null), z = () => {
13833
+ dismiss: L
13834
+ } : null), me = () => {
13828
13835
  l.value?.querySelector("button:focus-visible") && o.value?.focus();
13829
13836
  }, he = () => {
13830
- z(), i("stop-generation");
13837
+ me(), i("stop-generation");
13831
13838
  }, ge = () => {
13832
- ee.value && (z(), p(), i("submit"), u.value = "", n.value = "", le(() => {
13839
+ ee.value && (me(), p(), i("submit"), u.value = "", n.value = "", le(() => {
13833
13840
  o.value && (o.value.value = "", ng.update(o.value));
13834
13841
  }));
13835
13842
  }, _e = (e) => {
@@ -13842,28 +13849,28 @@ var og = { class: "pk-chatbot-input" }, sg = {
13842
13849
  for (let e of r.value) URL.revokeObjectURL(e.localUrl);
13843
13850
  }), (t, n) => {
13844
13851
  let a = sn, d = ln, f = en, p = cn;
13845
- return A(), q("div", og, [R.value ? (A(), q("div", {
13846
- key: R.value.id,
13852
+ return A(), q("div", og, [z.value ? (A(), q("div", {
13853
+ key: z.value.id,
13847
13854
  class: "pk-chatbot-input__notice",
13848
13855
  role: "status"
13849
13856
  }, [
13850
- R.value.icon ? (A(), V(a, {
13857
+ z.value.icon ? (A(), V(a, {
13851
13858
  key: 0,
13852
- name: R.value.icon,
13859
+ name: z.value.icon,
13853
13860
  class: "pk-chatbot-input__notice-icon"
13854
13861
  }, null, 8, ["name"])) : I("", !0),
13855
- R.value.markdown ? (A(), V(yt, {
13862
+ z.value.markdown ? (A(), V(yt, {
13856
13863
  key: 1,
13857
- markdown: R.value.markdown,
13864
+ markdown: z.value.markdown,
13858
13865
  class: "wysiwyg pk-chatbot-input__notice-text"
13859
- }, null, 8, ["markdown"])) : (A(), q("span", sg, E(R.value.text), 1)),
13860
- R.value.dismiss ? (A(), V(d, {
13866
+ }, null, 8, ["markdown"])) : (A(), q("span", sg, E(z.value.text), 1)),
13867
+ z.value.dismiss ? (A(), V(d, {
13861
13868
  key: 3,
13862
13869
  title: t.$t("action.close"),
13863
13870
  modifiers: "action-quiet",
13864
13871
  icon: "ri:close-line",
13865
13872
  class: "w-18 h-18",
13866
- onClick: n[0] ||= (e) => R.value.dismiss()
13873
+ onClick: n[0] ||= (e) => z.value.dismiss()
13867
13874
  }, null, 8, ["title"])) : I("", !0)
13868
13875
  ])) : I("", !0), H("form", {
13869
13876
  ref_key: "formEl",
@@ -13923,7 +13930,7 @@ var og = { class: "pk-chatbot-input" }, sg = {
13923
13930
  default: C(() => [Y(a, {
13924
13931
  name: "ri:camera-line",
13925
13932
  class: "pk-chatbot-input__dropdown-icon"
13926
- }), L(" " + E(t.$t("action.takePhoto")), 1)]),
13933
+ }), R(" " + E(t.$t("action.takePhoto")), 1)]),
13927
13934
  _: 1
13928
13935
  }, 8, ["disabled"])) : I("", !0),
13929
13936
  Y(f, {
@@ -13933,7 +13940,7 @@ var og = { class: "pk-chatbot-input" }, sg = {
13933
13940
  default: C(() => [Y(a, {
13934
13941
  name: "ri:attachment-line",
13935
13942
  class: "pk-chatbot-input__dropdown-icon"
13936
- }), L(" " + E(t.$t("action.attachFile")), 1)]),
13943
+ }), R(" " + E(t.$t("action.attachFile")), 1)]),
13937
13944
  _: 1
13938
13945
  }, 8, ["disabled"]),
13939
13946
  te(t.$slots, "additional-actions")
@@ -13985,7 +13992,7 @@ var og = { class: "pk-chatbot-input" }, sg = {
13985
13992
  key: 4,
13986
13993
  id: N(y),
13987
13994
  class: J(["pk-chatbot-input__counter", { "pk-chatbot-input__counter--over": x.value }])
13988
- }, [L(E(t.$n(b.value, "integer")) + "/", 1), H("span", _g, E(t.$n(e.maxMessageLength, "integer")), 1)], 10, gg)) : I("", !0),
13995
+ }, [R(E(t.$n(b.value, "integer")) + "/", 1), H("span", _g, E(t.$n(e.maxMessageLength, "integer")), 1)], 10, gg)) : I("", !0),
13989
13996
  e.voiceEnabled && !g.value ? (A(), V(ag, {
13990
13997
  key: 5,
13991
13998
  icon: "ri:mic-line",
@@ -14153,7 +14160,7 @@ var wg = {
14153
14160
  "sample",
14154
14161
  "spectrum"
14155
14162
  ])),
14156
- H("div", Tg, [H("span", { class: J(["pk-voice-session__state", l.value && `pk-voice-session__state--${l.value}`]) }, [c.value ? (A(), q("span", Eg)) : I("", !0), L(" " + E(a.value), 1)], 2), e.error ? (A(), q("p", {
14163
+ H("div", Tg, [H("span", { class: J(["pk-voice-session__state", l.value && `pk-voice-session__state--${l.value}`]) }, [c.value ? (A(), q("span", Eg)) : I("", !0), R(" " + E(a.value), 1)], 2), e.error ? (A(), q("p", {
14157
14164
  key: 0,
14158
14165
  class: "pk-voice-session__detail",
14159
14166
  title: e.rawError ?? e.error
@@ -14451,7 +14458,7 @@ var Vg = { class: "pk-chatbot-view-chat__input-stage" }, Hg = {
14451
14458
  },
14452
14459
  emits: ["show-info", "revise"],
14453
14460
  setup(e, { emit: t }) {
14454
- let n = M(() => import("./_chunks/PkToolShowForm-D_2FmDwq.js")), r = M(() => import("./_chunks/PkToolShowContactForm-CW7gKQ7h.js")), i = M(() => import("./_chunks/PkToolShowSuggestedReply-xUBuqStM.js")), a = M(() => import("./_chunks/PkToolShowSources-DyzheirE.js")), o = M(() => import("./_chunks/PkToolRequestGeolocation-DzhrY8bg.js")), s = M(() => import("./_chunks/PkToolRequestOAuthConnection-CzRKRGoG.js")), c = M(() => import("./_chunks/PkToolShowLocation-jRZtqoBO.js")), l = M(() => import("./_chunks/PkToolShowDiagram-WregKAJO.js")), u = M(() => import("./_chunks/PkToolEditSpreadsheet-Ct9pdQJ1.js")), d = e, f = t, p = Ld(d.agentId), { agentInterface: m, agentFileUpload: h, agentType: g, agentVoice: _, actions: v, revisedAnswers: y, messages: b, chat: x, messageFeedbacks: S, feedbackDialogMessage: ee, isFeedbackSubmitting: te, isFeedbackSubmitted: w, feedbackSubmitError: T, isLeadSubmitted: ne, isLoadingSubmitLead: D, submitLeadError: re, input: ie, inputMessagePlaceholder: ae, isConversationBlocked: oe, baseUrl: O, pendingAttachments: se, isAttachmentLimitReached: ce, fileLimitError: le, apiClient: j, isDark: de } = Xn(p), P = W(() => g.value === "reasoning" ? void 0 : h.value), fe = (e) => j.value.getMediaDownloadUrl(d.agentId, p.localChatId, e), { handleSubmit: pe, stopGeneration: me, regenerate: L, onUpvote: R, onDownvote: B, onFeedback: he, onFeedbackSubmit: ge, onLeadSubmit: _e, startNewChat: U, addToolOutput: ve, addToolApprovalResponse: ye, handleFileSelect: be, clearFileLimitError: xe, refreshMessages: Se, appendMessage: Ce } = p, { t: we } = Re({ useScope: "global" }), Te = W(() => {
14461
+ let n = M(() => import("./_chunks/PkToolShowForm-D_2FmDwq.js")), r = M(() => import("./_chunks/PkToolShowContactForm-CW7gKQ7h.js")), i = M(() => import("./_chunks/PkToolShowSuggestedReply-xUBuqStM.js")), a = M(() => import("./_chunks/PkToolShowSources-DyzheirE.js")), o = M(() => import("./_chunks/PkToolRequestGeolocation-DzhrY8bg.js")), s = M(() => import("./_chunks/PkToolRequestOAuthConnection-CzRKRGoG.js")), c = M(() => import("./_chunks/PkToolShowLocation-jRZtqoBO.js")), l = M(() => import("./_chunks/PkToolShowDiagram-WregKAJO.js")), u = M(() => import("./_chunks/PkToolEditSpreadsheet-Ct9pdQJ1.js")), d = e, f = t, p = Ld(d.agentId), { agentInterface: m, agentFileUpload: h, agentType: g, agentVoice: _, actions: v, revisedAnswers: y, messages: b, chat: x, messageFeedbacks: S, feedbackDialogMessage: ee, isFeedbackSubmitting: te, isFeedbackSubmitted: w, feedbackSubmitError: T, isLeadSubmitted: ne, isLoadingSubmitLead: D, submitLeadError: re, input: ie, inputMessagePlaceholder: ae, isConversationBlocked: oe, baseUrl: O, pendingAttachments: se, isAttachmentLimitReached: ce, fileLimitError: le, apiClient: j, isDark: de } = Xn(p), P = W(() => g.value === "reasoning" ? void 0 : h.value), fe = (e) => j.value.getMediaDownloadUrl(d.agentId, p.localChatId, e), { handleSubmit: pe, stopGeneration: L, regenerate: R, onUpvote: z, onDownvote: B, onFeedback: he, onFeedbackSubmit: ge, onLeadSubmit: _e, startNewChat: U, addToolOutput: ve, addToolApprovalResponse: ye, handleFileSelect: be, clearFileLimitError: xe, refreshMessages: Se, appendMessage: Ce } = p, { t: we } = Re({ useScope: "global" }), Te = W(() => {
14455
14462
  let e = le.value;
14456
14463
  if (e) return e.reason === "per-chat" ? we("message.fileLimitPerChat", { max: e.max }) : we("message.fileLimitPerMessage", { max: e.max });
14457
14464
  }), Ee = un(() => m.value?.dismissableNotice), De = W(() => b.value.some((e) => e.role === "user")), Oe = W(() => d.modifier === "fullscreen" && !De.value), ke = Yd(m, () => d.userName), Ae = k("chatViewEl"), je = async (e) => (await j.value.expandSourceContext(d.agentId, e.documentId, e.chunkIndex)).content, Me = async (e) => {
@@ -14631,12 +14638,12 @@ var Vg = { class: "pk-chatbot-view-chat__input-stage" }, Hg = {
14631
14638
  "show-scroll-to-bottom": e.modifier === "fullscreen",
14632
14639
  onFeedbackSubmit: h[0] ||= (e) => N(ge)(e),
14633
14640
  onFeedbackClose: h[1] ||= (e) => ee.value = void 0,
14634
- onRegenerate: N(L),
14635
- onAutoRetry: N(L),
14641
+ onRegenerate: N(R),
14642
+ onAutoRetry: N(R),
14636
14643
  onResetChat: N(U),
14637
14644
  onShowInfo: h[2] ||= (e) => f("show-info", e),
14638
14645
  onRevise: h[3] ||= (e) => f("revise", e),
14639
- onUpvote: N(R),
14646
+ onUpvote: N(z),
14640
14647
  onDownvote: N(B),
14641
14648
  onFeedback: N(he),
14642
14649
  onApprovalRespond: N(ye),
@@ -14788,9 +14795,9 @@ var Vg = { class: "pk-chatbot-view-chat__input-stage" }, Hg = {
14788
14795
  N(oe) ? (A(), q("div", Hg, E(N(we)("message.chatErrorConversationBlocked")), 1)) : Ze.value === "idle" ? (A(), V(vg, {
14789
14796
  key: 3,
14790
14797
  modelValue: N(ie),
14791
- "onUpdate:modelValue": h[4] ||= (e) => z(ie) ? ie.value = e : null,
14798
+ "onUpdate:modelValue": h[4] ||= (e) => me(ie) ? ie.value = e : null,
14792
14799
  "pending-attachments": N(se),
14793
- "onUpdate:pendingAttachments": h[5] ||= (e) => z(se) ? se.value = e : null,
14800
+ "onUpdate:pendingAttachments": h[5] ||= (e) => me(se) ? se.value = e : null,
14794
14801
  placeholder: N(ae),
14795
14802
  "dismissable-notice": N(Ee) && N(x).messages.length <= 1 ? N(Ee) : void 0,
14796
14803
  status: N(x).status,
@@ -14799,7 +14806,7 @@ var Vg = { class: "pk-chatbot-view-chat__input-stage" }, Hg = {
14799
14806
  "attachment-limit-reached": N(ce),
14800
14807
  "attachment-notice": Te.value,
14801
14808
  "voice-enabled": Xe.value,
14802
- onStopGeneration: N(me),
14809
+ onStopGeneration: N(L),
14803
14810
  onSubmit: N(pe),
14804
14811
  onFileSelect: N(be),
14805
14812
  onDismissAttachmentNotice: N(xe),
@@ -14936,7 +14943,7 @@ var Zg = { class: "flex flex-col flex-1 min-h-0 relative" }, Qg = {
14936
14943
  class: J(["vv-item vv-item--roomy", { "vv-item--current": y(e) }])
14937
14944
  }, [N(d) === e.id ? (A(), q("div", l_, [Y(s, {
14938
14945
  modelValue: N(f),
14939
- "onUpdate:modelValue": t[1] ||= (e) => z(f) ? f.value = e : null,
14946
+ "onUpdate:modelValue": t[1] ||= (e) => me(f) ? f.value = e : null,
14940
14947
  class: "flex-1 mb-0",
14941
14948
  modifiers: "compact",
14942
14949
  autofocus: "",
@@ -14979,10 +14986,10 @@ var Zg = { class: "flex flex-col flex-1 min-h-0 relative" }, Qg = {
14979
14986
  strategy: "fixed"
14980
14987
  }), {
14981
14988
  items: C(() => [Y(u, { onClick: (t) => x(e) }, {
14982
- default: C(() => [Y(r, { name: "ri:pencil-line" }), L(" " + E(N(n)("action.renameChat")), 1)]),
14989
+ default: C(() => [Y(r, { name: "ri:pencil-line" }), R(" " + E(N(n)("action.renameChat")), 1)]),
14983
14990
  _: 1
14984
14991
  }, 8, ["onClick"]), Y(u, { onClick: (t) => N(_)(e.id) }, {
14985
- default: C(() => [Y(r, { name: "ri:delete-bin-line" }), L(" " + E(N(n)("action.delete")), 1)]),
14992
+ default: C(() => [Y(r, { name: "ri:delete-bin-line" }), R(" " + E(N(n)("action.delete")), 1)]),
14986
14993
  _: 1
14987
14994
  }, 8, ["onClick"])]),
14988
14995
  default: C(() => [Y(o, {
@@ -15235,7 +15242,7 @@ var Y_ = { class: "pk-chatbot__header-start" }, X_ = ["title"], Z_ = { key: 1 },
15235
15242
  o("error", t);
15236
15243
  } catch {}
15237
15244
  });
15238
- let w = W(() => a.modifier === "fullscreen"), T = W(() => a.modifier === "panel"), ne = k("chatbotEl"), { width: D } = Qt(ne), ie = W(() => D.value > 0 && D.value < 576), ae = W(() => D.value > 0 && D.value < 640), oe = W(() => D.value >= 848), O = W(() => a.agentType === "reasoning"), le = W(() => O.value && !l.value.some((e) => e.role === "user")), j = W(() => a.agentInterface?.useColorsForAgentHeader), ue = W(() => !T.value || S.value || ee.value || !!a.userFilesEnabled && !!d.value), de = W(() => ["theme", `theme--${m.value ? "dark" : "light"}`]), M = W(() => a.agentInterface?.mainColor), me = W(() => Ke(a.agentInterface?.textColor, M.value)), R = W(() => rt(M.value, me.value)), z = un(() => a.agentInterface?.footerMessage), he = W(() => f.value === "conversations" ? i("label.conversations") : f.value === "profile" ? i("label.profile") : f.value === "auth" ? i("label.authentication") : f.value === "files" ? i("userFiles.chatFilesTitle") : a.name), ge = W(() => u.value.status === "ready"), _e = W(() => l.value?.[l.value.length - 1]);
15245
+ let w = W(() => a.modifier === "fullscreen"), T = W(() => a.modifier === "panel"), ne = k("chatbotEl"), { width: D } = Qt(ne), ie = W(() => D.value > 0 && D.value < 576), ae = W(() => D.value > 0 && D.value < 640), oe = W(() => D.value >= 848), O = W(() => a.agentType === "reasoning"), le = W(() => O.value && !l.value.some((e) => e.role === "user")), j = W(() => a.agentInterface?.useColorsForAgentHeader), ue = W(() => !T.value || S.value || ee.value || !!a.userFilesEnabled && !!d.value), de = W(() => ["theme", `theme--${m.value ? "dark" : "light"}`]), M = W(() => a.agentInterface?.mainColor), L = W(() => Ke(a.agentInterface?.textColor, M.value)), z = W(() => rt(M.value, L.value)), me = un(() => a.agentInterface?.footerMessage), he = W(() => f.value === "conversations" ? i("label.conversations") : f.value === "profile" ? i("label.profile") : f.value === "auth" ? i("label.authentication") : f.value === "files" ? i("userFiles.chatFilesTitle") : a.name), ge = W(() => u.value.status === "ready"), _e = W(() => l.value?.[l.value.length - 1]);
15239
15246
  return t({
15240
15247
  startNewChat: g,
15241
15248
  regenerate: v,
@@ -15262,7 +15269,7 @@ var Y_ = { class: "pk-chatbot__header-start" }, X_ = ["title"], Z_ = { key: 1 },
15262
15269
  "pk-chatbot--tight": ae.value,
15263
15270
  "pk-chatbot--wide": oe.value
15264
15271
  }]]),
15265
- style: re(R.value)
15272
+ style: re(z.value)
15266
15273
  }, [
15267
15274
  w.value ? I("", !0) : (A(), q("div", {
15268
15275
  key: 0,
@@ -15275,17 +15282,17 @@ var Y_ = { class: "pk-chatbot__header-start" }, X_ = ["title"], Z_ = { key: 1 },
15275
15282
  name: e.name,
15276
15283
  "img-src": e.agentInterface?.logo
15277
15284
  }, null, 8, ["name", "img-src"])) : (A(), q(B, { key: 0 }, [Y(a, ce({
15278
- modifiers: j.value ? `action-quiet-${me.value}` : "action-quiet",
15285
+ modifiers: j.value ? `action-quiet-${L.value}` : "action-quiet",
15279
15286
  icon: "ri:arrow-left-s-line",
15280
15287
  title: N(i)("action.goBack")
15281
15288
  }, { onClick: n[0] ||= (e) => N(y)("chat") }), null, 16), Y(s, {
15282
15289
  name: N(f) === "conversations" ? "ri:history-line" : N(f) === "files" ? "ri:attachment-2" : "ri:user-line",
15283
15290
  class: "pk-chatbot__nav-icon",
15284
- style: re(j.value ? { color: me.value } : void 0)
15291
+ style: re(j.value ? { color: L.value } : void 0)
15285
15292
  }, null, 8, ["name", "style"])], 64)), H("strong", {
15286
15293
  class: "pk-chatbot__title",
15287
15294
  title: he.value,
15288
- style: re(j.value ? { color: me.value } : void 0)
15295
+ style: re(j.value ? { color: L.value } : void 0)
15289
15296
  }, E(he.value), 13, X_)]), Y(u, {
15290
15297
  class: "pk-chatbot__header-end",
15291
15298
  modifiers: "compact"
@@ -15294,12 +15301,12 @@ var Y_ = { class: "pk-chatbot__header-start" }, X_ = ["title"], Z_ = { key: 1 },
15294
15301
  te(t.$slots, "header-actions", fe(P({
15295
15302
  mainColor: M.value,
15296
15303
  useColorsForAgentHeader: j.value,
15297
- contrastColor: me.value,
15304
+ contrastColor: L.value,
15298
15305
  startNewChat: N(g),
15299
15306
  stopGeneration: N(_)
15300
15307
  }))),
15301
15308
  T.value ? (A(), q(B, { key: 0 }, [Y(a, {
15302
- modifiers: j.value ? `action-quiet-${me.value}` : "action-quiet",
15309
+ modifiers: j.value ? `action-quiet-${L.value}` : "action-quiet",
15303
15310
  icon: "ri:edit-box-line",
15304
15311
  disabled: !ge.value,
15305
15312
  title: N(i)("action.startNewChat"),
@@ -15310,7 +15317,7 @@ var Y_ = { class: "pk-chatbot__header-start" }, X_ = ["title"], Z_ = { key: 1 },
15310
15317
  "title"
15311
15318
  ]), O.value ? I("", !0) : (A(), V(a, {
15312
15319
  key: 0,
15313
- modifiers: j.value ? `action-quiet-${me.value}` : "action-quiet",
15320
+ modifiers: j.value ? `action-quiet-${L.value}` : "action-quiet",
15314
15321
  icon: "ri:history-line",
15315
15322
  disabled: !ge.value,
15316
15323
  title: N(i)("action.viewRecentChats"),
@@ -15332,39 +15339,39 @@ var Y_ = { class: "pk-chatbot__header-start" }, X_ = ["title"], Z_ = { key: 1 },
15332
15339
  key: 0,
15333
15340
  onClick: n[3] ||= (e) => N(g)()
15334
15341
  }, {
15335
- default: C(() => [Y(s, { name: "ri:edit-box-line" }), L(" " + E(N(i)("action.startNewChat")), 1)]),
15342
+ default: C(() => [Y(s, { name: "ri:edit-box-line" }), R(" " + E(N(i)("action.startNewChat")), 1)]),
15336
15343
  _: 1
15337
15344
  })),
15338
15345
  !O.value && !T.value ? (A(), V(c, {
15339
15346
  key: 1,
15340
15347
  onClick: n[4] ||= (e) => N(y)("conversations")
15341
15348
  }, {
15342
- default: C(() => [Y(s, { name: "ri:history-line" }), L(" " + E(N(i)("action.viewRecentChats")), 1)]),
15349
+ default: C(() => [Y(s, { name: "ri:history-line" }), R(" " + E(N(i)("action.viewRecentChats")), 1)]),
15343
15350
  _: 1
15344
15351
  })) : I("", !0),
15345
15352
  (S.value || e.userFilesEnabled) && N(d) ? (A(), V(c, {
15346
15353
  key: 2,
15347
15354
  onClick: n[5] ||= (e) => N(y)("files")
15348
15355
  }, {
15349
- default: C(() => [Y(s, { name: "ri:attachment-2" }), L(" " + E(N(i)("userFiles.chatFilesTitle")), 1)]),
15356
+ default: C(() => [Y(s, { name: "ri:attachment-2" }), R(" " + E(N(i)("userFiles.chatFilesTitle")), 1)]),
15350
15357
  _: 1
15351
15358
  })) : I("", !0),
15352
15359
  S.value ? (A(), V(c, {
15353
15360
  key: 3,
15354
15361
  onClick: n[6] ||= (e) => N(y)("profile")
15355
15362
  }, {
15356
- default: C(() => [Y(s, { name: "ri:user-line" }), L(" " + E(N(i)("label.profile")), 1)]),
15363
+ default: C(() => [Y(s, { name: "ri:user-line" }), R(" " + E(N(i)("label.profile")), 1)]),
15357
15364
  _: 1
15358
15365
  })) : ee.value ? (A(), V(c, {
15359
15366
  key: 4,
15360
15367
  onClick: n[7] ||= (e) => N(y)("auth")
15361
15368
  }, {
15362
- default: C(() => [Y(s, { name: "ri:account-circle-line" }), L(" " + E(N(i)("action.signIn")), 1)]),
15369
+ default: C(() => [Y(s, { name: "ri:account-circle-line" }), R(" " + E(N(i)("action.signIn")), 1)]),
15363
15370
  _: 1
15364
15371
  })) : I("", !0)
15365
15372
  ]),
15366
15373
  default: C(() => [Y(a, fe(P({
15367
- modifiers: j.value ? `action-quiet-${me.value}` : "action-quiet",
15374
+ modifiers: j.value ? `action-quiet-${L.value}` : "action-quiet",
15368
15375
  icon: "ri:more-2-fill",
15369
15376
  disabled: !ge.value,
15370
15377
  title: N(i)("action.moreActions")
@@ -15374,7 +15381,7 @@ var Y_ = { class: "pk-chatbot__header-start" }, X_ = ["title"], Z_ = { key: 1 },
15374
15381
  te(t.$slots, "actions", fe(P({
15375
15382
  mainColor: M.value,
15376
15383
  useColorsForAgentHeader: j.value,
15377
- contrastColor: me.value,
15384
+ contrastColor: L.value,
15378
15385
  startNewChat: N(g),
15379
15386
  stopGeneration: N(_)
15380
15387
  })))
@@ -15418,8 +15425,8 @@ var Y_ = { class: "pk-chatbot__header-start" }, X_ = ["title"], Z_ = { key: 1 },
15418
15425
  name: e,
15419
15426
  fn: C((n) => [te(t.$slots, e, fe(P(n)))])
15420
15427
  }))]), 1032, ["agent-id"])),
15421
- N(z) ? (A(), q("div", rv, [Y(yt, {
15422
- markdown: N(z),
15428
+ N(me) ? (A(), q("div", rv, [Y(yt, {
15429
+ markdown: N(me),
15423
15430
  class: "wysiwyg"
15424
15431
  }, null, 8, ["markdown"])])) : I("", !0)
15425
15432
  ], 6);
@@ -15564,7 +15571,7 @@ var av = { class: "pk-chatbot-auth flex flex-col items-center justify-center w-f
15564
15571
  onError: r[0] ||= (t) => N(c)(e.branding?.interface.logo)
15565
15572
  }, null, 40, pv)])) : I("", !0),
15566
15573
  H("div", mv, [e.branding?.name ? (A(), q("h1", hv, E(e.branding.name), 1)) : I("", !0), (A(), V(oe(e.branding?.name ? "h2" : "h1"), { class: "text-word-3 mb-0" }, {
15567
- default: C(() => [O.value ? (A(), q(B, { key: 0 }, [L(E(N(n)("twoFactor.challengeTitle")), 1)], 64)) : f.value === "sign-in" ? (A(), q(B, { key: 1 }, [L(E(N(n)("auth.signInTitle")), 1)], 64)) : f.value === "sign-up" ? (A(), q(B, { key: 2 }, [L(E(N(n)("auth.signUpTitle")), 1)], 64)) : f.value === "reset" ? (A(), q(B, { key: 3 }, [L(E(N(n)("auth.resetTitle")), 1)], 64)) : I("", !0)]),
15574
+ default: C(() => [O.value ? (A(), q(B, { key: 0 }, [R(E(N(n)("twoFactor.challengeTitle")), 1)], 64)) : f.value === "sign-in" ? (A(), q(B, { key: 1 }, [R(E(N(n)("auth.signInTitle")), 1)], 64)) : f.value === "sign-up" ? (A(), q(B, { key: 2 }, [R(E(N(n)("auth.signUpTitle")), 1)], 64)) : f.value === "reset" ? (A(), q(B, { key: 3 }, [R(E(N(n)("auth.resetTitle")), 1)], 64)) : I("", !0)]),
15568
15575
  _: 1
15569
15576
  }))]),
15570
15577
  l.value ? (A(), V(s, {
@@ -15769,13 +15776,13 @@ var av = { class: "pk-chatbot-auth flex flex-col items-center justify-center w-f
15769
15776
  icon: "chevron-left",
15770
15777
  label: N(n)("action.backToSignIn"),
15771
15778
  onClick: r[7] ||= (e) => d("cancel-two-factor")
15772
- }, null, 8, ["label"])) : f.value === "sign-in" ? (A(), q(B, { key: 1 }, [L(E(N(n)("auth.noAccount")) + " ", 1), Y(o, {
15779
+ }, null, 8, ["label"])) : f.value === "sign-in" ? (A(), q(B, { key: 1 }, [R(E(N(n)("auth.noAccount")) + " ", 1), Y(o, {
15773
15780
  type: "button",
15774
15781
  modifiers: "link",
15775
15782
  class: "font-semibold",
15776
15783
  label: N(n)("action.signUp"),
15777
15784
  onClick: r[8] ||= (e) => f.value = "sign-up"
15778
- }, null, 8, ["label"])], 64)) : f.value === "sign-up" ? (A(), q(B, { key: 2 }, [L(E(N(n)("auth.haveAccount")) + " ", 1), Y(o, {
15785
+ }, null, 8, ["label"])], 64)) : f.value === "sign-up" ? (A(), q(B, { key: 2 }, [R(E(N(n)("auth.haveAccount")) + " ", 1), Y(o, {
15779
15786
  type: "button",
15780
15787
  modifiers: "link",
15781
15788
  class: "font-semibold",
@@ -16008,7 +16015,7 @@ var Mv = {
16008
16015
  n.customCss
16009
16016
  ].filter(Boolean);
16010
16017
  return e.length ? e.join("\n") : void 0;
16011
- }), { authError: P, authSuccess: fe, authLoading: pe, handleSignIn: me, handleSignUp: R, handleReset: B, handleSocial: he, handleVerifyTwoFactor: ge, handleSendTwoFactorCode: _e, handleCancelTwoFactor: U } = kp({
16018
+ }), { authError: P, authSuccess: fe, authLoading: pe, handleSignIn: L, handleSignUp: z, handleReset: B, handleSocial: he, handleVerifyTwoFactor: ge, handleSendTwoFactorCode: _e, handleCancelTwoFactor: U } = kp({
16012
16019
  signInWithEmail: h,
16013
16020
  isTwoFactorPending: () => !!g.value,
16014
16021
  verifyTwoFactor: _,
@@ -16051,11 +16058,11 @@ var Mv = {
16051
16058
  style: re(N(le))
16052
16059
  }, [
16053
16060
  N(ie) ? (A(), V(oe("style"), { key: 0 }, {
16054
- default: C(() => [L(E(N(ie)), 1)]),
16061
+ default: C(() => [R(E(N(ie)), 1)]),
16055
16062
  _: 1
16056
16063
  })) : I("", !0),
16057
16064
  M.value ? (A(), V(oe("style"), { key: 1 }, {
16058
- default: C(() => [L(E(M.value), 1)]),
16065
+ default: C(() => [R(E(M.value), 1)]),
16059
16066
  _: 1
16060
16067
  })) : I("", !0),
16061
16068
  Y(K, { name: "slide-bottom" }, {
@@ -16081,16 +16088,16 @@ var Mv = {
16081
16088
  default: C(() => [N(s) && (N(ae) || N(k)) && !(N(T) && N(l).data) ? (A(), q("div", Iv, [N(ae) ? (A(), V(Cv, {
16082
16089
  key: 0,
16083
16090
  "error-message": N(P),
16084
- "onUpdate:errorMessage": n[0] ||= (e) => z(P) ? P.value = e : null,
16091
+ "onUpdate:errorMessage": n[0] ||= (e) => me(P) ? P.value = e : null,
16085
16092
  success: N(fe),
16086
- "onUpdate:success": n[1] ||= (e) => z(fe) ? fe.value = e : null,
16093
+ "onUpdate:success": n[1] ||= (e) => me(fe) ? fe.value = e : null,
16087
16094
  branding: N(ne),
16088
16095
  "auth-methods": N(D),
16089
16096
  "base-url": e.baseUrl,
16090
16097
  loading: N(pe),
16091
16098
  "two-factor-methods": N(g)?.methods,
16092
- onSignIn: N(me),
16093
- onSignUp: N(R),
16099
+ onSignIn: N(L),
16100
+ onSignUp: N(z),
16094
16101
  onRequestReset: N(B),
16095
16102
  onSocial: N(he),
16096
16103
  onVerifyTwoFactor: N(ge),
@@ -16150,15 +16157,15 @@ var Mv = {
16150
16157
  }, null, 8, ["modifiers", "title"])]),
16151
16158
  "view-auth": C(() => [Y(Cv, {
16152
16159
  "error-message": N(P),
16153
- "onUpdate:errorMessage": n[2] ||= (e) => z(P) ? P.value = e : null,
16160
+ "onUpdate:errorMessage": n[2] ||= (e) => me(P) ? P.value = e : null,
16154
16161
  success: N(fe),
16155
- "onUpdate:success": n[3] ||= (e) => z(fe) ? fe.value = e : null,
16162
+ "onUpdate:success": n[3] ||= (e) => me(fe) ? fe.value = e : null,
16156
16163
  branding: N(ue),
16157
16164
  "auth-methods": N(D),
16158
16165
  loading: N(pe),
16159
16166
  "two-factor-methods": N(g)?.methods,
16160
- onSignIn: N(me),
16161
- onSignUp: N(R),
16167
+ onSignIn: N(L),
16168
+ onSignUp: N(z),
16162
16169
  onRequestReset: N(B),
16163
16170
  onSocial: N(he),
16164
16171
  onVerifyTwoFactor: N(ge),
@@ -16309,7 +16316,7 @@ var zv = {
16309
16316
  baseUrl: n.baseUrl,
16310
16317
  headers: l,
16311
16318
  cookieName: n.cookieName
16312
- }), { authError: ue, authSuccess: de, authLoading: M, handleSignIn: P, handleSignUp: fe, handleReset: pe, handleSocial: me, handleVerifyTwoFactor: R, handleSendTwoFactorCode: B, handleCancelTwoFactor: he } = kp({
16319
+ }), { authError: ue, authSuccess: de, authLoading: M, handleSignIn: P, handleSignUp: fe, handleReset: pe, handleSocial: L, handleVerifyTwoFactor: z, handleSendTwoFactorCode: B, handleCancelTwoFactor: he } = kp({
16313
16320
  signInWithEmail: p,
16314
16321
  isTwoFactorPending: () => !!m.value,
16315
16322
  verifyTwoFactor: h,
@@ -16345,11 +16352,11 @@ var zv = {
16345
16352
  style: re(N(le))
16346
16353
  }, [
16347
16354
  N(ie) ? (A(), V(oe("style"), { key: 0 }, {
16348
- default: C(() => [L(E(N(ie)), 1)]),
16355
+ default: C(() => [R(E(N(ie)), 1)]),
16349
16356
  _: 1
16350
16357
  })) : I("", !0),
16351
16358
  U.value ? (A(), V(oe("style"), { key: 1 }, {
16352
- default: C(() => [L(E(U.value), 1)]),
16359
+ default: C(() => [R(E(U.value), 1)]),
16353
16360
  _: 1
16354
16361
  })) : I("", !0),
16355
16362
  N(O) ? (A(), q("div", zv, [H("p", null, E(N(w)("message.agentNotFound")), 1)])) : I("", !0),
@@ -16360,9 +16367,9 @@ var zv = {
16360
16367
  default: C(() => [(N(T) || N(ne)) && !N(O) && N(ae) && (!N(s).data?.user?.id || N(s).data?.user?.isAnonymous) ? (A(), q("div", Bv, [N(D) ? (A(), V(Cv, {
16361
16368
  key: 0,
16362
16369
  "error-message": N(ue),
16363
- "onUpdate:errorMessage": n[0] ||= (e) => z(ue) ? ue.value = e : null,
16370
+ "onUpdate:errorMessage": n[0] ||= (e) => me(ue) ? ue.value = e : null,
16364
16371
  success: N(de),
16365
- "onUpdate:success": n[1] ||= (e) => z(de) ? de.value = e : null,
16372
+ "onUpdate:success": n[1] ||= (e) => me(de) ? de.value = e : null,
16366
16373
  branding: N(ne),
16367
16374
  "auth-methods": N(D),
16368
16375
  loading: N(M),
@@ -16370,8 +16377,8 @@ var zv = {
16370
16377
  onSignIn: N(P),
16371
16378
  onSignUp: N(fe),
16372
16379
  onRequestReset: N(pe),
16373
- onSocial: N(me),
16374
- onVerifyTwoFactor: N(R),
16380
+ onSocial: N(L),
16381
+ onVerifyTwoFactor: N(z),
16375
16382
  onSendTwoFactorCode: N(B),
16376
16383
  onCancelTwoFactor: N(he)
16377
16384
  }, null, 8, [
@@ -16427,9 +16434,9 @@ var zv = {
16427
16434
  actions: C(() => [te(t.$slots, "actions")]),
16428
16435
  "view-auth": C(() => [Y(Cv, {
16429
16436
  "error-message": N(ue),
16430
- "onUpdate:errorMessage": n[2] ||= (e) => z(ue) ? ue.value = e : null,
16437
+ "onUpdate:errorMessage": n[2] ||= (e) => me(ue) ? ue.value = e : null,
16431
16438
  success: N(de),
16432
- "onUpdate:success": n[3] ||= (e) => z(de) ? de.value = e : null,
16439
+ "onUpdate:success": n[3] ||= (e) => me(de) ? de.value = e : null,
16433
16440
  branding: N(j),
16434
16441
  "auth-methods": N(D),
16435
16442
  loading: N(M),
@@ -16437,8 +16444,8 @@ var zv = {
16437
16444
  onSignIn: N(P),
16438
16445
  onSignUp: N(fe),
16439
16446
  onRequestReset: N(pe),
16440
- onSocial: N(me),
16441
- onVerifyTwoFactor: N(R),
16447
+ onSocial: N(L),
16448
+ onVerifyTwoFactor: N(z),
16442
16449
  onSendTwoFactorCode: N(B),
16443
16450
  onCancelTwoFactor: N(he)
16444
16451
  }, null, 8, [